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 1872e3bc..fcdc09aa 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 @@ -34,10 +34,11 @@ public enum AcsTaskEnum { TASK_WARP_EMPTY("8","包装机-送空框"), TASK_STRUCT_IN("9","入库-生产入库"), TASK_STRUCT_OUT("10","出库-生产出库"), - TASK_STRUCT_CP_IN("9","入库-成品-生产入库"), - TASK_STRUCT_CP_OUT("10","出库-成品-生产出库"), - TASK_STRUCT_CHECK("11","盘点任务"), - TASK_STRUCT_SHUT("12","拼盘任务"), + TASK_STRUCT_CHECK("14","盘点任务"), + TASK_STRUCT_SHUT("15","拼盘任务"), + TASK_STRUCT_CP_IN("11","入库-成品-生产入库"), + TASK_STRUCT_CP_OUT("12","出库-成品-生产出库"), + TASK_STRUCT_CP_CHECK("13","出库-成品-盘点"), //回调状态 STATUS_START("1","执行中"), 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 b039d4bd..4a887a77 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 @@ -52,4 +52,7 @@ public interface IStIvtCheckmstCpService extends IService { Object getBucketrecord(JSONObject whereJson); void processBox(JSONObject whereJson); + + void taskOperate(JSONObject form); + } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/check/dao/mapper/StIvtCheckdtlCpMapper.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/check/dao/mapper/StIvtCheckdtlCpMapper.java index 1ef5b4e6..17cf688b 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/check/dao/mapper/StIvtCheckdtlCpMapper.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/check/dao/mapper/StIvtCheckdtlCpMapper.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; import org.nl.wms.storage_manage.productmanage.service.check.dao.StIvtCheckdtlCp; +import org.nl.wms.storage_manage.semimanage.service.check.dao.StIvtCheckdtlBcp; import java.util.List; import java.util.Map; @@ -19,4 +20,6 @@ import java.util.Map; public interface StIvtCheckdtlCpMapper extends BaseMapper { List getCheckDtl(@Param("map") Map map); + + List queryCheckDtlByTask(@Param("map") Map map); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/check/dao/mapper/StIvtCheckdtlCpMapper.xml b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/check/dao/mapper/StIvtCheckdtlCpMapper.xml index 36fb345f..773b59d9 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/check/dao/mapper/StIvtCheckdtlCpMapper.xml +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/check/dao/mapper/StIvtCheckdtlCpMapper.xml @@ -34,4 +34,16 @@ order by CheckDtl.seq_no + + 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 602b53c5..48561dd7 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 @@ -14,7 +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.utils.IdUtil; +import org.nl.common.utils.MapOf; import org.nl.common.utils.SecurityUtils; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.system.util.CodeUtil; @@ -29,6 +31,7 @@ import org.nl.wms.storage_manage.productmanage.service.check.IStIvtCheckdtlCpSer import org.nl.wms.storage_manage.productmanage.service.check.IStIvtCheckmstCpService; import org.nl.wms.storage_manage.productmanage.service.check.dao.StIvtCheckdtlCp; import org.nl.wms.storage_manage.productmanage.service.check.dao.StIvtCheckmstCp; +import org.nl.wms.storage_manage.productmanage.service.check.dao.mapper.StIvtCheckdtlCpMapper; import org.nl.wms.storage_manage.productmanage.service.check.dao.mapper.StIvtCheckmstCpMapper; import org.nl.wms.storage_manage.productmanage.service.check.dto.CheckQueryMst; import org.nl.wms.storage_manage.productmanage.service.moreOrLess.IStIvtMoreorlessmstCpService; @@ -38,6 +41,8 @@ import org.nl.wms.storage_manage.rawmanage.service.check.dao.StIvtCheckmstYl; import org.nl.wms.storage_manage.rawmanage.service.check.dto.CheckQuery; import org.nl.wms.storage_manage.rawmanage.service.moveOrLess.IStIvtMoreorlessmstYlService; import org.nl.wms.storage_manage.semimanage.MLEnum; +import org.nl.wms.storage_manage.semimanage.service.check.dao.StIvtCheckdtlBcp; +import org.nl.wms.storage_manage.semimanage.service.check.dao.StIvtCheckmstBcp; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -77,6 +82,10 @@ 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")) { + iStIvtCheckdtlCpService.update(new UpdateWrapper() + .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("完成"))); + 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("完成"))); + 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))); + } + } + } + @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/semimanage/TASKEnum.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/TASKEnum.java index 06f931e8..05f27756 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 @@ -5,6 +5,7 @@ import lombok.AllArgsConstructor; import lombok.Getter; import org.nl.common.enums.AcsTaskEnum; import org.nl.modules.wql.util.SpringContextHolder; +import org.nl.wms.storage_manage.productmanage.service.check.IStIvtCheckmstCpService; import org.nl.wms.storage_manage.productmanage.service.iostorInv.IStIvtIostorinvCpOutService; import org.nl.wms.storage_manage.productmanage.service.iostorInv.IStIvtIostorinvCpService; import org.nl.wms.storage_manage.rawmanage.service.check.IStIvtCheckmstYlService; @@ -43,7 +44,11 @@ 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 -> { + IStIvtCheckmstCpService bean = SpringContextHolder.getBean(IStIvtCheckmstCpService.class); + bean.taskOperate(form); + }), + ; private final Predicate predicate;