diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutHeapTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutHeapTask.java index 095f855a7..1d8549ba1 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutHeapTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutHeapTask.java @@ -21,6 +21,7 @@ import org.nl.wms.sch.manage.AbstractAcsTask; import org.nl.wms.sch.manage.TaskStatusEnum; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import java.util.ArrayList; import java.util.List; @@ -235,8 +236,6 @@ public class TwoOutHeapTask extends AbstractAcsTask { jsonParam.put("task_group_id", jsonTask.getString("task_group_id")); LashManageServiceImpl bean1 = SpringContextHolder.getBean(LashManageServiceImpl.class); bean1.createLashTask(jsonParam); - // 再次下发:找相同任务组的下发 - sendTaskAcs(jsonTask.getString("task_group_id"),true); } } } @@ -300,74 +299,61 @@ public class TwoOutHeapTask extends AbstractAcsTask { this.updateTaskStatus(taskObj, IOSEnum.IS_NOTANDYES.code("否")); } + @Transactional public void sendTaskAcs(String groupTaskId,boolean retry) { - 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); - - 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); - } - - // 是否下发多个AGV输送出库任务 + 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 is_delete ='0' ORDER BY create_time") + .getResultJSONArray(0).toJavaList(JSONObject.class); + // 是否下发多个AGV输送出库任务 + if (CollectionUtils.isEmpty(taskArrAll)){ + return; + } + List taskArr; + // 是否异常出库口任务 + String TWO_EXCEP = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("TWO_EXCEP").getValue(); + if (TWO_EXCEP.equals(IOSEnum.IS_NOTANDYES.code("否"))) { 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; - } + if (is_send_many.equals(IOSEnum.IS_NOTANDYES.code("否"))) { + // 只允许每个行架点位有一条任务 + taskArr = sendTask(taskArrAll); } else { taskArr = taskArrAll; } + } else { + taskArr = taskArrAll; + } - 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(); - - if (json.getString("vehicle_code2").contains("A")) { - dto.setRoute_plan_code("two"); - } else { - dto.setRoute_plan_code("normal"); - } - 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); - } + 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(); + if (json.getString("vehicle_code2").contains("A")) { + dto.setRoute_plan_code("two"); + } else { + dto.setRoute_plan_code("normal"); } - },"resendrgv", 30, this); + resultList.add(dto); + // 调用下发 + if (ObjectUtil.isNotEmpty(resultList)) { + JSONArray arr = JSONArray.parseArray(JSON.toJSONString(resultList)); + AcsUtil.notifyAcs("api/wms/task", arr); + } + } } } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/LashManageServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/LashManageServiceImpl.java index f60afaa40..760aa996e 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/LashManageServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/LashManageServiceImpl.java @@ -313,10 +313,8 @@ public class LashManageServiceImpl implements LashManageService { jsonTaskParam.put("vehicle_code", whereJson.getString("vehicle_code")); jsonTaskParam.put("vehicle_code2", jsonVeExt.getString("storagevehicle_code")); jsonTaskParam.put("request_param", whereJson); - TwoOutHeapTask bean = SpringContextHolder.getBean(TwoOutHeapTask.class); bean.createTask(jsonTaskParam); - bean.sendTaskAcs(whereJson.getString("task_group_id"),true); } @Override