From 4002a1ac6149a63fdef717653b46d60cb7f78cd7 Mon Sep 17 00:00:00 2001 From: "castle.zang" Date: Tue, 24 Dec 2024 16:12:19 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix=20bug=2044242=20=20PCN:=E8=A3=85?= =?UTF-8?q?=E7=AE=B1=E9=98=B2=E9=94=99=EF=BC=8C=E5=B7=B2=E7=BB=8F=E5=85=B3?= =?UTF-8?q?=E7=AE=B1=E7=9A=84=E7=AE=B1=E6=9D=A1=E7=A0=81=EF=BC=8C=E5=A6=82?= =?UTF-8?q?=E6=9E=9C=E9=87=8D=E5=A4=8D=E6=89=AB=E6=8F=8F=EF=BC=8C=E4=B8=8D?= =?UTF-8?q?=E9=9C=80=E8=A6=81=E9=87=8D=E7=BD=AE=EF=BC=8C=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E6=89=AB=E6=8F=8F=E4=B8=8B=E4=B8=80=E4=B8=AA=E9=9C=80=E8=A6=81?= =?UTF-8?q?=E8=A3=85=E7=AE=B1=E7=9A=84=E6=9D=A1=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../busi/MesBoxingErrorProofingService.java | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesBoxingErrorProofingService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesBoxingErrorProofingService.java index 0ebf7d2..4190098 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesBoxingErrorProofingService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesBoxingErrorProofingService.java @@ -132,9 +132,15 @@ public class MesBoxingErrorProofingService implements IMesBoxingErrorProofingSer qty = getQty(packingDefine, split); } mesPackage = mesPackageRDao.insert(getMesPackage(mesPackageDetail, mesPart, qty, packingDefine,packageOneCode)); + mesPackage.setIsPackage(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); } return ResultBean.success("箱条码扫描成功,请扫零件条码!").setResultObject(mesPackage); } else { + /** + * 2024-12-23 修复bug 44242 + * 已经关箱的箱条码,如果重复扫描,不需要重置,可以扫描下一个需要装箱的条码。 + * + */ checkNotNull(mesPackageDetail); //校验零件条码是否存在 if (StringUtils.isEmpty(mesPackageDetail.getSerialNumber())) { @@ -143,8 +149,19 @@ public class MesBoxingErrorProofingService implements IMesBoxingErrorProofingSer //校验包装条码信息 MesPackage mesPackage = getMesPackageAndCheck(mesPackageDetail.getPackageNo(), mesPackageDetail.getOrganizeCode()); //校验是否已关闭 - if (CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() == mesPackage.getIsSealed()) { - MesPcnException.throwMesBusiException("箱条码已封箱,不允许扫描零件条码,请检查数据!"); + if (CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() == mesPackage.getIsSealed() ) { + List produceSnList = mesProduceSnExtService.getProduceSnList(mesPackageDetail.getOrganizeCode(), mesPackageDetail.getSerialNumber()); + //1.查询包装明细是否包含此零件 + List defineDetails = getMesPackingDefineDetailsNew(mesPackageDetail.getOrganizeCode(), mesPackage.getPackageSn(), mesPackage.getPartNo()); + //确保是自制件和外协件 + if ((produceSnList != null && !produceSnList.isEmpty())|| (defineDetails != null && !defineDetails.isEmpty() && StringUtils.isEmpty(defineDetails.get(0).getPackageBarcodeRule()))) { + MesPcnException.throwMesBusiException("箱条码已封箱,不允许扫描零件条码,请检查数据!"); + }else { + //扫描的是箱条码 + mesPackageDetail.setIsScanPackage(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); + mesPackageDetail.setPackageNo(mesPackageDetail.getSerialNumber()); + return this.doScan(mesPackageDetail); + } } //校验条码规则 MesPart mesPart = getMesPartNew(mesPackageDetail, mesPackage, packingDefine); From 29cf5385d9b267b0e853e4e77b3f7f0b601d6a37 Mon Sep 17 00:00:00 2001 From: "castle.zang" Date: Tue, 24 Dec 2024 20:04:28 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E6=89=AB=E6=8F=8F?= =?UTF-8?q?=E7=9A=84=E6=98=AF=E5=8C=85=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pcn/apiservice/serviceimpl/busi/MesBoxingErrorProofingService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesBoxingErrorProofingService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesBoxingErrorProofingService.java index 4190098..b75cfe5 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesBoxingErrorProofingService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesBoxingErrorProofingService.java @@ -132,8 +132,8 @@ public class MesBoxingErrorProofingService implements IMesBoxingErrorProofingSer qty = getQty(packingDefine, split); } mesPackage = mesPackageRDao.insert(getMesPackage(mesPackageDetail, mesPart, qty, packingDefine,packageOneCode)); - mesPackage.setIsPackage(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); } + mesPackage.setIsPackage(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); return ResultBean.success("箱条码扫描成功,请扫零件条码!").setResultObject(mesPackage); } else { /**