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 e6fc296..67b0655 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 @@ -220,7 +220,7 @@ public class MesShippingLoadingCheckService implements IMesShippingLoadingCheckS DdlPreparedPack.getNumEqualPack(loadingList.getId(), "pid", vehiclesOrderDetailPackBean); List vehiclesOrderDetailList = vehiclesOrderDetailRepository.findByHqlWhere(vehiclesOrderDetailPackBean); vehiclesOrderDetailList.forEach(k -> { - k.setStatus(MesExtEnumUtil.LOADING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue()); +// k.setStatus(MesExtEnumUtil.LOADING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue()); todo 不改变为发运状态 ConvertBean.serviceModelUpdate(k, AuthUtil.getSessionUser().getUserName()); }); 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 e6551c1..113eb2b 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 @@ -14,6 +14,7 @@ import cn.estsh.i3plus.pojo.base.util.StringUtil; import cn.estsh.i3plus.pojo.mes.bean.MesJisShipping; import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn; import cn.estsh.i3plus.pojo.mes.bean.shipping.MesLoadingList; +import cn.estsh.i3plus.pojo.mes.bean.shipping.MesLoadingListDetail; import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagement; import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagementDetail; import cn.estsh.i3plus.pojo.mes.repository.*; @@ -59,7 +60,8 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService @Autowired private IMesJisShippingService jisShippingService; - + @Autowired + private MesLoadingListDetailRepository vehiclesOrderDetailRepository; @Override public MesSortShippingCheckModel queryShippingOrderNo(MesShippingOrderManagement shippingOrderManagement) { @@ -98,13 +100,13 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService //根据扫描的发运单找到是否装车配置,若是,则根据发运单查询是否生成装车单,若没生成装车单则提示此发运单配置是否装车为是,但没生成装车单,请检查数据! if (orderManagement.getIsLoading() == MesCommonConstant.TRUE_INTEGER) { - if (StringUtils.isEmpty(orderManagement.getLoadingListId()) || orderManagement.getLoadingListId() == 0) { + if (StringUtils.isEmpty(orderManagement.getOrderCode()) ) { throw new ImppBusiException(String.format("【%s】此发运单配置是否装车为是,但没绑定装车单号,请检查数据!", shippingOrderManagement.getShippingCode())); } DdlPackBean orderDetailPackBean = DdlPackBean.getDdlPackBean(shippingOrderManagement.getOrganizeCode()); - DdlPreparedPack.getNumEqualPack(orderManagement.getLoadingListId(), "id", orderDetailPackBean); + DdlPreparedPack.getNumEqualPack(orderManagement.getOrderCode(), "orderCode", orderDetailPackBean); MesLoadingList loadingList = listRepository.getByProperty(orderDetailPackBean); if (StringUtils.isEmpty(loadingList)) { throw new ImppBusiException(String.format("【%s】此发运单配置是否装车为是,但没生成装车单,请检查数据!", shippingOrderManagement.getShippingCode())); @@ -353,7 +355,7 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService } public void saveDate(MesShippingOrderManagement orderManagement, MesSortShippingCheckModel model, String org) { - + String userName = AuthUtil.getSessionUser().getUserName(); //若发运单状态为创建或发布 则写入开始扫描时间 if (orderManagement.getStatus() == MesExtEnumUtil.SHIPPING_ORDER_STATUS.CREATE.getValue() || orderManagement.getStatus() == MesExtEnumUtil.SHIPPING_ORDER_STATUS.PUBLISHED.getValue()) { @@ -387,7 +389,7 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService } detail.setActualQty(1); detail.setStatus(MesExtEnumUtil.SHIPPING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue()); - ConvertBean.serviceModelUpdate(detail, AuthUtil.getSessionUser().getUserName()); + ConvertBean.serviceModelUpdate(detail, userName); DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue()}, new String[]{"createDatetime"}, packBean); MesProduceSn produceSn = produceSnRepository.getByProperty(packBean); @@ -396,19 +398,44 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService } produceSn.setSnStatus(MesExtEnumUtil.PRODUCE_SN_STATUS.SHIPPED.getValue()); - ConvertBean.serviceModelUpdate(produceSn, AuthUtil.getSessionUser().getUserName()); + ConvertBean.serviceModelUpdate(produceSn, userName); produceSnList.add(produceSn); } - //当前发运单明细 需要报工的数据 - List jisShippingList = jisShippingService.getJisShipping(orderManagement, orderManagementDetailList, org); - produceSnRepository.saveAll(produceSnList); shippingOrderManagementRepository.save(orderManagement); shippingOrderManagementDetailRepository.saveAll(orderManagementDetailList); + //1.更新装车单明细对应的发运单状态=发运 + DdlPackBean vehiclesOrderDetailPackBean = DdlPackBean.getDdlPackBean(org); + DdlPreparedPack.getNumEqualPack(orderManagement.getShippingCode(), "shippingCode", vehiclesOrderDetailPackBean); + MesLoadingListDetail vehiclesOrderDetail = vehiclesOrderDetailRepository.getByProperty(vehiclesOrderDetailPackBean); + if(!StringUtil.isEmpty(vehiclesOrderDetail)){ + vehiclesOrderDetail.setStatus(MesExtEnumUtil.LOADING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue()); + ConvertBean.serviceModelUpdate(vehiclesOrderDetail, userName); + vehiclesOrderDetailRepository.save(vehiclesOrderDetail); + } + + DdlPackBean orderManagementPackBean = DdlPackBean.getDdlPackBean(org); + DdlPreparedPack.getStringEqualPack(orderManagement.getOrderCode(), "orderCode", orderManagementPackBean); + DdlPreparedPack.getNotInPack(MesExtEnumUtil.SHIPPING_ORDER_STATUS.SHIPPED.getValue(), "shippingCode", orderManagementPackBean); + boolean exitByHql = shippingOrderManagementRepository.isExitByHql(orderManagementPackBean); + //2.装车单中所有发运单全部变成发运回传 + if(!exitByHql){ + List jisShippingList=new ArrayList<>(); + DdlPackBean jisBean = DdlPackBean.getDdlPackBean(org); + DdlPreparedPack.getStringEqualPack(orderManagement.getOrderCode(), "orderCode", jisBean); + List shippingOrderManagementList = shippingOrderManagementRepository.findByHqlWhere(jisBean); + for (MesShippingOrderManagement mesShippingOrderManagement : shippingOrderManagementList) { + DdlPackBean detailPackBean = DdlPackBean.getDdlPackBean(org); + DdlPreparedPack.getNumEqualPack(mesShippingOrderManagement.getId(), "pid", detailPackBean); + List shippingOrderManagementDetails = shippingOrderManagementDetailRepository.findByHqlWhere(detailPackBean); + //当前装车单所有发运单明细 需要报工的数据 + jisShippingList = jisShippingService.getJisShipping(mesShippingOrderManagement, shippingOrderManagementDetails, org); + } + //保存当前发运单明细报工 + jisShippingRepository.saveAll(jisShippingList); + } - //保存当前发运单明细报工 - jisShippingRepository.saveAll(jisShippingList); } }