From ebf0093b2e84a47a192d8cc8d79ed75c601ced0c Mon Sep 17 00:00:00 2001 From: liuxy Date: Wed, 8 Feb 2023 11:31:21 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/nl/wms/sch/tasks/OutTask.java | 93 ++++++++++--------- .../service/impl/CheckOutBillServiceImpl.java | 12 ++- 2 files changed, 59 insertions(+), 46 deletions(-) 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); From c5260fdd89b56b5a5d6ebabb863a3192fff4e36f Mon Sep 17 00:00:00 2001 From: liuxy Date: Wed, 8 Feb 2023 17:26:07 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/org/nl/wms/sch/tasks/OutTask.java | 10 +++++----- .../outbill/service/impl/CheckOutBillServiceImpl.java | 7 +++++++ 2 files changed, 12 insertions(+), 5 deletions(-) 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 86d7c8d24..4dd527d37 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 @@ -100,9 +100,9 @@ public class OutTask extends AbstractAcsTask { } // 更新任务为下发 - JSONObject paramMap = new JSONObject(); + /* JSONObject paramMap = new JSONObject(); paramMap.put("task_status", TaskStatusEnum.ISSUE.getCode()); - wo_Task.update(paramMap,"task_group_id ='"+json.getString("task_group_id")+"'"); + wo_Task.update(paramMap,"task_group_id ='"+json.getString("task_group_id")+"'");*/ } } return resultList; @@ -119,9 +119,9 @@ public class OutTask extends AbstractAcsTask { 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")+"正在执行中,不可取消"); + // 任务为下发之后就不允许取消 + if (jsonTask.getIntValue("task_status") > Integer.valueOf(TaskStatusEnum.START_AND_POINT.getCode())) { + throw new BadRequestException("任务:"+jsonTask.getString("task_code")+"已下发,不可取消"); } // 更新删除字段 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 63e709de5..638cea79e 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 @@ -619,6 +619,13 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { WQLObject taskTab = WQLObject.getWQLObject("sch_base_task"); // 任务表 String task_id = whereJson.getString("task_id"); + JSONObject jsonTask = taskTab.query("task_id = '" + task_id + "'").uniqueResult(0); + + // 任务为下发之后就不允许取消 + if (jsonTask.getIntValue("task_status") > Integer.valueOf(TaskStatusEnum.START_AND_POINT.getCode())) { + throw new BadRequestException("任务:"+jsonTask.getString("task_code")+"已下发,不可取消"); + } + // 更新分配明细 任务状态、清空任务id JSONObject paramMap = new JSONObject(); paramMap.put("task_id", "");