|
|
|
@ -225,13 +225,13 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
private void updateStockBill(DistrilbutionBillLadingDTO distrilbutionBillLading) { |
|
|
|
|
List<DistributionDeliveryDetailsEntity> list = distributionDeliveryDetailsService.list(Wrappers.<DistributionDeliveryDetailsEntity>query().lambda() |
|
|
|
|
.eq(DistributionDeliveryDetailsEntity::getBillLadingId, distrilbutionBillLading.getId()) |
|
|
|
|
.apply("inventory_status in ( 1 , 2)") |
|
|
|
|
.apply("inventory_status in ( 1 , 3)") |
|
|
|
|
); |
|
|
|
|
List<DistributionStockListEntity> stockEntityList = new ArrayList<>(); |
|
|
|
|
List<Long> dd = new ArrayList<>(); |
|
|
|
|
if (!list.isEmpty()) { |
|
|
|
|
list.forEach(i -> { |
|
|
|
|
if ("2".equals(i.getConditions())) { |
|
|
|
|
if ("20".equals(i.getConditions())) { |
|
|
|
|
throw new ServiceException("包含已提货的库存品,无法取消!!!"); |
|
|
|
|
} |
|
|
|
|
if ("1".equals(i.getStockStatus())) { |
|
|
|
@ -249,7 +249,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
//取消预约记录
|
|
|
|
|
LambdaUpdateWrapper<DistributionDeliveryDetailsEntity> updateWrapper = new LambdaUpdateWrapper<>(); |
|
|
|
|
updateWrapper.in(DistributionDeliveryDetailsEntity::getId, dd); |
|
|
|
|
updateWrapper.set(DistributionDeliveryDetailsEntity::getInventoryStatus, "3"); |
|
|
|
|
updateWrapper.set(DistributionDeliveryDetailsEntity::getInventoryStatus, "2"); |
|
|
|
|
distributionDeliveryDetailsService.update(updateWrapper); |
|
|
|
|
} |
|
|
|
|
//修改库存品数据
|
|
|
|
@ -363,6 +363,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
//修改
|
|
|
|
|
listDetails.forEach(i -> { |
|
|
|
|
boolean b = distrilbutionBillLading.getStockDTOList().stream().anyMatch(a -> i.getStockListId().equals(a.getId())); |
|
|
|
|
//查询是否存签收扫描数量
|
|
|
|
|
List<DistributionStockEntity> list1 = distributionStockService.list(Wrappers.<DistributionStockEntity>query().lambda() |
|
|
|
|
.eq(DistributionStockEntity::getBillLadingId, distrilbutionBillLading.getId()) |
|
|
|
|
.eq(DistributionStockEntity::getStockListId, i.getStockListId()) |
|
|
|
@ -370,6 +371,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (b) { |
|
|
|
|
//有
|
|
|
|
|
Iterator<DistributionStockListDTO> iterator = distrilbutionBillLading.getStockDTOList().iterator(); |
|
|
|
@ -389,7 +391,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
//修改库存占用数量
|
|
|
|
|
distributionAsyncService.getInventoryNumUpdate(i.getStockListId(), num, 1); |
|
|
|
|
//kk备货
|
|
|
|
|
if (i.getConditions().equals("2")) { |
|
|
|
|
if (i.getConditions().equals("20")) { |
|
|
|
|
//xiugai
|
|
|
|
|
DistributionDeliveryDetailsEntity d = new DistributionDeliveryDetailsEntity(); |
|
|
|
|
d.setId(i.getId()); |
|
|
|
@ -404,7 +406,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
//有备货
|
|
|
|
|
}*/ |
|
|
|
|
|
|
|
|
|
if (i.getConditions().equals("2")) { |
|
|
|
|
if (i.getConditions().equals("20")) { |
|
|
|
|
//todo 已完成
|
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
@ -443,7 +445,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
ids.forEach(a -> { |
|
|
|
|
DistributionDeliveryDetailsEntity deliveryDetails = new DistributionDeliveryDetailsEntity(); |
|
|
|
|
deliveryDetails.setId(a); |
|
|
|
|
deliveryDetails.setInventoryStatus("3"); |
|
|
|
|
deliveryDetails.setInventoryStatus("2"); |
|
|
|
|
distributionDeliveryDetailsService.updateById(deliveryDetails); |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
@ -1194,6 +1196,10 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
.ne(DistributionReservationZeroPackageEntity::getZeroPackageStatus, "2") |
|
|
|
|
.eq(DistributionReservationZeroPackageEntity::getType, "3") |
|
|
|
|
); //数据库的品分类数据
|
|
|
|
|
// List<Long> ids = null;
|
|
|
|
|
List<DistributionStockArticleEntity> stockArticleList = distrilbutionBillLadingDTO.getStockArticleList(); |
|
|
|
|
Map<Long, List<DistributionStockArticleEntity>> collect = stockArticleList.stream().collect(Collectors.groupingBy(DistributionStockArticleEntity::getId)); |
|
|
|
|
|
|
|
|
|
List<DistributionParcelListDTO> parcelLisList = distrilbutionBillLadingDTO.getParcelLisList();//品类信息
|
|
|
|
|
if (!list.isEmpty()) { |
|
|
|
|
List<Long> longs = new ArrayList<>(); |
|
|
|
@ -1212,6 +1218,10 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
//获取修改的数量
|
|
|
|
|
Integer quantity = i.getQuantity();//原预约数量
|
|
|
|
|
Integer quantity1 = next.getTiQuantity();//改变的数量
|
|
|
|
|
if (quantity1 == 0){ |
|
|
|
|
throw new ServiceException("输入错误的数量,请移除订单!"); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
int i1 = quantity - quantity1; |
|
|
|
|
if (i1 > 0) { |
|
|
|
|
//减少了
|
|
|
|
@ -1234,8 +1244,13 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
//不存在
|
|
|
|
|
longs.add(i.getParcelListId()); |
|
|
|
|
|
|
|
|
|
//此种物料不存在 判断是否还带有该订单 如果依然带有则无变化
|
|
|
|
|
if (!collect.isEmpty()){ |
|
|
|
|
List<DistributionStockArticleEntity> distributionStockArticleEntities = collect.get(i.getStockArticleId()); |
|
|
|
|
if (distributionStockArticleEntities.isEmpty()){ |
|
|
|
|
longs.add(i.getParcelListId()); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
if (!longs.isEmpty()) { |
|
|
|
@ -1960,12 +1975,44 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
List<DistrilbutionBillStockEntity> list = distrilbutionBillStockService.list(Wrappers.<DistrilbutionBillStockEntity>query().lambda() |
|
|
|
|
.eq(DistrilbutionBillStockEntity::getBillLadingId, distrilbutionBillLadingEntity.getId()) |
|
|
|
|
.eq(DistrilbutionBillStockEntity::getOrderStatus, "1") |
|
|
|
|
.or(eq -> eq.eq(DistrilbutionBillStockEntity::getBillLadingId, distrilbutionBillLadingEntity.getId()).eq(DistrilbutionBillStockEntity::getOrderStatus, "2")) |
|
|
|
|
.or(eq -> eq.eq(DistrilbutionBillStockEntity::getBillLadingId, distrilbutionBillLadingEntity.getId()).eq(DistrilbutionBillStockEntity::getOrderStatus, "3")) |
|
|
|
|
); |
|
|
|
|
list.forEach(i -> { |
|
|
|
|
List<DistributionStockArticleEntity> list2 = distributionStockArticleService.list(Wrappers.<DistributionStockArticleEntity>query().lambda().eq(DistributionStockArticleEntity::getId, i.getStockArticleId())); |
|
|
|
|
if (!list2.isEmpty()) { |
|
|
|
|
list1.addAll(DistributionStockArticleWrapper.build().listVO(list2)); |
|
|
|
|
List<DistributionStockArticleVO> distributionStockArticleVOS = DistributionStockArticleWrapper.build().listVO(list2); |
|
|
|
|
for (DistributionStockArticleVO distributionStockArticleVO : distributionStockArticleVOS) { |
|
|
|
|
//查询自身订单的计划数量是多少
|
|
|
|
|
if (IsOrNoConstant.no.getValue().equals(distributionStockArticleVO.getIsZero())){ |
|
|
|
|
//查询订制品数量
|
|
|
|
|
List<DistrilbutionBillPackageEntity> list3 = distrilbutionBillPackageService.list(Wrappers.<DistrilbutionBillPackageEntity>query().lambda() |
|
|
|
|
.eq(DistrilbutionBillPackageEntity::getBillLadingId, distrilbutionBillLadingEntity.getId()) |
|
|
|
|
.ne(DistrilbutionBillPackageEntity::getPacketBarStatus, "2") |
|
|
|
|
.ne(DistrilbutionBillPackageEntity::getStockArticleId, distributionStockArticleVO.getId()) |
|
|
|
|
); |
|
|
|
|
if (!list3.isEmpty()){ |
|
|
|
|
distributionStockArticleVO.setReservationNum(list3.size()); |
|
|
|
|
}else { |
|
|
|
|
distributionStockArticleVO.setReservationNum(0); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
}else { |
|
|
|
|
List<DistributionReservationZeroPackageEntity> reservationZeroPackageEntities = distributionZeroPackageService.list(Wrappers.<DistributionReservationZeroPackageEntity>query().lambda() |
|
|
|
|
.eq(DistributionReservationZeroPackageEntity::getReservationId, distrilbutionBillLadingEntity.getId()) |
|
|
|
|
.eq(DistributionReservationZeroPackageEntity::getStockArticleId, distributionStockArticleVO.getId()) |
|
|
|
|
.ne(DistributionReservationZeroPackageEntity::getZeroPackageStatus, "2") |
|
|
|
|
.eq(DistributionReservationZeroPackageEntity::getType, "3") |
|
|
|
|
); |
|
|
|
|
if (!reservationZeroPackageEntities.isEmpty()){ |
|
|
|
|
distributionStockArticleVO.setReservationNum(reservationZeroPackageEntities.stream().mapToInt(DistributionReservationZeroPackageEntity::getQuantity).sum()); |
|
|
|
|
}else { |
|
|
|
|
distributionStockArticleVO.setReservationNum(0); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
list1.addAll(distributionStockArticleVOS); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
}); |
|
|
|
@ -1978,6 +2025,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
//查询库存品
|
|
|
|
|
List<DistributionDeliveryDetailsEntity> list3 = distributionDeliveryDetailsService.list(Wrappers.<DistributionDeliveryDetailsEntity>query().lambda() |
|
|
|
|
.eq(DistributionDeliveryDetailsEntity::getBillLadingId, distrilbutionBillLadingEntity.getId()) |
|
|
|
|
.ne(DistributionDeliveryDetailsEntity::getInventoryStatus, "2") |
|
|
|
|
); |
|
|
|
|
if (!list3.isEmpty()) { |
|
|
|
|
list3.forEach(i -> { |
|
|
|
|