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 97b93d20b..99ec5d55b 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 @@ -44,6 +44,7 @@ public class OutTask extends AbstractAcsTask { */ //任务表 WQLObject wo_Task = WQLObject.getWQLObject("SCH_BASE_Task"); + WQLObject dis_tab = WQLObject.getWQLObject("ST_IVT_IOStorInvDis"); JSONArray arr = WQLObject.getWQLObject("SCH_BASE_Task").query("handle_class = '" + THIS_CLASS + "' and task_status = '" + TaskStatusEnum.START_AND_POINT.getCode() + "' and is_delete ='0'").getResultJSONArray(0); @@ -89,6 +90,11 @@ public class OutTask extends AbstractAcsTask { resultList.add(dto); } } + // 更新分配明细执行状态为:执行中 + JSONObject paramMap = new JSONObject(); + paramMap.put("work_status", "02"); + dis_tab.update(paramMap,"task_id ='"+json.getString("task_id")+"'"); + } return resultList; } @@ -124,7 +130,7 @@ public class OutTask extends AbstractAcsTask { 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(); + String sort_seq_last = NumberUtil.add(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); if (ObjectUtil.isNotEmpty(jsonTaskLast)) throw new BadRequestException("请先完成"+jsonTaskLast.getString("task_code")+"的任务!"); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/CheckOutBillService.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/CheckOutBillService.java index c7b6a0735..852405a5a 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/CheckOutBillService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/CheckOutBillService.java @@ -206,4 +206,10 @@ public interface CheckOutBillService { JSONArray queryBox(JSONObject whereJson); JSONArray getOutBillTask2(Map whereJson); + + /** + * 删除任务 + * @param whereJson / + */ + void cancelTask(JSONObject whereJson); } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/rest/CheckOutBillController.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/rest/CheckOutBillController.java index 692530b7b..0256f86a9 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/rest/CheckOutBillController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/rest/CheckOutBillController.java @@ -98,6 +98,13 @@ public class CheckOutBillController { checkOutBillService.allCancel(whereJson); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } + @PostMapping("/cancelTask") + @Log("删除任务") + @ApiOperation("删除任务") + public ResponseEntity cancelTask(@RequestBody JSONObject whereJson) { + checkOutBillService.cancelTask(whereJson); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } @PostMapping("/oneCancel") @Log("出库单全部取消") @ApiOperation("出库单全部取消") 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 b6ea3bb31..6e884c29d 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 @@ -596,6 +596,26 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { return jo; } + @Override + @Transactional(rollbackFor = Exception.class) + public void cancelTask(JSONObject whereJson) { + WQLObject disTab = WQLObject.getWQLObject("st_ivt_iostorinvdis"); // 分配表 + WQLObject taskTab = WQLObject.getWQLObject("sch_base_task"); // 任务表 + + String task_id = whereJson.getString("task_id"); + // 更新分配明细 任务状态、清空任务id + JSONObject paramMap = new JSONObject(); + paramMap.put("task_id", ""); + paramMap.put("work_status", "00"); + paramMap.put("point_id", ""); + disTab.update(paramMap,"task_id = '"+task_id+"'"); + + // 删除此任务 + JSONObject paramMap2 = new JSONObject(); + paramMap2.put("is_delete","1" ); + taskTab.update(paramMap2,"task_id = '"+task_id+"'"); + } + @Override @Transactional(rollbackFor = Exception.class) public void update(JSONObject whereJson) { @@ -1921,14 +1941,15 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { boolean left_verify = true; if (ObjectUtil.isEmpty(jsonIsBlockL)) { left_verify = false; - String out_order_seq = NumberUtil.add(jsonAttr.getString("out_order_seq"), "1").toString(); + /* String out_order_seq = NumberUtil.add(jsonAttr.getString("out_order_seq"), "1").toString(); JSONObject json = attrTab.query("sect_id = '" + map.getString("sect_id") + "' and out_order_seq = '" + out_order_seq + "' and block_num = '" + jsonAttr.getString("block_num") + "' and row_num = '" + jsonAttr.getString("row_num") + "'").uniqueResult(0); if (ObjectUtil.isNotEmpty(json)) { jsonAttr.put("placement_type","02"); - } + }*/ + jsonAttr.put("placement_type","02"); } else { // 调用验证方法进行校验 String out_order_seq = NumberUtil.add(jsonIsBlockL.getString("out_order_seq"), "1").toString(); @@ -1964,14 +1985,15 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { boolean right_verify = true; if (ObjectUtil.isEmpty(jsonIsBlockR)) { right_verify = false; - String out_order_seq = NumberUtil.sub(jsonAttr.getString("out_order_seq"), "1").toString(); + /* String out_order_seq = NumberUtil.sub(jsonAttr.getString("out_order_seq"), "1").toString(); JSONObject json = attrTab.query("sect_id = '" + map.getString("sect_id") + "' and out_order_seq = '" + out_order_seq + "' and block_num = '" + jsonAttr.getString("block_num") + "' and row_num = '" + jsonAttr.getString("row_num") + "'").uniqueResult(0); if (ObjectUtil.isNotEmpty(json)) { jsonAttr.put("placement_type","03"); - } + }*/ + jsonAttr.put("placement_type","03"); } else { // 调用验证方法进行校验 String out_order_seq = NumberUtil.sub(jsonIsBlockR.getString("out_order_seq"), "1").toString(); @@ -3276,41 +3298,6 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { jsonTask.put("update_time",now); wo_Task.update(jsonTask); - /* ArrayList resultList = new ArrayList<>(); - - // 1.查询此任务是否有任务组 - JSONObject jsonTask = wo_Task.query("task_id = '" + whereJson.getString("task_id") + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(jsonTask.getString("task_group_id"))) { - AcsTaskDto dto = AcsTaskDto.builder() - .ext_task_id(jsonTask.getString("task_id")) - .task_code(jsonTask.getString("task_code")) - .task_type(jsonTask.getString("acs_task_type")) - .start_device_code(jsonTask.getString("point_code1")) - .next_device_code(jsonTask.getString("point_code2")) - .vehicle_code(jsonTask.getString("vehicle_code")) - .priority(jsonTask.getString("priority")) - .remark(jsonTask.getString("remark")) - .build(); - resultList.add(dto); - } else { - // 2.有任务组:按照执行顺序下发 大到小 - JSONArray taskArr = wo_Task.query("task_group_id = '" + jsonTask.getString("task_group_id") + "' order by sort_seq DESC").getResultJSONArray(0); - for (int i = 0; i < taskArr.size(); i++) { - JSONObject json = taskArr.getJSONObject(i); - - 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_code")) - .priority(json.getString("priority")) - .remark(json.getString("remark")) - .build(); - resultList.add(dto); - } - }*/ } @Override @@ -3334,6 +3321,16 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { throw new BadRequestException("查询不到操作的任务记录!"); } + // 判断此任务是否有任务组 + String task_group_id = task.getString("task_group_id"); + if (ObjectUtil.isNotEmpty(task_group_id)) { + // 上一个任务组顺序号 + String sort_seq_last = NumberUtil.add(task.getString("sort_seq"), "1").toString(); + + JSONObject jsonTaskLast = wo_Task.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")+"的任务!"); + } + JSONObject dtljo = wo_dis.query("task_id='" + task_id + "'").uniqueResult(0); whereJson.put("iostorinv_id", dtljo.getString("iostorinv_id")); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/wql/QST_IVT_CHECKOUTBILL.wql b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/wql/QST_IVT_CHECKOUTBILL.wql index 14d636833..4869294a4 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/wql/QST_IVT_CHECKOUTBILL.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/wql/QST_IVT_CHECKOUTBILL.wql @@ -634,13 +634,15 @@ task.task_code, task.task_type, task.task_status, - sub.sap_pcsn + sub.sap_pcsn, + md.class_name task_type_name FROM st_ivt_iostorinvdis dis LEFT JOIN md_me_materialbase mater ON dis.material_id = mater.material_id LEFT JOIN sch_base_point point ON dis.point_id = point.point_id LEFT JOIN sch_base_task task ON dis.task_id = task.task_id LEFT JOIN pdm_bi_subpackagerelation sub ON dis.pcsn = sub.container_name + LEFT JOIN md_pb_classstandard md ON task.task_type = md.class_code WHERE 1=1 @@ -673,13 +675,15 @@ task.task_code, task.task_type, task.task_status, - sub.sap_pcsn + sub.sap_pcsn, + md.class_name task_type_name FROM st_ivt_iostorinvdis dis LEFT JOIN md_me_materialbase mater ON dis.material_id = mater.material_id LEFT JOIN sch_base_point point ON dis.point_id = point.point_id LEFT JOIN sch_base_task task ON dis.task_id = task.task_id LEFT JOIN pdm_bi_subpackagerelation sub ON dis.pcsn = sub.container_name AND sub.package_box_sn = dis.box_no + LEFT JOIN md_pb_classstandard md ON task.task_type = md.class_code WHERE 1=1 diff --git a/lms/nladmin-ui/src/views/wms/st/outbill/DivDialog.vue b/lms/nladmin-ui/src/views/wms/st/outbill/DivDialog.vue index 3252469a3..5e91c9572 100644 --- a/lms/nladmin-ui/src/views/wms/st/outbill/DivDialog.vue +++ b/lms/nladmin-ui/src/views/wms/st/outbill/DivDialog.vue @@ -528,6 +528,9 @@ export default { this.currentDis.point_code = this.form2.point_code checkoutbill.oneSetPoint(this.currentDis).then(res => { this.queryTableDdis(this.currentDis.iostorinvdtl_id) + this.crud.notify('设置成功!', CRUD.NOTIFICATION_TYPE.INFO) + }).catch(() => { + this.currentDis.point_code = '' }) } }, diff --git a/lms/nladmin-ui/src/views/wms/st/outbill/TaskDialog.vue b/lms/nladmin-ui/src/views/wms/st/outbill/TaskDialog.vue index d6f0a5f0f..7d1c37665 100644 --- a/lms/nladmin-ui/src/views/wms/st/outbill/TaskDialog.vue +++ b/lms/nladmin-ui/src/views/wms/st/outbill/TaskDialog.vue @@ -82,7 +82,7 @@ > 标示完成 - 取消完成 - + --> @@ -107,20 +107,20 @@ :header-cell-style="{background:'#f5f7fa',color:'#606266'}" @current-change="handleDisCurrentChange" > - - - - - + + + + + - - + + - - + + @@ -130,7 +130,7 @@