diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesShippingLoadingCheckService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesShippingLoadingCheckService.java index 8f39040..421f4f4 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesShippingLoadingCheckService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesShippingLoadingCheckService.java @@ -209,20 +209,23 @@ public class MesShippingLoadingCheckService implements IMesShippingLoadingCheckS //装车单主表 loadingList.setStatus(MesExtEnumUtil.MES_LOADING_STATUS.SCANNED.getValue()); ConvertBean.serviceModelUpdate(loadingList, userInfo); - - //装车单明细 - DdlPackBean vehiclesOrderDetailPackBean = DdlPackBean.getDdlPackBean(organizeCode); - DdlPreparedPack.getNumEqualPack(loadingList.getId(), "pid", vehiclesOrderDetailPackBean); - List vehiclesOrderDetailList = model.getDetailList(); - vehiclesOrderDetailList.forEach(k -> { - if(MesExtEnumUtil.LOADING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue() == k.getStatus()){ - k.setStatus(MesExtEnumUtil.LOADING_ORDER_DETAIL_SHIPPING_STATUS.PUBLISHED.getValue()); - } + //不记忆的数据持久化 + if (!Objects.equals(loadingList.getIsEnableMemory(), MesCommonConstant.TRUE_INTEGER)) { + //装车单明细 + List vehiclesOrderDetailList = model.getDetailList(); + vehiclesOrderDetailList.forEach(k -> { + if(MesExtEnumUtil.LOADING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue() == k.getStatus()){ + k.setStatus(MesExtEnumUtil.LOADING_ORDER_DETAIL_SHIPPING_STATUS.PUBLISHED.getValue()); // todo 不改变为发运状态 + }else if(MesExtEnumUtil.LOADING_ORDER_DETAIL_SHIPPING_STATUS.SKIP.getValue() == k.getStatus()){ + //关闭发运单明细 + closeOrder(loadingList, k, userInfo); + } // k.setStatus(MesExtEnumUtil.LOADING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue()); todo 不改变为发运状态 - ConvertBean.serviceModelUpdate(k, userInfo); - }); + ConvertBean.serviceModelUpdate(k, userInfo); + }); - vehiclesOrderDetailRepository.saveAll(vehiclesOrderDetailList); + vehiclesOrderDetailRepository.saveAll(vehiclesOrderDetailList); + } update(loadingList); } return model; @@ -242,23 +245,17 @@ public class MesShippingLoadingCheckService implements IMesShippingLoadingCheckS if(MesExtEnumUtil.LOADING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue() == status){ loadingListDetail.setScanSn(model.getShippingCode()); }else{ - //关闭发运单明细 - List idList = new ArrayList<>(); - idList.add(loadingList.getId()); - List mesShippingOrderManagementList = getMesShippingOrderManagementList(loadingList.getOrganizeCode(),idList); - if(!CollectionUtils.isEmpty(mesShippingOrderManagementList)){ - closeShippingOrderDetails(loadingList.getOrganizeCode(), userName,MesPcnExtConstWords.SHIP_PASS, mesShippingOrderManagementList.stream().filter(t->loadingListDetail.getShippingCode().equals(t.getShippingCode())).map(MesShippingOrderManagement::getId).collect(Collectors.toList())); - } - //关闭发运单 - closeShippingOrder(loadingList.getOrganizeCode(), userName,MesPcnExtConstWords.SHIP_PASS, mesShippingOrderManagementList.stream().filter(t->loadingListDetail.getShippingCode().equals(t.getShippingCode())).map(MesShippingOrderManagement::getId).collect(Collectors.toList())); loadingListDetail.setRemark(tempStatusVal); } loadingListDetail.setTempStatus(MesCommonConstant.TRUE_INTEGER); loadingListDetail.setTempStatusVal(tempStatusVal); - + loadingListDetail.setStatus(status); //根据是否启动记忆判断 若启用记忆,则根据保存数据库 if (Objects.equals(loadingList.getIsEnableMemory(), MesCommonConstant.TRUE_INTEGER)) { - + //关闭跳过的单据 + if(MesExtEnumUtil.LOADING_ORDER_DETAIL_SHIPPING_STATUS.SKIP.getValue() == status){ + closeOrder(loadingList, loadingListDetail, userName); + } //若装车单状态为创建或发布已生成ASN 则写入开始扫描时间 if (loadingList.getStatus() == MesExtEnumUtil.MES_LOADING_STATUS.CREATE.getValue() || loadingList.getStatus() == MesExtEnumUtil.MES_LOADING_STATUS.PUBLISH.getValue() || @@ -270,12 +267,23 @@ public class MesShippingLoadingCheckService implements IMesShippingLoadingCheckS ConvertBean.serviceModelUpdate(loadingList, userInfo); update(loadingList); - loadingListDetail.setStatus(status); ConvertBean.serviceModelUpdate(loadingListDetail, userInfo); update(loadingListDetail); } } + private void closeOrder(MesLoadingList loadingList, MesLoadingListDetail loadingListDetail, String userName) { + //关闭发运单明细 + List idList = new ArrayList<>(); + idList.add(loadingList.getId()); + List mesShippingOrderManagementList = getMesShippingOrderManagementList(loadingList.getOrganizeCode(),idList); + if(!CollectionUtils.isEmpty(mesShippingOrderManagementList)){ + closeShippingOrderDetails(loadingList.getOrganizeCode(), userName,MesPcnExtConstWords.SHIP_PASS, mesShippingOrderManagementList.stream().filter(t-> loadingListDetail.getShippingCode().equals(t.getShippingCode())).map(MesShippingOrderManagement::getId).collect(Collectors.toList())); + } + //关闭发运单 + closeShippingOrder(loadingList.getOrganizeCode(), userName,MesPcnExtConstWords.SHIP_PASS, mesShippingOrderManagementList.stream().filter(t-> loadingListDetail.getShippingCode().equals(t.getShippingCode())).map(MesShippingOrderManagement::getId).collect(Collectors.toList())); + } + private MesPartShippingGroup getMesPartShippingGroup(String org, String partShippingGroupCode) { MesPartShippingGroup shippingGroup = mesPartShippingGroupService.getMesPartShippingGroup(org, partShippingGroupCode); if(Objects.isNull(shippingGroup)){