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 9025e50..fff1f29 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 @@ -256,7 +256,7 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService return orderManagement; } - private void saveDate(MesShippingOrderManagement orderManagement, MesSortShippingCheckModel model, String org) { + public void saveDate(MesShippingOrderManagement orderManagement, MesSortShippingCheckModel model, String org) { //根据扫描的发运单找到是否装车配置,若是,则根据发运单查询是否生成装车单,若没生成装车单则提示此发运单配置是否装车为是,但没生成装车单,请检查数据! @@ -270,30 +270,6 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService throw new ImppBusiException(String.format("【%s】此发运单配置是否装车为是,但没生成装车单,请检查数据!", model.getShippingOrderNo())); } - - //发运单状态修改为校验完成 - orderManagement.setStatus(MesPcnExtEnumUtil.SHIPPING_ORDER_STATUS.VERIFICATION_COMPLETED.getValue()); - - //发运单明细状态修改为校验完成 - DdlPackBean orderManagementDetailPackBean = DdlPackBean.getDdlPackBean(org); - DdlPreparedPack.getStringEqualPack(orderManagement.getShippingOrderNo(), "shippingOrderNo", orderManagementDetailPackBean); - List orderManagementDetailList = shippingOrderManagementDetailRepository.findByHqlWhere(orderManagementDetailPackBean); - - List snList = new ArrayList<>(); - for (MesShippingOrderManagementDetail detail : orderManagementDetailList) { - detail.setStatus(MesPcnExtEnumUtil.SHIPPING_ORDER_STATUS.VERIFICATION_COMPLETED.getValue()); - Optional optional1 = - model.getDetailList().stream().filter(k -> k.getShippingOrderNo().equals(detail.getShippingOrderNo())).findFirst(); - detail.setSn(optional1.get().getSn()); - snList.add(optional1.get().getSn()); - } - - DdlPackBean producePackBean = DdlPackBean.getDdlPackBean(org); - DdlPreparedPack.getInPackList(snList, "serialNumber", producePackBean); - List produceSnList = produceSnRepository.findByHqlWhere(producePackBean); - //条码校验完成 - produceSnList.forEach(k -> k.setSnStatus(MesPcnExtEnumUtil.PRODUCE_SN_STATUS.CHECKED.getValue())); - //判断是否先装车 if (orderManagement.getIsFirstInstall() == MesCommonConstant.TRUE_INTEGER) { @@ -313,7 +289,30 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService //若剩余的发运单号都校验完成 if (completed.intValue() + 1 == orderManagementAllList.size()) { -// //修改对应装车单 装车单明细 发运单 发运明细 条码数据 报工给wms。 + //修改对应装车单 装车单明细 发运单 发运明细 条码数据 报工给wms。 + + //发运单状态修改为校验完成 + orderManagement.setStatus(MesPcnExtEnumUtil.SHIPPING_ORDER_STATUS.VERIFICATION_COMPLETED.getValue()); + + //发运单明细状态修改为校验完成 + DdlPackBean orderManagementDetailPackBean = DdlPackBean.getDdlPackBean(org); + DdlPreparedPack.getStringEqualPack(orderManagement.getShippingOrderNo(), "shippingOrderNo", orderManagementDetailPackBean); + List orderManagementDetailList = shippingOrderManagementDetailRepository.findByHqlWhere(orderManagementDetailPackBean); + + List snList = new ArrayList<>(); + for (MesShippingOrderManagementDetail detail : orderManagementDetailList) { + detail.setStatus(MesPcnExtEnumUtil.SHIPPING_ORDER_STATUS.VERIFICATION_COMPLETED.getValue()); + Optional optional1 = + model.getDetailList().stream().filter(k -> k.getShippingOrderNo().equals(detail.getShippingOrderNo())).findFirst(); + detail.setSn(optional1.get().getSn()); + snList.add(optional1.get().getSn()); + } + + DdlPackBean producePackBean = DdlPackBean.getDdlPackBean(org); + DdlPreparedPack.getInPackList(snList, "serialNumber", producePackBean); + List produceSnList = produceSnRepository.findByHqlWhere(producePackBean); + //条码校验完成 + produceSnList.forEach(k -> k.setSnStatus(MesPcnExtEnumUtil.PRODUCE_SN_STATUS.CHECKED.getValue())); //修改当前发运单状态 orderManagement.setStatus(MesPcnExtEnumUtil.SHIPPING_ORDER_STATUS.SHIPPED.getValue()); @@ -377,11 +376,59 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService } else { + + //发运单状态修改为校验完成 + orderManagement.setStatus(MesPcnExtEnumUtil.SHIPPING_ORDER_STATUS.VERIFICATION_COMPLETED.getValue()); + + //发运单明细状态修改为校验完成 + DdlPackBean orderManagementDetailPackBean = DdlPackBean.getDdlPackBean(org); + DdlPreparedPack.getStringEqualPack(orderManagement.getShippingOrderNo(), "shippingOrderNo", orderManagementDetailPackBean); + List orderManagementDetailList = shippingOrderManagementDetailRepository.findByHqlWhere(orderManagementDetailPackBean); + + List snList = new ArrayList<>(); + for (MesShippingOrderManagementDetail detail : orderManagementDetailList) { + detail.setStatus(MesPcnExtEnumUtil.SHIPPING_ORDER_STATUS.VERIFICATION_COMPLETED.getValue()); + Optional optional1 = + model.getDetailList().stream().filter(k -> k.getShippingOrderNo().equals(detail.getShippingOrderNo())).findFirst(); + detail.setSn(optional1.get().getSn()); + snList.add(optional1.get().getSn()); + } + + DdlPackBean producePackBean = DdlPackBean.getDdlPackBean(org); + DdlPreparedPack.getInPackList(snList, "serialNumber", producePackBean); + List produceSnList = produceSnRepository.findByHqlWhere(producePackBean); + //条码校验完成 + produceSnList.forEach(k -> k.setSnStatus(MesPcnExtEnumUtil.PRODUCE_SN_STATUS.CHECKED.getValue())); + produceSnRepository.saveAll(produceSnList); shippingOrderManagementRepository.save(orderManagement); shippingOrderManagementDetailRepository.saveAll(orderManagementDetailList); } } else { + + //发运单状态修改为校验完成 + orderManagement.setStatus(MesPcnExtEnumUtil.SHIPPING_ORDER_STATUS.VERIFICATION_COMPLETED.getValue()); + + //发运单明细状态修改为校验完成 + DdlPackBean orderManagementDetailPackBean = DdlPackBean.getDdlPackBean(org); + DdlPreparedPack.getStringEqualPack(orderManagement.getShippingOrderNo(), "shippingOrderNo", orderManagementDetailPackBean); + List orderManagementDetailList = shippingOrderManagementDetailRepository.findByHqlWhere(orderManagementDetailPackBean); + + List snList = new ArrayList<>(); + for (MesShippingOrderManagementDetail detail : orderManagementDetailList) { + detail.setStatus(MesPcnExtEnumUtil.SHIPPING_ORDER_STATUS.VERIFICATION_COMPLETED.getValue()); + Optional optional1 = + model.getDetailList().stream().filter(k -> k.getShippingOrderNo().equals(detail.getShippingOrderNo())).findFirst(); + detail.setSn(optional1.get().getSn()); + snList.add(optional1.get().getSn()); + } + + DdlPackBean producePackBean = DdlPackBean.getDdlPackBean(org); + DdlPreparedPack.getInPackList(snList, "serialNumber", producePackBean); + List produceSnList = produceSnRepository.findByHqlWhere(producePackBean); + //条码校验完成 + produceSnList.forEach(k -> k.setSnStatus(MesPcnExtEnumUtil.PRODUCE_SN_STATUS.CHECKED.getValue())); + produceSnRepository.saveAll(produceSnList); shippingOrderManagementRepository.save(orderManagement); shippingOrderManagementDetailRepository.saveAll(orderManagementDetailList);