diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/OutTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/OutTask.java index 90571b73e..86d7c8d24 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/OutTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/OutTask.java @@ -115,61 +115,64 @@ public class OutTask extends AbstractAcsTask { WQLObject disTab = WQLObject.getWQLObject("st_ivt_iostorinvdis"); // 出入库分配表 String task_id = taskObj.getString("task_id"); - JSONObject jsonTask = taskTab.query("task_id = '" + task_id + "'").uniqueResult(0); + JSONObject jsonTask = taskTab.query("task_id = '" + task_id + "' and task_status < '07'").uniqueResult(0); + + if (ObjectUtil.isNotEmpty(jsonTask)) { + if (StrUtil.equals(status, "0")) { + // 任务为执行中之后就不允许取消 + if (StrUtil.equals(TaskStatusEnum.EXECUTING.getCode(), jsonTask.getString("task_status"))) { + throw new BadRequestException("任务:"+jsonTask.getString("task_code")+"正在执行中,不可取消"); + } + + // 更新删除字段 + jsonTask.put("is_delete","1"); + jsonTask.put("update_time", DateUtil.now()); + taskTab.update(jsonTask); + + // 更新分配明细为:未生成 + JSONObject map = new JSONObject(); + map.put("work_status", "00"); + map.put("point_id", ""); + + disTab.update(map,"task_id = '"+task_id+"'"); - if (StrUtil.equals(status, "0")) { - // 任务为执行中之后就不允许取消 - if (StrUtil.equals(TaskStatusEnum.EXECUTING.getCode(), jsonTask.getString("task_status"))) { - throw new BadRequestException("任务:"+jsonTask.getString("task_code")+"正在执行中,不可取消"); } - // 更新删除字段 - jsonTask.put("is_delete","1"); - jsonTask.put("update_time", DateUtil.now()); - taskTab.update(jsonTask); + if (TaskStatusEnum.EXECUTING.getCode().equals(status)) { + // 更新任务状态为执行中 + jsonTask.put("task_status", TaskStatusEnum.EXECUTING.getCode()); + jsonTask.put("update_time", DateUtil.now()); + taskTab.update(jsonTask); - // 更新分配明细为:未生成 - JSONObject map = new JSONObject(); - map.put("work_status", "00"); - map.put("point_id", ""); + } - disTab.update(map,"task_id = '"+task_id+"'"); + if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { + String currentUserId = SecurityUtils.getCurrentUserId(); + String currentUsername = SecurityUtils.getCurrentUsername(); - } + // 判断此任务是否有任务组 + String task_group_id = jsonTask.getString("task_group_id"); + if (ObjectUtil.isNotEmpty(task_group_id)) { + // 上一个任务组顺序号 + String sort_seq_last = NumberUtil.sub(jsonTask.getString("sort_seq"), "1").toString(); - if (TaskStatusEnum.EXECUTING.getCode().equals(status)) { - // 更新任务状态为执行中 - jsonTask.put("task_status", TaskStatusEnum.EXECUTING.getCode()); - jsonTask.put("update_time", DateUtil.now()); - taskTab.update(jsonTask); - - } - - if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { - String currentUserId = SecurityUtils.getCurrentUserId(); - String currentUsername = SecurityUtils.getCurrentUsername(); - - // 判断此任务是否有任务组 - String task_group_id = jsonTask.getString("task_group_id"); - if (ObjectUtil.isNotEmpty(task_group_id)) { - // 上一个任务组顺序号 - String sort_seq_last = NumberUtil.sub(jsonTask.getString("sort_seq"), "1").toString(); - - JSONObject jsonTaskLast = taskTab.query("task_group_id = '" + task_group_id + "' and sort_seq = '" + sort_seq_last + "' and task_status <> '07'").uniqueResult(0); + JSONObject jsonTaskLast = taskTab.query("task_group_id = '" + task_group_id + "' and sort_seq = '" + sort_seq_last + "' and task_status <> '07'").uniqueResult(0); // if (ObjectUtil.isNotEmpty(jsonTaskLast)) throw new BadRequestException("请先完成"+jsonTaskLast.getString("task_code")+"的任务!"); + } + + // 调用标识完成 + CheckOutBillService checkOutBillService = SpringContextHolder.getBean(CheckOutBillService.class); + checkOutBillService.finishTask(jsonTask); + + // 更改任务状态为完成 + jsonTask.put("task_status", TaskStatusEnum.FINISHED.getCode()); + jsonTask.put("update_optid", currentUserId); + jsonTask.put("update_optname", currentUsername); + jsonTask.put("update_time", DateUtil.now()); + taskTab.update(jsonTask); } - - // 调用标识完成 - CheckOutBillService checkOutBillService = SpringContextHolder.getBean(CheckOutBillService.class); - checkOutBillService.finishTask(jsonTask); - - // 更改任务状态为完成 - jsonTask.put("task_status", TaskStatusEnum.FINISHED.getCode()); - jsonTask.put("update_optid", currentUserId); - jsonTask.put("update_optname", currentUsername); - jsonTask.put("update_time", DateUtil.now()); - taskTab.update(jsonTask); } + } @Override diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java index 9bff88827..63e709de5 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java @@ -2552,7 +2552,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { + "' and row_num = '" + jsonRow.getString("row_num") + "' and is_used = '1' and is_delete = '0' and lock_type not in ('1','6','3')").getResultJSONArray(0); if (ObjectUtil.isNotEmpty(structArr)) { - throw new BadRequestException(jsonRow.getString("block_num")+"区-"+jsonRow.getString("row_num")+"排有未完成的任务的入库任务!"); + throw new BadRequestException(jsonRow.getString("block_num")+"区-"+jsonRow.getString("row_num")+"排有未完成的入库任务!"); } } @@ -3844,6 +3844,8 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { WQLObject wo_mst = WQLObject.getWQLObject("ST_IVT_IOStorInv"); // 物料表 WQLObject materTab = WQLObject.getWQLObject("md_me_materialbase"); + // 任务表 + WQLObject taskTab = WQLObject.getWQLObject("sch_base_task"); // 库区表 WQLObject sectTab = WQLObject.getWQLObject("st_ivt_sectattr"); // 子卷包装关系表 @@ -3955,6 +3957,14 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { JSONObject jsonDis = wo_dis.query("iostorinvdis_id = '" + dis.getString("iostorinvdis_id") + "'").uniqueResult(0); jsonDis.put("work_status", "99"); wo_dis.update(jsonDis); + + // 更新对应任务为完成 + JSONObject jsonTask = taskTab.query("task_id = '" + jsonDis.getString("task_id") + "' and task_status < '07'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(jsonTask)) { + jsonTask.put("task_status",TaskStatusEnum.FINISHED.getCode()); + taskTab.update(jsonTask); + } + } JSONObject out_jo = WQLObject.getWQLObject("ST_IVT_IOStorInv").query("iostorinv_id = '" + iostorinv_id + "'").uniqueResult(0);