diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesPackageContainerSnServiceImpl.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesPackageContainerSnServiceImpl.java index ff8d424..638812f 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesPackageContainerSnServiceImpl.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesPackageContainerSnServiceImpl.java @@ -1,7 +1,11 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.base; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesPackageContainerSnService; +import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.rulematch.containerbind.ContainerBindManager; +import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.rulematch.containerbind.checkqty.MesAbstractContainerBindCheckQtyService; import cn.estsh.i3plus.ext.mes.pcn.apiservice.util.MesPcnException; +import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesContainerPartsModel; +import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords; import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.codemaker.SnowflakeIdMaker; @@ -18,9 +22,7 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; +import java.util.*; import java.util.stream.Collectors; /** @@ -141,6 +143,23 @@ public class MesPackageContainerSnServiceImpl implements IMesPackageContainerSnS List subPackageDetails = getMesContainerPackageDetail(organizeCode, subContainerSn.getContainerSn(), false); // 调用涛哥的根据条码对应标包验证。todo + MesAbstractContainerBindCheckQtyService checkQtyService = ContainerBindManager.INSTANCE.getCheckQtyService(MesExtEnumUtil.CONTAINER_TYPE_MIX_TYPE.getByValue(mesContainerType.getMixType())); + + + for (MesContainerPackageDetail subPackageDetail : subPackageDetails) { + MesContainerPartsModel containerPart = MesContainerPartsModel.builder() + .partNo(subPackageDetail.getPartNo()) + .build(); + MesContainerPartsModel containerPartTwo = MesContainerPartsModel.builder() + .partNo(subPackageDetail.getPartNo()) + .qty(subPackageDetail.getQty()) + .build(); + + Map checkQtyResult = checkQtyService.doCheck(organizeCode, masterContainerPackage, masterPackageDetails, containerPart, Arrays.asList(containerPartTwo)); + if (checkQtyResult != null && Objects.equals(checkQtyResult.get(MesPcnExtConstWords.RESULT), false)) { + MesPcnException.throwMesBusiException(checkQtyResult.get(MesPcnExtConstWords.MESSAGE).toString()); + } + } if (masterContainerPackage == null) { masterContainerPackage = createMesContainerPackage(userName, masterContainerSn); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesContainerSnBindServiceImpl.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesContainerSnBindServiceImpl.java index b7669d9..5e0a15e 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesContainerSnBindServiceImpl.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesContainerSnBindServiceImpl.java @@ -118,9 +118,9 @@ public class MesContainerSnBindServiceImpl implements IMesContainerSnBindService new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, "containerTypeCode", "containerSn", "partNo"}, new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), containerTypeCode, containerSn, partNo}); if (snPart != null) { - model = MesContainerPartsModel.builder() + model = MesContainerPartsModel.builder() .partNo(snPart.getPartNo()) - .partName(snPart.getPartName()) + .partName(snPart.getPartName()) .matchType(snPart.getMatchType()) .matchRule(snPart.getMatchRule()) .qty(snPart.getQty())