From 20f97e217cafe390573e003f0ab44047cefa927a Mon Sep 17 00:00:00 2001 From: jun Date: Mon, 17 Jun 2024 18:49:06 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A3=85=E7=AE=B1=E9=98=B2=E9=94=99=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E6=B8=85=E5=8D=95=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../busi/MesBoxingErrorProofingService.java | 58 +++++++++++++++------- 1 file changed, 40 insertions(+), 18 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 d35c2ab..d3bb7b1 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 @@ -61,6 +61,9 @@ public class MesBoxingErrorProofingService implements IMesBoxingErrorProofingSer @Autowired private MesPackageResultRepository mesPackageResultRDao; + @Autowired + private MesPackageSnRepository mesPackageSnRDao; + @Override public ListPager queryMesPackageDetailByPager(MesPackage mesPackage, Pager pager) { @@ -79,24 +82,36 @@ public class MesBoxingErrorProofingService implements IMesBoxingErrorProofingSer MesPackage mesPackage = getMesPackage(mesPackageDetail.getOrganizeCode(), mesPackageDetail.getPackageNo()); if (Objects.nonNull(mesPackage)) { return mesPackage; + }else{ + MesPart mesPart; + Double qty; + String packageOneCode = ""; + //获取包装定义 + MesPackingDefine packingDefine = getMesPackingDefine(mesPackageDetail); + //WMS打印的条码信息 + MesPackageSn mesPackageSn = getMesPackageSn(mesPackageDetail.getOrganizeCode(), mesPackageDetail.getPackageNo()); + if(!Objects.isNull(mesPackageSn)){ + mesPart = getPart(mesPackageSn.getOrganizeCode(),mesPackageSn.getPartNo()); + qty = mesPackageSn.getQty(); + packageOneCode = mesPackageSn.getPackageOneCode(); + }else{ + //解析获取信息保存 + if (StringUtils.isEmpty(packingDefine.getSplitChar())) { + MesPcnException.throwMesBusiException("箱类别代号【%s】分隔符不能为空", packingDefine.getPackCode()); + } + String[] split = mesPackageDetail.getPackageNo().split("\\" + packingDefine.getSplitChar()); + //获取序列号 + checkSerial(packingDefine, split); + //工厂校验 + checkOrganizeCode(mesPackageDetail, packingDefine, split); + //获取物料信息是否存在 + mesPart = getMesPart(mesPackageDetail, packingDefine, split); + //获取数量信息是否存在 + qty = getQty(packingDefine, split); + } + MesPackage packages = getMesPackage(mesPackageDetail, mesPart, qty, packingDefine,packageOneCode); + return mesPackageRDao.insert(packages); } - //获取包装定义 - MesPackingDefine packingDefine = getMesPackingDefine(mesPackageDetail); - //解析获取信息保存 - if (StringUtils.isEmpty(packingDefine.getSplitChar())) { - MesPcnException.throwMesBusiException("箱类别代号【%s】分隔符不能为空", packingDefine.getPackCode()); - } - String[] split = mesPackageDetail.getPackageNo().split("\\" + packingDefine.getSplitChar()); - //获取序列号 - checkSerial(packingDefine, split); - //工厂校验 - checkOrganizeCode(mesPackageDetail, packingDefine, split); - //获取物料信息是否存在 - MesPart mesPart = getMesPart(mesPackageDetail, packingDefine, split); - //获取数量信息是否存在 - Double qty = getQty(packingDefine, split); - MesPackage packages = getMesPackage(mesPackageDetail, mesPart, qty, packingDefine); - return mesPackageRDao.insert(packages); } else { checkNotNull(mesPackageDetail); //校验过程条码是否存在 @@ -425,7 +440,7 @@ public class MesBoxingErrorProofingService implements IMesBoxingErrorProofingSer return Double.parseDouble(split[packingDefine.getQtyIndex() - 1]); } - private MesPackage getMesPackage(MesPackageDetail mesPackageDetail, MesPart mesPart, Double qty, MesPackingDefine packingDefine) { + private MesPackage getMesPackage(MesPackageDetail mesPackageDetail, MesPart mesPart, Double qty, MesPackingDefine packingDefine,String packageOneCode) { //保存包装信息 MesPackage packages = new MesPackage(); packages.setPackageNo(mesPackageDetail.getPackageNo()); @@ -436,6 +451,7 @@ public class MesBoxingErrorProofingService implements IMesBoxingErrorProofingSer packages.setIsSealed(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); packages.setPrintStatus(MesPcnEnumUtil.PACKAGE_PRINT_STATUS.UNPRINTED.getValue()); packages.setPackageSn(packingDefine.getPackCode()); + packages.setPackageOneCode(packageOneCode); packages.setOrganizeCode(mesPackageDetail.getOrganizeCode()); ConvertBean.serviceModelInitialize(packages, mesPackageDetail.getCreateUser()); return packages; @@ -447,6 +463,12 @@ public class MesBoxingErrorProofingService implements IMesBoxingErrorProofingSer return mesPackageRDao.getByProperty(packBean); } + private MesPackageSn getMesPackageSn(String organizeCode, String packageNo) { + DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(packageNo, "packageNo", packBean); + return mesPackageSnRDao.getByProperty(packBean); + } + private MesPackingDefine getMesPackingDefine(MesPackageDetail mesPackageDetail) { DdlPackBean packBean = DdlPackBean.getDdlPackBean(mesPackageDetail.getOrganizeCode()); DdlPreparedPack.getStringEqualPack(mesPackageDetail.getScanType(), "scanType", packBean);