diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationServiceImpl.java index f774fc89a..b7b5adcc1 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationServiceImpl.java @@ -398,27 +398,27 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl() + .eq("is_delete", "0") + .eq("point_code1", 浅Attr.getString("struct_code")) + .lt("task_status", TaskStatusEnum.FINISHED.getCode())); + if (浅Task == 0){ + task_group_id = outBoxManageService.createBoxMove(浅Attr); } }else { - if (浅Attr.getString("lock_type").equals(IOSEnum.LOCK_TYPE.code("未锁定"))) { - // 判断浅货位木箱和深货位木箱是否相同规格 - task_group_id = outBoxManageService.createBoxMove(浅Attr); - } else if (浅Attr.getString("lock_type").equals(IOSEnum.LOCK_TYPE.code("验箱出库锁"))) { - int 浅Task = taskService.count(new QueryWrapper() - .eq("is_delete", "0") - .eq("point_code1", 浅Attr.getString("struct_code")) - .lt("task_status", TaskStatusEnum.FINISHED.getCode())); - if (浅Task == 0){ - task_group_id = outBoxManageService.createBoxMove(浅Attr); - } - }else { - throw new BadRequestException("当前木箱所在货位"+boxAttr.getString("struct_code")+"对应浅货位存在任务"+浅Attr.getString("task_code")); - } + throw new BadRequestException("当前木箱所在货位"+boxAttr.getString("struct_code")+"对应浅货位存在任务"+浅Attr.getString("task_code")); } } } @@ -769,6 +769,11 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl taskArrAll = wo_Task - .query("handle_class = '" + THIS_CLASS + "' and task_status = '" + TaskStatusEnum.START_AND_POINT.getCode() + "' and task_group_id = '" + groupTaskId + "'" + " and is_delete ='0' ORDER BY create_time") - .getResultJSONArray(0).toJavaList(JSONObject.class); - - if (ObjectUtil.isEmpty(taskArrAll) && retry) { - taskArrAll = wo_Task - .query("handle_class = '" + THIS_CLASS + "' and task_status = '" + TaskStatusEnum.START_AND_POINT.getCode() + "' and is_delete ='0' ORDER BY create_time") + RedissonUtils.lock(c -> { + WQLObject wo_Task = WQLObject.getWQLObject("sch_base_task"); + List taskArrAll = wo_Task + .query("handle_class = '" + THIS_CLASS + "' and task_status = '" + TaskStatusEnum.START_AND_POINT.getCode() + "' and task_group_id = '" + groupTaskId + "'" + " and is_delete ='0' ORDER BY create_time") .getResultJSONArray(0).toJavaList(JSONObject.class); - } - // 是否下发多个AGV输送出库任务 - String is_send_many = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("is_send_many").getValue(); - // 是否异常出库口任务 - String TWO_EXCEP = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("TWO_EXCEP").getValue(); + if (ObjectUtil.isEmpty(taskArrAll) && retry) { + taskArrAll = wo_Task + .query("handle_class = '" + THIS_CLASS + "' and task_status = '" + TaskStatusEnum.START_AND_POINT.getCode() + "' and is_delete ='0' ORDER BY create_time") + .getResultJSONArray(0).toJavaList(JSONObject.class); + } - List taskArr; - if (TWO_EXCEP.equals(IOSEnum.IS_NOTANDYES.code("否"))) { - if (is_send_many.equals(IOSEnum.IS_NOTANDYES.code("否"))) { - // 只允许每个行架点位有一条任务 - taskArr = sendTask(taskArrAll); + // 是否下发多个AGV输送出库任务 + String is_send_many = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("is_send_many").getValue(); + // 是否异常出库口任务 + String TWO_EXCEP = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("TWO_EXCEP").getValue(); + + List taskArr; + if (TWO_EXCEP.equals(IOSEnum.IS_NOTANDYES.code("否"))) { + if (is_send_many.equals(IOSEnum.IS_NOTANDYES.code("否"))) { + // 只允许每个行架点位有一条任务 + taskArr = sendTask(taskArrAll); + } else { + taskArr = taskArrAll; + } } else { taskArr = taskArrAll; } - } else { - taskArr = taskArrAll; - } - ArrayList resultList = new ArrayList<>(); - for (int i = 0; i < taskArr.size(); i++) { - JSONObject json = taskArr.get(i); + ArrayList resultList = new ArrayList<>(); + for (int i = 0; i < taskArr.size(); i++) { + JSONObject json = taskArr.get(i); + char dtl_type = json.getString("task_type").charAt(json.getString("task_type").length() - 1); + AcsTaskDto dto = AcsTaskDto.builder() + .ext_task_id(json.getString("task_id")) + .task_code(json.getString("task_code")) + .task_type(json.getString("acs_task_type")) + .start_device_code(json.getString("point_code1")) + .next_device_code(json.getString("point_code2")) + .vehicle_code(json.getString("vehicle_code2")) + .vehicle_code2(json.getString("vehicle_code")) + .interaction_json(json.getJSONObject("request_param")) + .priority(json.getString("priority")) + .class_type(IOSEnum.ACS_TYPE.code("RGV输送任务")) + .dtl_type(String.valueOf(dtl_type)) + .product_area(IOSEnum.PRODUCT_AREA.code("BLK")) + .remark(json.getString("remark")) + .build(); - char dtl_type = json.getString("task_type").charAt(json.getString("task_type").length() - 1); - AcsTaskDto dto = AcsTaskDto.builder() - .ext_task_id(json.getString("task_id")) - .task_code(json.getString("task_code")) - .task_type(json.getString("acs_task_type")) - .start_device_code(json.getString("point_code1")) - .next_device_code(json.getString("point_code2")) - .vehicle_code(json.getString("vehicle_code2")) - .vehicle_code2(json.getString("vehicle_code")) - .interaction_json(json.getJSONObject("request_param")) - .priority(json.getString("priority")) - .class_type(IOSEnum.ACS_TYPE.code("RGV输送任务")) - .dtl_type(String.valueOf(dtl_type)) - .product_area(IOSEnum.PRODUCT_AREA.code("BLK")) - .remark(json.getString("remark")) - .build(); + if (json.getString("vehicle_code2").contains("A")) { + dto.setRoute_plan_code("two"); + } else { + dto.setRoute_plan_code("normal"); + } + resultList.add(dto); - if (json.getString("vehicle_code2").contains("A")) { - dto.setRoute_plan_code("two"); - } else { - dto.setRoute_plan_code("normal"); + // 更新任务为下发 + JSONObject paramMap = new JSONObject(); + paramMap.put("task_status", TaskStatusEnum.ISSUE.getCode()); + wo_Task.update(paramMap, "task_id ='" + json.getString("task_id") + "'"); + + // 调用下发 + if (ObjectUtil.isNotEmpty(resultList)) { + JSONArray arr = JSONArray.parseArray(JSON.toJSONString(resultList)); + AcsUtil.notifyAcs("api/wms/task", arr); + } } - resultList.add(dto); - - // 更新任务为下发 - JSONObject paramMap = new JSONObject(); - paramMap.put("task_status", TaskStatusEnum.ISSUE.getCode()); - wo_Task.update(paramMap, "task_id ='" + json.getString("task_id") + "'"); - - // 调用下发 - if (ObjectUtil.isNotEmpty(resultList)) { - JSONArray arr = JSONArray.parseArray(JSON.toJSONString(resultList)); - AcsUtil.notifyAcs("api/wms/task", arr); - } - } + },"resendrgv", 30, this); } } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutTask.java index e91550134..4b350c0ed 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutTask.java @@ -212,7 +212,7 @@ public class TwoOutTask extends AbstractAcsTask { if (ObjectUtil.isEmpty(resultJSONArray)) { this.immediateNotifyAcs(null); } - }, "出库堆垛机任务反馈完成", 30, this); + }, "cratergv", 30, this); } }