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 9fcc7c8f..c1596c8d 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 @@ -28,11 +28,11 @@ public enum TASKEnum implements FunctionStrategy { }), CHECK_TASK(type -> AcsTaskEnum.TASK_STRUCT_CHECK.getCode().equals(type), form -> { IStIvtCheckmstYlService bean = SpringContextHolder.getBean(IStIvtCheckmstYlService.class); - bean.confirm(form); + bean.taskOperate(form); }), SHUT_TASK(type -> AcsTaskEnum.TASK_STRUCT_SHUT.getCode().equals(type), form -> { IStIvtShutframeinvBcpService bean = SpringContextHolder.getBean(IStIvtShutframeinvBcpService.class); - bean.confirm(form); + bean.taskOperate(form); }), CP_IN_TASK(type -> AcsTaskEnum.TASK_STRUCT_CP_IN.getCode().equals(type), form -> { IStIvtIostorinvCpService bean = SpringContextHolder.getBean(IStIvtIostorinvCpService.class); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/check/IStIvtCheckmstBcpService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/check/IStIvtCheckmstBcpService.java index 7b3f35e0..75b0f8fa 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/check/IStIvtCheckmstBcpService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/check/IStIvtCheckmstBcpService.java @@ -48,4 +48,8 @@ public interface IStIvtCheckmstBcpService extends IService { void process0(JSONObject jo); void process1(JSONObject jo); + + void issueTask(JSONObject jo); + + void taskOperate(JSONObject jo); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/check/dao/StIvtCheckdtlBcp.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/check/dao/StIvtCheckdtlBcp.java index 222bd47b..4d6e9371 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/check/dao/StIvtCheckdtlBcp.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/check/dao/StIvtCheckdtlBcp.java @@ -107,7 +107,7 @@ public class StIvtCheckdtlBcp implements Serializable { /** * 是否已下发 */ - private Boolean is_down; + private String is_down; /** * 盘点数量 @@ -154,5 +154,7 @@ public class StIvtCheckdtlBcp implements Serializable { */ private String process_time; + private String task_id; + } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/check/impl/StIvtCheckmstBcpServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/check/impl/StIvtCheckmstBcpServiceImpl.java index f17b70f0..71a93a3c 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/check/impl/StIvtCheckmstBcpServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/check/impl/StIvtCheckmstBcpServiceImpl.java @@ -14,6 +14,9 @@ import io.jsonwebtoken.lang.Assert; 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.SecurityUtils; import org.nl.modules.common.exception.BadRequestException; @@ -32,14 +35,19 @@ import org.nl.wms.storage_manage.semimanage.service.check.IStIvtCheckdtlBcpServi import org.nl.wms.storage_manage.semimanage.service.check.IStIvtCheckmstBcpService; import org.nl.wms.storage_manage.semimanage.service.check.dao.StIvtCheckmstBcp; import org.nl.wms.storage_manage.semimanage.service.check.dao.mapper.StIvtCheckmstBcpMapper; +import org.nl.wms.storage_manage.semimanage.service.iostorInv.dao.StIvtIostorinvBcp; import org.nl.wms.storage_manage.semimanage.service.moveOrLess.IStIvtMoreorlessmstBcpService; +import org.nl.wms.storage_manage.semimanage.service.shutFrame.dao.StIvtShutframedtlBcp; +import org.nl.wms.storage_manage.semimanage.service.shutFrame.dao.StIvtShutframeinvBcp; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.math.BigDecimal; +import java.util.Arrays; import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.function.Consumer; /** *

@@ -220,6 +228,7 @@ public class StIvtCheckmstBcpServiceImpl extends ServiceImpl().eq("struct_id", dtl.getStruct_id())); + + PointEvent event = PointEvent.builder() + .type(AcsTaskEnum.TASK_STRUCT_SHUT.getCode()) + .point_code1(struct.getStruct_code()) + .point_code2(point_code) + .vehicle_code(dtl.getStoragevehicle_code()) + .product_area(mst.getWorkshop_id()) + .callback((Consumer) task_id -> dtl.setTask_id(task_id)) + .build(); + + BussEventMulticaster.Publish(event); + + checkdtlBcpService.update(new UpdateWrapper() + .set("is_down", "1") + .set("checkpoint_id", point_code) + .set("status", CHECKEnum.DTL_STATUS.code("盘点中")) + .eq("struct_id", dtl.getStruct_id()) + .eq("check_id", dtl.getCheck_id())); + } + + @Override + public void taskOperate(JSONObject form) { + String task_id = form.getString("task_id"); + String status = form.getString("status"); + StIvtCheckdtlBcp dtl = new StIvtCheckdtlBcp(); + if (status.equals(AcsTaskEnum.STATUS_FINISH.getCode()) && dtl.getIs_down().equals("2")) { + checkdtlBcpService.update(new UpdateWrapper() + .set("status", CHECKEnum.DTL_STATUS.code("完成")) + .eq("struct_id", dtl.getStruct_id()) + .eq("check_id", dtl.getCheck_id())); + //判断是否存在未完成的明细 + List list = checkdtlBcpService.list(new QueryWrapper().eq("check_id", dtl.getCheck_id()) + .ne("status", CHECKEnum.DTL_STATUS.code("完成"))); + if (list.size() == 0) { + StIvtCheckmstBcp 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 = checkdtlBcpService.list(new QueryWrapper().eq("check_id", dtl.getCheck_id()) + .eq("status", CHECKEnum.DTL_STATUS.code("完成"))); + finish_list.stream() + .map(finish -> finish.getStruct_id()) + .distinct() + .forEach(struct_id -> structattrService.update(new UpdateWrapper().set("inv_code", "").set("lock_type", "0").eq("struct_id", struct_id))); + } + } + } + @Override public void process1(JSONObject whereJson) { JSONObject form = whereJson.getJSONObject("form"); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/shutFrame/impl/StIvtShutframeinvBcpServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/shutFrame/impl/StIvtShutframeinvBcpServiceImpl.java index 91450b45..ee5b3771 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/shutFrame/impl/StIvtShutframeinvBcpServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/shutFrame/impl/StIvtShutframeinvBcpServiceImpl.java @@ -106,10 +106,33 @@ public class StIvtShutframeinvBcpServiceImpl extends ServiceImpl() + .eq("task_id", task.getTask_group_id()) + .set("work_status", SHUTEnum.WORK_STATUS.code("移出中"))); + } + if (work_status.equals(SHUTEnum.WORK_STATUS.code("移出确认")) || work_status.equals(SHUTEnum.WORK_STATUS.code("移回中"))) { + shutframedtlBcpService.update(new UpdateWrapper() + .eq("task_id", task.getTask_group_id()) + .set("work_status", SHUTEnum.WORK_STATUS.code("移回中"))); + } + } + if (status.equals(AcsTaskEnum.STATUS_FINISH.getCode()) && all_finish) { + if (work_status.equals(SHUTEnum.WORK_STATUS.code("移出中"))) { + shutframedtlBcpService.update(new UpdateWrapper() + .eq("task_id", task.getTask_group_id()) + .set("work_status", SHUTEnum.WORK_STATUS.code("移出确认"))); + } + if (work_status.equals(SHUTEnum.WORK_STATUS.code("移回中"))) { + shutframedtlBcpService.update(new UpdateWrapper() + .eq("task_id", task.getTask_group_id()) + .set("work_status", SHUTEnum.WORK_STATUS.code("完成"))); + JSONObject jo = new JSONObject(); + jo.put("shutframeinv_id", dtl.getShutframeinv_id()); + this.confirm(jo); + } } } diff --git a/mes/qd/src/views/wms/storage_manage/semiproduct/semiproductCheck/CheckDialog.vue b/mes/qd/src/views/wms/storage_manage/semiproduct/semiproductCheck/CheckDialog.vue index 9129e0ac..50dce987 100644 --- a/mes/qd/src/views/wms/storage_manage/semiproduct/semiproductCheck/CheckDialog.vue +++ b/mes/qd/src/views/wms/storage_manage/semiproduct/semiproductCheck/CheckDialog.vue @@ -84,6 +84,17 @@ > 新增一行 + + 下发任务 + @@ -370,6 +381,13 @@ export default { this.dialogVisible = false }) }, + issueTask(){ + if (this.nowrow === null) { + this.crud.notify('请先选中一条已存在的库存明细!', CRUD.NOTIFICATION_TYPE.INFO) + return false + } + check.issueTask(this.nowrow) + }, saveCheck() { if (this.tableData.length === 0) { this.crud.notify('请至少选择一条明细', CRUD.NOTIFICATION_TYPE.INFO) diff --git a/mes/qd/src/views/wms/storage_manage/semiproduct/semiproductCheck/StructIvt.vue b/mes/qd/src/views/wms/storage_manage/semiproduct/semiproductCheck/StructIvt.vue index af228e9b..701c0cd4 100644 --- a/mes/qd/src/views/wms/storage_manage/semiproduct/semiproductCheck/StructIvt.vue +++ b/mes/qd/src/views/wms/storage_manage/semiproduct/semiproductCheck/StructIvt.vue @@ -85,7 +85,6 @@ import rrOperation from '@crud/RR.operation' import crudOperation from '@crud/CRUD.operation' import pagination from '@crud/Pagination' import DateRangePicker from '@/components/DateRangePicker/index' -import crudProductIn from '@/views/wms/storage_manage/rawproduct/rawProductIn/rawproductin' const start = new Date() export default { diff --git a/mes/qd/src/views/wms/storage_manage/semiproduct/semiproductCheck/check.js b/mes/qd/src/views/wms/storage_manage/semiproduct/semiproductCheck/check.js index d3960fc4..5be11873 100644 --- a/mes/qd/src/views/wms/storage_manage/semiproduct/semiproductCheck/check.js +++ b/mes/qd/src/views/wms/storage_manage/semiproduct/semiproductCheck/check.js @@ -111,6 +111,14 @@ export function process1(data) { }) } +export function issueTask(data) { + return request({ + url: '/api/bcp/check/issueTask', + method: 'post', + data + }) +} + export default { add, edit, @@ -122,6 +130,7 @@ export default { getInvTypes, saveCheck, process0, + issueTask, getOutBillDis, process1 } diff --git a/mes/qd/src/views/wms/storage_manage/semiproduct/semiproductShutFrame/index.vue b/mes/qd/src/views/wms/storage_manage/semiproduct/semiproductShutFrame/index.vue index bfbbd522..09a012f5 100644 --- a/mes/qd/src/views/wms/storage_manage/semiproduct/semiproductShutFrame/index.vue +++ b/mes/qd/src/views/wms/storage_manage/semiproduct/semiproductShutFrame/index.vue @@ -111,7 +111,7 @@ /> - + @@ -154,19 +154,19 @@ @select="handleSelectionChange" @select-all="onSelectAll" > - + - - - - - - - + + + + + + + - + - +