diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/rest/CacheLineHandController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/rest/CacheLineHandController.java index ee59de4c..bea51d56 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/rest/CacheLineHandController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/rest/CacheLineHandController.java @@ -132,7 +132,7 @@ public class CacheLineHandController{ log.info("海亮缓存线手持服务 [任务操作] 接口被请求, 请求参数-{}", param); //任务类型和任务ID校验,instruct_uuid为前端参数命名,本来应为task_id if(StringUtils.isEmpty(param.getString("instruct_uuid")) || StringUtils.isEmpty(param.getString("opt_type"))) { - throw new BizCoreException(ResultCode.VALIDATE_FAILED); + throw new BizCoreException("ResultCode.VALIDATE_FAILED"); } return new ResponseEntity<>(cacheLineHandService.instOperation(param), HttpStatus.OK); } @@ -143,8 +143,11 @@ public class CacheLineHandController{ public ResponseEntity cacheLineOutBoxExceptionQuery(@RequestBody JSONObject param) { log.info("海亮缓存线手持服务 [缓存线出入箱异常-查询] 接口被请求, 请求参数-{}", param); //参数校验 - if(StringUtils.isEmpty(param.getString("wcsdevice_code")) || StringUtils.isEmpty(param.getString("position_code"))) { - throw new BizCoreException(ResultCode.VALIDATE_FAILED); + if(StringUtils.isEmpty(param.getString("wcsdevice_code"))) { + throw new BizCoreException("请选择缓存线并输入缓存线位置编号再查询"); + } + if(StringUtils.isEmpty(param.getString("position_code"))) { + throw new BizCoreException("请输入缓存线位置编号再查询"); } return new ResponseEntity<>(cacheLineHandService.cacheLineOutBoxExceptionQuery(param), HttpStatus.OK); } @@ -155,8 +158,11 @@ public class CacheLineHandController{ public ResponseEntity cacheLineOutBoxExceptionConfirm(@RequestBody JSONObject param) { log.info("海亮缓存线手持服务 [缓存线出箱异常-确认] 接口被请求, 请求参数-{}", param); //参数校验 - if(StringUtils.isEmpty(param.getString("wcsdevice_code")) || StringUtils.isEmpty(param.getString("position_code")) || StringUtils.isEmpty(param.getString("vehicle_code"))) { - throw new BizCoreException(ResultCode.VALIDATE_FAILED); + if(StringUtils.isEmpty(param.getString("vehicle_code"))) { + throw new BizCoreException("请输入料箱码"); + } + if(StringUtils.isEmpty(param.getString("wcsdevice_code")) || StringUtils.isEmpty(param.getString("position_code"))) { + throw new BizCoreException("请输入缓存线位置编号与缓存线编号"); } return new ResponseEntity<>(cacheLineHandService.cacheLineOutBoxExceptionConfirm(param), HttpStatus.OK); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/service/impl/CacheLineHandServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/service/impl/CacheLineHandServiceImpl.java index 55632567..7f8d2ed0 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/service/impl/CacheLineHandServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/service/impl/CacheLineHandServiceImpl.java @@ -24,6 +24,7 @@ import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.WqlUtil; import org.nl.wms.pda.dto.MaterialDto; import org.nl.wms.pda.service.CacheLineHandService; +import org.nl.wms.sch.manage.TaskStatusEnum; import org.nl.wms.sch.tasks.SpeMachineryTask; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Pageable; @@ -200,10 +201,14 @@ public class CacheLineHandServiceImpl implements CacheLineHandService{ @Override public CommonResult instOperation(JSONObject param) { String optType = param.getString("opt_type"); + String instruct_uuid = param.getString("instruct_uuid"); SpeMachineryTask SpeMachineryTask = new SpeMachineryTask(); WQLObject taskTab = WQLObject.getWQLObject("sch_base_task"); - JSONObject taskObject = taskTab.query("task_id =" + param.getString("instruct_uuid")).uniqueResult(0); - //1-取消、2-完成、3-任务下发,根据操作类型执行相关操作 + JSONObject taskObject = taskTab.query("task_id =" + instruct_uuid).uniqueResult(0); + if(null == taskObject) { + throw new BadRequestException("未找到该任务信息!"); + } + //8-取消、7-完成、5-任务下发,根据操作类型执行相关操作 if(StatusEnum.TASK_CANNEL.getCode().equals(optType) || StatusEnum.TASK_FINISH.getCode().equals(optType)) { return RestBusinessTemplate.execute(() -> updateTaskStatus(taskObject, optType)); } @@ -258,7 +263,7 @@ public class CacheLineHandServiceImpl implements CacheLineHandService{ } if(!CollectionUtils.isEmpty(cacheLineVehilesSub)) { for(String vehileCode : cacheLineVehilesSub) { - ivtTab.insert(MapOf.of("create_time",DateUtil.now(),"vehmaterial_id", IdUtil.getStringId(), "vehicle_code", vehileCode, "vehicle_status", StatusEnum.CACHE_VEL_ERR.getCode(), "cacheline_code", cachelineCode, "err_type", StatusEnum.STATUS_TRUE.getCode())); + ivtTab.insert(MapOf.of("create_time", DateUtil.now(), "vehmaterial_id", IdUtil.getStringId(), "vehicle_code", vehileCode, "vehicle_status", StatusEnum.CACHE_VEL_ERR.getCode(), "cacheline_code", cachelineCode, "err_type", StatusEnum.STATUS_TRUE.getCode())); } } }, cachelineCode, 3); @@ -506,55 +511,39 @@ public class CacheLineHandServiceImpl implements CacheLineHandService{ String wcsdevice_code = param.getString("wcsdevice_code"); //出入箱类型 String inOut_type = param.getString("inOut_type"); - //任务表信息 - WQLObject instructTab = WQLObject.getWQLObject("sch_base_task"); + //返回结果 JSONArray result = new JSONArray(); + JSONObject params = new JSONObject(); + params.put("flag", "10"); + params.put("vehicle_code1", vehicle_code); + params.put("task_status", TaskStatusEnum.FINISHED.getCode()); // 入箱扫码异常 if(StatusEnum.IN_VEHICLE.getCode().equals(inOut_type)) { - String where = "point_code2 = '" + wcsdevice_code + "' and task_status <> '7'"; - if(StringUtils.isNotBlank(vehicle_code)) { - where = "point_code2 = '" + wcsdevice_code + "' and vehicle_code = '" + vehicle_code + "' and task_status <> '7'"; - } - JSONArray arr = instructTab.query(where).getResultJSONArray(0); - for(int i = 0; i < arr.size(); i++) { - JSONObject row = arr.getJSONObject(i); - JSONObject json = new JSONObject(); - json.put("instruct_uuid", row.getString("task_id")); - json.put("instructorder_no", row.getString("task_code")); - json.put("wcsdevice_code", row.getString("point_code2")); - json.put("vehicle_code", row.getString("vehicle_code")); - json.put("startpoint_code", row.getString("point_code1")); - json.put("nextpoint_code", row.getString("point_code2")); - json.put("nextpoint_code2", row.getString("point_code3")); - result.add(json); - } + params.put("point_code2", wcsdevice_code); } // 出箱扫码异常 if(StatusEnum.OUT_VEHICLE.getCode().equals(inOut_type)) { - String where = "point_code1 = '" + wcsdevice_code + "' and task_status <> '7'"; - if(StringUtils.isNotBlank(vehicle_code)) { - where = "point_code1 = '" + wcsdevice_code + "' and vehicle_code = '" + vehicle_code + "' and task_status <> '7'"; - } - JSONArray arr = instructTab.query(where).getResultJSONArray(0); - for(int i = 0; i < arr.size(); i++) { - JSONObject row = arr.getJSONObject(i); - JSONObject json = new JSONObject(); - json.put("instruct_uuid", row.getString("task_id")); - json.put("instructorder_no", row.getString("task_code")); - json.put("vehicle_code", row.getString("vehicle_code")); - json.put("wcsdevice_code", row.getString("point_code1")); - json.put("startpoint_code", row.getString("point_code1")); - json.put("nextpoint_code", row.getString("point_code2")); - json.put("nextpoint_code2", row.getString("point_code3")); - result.add(json); - } + params.put("point_code1", wcsdevice_code); + } + JSONArray array = WQL.getWO("PDA_QUERY").addParamMap(params).process().getResultJSONArray(0); + for(int i = 0; i < array.size(); i++) { + JSONObject row = array.getJSONObject(i); + JSONObject json = new JSONObject(); + json.put("instruct_uuid", row.getString("instruct_uuid")); + json.put("instructorder_no", row.getString("instructoperate_num")); + json.put("wcsdevice_code", row.getString("startpoint_code")); + json.put("vehicle_code", row.getString("vehicle_code")); + json.put("startpoint_code", row.getString("startpoint_code")); + json.put("nextpoint_code", row.getString("nextpoint_code")); + json.put("nextpoint_code2", row.getString("nextpoint_code2")); + result.add(json); } return result; } /** * 扫码异常确认 - * 出入类型 inOut_type 1 扫码异常-入箱扫码 2 扫码异常-出箱扫码 + * 出入类型 inOut_type 1 入箱扫码扫码异常-空箱在对接位上,对接位对应的类型位1, 2 出箱扫码异常-满箱在准备位上,需要传类型为2 * 缓存线编码 wcsdevice_code * 缓存线位置编码 position_code * 料箱码 vehicle_code @@ -567,21 +556,17 @@ public class CacheLineHandServiceImpl implements CacheLineHandService{ String inOut_type = param.getString("inOut_type"); // 缓存线编码 String wcsdevice_code = param.getString("wcsdevice_code"); - //缓存线点位 - String position_code = param.getString("position_code"); //载具编码 String vehicle_code = param.getString("vehicle_code"); // 封装给acs的数据 JSONArray jsonArray = new JSONArray(); JSONObject jsonObject = new JSONObject(); // 1 扫码异常-入箱扫码 2 出箱扫码 - jsonObject.put("inOut_type", inOut_type); + jsonObject.put("type", inOut_type); //缓存线编号 jsonObject.put("wcsdevice_code", wcsdevice_code); //料箱码 jsonObject.put("vehicle_code", vehicle_code); - //缓存线点位编码 - jsonObject.put("position_code", position_code); jsonArray.add(jsonObject); try { //TOFIX 等确定api后,换成下发的url @@ -639,7 +624,7 @@ public class CacheLineHandServiceImpl implements CacheLineHandService{ String wcsdevice_code = param.getString("wcsdevice_code"); String position_code = param.getString("position_code"); //根据缓存线编码和缓存线点位查找任务ID - JSONObject posiObj = WQLObject.getWQLObject("sch_cacheline_position").query("position_code like '%" + position_code + "%'" + " and cacheLine_code like '%" + wcsdevice_code + "%'").uniqueResult(0); + JSONObject posiObj = WQLObject.getWQLObject("sch_cacheline_position").query("cacheLine_code = '" + wcsdevice_code + "' and position_code = '" + position_code + "'").uniqueResult(0); //查不到点位信息 if(null == posiObj) { throw new BadRequestException("未找到该缓存线的点位信息!"); @@ -667,6 +652,7 @@ public class CacheLineHandServiceImpl implements CacheLineHandService{ @Override public CommonResult cacheLineOutBoxExceptionConfirm(JSONObject param) { String inOut_type = param.getString("inOut_type"); + inOut_type = "1"; String cacheLine_code = param.getString("wcsdevice_code"); String position_code = param.getString("position_code"); String vehicle_code = param.getString("vehicle_code"); @@ -718,6 +704,7 @@ public class CacheLineHandServiceImpl implements CacheLineHandService{ // 出满箱扫码异常 if(StatusEnum.OUT_VEHICLE.getCode().equals(inOut_type)) { //5.重新新建该缓存线位置上的料箱为空箱子,是空料箱没有放物料等其他信息 + //缓存线载具状态 1-空位、2-绿色空箱、3-黄色满箱、4-红色异常、5不显示 json.put("vehicle_status", StatusEnum.STATUS_TRUE.getCode()); json.put("material_id", ""); json.put("weight", "0"); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/wql/PDA_QUERY.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/wql/PDA_QUERY.wql index 34f0cf41..803144ac 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/wql/PDA_QUERY.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/wql/PDA_QUERY.wql @@ -22,9 +22,14 @@ 输入.start_point TYPEAS s_string 输入.end_point TYPEAS s_string 输入.start_date TYPEAS s_string - 输入.vehicle_code TYPEAS s_string + 输入.vehicle_code TYPEAS s_string + 输入.vehicle_code1 TYPEAS s_string 输入.end_date TYPEAS s_string 输入.task_id TYPEAS s_string + 输入.point_code1 TYPEAS s_string + 输入.point_code2 TYPEAS s_string + 输入.point_code3 TYPEAS s_string + 输入.task_status TYPEAS s_string @@ -88,7 +93,7 @@ IF 输入.flag = "3" QUERY SELECT - dict_id `value`, + value `value`, label text FROM sys_dict @@ -250,20 +255,32 @@ OPTION 输入.status <> "" find_in_set(task.task_status,输入.status) ENDOPTION + OPTION 输入.task_status <> "" + (task.task_status <> 输入.task_status) + ENDOPTION OPTION 输入.inst_num <> "" (task.task_code like CONCAT ('%', 输入.inst_num, '%')) ENDOPTION OPTION 输入.vehicle_code <> "" (task.vehicle_code like CONCAT ('%', 输入.vehicle_code, '%')) ENDOPTION - OPTION 输入.start_point <> "" - (task.point_code1 like CONCAT ('%', 输入.start_point, '%')) - ENDOPTION - OPTION 输入.task_id <> "" - (task.task_id = 输入.task_id ) + OPTION 输入.vehicle_code1 <> "" + (task.vehicle_code = 输入.vehicle_code1) ENDOPTION OPTION 输入.end_point <> "" - (task.point_code2 like CONCAT ('%', 输入.end_point, '%')) + (point2.point_name like CONCAT ('%', 输入.end_point, '%')) + ENDOPTION + OPTION 输入.point_code1 <> "" + (task.point_code1 = 输入.point_code1) + ENDOPTION + OPTION 输入.point_code2 <> "" + (task.point_code2 = 输入.point_code2) + ENDOPTION + OPTION 输入.point_code3 <> "" + (task.point_code3 = 输入.point_code3) + ENDOPTION + OPTION 输入.task_id <> "" + (task.task_id = 输入.task_id) ENDOPTION OPTION 输入.start_date <> "" task.create_time >= 输入.start_date diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sch/tasks/SpeMachineryTask.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sch/tasks/SpeMachineryTask.java index d6baea29..85f65fc5 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sch/tasks/SpeMachineryTask.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sch/tasks/SpeMachineryTask.java @@ -14,6 +14,7 @@ import org.nl.modules.system.util.CodeUtil; import org.nl.common.utils.SecurityUtils; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.wms.sch.manage.AbstractAcsTask; +import org.nl.wms.sch.manage.TaskStatusEnum; import org.springframework.stereotype.Service; @@ -51,46 +52,50 @@ public class SpeMachineryTask extends AbstractAcsTask { } } - - @Override - public String createTask(JSONObject form) { - String start_point_code = form.getString("start_point_code"); - String next_point_code = form.getString("next_point_code"); - String return_point_code = form.getString("return_point_code"); - String vehicle_code = form.getString("vehicle_code"); - String type = form.getString("type"); - if (StrUtil.isEmpty(start_point_code)) { - throw new BadRequestException("起点不能为空!"); - } - if (StrUtil.isEmpty(next_point_code)) { - throw new BadRequestException("终点不能为空!"); - } - String taskdtl_id = IdUtil.getSnowflake(1, 1).nextId() + ""; - JSONObject task = new JSONObject(); - task.put("task_id", taskdtl_id); - task.put("task_code", CodeUtil.getNewCode("TASK_CODE")); - task.put("task_type", type); - task.put("task_status", StatusEnum.TASK_CREATE.getCode()); - task.put("task_name", AcsTaskEnum.getType(type,"TASK_").getDesc()); - task.put("point_code1", start_point_code); - task.put("point_code2", next_point_code); - task.put("point_code3", return_point_code); - task.put("agv_system_type", AcsTaskEnum.AGV_SYSTEM_NB.getCode()); - task.put("vehicle_code", vehicle_code); - task.put("handle_class", this.getClass().getName()); - task.put("finished_type", "01"); - task.put("is_delete", "0"); - String currentUserId = SecurityUtils.getCurrentUserId(); - task.put("create_id", currentUserId); - task.put("create_name", SecurityUtils.getCurrentNickName()); - task.put("update_optid", currentUserId); - task.put("update_optname", SecurityUtils.getCurrentNickName()); - task.put("create_time", DateUtil.now()); - task.put("update_time", DateUtil.now()); - task.put("priority", "1"); - WQLObject.getWQLObject("SCH_BASE_Task").insert(task); - return taskdtl_id; - } + @Override + public String createTask(JSONObject form) { + String task_name = form.getString("task_name"); + String start_point_code = form.getString("point_code1"); + String next_point_code = form.getString("point_code2"); + String vehicle_code = form.getString("vehicle_code"); + String vehicle_code2 = form.getString("vehicle_code2"); + String material_id = form.getString("material_id"); + String type = form.getString("type"); + if(StrUtil.isEmpty(start_point_code)) { + throw new BadRequestException("起点不能为空!"); + } + if(StrUtil.isEmpty(next_point_code)) { + throw new BadRequestException("终点不能为空!"); + } + if(StrUtil.isEmpty(vehicle_code)) { + throw new BadRequestException("载具不能为空!"); + } + String taskdtl_id = IdUtil.getSnowflake(1, 1).nextId() + ""; + JSONObject task = new JSONObject(); + task.put("task_id", taskdtl_id); + task.put("task_name", task_name); + task.put("task_code", CodeUtil.getNewCode("TASK_CODE")); + task.put("task_type", type); + task.put("task_status", TaskStatusEnum.CREATED.getCode()); + task.put("point_code1", start_point_code); + task.put("point_code2", next_point_code); + task.put("vehicle_code2", vehicle_code2); + task.put("vehicle_code", vehicle_code); + task.put("material_id", material_id); + task.put("handle_class", this.getClass().getName()); + task.put("finished_type", "01"); + task.put("is_delete", "0"); + String currentUserId = SecurityUtils.getCurrentUserId(); + task.put("create_id", currentUserId); + task.put("create_name", SecurityUtils.getCurrentNickName()); + task.put("update_optid", currentUserId); + task.put("update_optname", SecurityUtils.getCurrentNickName()); + task.put("create_time", DateUtil.now()); + task.put("update_time", DateUtil.now()); + task.put("priority", "1"); + WQLObject.getWQLObject("SCH_BASE_Task").insert(task); + return taskdtl_id; + } @Override diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sch/wql/sch.xls b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sch/wql/sch.xls index c3cfb8fd..8531d1b3 100644 Binary files a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sch/wql/sch.xls and b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sch/wql/sch.xls differ