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 ce8ac15..0f8b00f 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 @@ -274,14 +274,14 @@ public class MesShippingLoadingCheckService implements IMesShippingLoadingCheckS 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())); +// 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) { @@ -329,11 +329,20 @@ public class MesShippingLoadingCheckService implements IMesShippingLoadingCheckS DdlPreparedPack.getStringSmallerNotEqualPack(loadingList.getSeq(), "seq", orderPackBean); DdlPreparedPack.getStringEqualPack(loadingList.getPartShippingGroupCode(),"partShippingGroupCode",orderPackBean); DdlPreparedPack.getInPackList(loadingListStatusList, "status", orderPackBean); - int count = vehiclesOrderRepository.findByHqlWhereCount(orderPackBean); - if (count != 0) { + boolean exit = vehiclesOrderRepository.isExitByHql(orderPackBean); + if (exit) { + List statusList = new ArrayList<>(); + statusList.add(MesExtEnumUtil.MES_LOADING_STATUS.LOADING.getValue()); + statusList.add(MesExtEnumUtil.MES_LOADING_STATUS.SCANNED.getValue()); + //查询是否存在比当前seq大的数据是装车中或者已完成的 + orderPackBean = DdlPackBean.getDdlPackBean(org); + DdlPreparedPack.getStringBiggerNotEqualPack(loadingList.getSeq(), "seq", orderPackBean); + DdlPreparedPack.getStringEqualPack(loadingList.getPartShippingGroupCode(),"partShippingGroupCode",orderPackBean); + DdlPreparedPack.getInPackList(statusList, "status", orderPackBean); + exit = vehiclesOrderRepository.isExitByHql(orderPackBean); //强过 - if(!Objects.isNull(isPass) && CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() == isPass){ - updateLoadingListClose(loadingListStatusList,loadingList,userName); + if((!Objects.isNull(isPass) && CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() == isPass) || exit){ + //updateLoadingListClose(loadingListStatusList,loadingList,userName); }else { throw new ImppBusiException(String.format("【%s】装车单对应排序【%s】前存在未扫描发运的装车单,请检查数据!", orderCode, loadingList.getSeq())); 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 7d0327e..dd52fb9 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 @@ -108,10 +108,22 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService DdlPreparedPack.getNumberSmallerPack(orderManagement.getSeq(), "seq", orderManagementPackBean); DdlPreparedPack.getStringEqualPack(orderManagement.getShippingGroupCode(),"shippingGroupCode",orderManagementPackBean); DdlPreparedPack.getInPackList(statusForCheckList, "status", orderManagementPackBean); - int queryCount = shippingOrderManagementRepository.findByHqlWhereCount(orderManagementPackBean); - if (queryCount != 0) { - if(!Objects.isNull(shippingOrderManagement.getIsPass()) && CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() == shippingOrderManagement.getIsPass()){ - updateLoadingListClose(statusForCheckList,orderManagement,shippingOrderManagement.getModifyUser()); + boolean exists = shippingOrderManagementRepository.isExitByHql(orderManagementPackBean); + if (exists) { + List status = new ArrayList<>(); + status.add(MesExtEnumUtil.SHIPPING_ORDER_STATUS.SHIPPING.getValue()); + status.add(MesExtEnumUtil.SHIPPING_ORDER_STATUS.PRINTED.getValue()); + status.add(MesExtEnumUtil.SHIPPING_ORDER_STATUS.SHIPPED.getValue()); + status.add(MesExtEnumUtil.SHIPPING_ORDER_STATUS.LOADING.getValue()); + status.add(MesExtEnumUtil.SHIPPING_ORDER_STATUS.STATISTICSING.getValue()); + status.add(MesExtEnumUtil.SHIPPING_ORDER_STATUS.STATISTICS.getValue()); + orderManagementPackBean = DdlPackBean.getDdlPackBean(shippingOrderManagement.getOrganizeCode()); + DdlPreparedPack.getNumberBiggerPack(orderManagement.getSeq(), "seq", orderManagementPackBean); + DdlPreparedPack.getStringEqualPack(orderManagement.getShippingGroupCode(),"shippingGroupCode",orderManagementPackBean); + DdlPreparedPack.getInPackList(status, "status", orderManagementPackBean); + exists = shippingOrderManagementRepository.isExitByHql(orderManagementPackBean); + if((!Objects.isNull(shippingOrderManagement.getIsPass()) && CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() == shippingOrderManagement.getIsPass()) || exists){ + //updateLoadingListClose(statusForCheckList,orderManagement,shippingOrderManagement.getModifyUser()); }else{ throw new ImppBusiException(String.format("【%s】发运单对应排序【%s】前存在未扫描发运的发运单,请检查数据!", orderManagement.getShippingCode(), orderManagement.getSeq()));