diff --git a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesShippingSnUniqueService.java b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesShippingSnUniqueService.java index 41ec763..dbdda93 100644 --- a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesShippingSnUniqueService.java +++ b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesShippingSnUniqueService.java @@ -20,4 +20,7 @@ public interface IMesShippingSnUniqueService { @ApiOperation("新增唯一性校验") void insertMesShippingSnUnique(String organizeCode, String productSn,String shippingCode,String userName); + + @ApiOperation("唯一性校验") + MesShippingSnUnique getMesShippingSnUnique(String organizeCode, String productSn,String shippingCode,String userName); } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesShippingSnUniqueServiceImpl.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesShippingSnUniqueServiceImpl.java index b342ca5..8213a5a 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesShippingSnUniqueServiceImpl.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesShippingSnUniqueServiceImpl.java @@ -50,4 +50,14 @@ public class MesShippingSnUniqueServiceImpl implements IMesShippingSnUniqueServi ConvertBean.serviceModelInitialize(mesShippingSnUnique,userName); mesShippingSnUniqueRepository.insert(mesShippingSnUnique); } + + @Override + public MesShippingSnUnique getMesShippingSnUnique(String organizeCode, String productSn, String shippingCode,String userName) { + MesShippingSnUnique mesShippingSnUnique = new MesShippingSnUnique(); + mesShippingSnUnique.setOrganizeCode(organizeCode); + mesShippingSnUnique.setProductSn(productSn); + mesShippingSnUnique.setShippingCode(shippingCode); + ConvertBean.serviceModelInitialize(mesShippingSnUnique,userName); + return mesShippingSnUnique; + } } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesSortShippingCheckService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesSortShippingCheckService.java index e9c389c..bde60b1 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesSortShippingCheckService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesSortShippingCheckService.java @@ -97,6 +97,9 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService @Autowired private IMesShippingSnUniqueService mesShippingSnUniqueService; + @Autowired + private MesShippingSnUniqueRepository mesShippingSnUniqueRepository; + @Override public MesSortShippingCheckModel doShippingOrderNoQuery(MesShippingOrderManagement shippingOrderManagement) { //校验发运单 @@ -469,22 +472,21 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService List produceSnList = new ArrayList<>(); List mesWorkOrderList = new ArrayList<>(); + List mesShippingSnUniqueList = new ArrayList<>(); for (MesShippingOrderManagementDetail detail : orderManagementDetailList) { //根据扫描的条码查询条码是否存在 packBean = DdlPackBean.getDdlPackBean(organizeCode); - if (Objects.equals(orderManagement.getIsEnableMemory(), MesCommonConstant.TRUE_INTEGER)) { - DdlPreparedPack.getStringEqualPack(detail.getBarcode(), "custSn", packBean); - } else { + if (!Objects.equals(orderManagement.getIsEnableMemory(), MesCommonConstant.TRUE_INTEGER)){ List mesShippingOrderManagementDetails = custInfoSeqMap.get(detail.getId()); MesShippingOrderManagementDetail managementDetail = mesShippingOrderManagementDetails.get(0); detail.setRemark(managementDetail.getRemark()); detail.setStatus(managementDetail.getStatus()); detail.setBarcode(managementDetail.getBarcode()); detail.setVisualOrderNo(managementDetail.getVisualOrderNo()); - DdlPreparedPack.getStringEqualPack(detail.getBarcode(), "custSn", packBean); } //更新条码信息,更新目视单信息 if(!StringUtils.isEmpty(detail.getBarcode()) && !Objects.equals(orderManagement.getIsEnableMemory(), MesCommonConstant.TRUE_INTEGER)){ + packBean.setWhereAppend(packBean.getWhereAppend() + " and (model.productSn = '"+detail.getBarcode()+"' or model.custSn = '"+detail.getBarcode()+"'"); DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue()}, new String[]{"createDatetime"}, packBean); MesProduceSn produceSn = produceSnRepository.getByProperty(packBean); if(!Objects.isNull(produceSn)){ @@ -494,7 +496,7 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService produceSnList.add(produceSn); } else { //记录唯一性校验表 - mesShippingSnUniqueService.insertMesShippingSnUnique(organizeCode, detail.getBarcode(), orderManagement.getShippingCode(), userInfo); + mesShippingSnUniqueList.add(mesShippingSnUniqueService.getMesShippingSnUnique(organizeCode, detail.getBarcode(), orderManagement.getShippingCode(), userInfo)); } //更新工单 if(!StringUtils.isEmpty(detail.getVisualOrderNo())){ @@ -519,6 +521,10 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService detail.setActualQty(MesPcnExtConstWords.ONE); ConvertBean.serviceModelUpdate(detail, userInfo); } + //保存唯一性表 + if(!CollectionUtils.isEmpty(mesShippingSnUniqueList)){ + mesShippingSnUniqueRepository.saveAll(mesShippingSnUniqueList); + } //更新条码 if(!CollectionUtils.isEmpty(produceSnList)){ produceSnRepository.saveAll(produceSnList);