From a90b8d16c3835522b55fe599e7054d719de8d858 Mon Sep 17 00:00:00 2001 From: jason Date: Thu, 26 Jun 2025 11:12:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=8A=E6=96=99=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MesAbstractContainerBindDispatchService.java | 20 ++++++++++++++++++++ .../MesContainerBindCooperationPartService.java | 5 +++++ .../MesContainerBindProductSnService.java | 4 ++++ 3 files changed, 29 insertions(+) diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/rulematch/containerbind/MesAbstractContainerBindDispatchService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/rulematch/containerbind/MesAbstractContainerBindDispatchService.java index b87c802..969f715 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/rulematch/containerbind/MesAbstractContainerBindDispatchService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/rulematch/containerbind/MesAbstractContainerBindDispatchService.java @@ -7,16 +7,23 @@ import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.mes.bean.MesContainerSnPart; import cn.estsh.i3plus.pojo.mes.bean.MesContainerTypePart; +import cn.estsh.i3plus.pojo.mes.bean.MesRawSnWeightRecord; import cn.estsh.i3plus.pojo.mes.repository.MesContainerSnPartRepository; import cn.estsh.i3plus.pojo.mes.repository.MesContainerTypePartRepository; +import cn.estsh.i3plus.pojo.mes.repository.MesRawSnWeightRecordRepository; import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; import org.springframework.beans.factory.annotation.Autowired; +/** + * @author jason + */ public class MesAbstractContainerBindDispatchService implements IMesContainerBindDispatchService { @Autowired protected MesContainerSnPartRepository containerSnPartRDao; @Autowired protected MesContainerTypePartRepository containerTypePartRDao; + @Autowired + protected MesRawSnWeightRecordRepository rawSnWeightRecordRDao; protected MesAbstractContainerBindDispatchService(MesExtEnumUtil.CONTAINER_TYPE containerType, MesExtEnumUtil.CONTAINER_PART_MATCH_TYPE matchType) { ContainerBindManager.INSTANCE.register(containerType, matchType, this); @@ -55,4 +62,17 @@ public class MesAbstractContainerBindDispatchService implements IMesContainerBin } return model; } + + protected Double getRawSnWeightQty(String organizeCode, String barcode) { + MesRawSnWeightRecord weightRecord = rawSnWeightRecordRDao.getByProperty( + new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, "barCode"}, + new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), barcode}); + if (weightRecord == null) { + MesPcnException.throwMesBusiException("调配器条码【%s】不存在于原料重量记录表,请检查数据", barcode); + } + if (weightRecord.getNetWeight() == null) { + MesPcnException.throwMesBusiException("调配器条码【%s】在原料重量记录表中的数量不能为空,请检查数据", barcode); + } + return weightRecord.getNetWeight(); + } } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/rulematch/containerbind/MesContainerBindCooperationPartService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/rulematch/containerbind/MesContainerBindCooperationPartService.java index 7ba84f7..0c9f57b 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/rulematch/containerbind/MesContainerBindCooperationPartService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/rulematch/containerbind/MesContainerBindCooperationPartService.java @@ -13,6 +13,7 @@ import org.springframework.stereotype.Component; import java.util.HashMap; import java.util.Map; +import java.util.Objects; /** * 外协件条码加料 @@ -40,6 +41,10 @@ public class MesContainerBindCooperationPartService extends MesAbstractContainer } result.put(MesPcnExtConstWords.DATA_TYPE, MesExtEnumUtil.CONTAINER_BARCODE_DATA_TYPE.STATUS_10.getValue()); + if (Objects.equals(model.getContainerType(), MesExtEnumUtil.CONTAINER_TYPE.CONTAINER_TYPE_50.getValue())) { + Double netWeight = getRawSnWeightQty(organizeCode, barcode); + result.put(MesPcnExtConstWords.QTY, netWeight); + } return result; } } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/rulematch/containerbind/MesContainerBindProductSnService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/rulematch/containerbind/MesContainerBindProductSnService.java index 7b48d5b..fa9fe82 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/rulematch/containerbind/MesContainerBindProductSnService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/rulematch/containerbind/MesContainerBindProductSnService.java @@ -52,6 +52,10 @@ public class MesContainerBindProductSnService extends MesAbstractContainerBindDi } result.put(MesPcnExtConstWords.DATA_TYPE, MesExtEnumUtil.CONTAINER_BARCODE_DATA_TYPE.STATUS_10.getValue()); + if (Objects.equals(model.getContainerType(), MesExtEnumUtil.CONTAINER_TYPE.CONTAINER_TYPE_50.getValue())) { + Double netWeight = getRawSnWeightQty(organizeCode, barcode); + result.put(MesPcnExtConstWords.QTY, netWeight); + } return result; } }