From ae846b5fd6c637169ca752e643dda6802238d7c5 Mon Sep 17 00:00:00 2001 From: liuxy Date: Mon, 5 Jun 2023 15:29:52 +0800 Subject: [PATCH] =?UTF-8?q?rev=EF=BC=9A=20=E7=9B=98=E7=82=B9=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E4=B8=8B=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/nl/common/enums/AcsTaskEnum.java | 2 +- .../check/StIvtCheckmstCpController.java | 8 ++ .../check/IStIvtCheckmstCpService.java | 1 + .../service/check/dao/StIvtCheckdtlCp.java | 2 +- .../impl/StIvtCheckmstCpServiceImpl.java | 77 ++++++++++++++++++- .../impl/StIvtIostorinvCpOutServiceImpl.java | 16 ++++ .../impl/StIvtIostorinvCpServiceImpl.java | 14 ++++ .../storage_manage/semimanage/TASKEnum.java | 2 +- .../product/productCheck/CheckDialog.vue | 9 ++- .../product/productCheck/check.js | 11 ++- 10 files changed, 134 insertions(+), 8 deletions(-) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/common/enums/AcsTaskEnum.java b/mes/hd/nladmin-system/src/main/java/org/nl/common/enums/AcsTaskEnum.java index fcdc09aa..71ddfbd8 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/common/enums/AcsTaskEnum.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/common/enums/AcsTaskEnum.java @@ -38,7 +38,7 @@ public enum AcsTaskEnum { TASK_STRUCT_SHUT("15","拼盘任务"), TASK_STRUCT_CP_IN("11","入库-成品-生产入库"), TASK_STRUCT_CP_OUT("12","出库-成品-生产出库"), - TASK_STRUCT_CP_CHECK("13","出库-成品-盘点"), + TASK_STRUCT_CP_CHECK("13","成品-盘点"), //回调状态 STATUS_START("1","执行中"), diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/controller/check/StIvtCheckmstCpController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/controller/check/StIvtCheckmstCpController.java index 7c77a392..6a9e4c6f 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/controller/check/StIvtCheckmstCpController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/controller/check/StIvtCheckmstCpController.java @@ -113,5 +113,13 @@ public class StIvtCheckmstCpController { iStIvtCheckmstCpService.processBox(whereJson); return new ResponseEntity<>(HttpStatus.OK); } + + @PostMapping("/sendTask") + @Log("下发任务") + @ApiOperation("下发任务") + public ResponseEntity sendTask(@RequestBody JSONObject whereJson) { + iStIvtCheckmstCpService.sendTask(whereJson); + return new ResponseEntity<>(HttpStatus.OK); + } } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/check/IStIvtCheckmstCpService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/check/IStIvtCheckmstCpService.java index 4a887a77..18c9c33f 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/check/IStIvtCheckmstCpService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/check/IStIvtCheckmstCpService.java @@ -55,4 +55,5 @@ public interface IStIvtCheckmstCpService extends IService { void taskOperate(JSONObject form); + void sendTask(JSONObject whereJson); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/check/dao/StIvtCheckdtlCp.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/check/dao/StIvtCheckdtlCp.java index 435c56d2..807590e8 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/check/dao/StIvtCheckdtlCp.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/check/dao/StIvtCheckdtlCp.java @@ -107,7 +107,7 @@ public class StIvtCheckdtlCp implements Serializable { /** * 是否已下发 */ - private Boolean is_down; + private String is_down; /** * 盘点数量 diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/check/impl/StIvtCheckmstCpServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/check/impl/StIvtCheckmstCpServiceImpl.java index 48561dd7..58f24258 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/check/impl/StIvtCheckmstCpServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/check/impl/StIvtCheckmstCpServiceImpl.java @@ -15,6 +15,8 @@ import org.jetbrains.annotations.NotNull; import org.nl.common.TableDataInfo; import org.nl.common.domain.query.PageQuery; import org.nl.common.enums.AcsTaskEnum; +import org.nl.common.publish.BussEventMulticaster; +import org.nl.common.publish.event.PointEvent; import org.nl.common.utils.IdUtil; import org.nl.common.utils.MapOf; import org.nl.common.utils.SecurityUtils; @@ -26,6 +28,9 @@ import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtBsrealstorattr import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtStructattrService; import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtBsrealstorattr; import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtStructattr; +import org.nl.wms.product_manage.sch.manage.TaskStatusEnum; +import org.nl.wms.scheduler_manage.service.task.ISchBaseTaskService; +import org.nl.wms.scheduler_manage.service.task.dao.SchBaseTask; import org.nl.wms.storage_manage.CHECKEnum; import org.nl.wms.storage_manage.productmanage.service.check.IStIvtCheckdtlCpService; import org.nl.wms.storage_manage.productmanage.service.check.IStIvtCheckmstCpService; @@ -52,6 +57,7 @@ import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.function.Consumer; /** *

@@ -83,6 +89,9 @@ public class StIvtCheckmstCpServiceImpl extends ServiceImpl dtl_list = stIvtCheckdtlCpMapper.queryCheckDtlByTask(MapOf.of("task_id", task_id)); StIvtCheckdtlCp dtl = dtl_list.get(0); if (status.equals(AcsTaskEnum.STATUS_FINISH.getCode()) && dtl.getIs_down().equals("2")) { + + // 更新任务为完成 + iSchBaseTaskService.update( + new UpdateWrapper().lambda() + .set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode()) + .eq(SchBaseTask::getTask_id, task_id) + ); + + // 更新明细为完成 iStIvtCheckdtlCpService.update(new UpdateWrapper() - .set("status", CHECKEnum.DTL_STATUS.code("完成")) + .set("status", CHECKEnum.DTL_STATUS.code("确认完成")) .eq("struct_id", dtl.getStruct_id()) .eq("check_id", dtl.getCheck_id())); + //判断是否存在未完成的明细 List list = iStIvtCheckdtlCpService.list(new QueryWrapper().eq("check_id", dtl.getCheck_id()) - .ne("status", CHECKEnum.DTL_STATUS.code("完成"))); + .ne("status", CHECKEnum.DTL_STATUS.code("确认完成"))); + if (list.size() == 0) { + StIvtCheckmstCp jo_mst = this.getOne(new QueryWrapper().eq("check_id", dtl.getCheck_id())); jo_mst.setStatus(CHECKEnum.BILL_STATUS.code("完成")); jo_mst.setConfirm_optid(SecurityUtils.getCurrentUserId()); jo_mst.setConfirm_optname(SecurityUtils.getCurrentNickName()); jo_mst.setConfirm_time(DateUtil.now()); + //解锁起点点位、仓位 List finish_list = iStIvtCheckdtlCpService.list(new QueryWrapper().eq("check_id", dtl.getCheck_id()) - .eq("status", CHECKEnum.DTL_STATUS.code("完成"))); + .eq("status", CHECKEnum.DTL_STATUS.code("确认完成"))); + finish_list.stream() .map(StIvtCheckdtlCp::getStruct_id) .distinct() .forEach(struct_id -> structattrService.update(new UpdateWrapper().set("inv_code", "").set("lock_type", "0").eq("struct_id", struct_id))); } + } else { + if (status.equals(AcsTaskEnum.STATUS_FINISH.getCode())) { + // 更新任务为完成 + iSchBaseTaskService.update( + new UpdateWrapper().lambda() + .set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode()) + .eq(SchBaseTask::getTask_id, task_id) + ); + } else { + // 更新任务为执行中 + iSchBaseTaskService.update( + new UpdateWrapper().lambda() + .set(SchBaseTask::getTask_status, TaskStatusEnum.EXECUTING.getCode()) + .eq(SchBaseTask::getTask_id, task_id) + ); + } + } } + @Override + @Transactional(rollbackFor = Exception.class) + public void sendTask(JSONObject whereJson) { + String point_code2 = whereJson.getString("point_code2"); + + StIvtCheckdtlCp dtlDao = iStIvtCheckdtlCpService.getById(whereJson.getString("checkdtl_id")); + + // 找一个盘点位 + if (whereJson.getBoolean("is_antu_div")) { + // TODO 暂时写死 + point_code2 = "070515"; + } + + StIvtStructattr attrDao = structattrService.getById(whereJson.getString("struct_id")); + + PointEvent event = PointEvent.builder() + .type(AcsTaskEnum.TASK_STRUCT_CP_CHECK.getCode()) + .point_code1(attrDao.getStruct_code()) + .point_code2(point_code2) + .vehicle_code(attrDao.getStoragevehicle_code()) + .product_area("A1") // 暂时写死 + .build(); + BussEventMulticaster.Publish(event); + + dtlDao.setIs_down("1"); + iStIvtCheckdtlCpService.updateById(dtlDao); + + } + @Override @Transactional(rollbackFor = Exception.class) public void delete(Long[] ids) { diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpOutServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpOutServiceImpl.java index 0452dfa9..940beca1 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpOutServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpOutServiceImpl.java @@ -547,6 +547,14 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl().lambda() + .set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode()) + .eq(SchBaseTask::getTask_id, task_id) + ); + + // 更新分配为完成 iostorinvdisCpService.update( new UpdateWrapper().lambda() .eq(StIvtIostorinvdisCp::getTask_id, task_id) @@ -560,6 +568,14 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl().lambda() + .set(SchBaseTask::getTask_status, TaskStatusEnum.EXECUTING.getCode()) + .eq(SchBaseTask::getTask_id, task_id) + ); + + // 更新分配为执行中 iostorinvdisCpService.update( new UpdateWrapper().lambda() .eq(StIvtIostorinvdisCp::getTask_id, task_id) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpServiceImpl.java index 8263859e..22b201c8 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpServiceImpl.java @@ -672,6 +672,13 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl().lambda() + .set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode()) + .eq(SchBaseTask::getTask_id, task_id) + ); + // 更新分配明细为完成 iostorinvdisCpService.update( new UpdateWrapper().lambda() .eq(StIvtIostorinvdisCp::getTask_id, task_id) @@ -685,6 +692,13 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl().lambda() + .set(SchBaseTask::getTask_status, TaskStatusEnum.EXECUTING.getCode()) + .eq(SchBaseTask::getTask_id, task_id) + ); + // 更新分配为执行中 iostorinvdisCpService.update( new UpdateWrapper().lambda() .eq(StIvtIostorinvdisCp::getTask_id, task_id) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/TASKEnum.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/TASKEnum.java index 05f27756..e9a59faa 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/TASKEnum.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/TASKEnum.java @@ -44,7 +44,7 @@ public enum TASKEnum implements FunctionStrategy { IStIvtIostorinvCpOutService bean = SpringContextHolder.getBean(IStIvtIostorinvCpOutService.class); bean.taskOperate(form); }), - CP_CHECK_TASK(type -> AcsTaskEnum.TASK_STRUCT_CP_OUT.getCode().equals(type), form -> { + CP_CHECK_TASK(type -> AcsTaskEnum.TASK_STRUCT_CP_CHECK.getCode().equals(type), form -> { IStIvtCheckmstCpService bean = SpringContextHolder.getBean(IStIvtCheckmstCpService.class); bean.taskOperate(form); }), diff --git a/mes/qd/src/views/wms/storage_manage/product/productCheck/CheckDialog.vue b/mes/qd/src/views/wms/storage_manage/product/productCheck/CheckDialog.vue index 09e72e61..ec21482f 100644 --- a/mes/qd/src/views/wms/storage_manage/product/productCheck/CheckDialog.vue +++ b/mes/qd/src/views/wms/storage_manage/product/productCheck/CheckDialog.vue @@ -79,7 +79,8 @@ type="primary" icon="el-icon-plus" size="mini" - @click="addrow" + :disabled="add_flag" + @click="sendTask" > 下发任务 @@ -320,6 +321,12 @@ export default { check_resultFormat(row, column) { return this.dict.label.check_result[row.check_result] }, + sendTask() { + this.nowrow.is_antu_div = true // 是否自动分配盘点位 + check.sendTask(this.nowrow).then( res => { + this.crud.notify('任务下发成功!', CRUD.NOTIFICATION_TYPE.SUCCESS) + }) + }, addrow() { if (this.nowrow === null) { this.crud.notify('请先选中一条已存在的库存明细!', CRUD.NOTIFICATION_TYPE.INFO) diff --git a/mes/qd/src/views/wms/storage_manage/product/productCheck/check.js b/mes/qd/src/views/wms/storage_manage/product/productCheck/check.js index e29e49af..a52d033e 100644 --- a/mes/qd/src/views/wms/storage_manage/product/productCheck/check.js +++ b/mes/qd/src/views/wms/storage_manage/product/productCheck/check.js @@ -127,6 +127,14 @@ export function processBox(data) { }) } +export function sendTask(data) { + return request({ + url: '/api/stIvtCheckmstCp/sendTask', + method: 'post', + data + }) +} + export default { add, edit, @@ -141,5 +149,6 @@ export default { getOutBillDis, process1, getBucketrecord, - processBox + processBox, + sendTask }