diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionAddvaluePackageEntity.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionAddvaluePackageEntity.java index f4c871093..e55e0eb36 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionAddvaluePackageEntity.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionAddvaluePackageEntity.java @@ -92,7 +92,7 @@ public class DistributionAddvaluePackageEntity extends TenantEntity implements S /** * 包件类型;1-订制品;2-库存品 */ - @ApiModelProperty(value = "包件类型;1-订制品;2-库存品") + @ApiModelProperty(value = "包件类型;1-订制品;2-库存品 3-零担") private Integer conditions; /** * 包条码 diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryInfoMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryInfoMapper.xml index 92cea9757..ff940a0c0 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryInfoMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryInfoMapper.xml @@ -277,7 +277,7 @@ ldrs.stock_article_status stockArticleState, ( select sum(loaded_nub) FROM logpm_distribution_loadscan AS ldl - WHERE ldl.order_id=ldrs.stock_article_id and ldl.scan_status != 1 + WHERE ldl.order_id=ldrs.stock_article_id and ldl.scan_status != 1 and ldl.reservation_id = lds.reservation_id ) AS loadingNumber , ( select count(*) FROM logpm_distribution_stock AS lstock diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.java index 1e75e0c27..625e19490 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.java @@ -244,4 +244,7 @@ public interface DistributionReservationMapper extends BaseMapper selectZeroPackageListByReservationId(@Param("reservationId")Long reservationId); + + //查询零担品类包件信息 + List selectAppZeroPackageListByReservationId(@Param("reservationId")Long reservationId); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml index 02b2aa577..23d2b33e7 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml @@ -1033,5 +1033,22 @@ WHERE ldrzp.reservation_id=#{reservationId} and ldrs.stock_article_status in ('1','3') AND ldrzp.zero_package_status IN ( '1', '3' ) + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAddvalueServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAddvalueServiceImpl.java index c6f619445..e991d888d 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAddvalueServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAddvalueServiceImpl.java @@ -266,6 +266,7 @@ public class DistributionAddvalueServiceImpl extends BaseServiceImpl packageListIds = distributionAppAddvalueDTO.getPackageListIds(); Long reservationId = distributionAppAddvalueDTO.getReservationId(); List parcelListEntities = distributionReservationMapper.selectAppPackageListByReservationId(reservationId); + List zeroPackageList = distributionReservationMapper.selectAppZeroPackageListByReservationId(reservationId); List detailEntities = distributionReservationMapper.selectAppInventoryListByReservation(reservationId); parcelListEntities.addAll(detailEntities); if (Func.isEmpty(parcelListEntities)) { diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java index ed97fd30d..770504242 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java @@ -1250,6 +1250,8 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImplquery().lambda().eq(DistributionSignforEntity::getDeliveryId, loadscanServiceOne.getDeliveryId()).eq(DistributionSignforEntity::getReservationId, loadscanServiceOne.getReservationId())); - if (Func.isEmpty(signforEntity)){ - log.error("##################签收查询失败,预约ID:{}",loadscanServiceOne.getReservationId()); + if (Func.isEmpty(signforEntity)) { + log.error("##################签收查询失败,预约ID:{}", loadscanServiceOne.getReservationId()); throw new RuntimeException("服务器正忙..."); } BigDecimal loadedNumber = new BigDecimal(signforEntity.getLoadedNumber()); @@ -2912,22 +2914,25 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl packageListInfo = s.getPackageListInfo(); DistributionReservationPackageEntity reservationPackageEntity1 = distributionReservationPackageService.getById("1717072702285783041"); log.info("reservationEntity.getId()>>>>>>>>{}", reservationEntity.getId()); - log.info("s.getId()>>>>>>>>{}",s.getId()); -// List list = distributionReservationPackageMapper.selectList(Wrappers.query().lambda() -// .eq(DistributionReservationPackageEntity::getReservationId, reservationEntity.getId()) -// .eq(DistributionReservationPackageEntity::getStockArticleId, s.getId()) -// .ne(DistributionReservationPackageEntity::getPacketBarCode, "2") -// ); + log.info("s.getId()>>>>>>>>{}", s.getId()); + List list = distributionReservationPackageMapper.selectList(Wrappers.query().lambda() + .eq(DistributionReservationPackageEntity::getReservationId, reservationEntity.getId()) + .eq(DistributionReservationPackageEntity::getStockArticleId, s.getId()) + .ne(DistributionReservationPackageEntity::getPacketBarCode, "2") + ); List distributionReservationPackageEntities = distributionReservationPackageMapper.selectList(new QueryWrapper().lambda() .eq(DistributionReservationPackageEntity::getReservationId, reservationEntity.getId()) - .eq(DistributionReservationPackageEntity::getStockArticleId, s.getId()) - .ne(DistributionReservationPackageEntity::getPacketBarStatus, "2") + .eq(DistributionReservationPackageEntity::getStockArticleId, s.getId()) ); - if (Func.isEmpty(distributionReservationPackageEntities)){ - log.error("###########################预约包件查询错误:{}",distributionReservationPackageEntities); + if (Func.isEmpty(distributionReservationPackageEntities)) { + log.error("###########################预约包件查询错误:{}", distributionReservationPackageEntities); throw new RuntimeException("服务器正忙..."); } - Map> oldPackageList =distributionReservationPackageEntities.stream().filter(rp->!Func.equals(rp.getPacketBarStatus(),ReservationPackageStatusConstant.quxiao.getValue())).collect(Collectors.groupingBy(DistributionReservationPackageEntity::getParceListId)); + log.info("distributionReservationPackageEntities>>>>>>>>{}", distributionReservationPackageEntities); + + + Map> oldPackageList = list.stream().collect(Collectors.groupingBy(DistributionReservationPackageEntity::getParceListId)); + //查看订单包件是否发生变化 //此订单包件数量统计 if (Func.isNotEmpty(packageListInfo)) { @@ -2957,12 +2962,14 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl reservationZeroPackageEntityList = distributionReservationZeroPackageService.list(Wrappers.query().lambda() @@ -3050,48 +3057,49 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl { - DistributionReservationStockarticleEntity reservationStockarticleEntity = n.get(0); - if (reservationStockarticleEntity.getIsZero().equals(IsOrNoConstant.no.getValue())) { - List reservationPackageEntityList = distributionReservationPackageMapper.selectList(Wrappers.query().lambda() - .eq(DistributionReservationPackageEntity::getReservationId, reservationEntity.getId()) - .eq(DistributionReservationPackageEntity::getStockArticleId, reservationStockarticleEntity.getStockArticleId())); - reservationPackageEntityList.forEach(p -> { - DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(p.getParceListId()); - parcelListEntity.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.daiyuyue.getValue()); - distributionAsyncService.checkStockArticleReservationStatus(parcelListEntity); - p.setPacketBarStatus(ReservationPackageStatusConstant.quxiao.getValue()); - distributionReservationPackageService.updateById(p); - }); - reservationStockarticleEntity.setStockArticleStatus(ReservationOrderStatusConstant.quxiao.getValue()); - distributionReservationStockarticleMapper.updateById(reservationStockarticleEntity); - } else if (reservationStockarticleEntity.getIsZero().equals(IsOrNoConstant.yes.getValue())) { - //对零担订单进行移除 - //零担 - List reservationZeroPackageEntityList = distributionReservationZeroPackageService.list(Wrappers.query().lambda() - .eq(DistributionReservationZeroPackageEntity::getReservationId, reservationEntity.getId()) - .eq(DistributionReservationZeroPackageEntity::getStockArticleId, reservationStockarticleEntity.getStockArticleId()) - .ne(DistributionReservationZeroPackageEntity::getZeroPackageStatus, ReservationPackageStatusConstant.quxiao.getValue())); - reservationZeroPackageEntityList.forEach(rzp -> { - rzp.setZeroPackageStatus(ReservationPackageStatusConstant.quxiao.getValue()); - distributionReservationZeroPackageService.updateById(rzp); - DistributionParcelNumberEntity parcelNumberEntity = distributionParcelNumberService.getOne(Wrappers.query().lambda() - .eq(DistributionParcelNumberEntity::getParcelListId, rzp.getParcelListId())); - if (Func.isNotEmpty(parcelNumberEntity)) { -// parcelNumberEntity.setHandQuantity(parcelNumberEntity.getHandQuantity() + rzp.getQuantity()); - parcelNumberEntity.setDeliveryQuantity(parcelNumberEntity.getDeliveryQuantity() - rzp.getQuantity()); - distributionParcelNumberService.updateById(parcelNumberEntity); - distributionAsyncService.checkZeroStockArticleReservationStatus(parcelNumberEntity); - } - }); - } else { - log.error("###########################reservation_stockaticle的isZeroz字段维护错误,reservation_stockarticleID:{}", reservationStockarticleEntity.getId()); - new RuntimeException("服务器正忙..."); - } - }); - } + }); + if (Func.isNotEmpty(oldOrder)) { + oldOrder.forEach((m, n) -> { + DistributionReservationStockarticleEntity reservationStockarticleEntity = n.get(0); + if (reservationStockarticleEntity.getIsZero().equals(IsOrNoConstant.no.getValue())) { + List reservationPackageEntityList = distributionReservationPackageMapper.selectList(Wrappers.query().lambda() + .eq(DistributionReservationPackageEntity::getReservationId, reservationEntity.getId()) + .eq(DistributionReservationPackageEntity::getStockArticleId, reservationStockarticleEntity.getStockArticleId())); + reservationPackageEntityList.forEach(p -> { + DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(p.getParceListId()); + parcelListEntity.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.daiyuyue.getValue()); + distributionAsyncService.checkStockArticleReservationStatus(parcelListEntity); + p.setPacketBarStatus(ReservationPackageStatusConstant.quxiao.getValue()); + distributionReservationPackageService.updateById(p); + }); + reservationStockarticleEntity.setStockArticleStatus(ReservationOrderStatusConstant.quxiao.getValue()); + distributionReservationStockarticleMapper.updateById(reservationStockarticleEntity); + } else if (reservationStockarticleEntity.getIsZero().equals(IsOrNoConstant.yes.getValue())) { + //对零担订单进行移除 + //零担 + List reservationZeroPackageEntityList = distributionReservationZeroPackageService.list(Wrappers.query().lambda() + .eq(DistributionReservationZeroPackageEntity::getReservationId, reservationEntity.getId()) + .eq(DistributionReservationZeroPackageEntity::getStockArticleId, reservationStockarticleEntity.getStockArticleId()) + .ne(DistributionReservationZeroPackageEntity::getZeroPackageStatus, ReservationPackageStatusConstant.quxiao.getValue())); + reservationZeroPackageEntityList.forEach(rzp -> { + rzp.setZeroPackageStatus(ReservationPackageStatusConstant.quxiao.getValue()); + distributionReservationZeroPackageService.updateById(rzp); + DistributionParcelNumberEntity parcelNumberEntity = distributionParcelNumberService.getOne(Wrappers.query().lambda() + .eq(DistributionParcelNumberEntity::getParcelListId, rzp.getParcelListId())); + if (Func.isNotEmpty(parcelNumberEntity)) { +// parcelNumberEntity.setHandQuantity(parcelNumberEntity.getHandQuantity() + rzp.getQuantity()); + parcelNumberEntity.setDeliveryQuantity(parcelNumberEntity.getDeliveryQuantity() - rzp.getQuantity()); + distributionParcelNumberService.updateById(parcelNumberEntity); + distributionAsyncService.checkZeroStockArticleReservationStatus(parcelNumberEntity); + } + }); + } else { + log.error("###########################reservation_stockaticle的isZeroz字段维护错误,reservation_stockarticleID:{}", reservationStockarticleEntity.getId()); + new RuntimeException("服务器正忙..."); + } + }); + } //重新维护预约信息 reservationEntity.setDeliveryType(DistributionTypeConstant.shangpei.getValue()); reservationEntity.setStockupStatus(ReservationStockupStatusConstant.daibeihuo.getValue()); @@ -4606,7 +4614,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl loadscanEntities = loadMap.get(parcelListDTO.getParcelListId()); if (Func.isNotEmpty(loadscanEntities)) { - if (parcelListDTO.getLoadingNum() <= reservationZeroPackageEntity.getQuantity()){ + if (parcelListDTO.getLoadingNum() <= reservationZeroPackageEntity.getQuantity()) { //维护零担出库数量 DistributionLoadscanEntity loadscanEntity = loadscanEntities.get(0); DistributionParcelNumberEntity parcelNumberEntity = zeroPackageMap.get(parcelListDTO.getParcelListId()); @@ -4693,7 +4701,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl stockArticleEntityList = baseMapper.selectOrderList(id); - distributionSignforVO.setOrderInfo(stockArticleEntityList); + DistributionSignforEntity signforEntity = this.getById(id); + if (Func.isEmpty(signforEntity)){ + log.error("###########查询签收信息异常,id:{}",id); + return null; + } + List reservationStockarticleEntityList = distributionReservationStockarticleService.list(Wrappers.query().lambda().eq(DistributionReservationStockarticleEntity::getReservationId, signforEntity.getReservationId()).ne( + DistributionReservationStockarticleEntity::getStockArticleStatus, ReservationOrderStatusConstant.quxiao.getValue())); + if (Func.isEmpty(reservationStockarticleEntityList)){ + log.error("#####################预约查询无订单信息,reservationId:{}",signforEntity.getReservationId()); + return null; + } + List orderIds = reservationStockarticleEntityList.stream().map(DistributionReservationStockarticleEntity::getStockArticleId).collect(Collectors.toList()); + List stockArticleEntities = distributionStockArticleService.listByIds(orderIds); + if (Func.isNotEmpty(stockArticleEntities)){ + distributionSignforVO.setOrderInfo(DistributionStockArticleWrapper.build().listVO(stockArticleEntities)); + } +// List stockArticleEntityList = baseMapper.selectOrderList(id); return distributionSignforVO; } @@ -611,7 +627,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl loadscanEntityList = distributionLoadscanService.list(Wrappers.query().lambda().eq(DistributionLoadscanEntity::getReservationId, distrilbutionloadingscanDTO.getReservationId()).ne(DistributionLoadscanEntity::getScanState, LoadingStatusConstant.quxiao.getValue())); + List loadscanEntityList = distributionLoadscanService.list(Wrappers.query().lambda().eq(DistributionLoadscanEntity::getReservationId, distrilbutionloadingscanDTO.getReservationId()).ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())); List loadscaninvnEntityList = distributionLoadscaninvnService.list(Wrappers.query().lambda().eq(DistributionLoadscaninvnEntity::getReservationId, distrilbutionloadingscanDTO.getReservationId()).ne(DistributionLoadscaninvnEntity::getScanState, LoadingStatusConstant.quxiao.getValue())); if (Func.isNotEmpty(loadscanEntityList)) { int packSignTotal = loadscanEntityList.stream().filter(l -> Func.equals(l.getSignforState(), LoadScanSigningStatusConstant.yiqianshou.getValue())).mapToInt(DistributionLoadscanEntity::getReceivedQuantity).sum(); @@ -935,7 +951,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl Func.equals(f.getIsSignfor(), LoadScanSigningStatusConstant.yiqianshou.getValue())).mapToInt(DistributionLoadscanEntity::getLoadedNub).sum(); + int signforNub = orderMap.get(stockArticleEntity.getId()).stream().filter(f -> Func.equals(f.getIsSignfor(), LoadScanSigningStatusConstant.yiqianshou.getValue())).mapToInt(DistributionLoadscanEntity::getReceivedQuantity).sum(); distributionAppStockArticleVO.setLoadingNub(loadingNum); distributionAppStockArticleVO.setSignforNub(signforNub); } @@ -977,7 +993,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl parcelNumberVOS = distributionReservationMapper.selectReservationZeroOrderDetail(rs.getStockArticleId(), rs.getReservationId()); parcelNumberVOS.forEach(p -> { - DistributionLoadscanEntity loadscanEntity = distributionLoadscanService.getOne(Wrappers.query().lambda().eq(DistributionLoadscanEntity::getReservationId, distributionDeliveryList.getReservationId()).eq(DistributionLoadscanEntity::getOrderId, rs.getStockArticleId()).eq(DistributionLoadscanEntity::getPackageId, p.getParcelListId()).ne(DistributionLoadscanEntity::getScanState, LoadingStatusConstant.quxiao.getValue())); + DistributionLoadscanEntity loadscanEntity = distributionLoadscanService.getOne(Wrappers.query().lambda().eq(DistributionLoadscanEntity::getReservationId, distributionDeliveryList.getReservationId()).eq(DistributionLoadscanEntity::getOrderId, rs.getStockArticleId()).eq(DistributionLoadscanEntity::getPackageId, p.getParcelListId()).ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())); p.setLoadingNum(0); p.setSigningNum(0); if (Func.isNotEmpty(loadscanEntity)) {