|
|
@ -1503,6 +1503,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu |
|
|
|
HashSet<String> storeName = new HashSet<>(); |
|
|
|
HashSet<String> storeName = new HashSet<>(); |
|
|
|
HashSet<String> receivingUnit = new HashSet<>(); |
|
|
|
HashSet<String> receivingUnit = new HashSet<>(); |
|
|
|
newStockArticle.forEach((k, v) -> { |
|
|
|
newStockArticle.forEach((k, v) -> { |
|
|
|
|
|
|
|
List<Long> packageLockIds = new ArrayList<>(); |
|
|
|
if (Func.isEmpty(oldStockArticle.get(k))) { |
|
|
|
if (Func.isEmpty(oldStockArticle.get(k))) { |
|
|
|
//这里发生了新增订单的操作
|
|
|
|
//这里发生了新增订单的操作
|
|
|
|
AtomicInteger packageNum = new AtomicInteger(); |
|
|
|
AtomicInteger packageNum = new AtomicInteger(); |
|
|
@ -1517,6 +1518,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu |
|
|
|
reservationPackageEntity.setPacketBarCode(p.getOrderPackageCode()); |
|
|
|
reservationPackageEntity.setPacketBarCode(p.getOrderPackageCode()); |
|
|
|
reservationPackageEntity.setParceListId(p.getId()); |
|
|
|
reservationPackageEntity.setParceListId(p.getId()); |
|
|
|
reservationPackageEntity.setReservationId(id); |
|
|
|
reservationPackageEntity.setReservationId(id); |
|
|
|
|
|
|
|
packageLockIds.add(p.getId()); |
|
|
|
distributionReservationPackageService.save(reservationPackageEntity); |
|
|
|
distributionReservationPackageService.save(reservationPackageEntity); |
|
|
|
packageNum.getAndAdd(p.getQuantity()); |
|
|
|
packageNum.getAndAdd(p.getQuantity()); |
|
|
|
DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(p.getId()); |
|
|
|
DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(p.getId()); |
|
|
@ -1537,6 +1539,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu |
|
|
|
DistributionReservationPackageEntity distributionReservationPackageEntity = new DistributionReservationPackageEntity(); |
|
|
|
DistributionReservationPackageEntity distributionReservationPackageEntity = new DistributionReservationPackageEntity(); |
|
|
|
distributionReservationPackageEntity.setReservationId(id); |
|
|
|
distributionReservationPackageEntity.setReservationId(id); |
|
|
|
distributionReservationPackageEntity.setParceListId(dp.getId()); |
|
|
|
distributionReservationPackageEntity.setParceListId(dp.getId()); |
|
|
|
|
|
|
|
packageLockIds.add(dp.getId()); |
|
|
|
distributionReservationPackageEntity.setStockArticleId(distributionStockArticleDTO.getId()); |
|
|
|
distributionReservationPackageEntity.setStockArticleId(distributionStockArticleDTO.getId()); |
|
|
|
distributionReservationPackageEntity.setPacketBarCode(dp.getOrderPackageCode()); |
|
|
|
distributionReservationPackageEntity.setPacketBarCode(dp.getOrderPackageCode()); |
|
|
|
//维护订单下包件信息
|
|
|
|
//维护订单下包件信息
|
|
|
@ -1580,6 +1583,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu |
|
|
|
distributionReservationZeroPackageEntity.setType(DistributionTypeConstant.shipie.getValue()); |
|
|
|
distributionReservationZeroPackageEntity.setType(DistributionTypeConstant.shipie.getValue()); |
|
|
|
distributionReservationZeroPackageEntity.setZeroPackageStatus(ReservationOrderStatusConstant.zhengchang.getValue()); |
|
|
|
distributionReservationZeroPackageEntity.setZeroPackageStatus(ReservationOrderStatusConstant.zhengchang.getValue()); |
|
|
|
distributionReservationZeroPackageService.save(distributionReservationZeroPackageEntity); |
|
|
|
distributionReservationZeroPackageService.save(distributionReservationZeroPackageEntity); |
|
|
|
|
|
|
|
packageLockIds.add(p.getParcelListId()); |
|
|
|
//统计数量
|
|
|
|
//统计数量
|
|
|
|
zeroPackageNum.getAndAdd(distributionReservationZeroPackageEntity.getQuantity()); |
|
|
|
zeroPackageNum.getAndAdd(distributionReservationZeroPackageEntity.getQuantity()); |
|
|
|
//维护零担订单品类对应数量的冻结数量
|
|
|
|
//维护零担订单品类对应数量的冻结数量
|
|
|
@ -1607,20 +1611,9 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu |
|
|
|
DistributionParcelNumberEntity parcelNumberEntity = distributionParcelNumberService.getById(l.getId()); |
|
|
|
DistributionParcelNumberEntity parcelNumberEntity = distributionParcelNumberService.getById(l.getId()); |
|
|
|
parcelNumberEntity.setDeliveryQuantity(parcelNumberEntity.getDeliveryQuantity() + l.getReservationNum()); |
|
|
|
parcelNumberEntity.setDeliveryQuantity(parcelNumberEntity.getDeliveryQuantity() + l.getReservationNum()); |
|
|
|
distributionParcelNumberService.updateById(parcelNumberEntity); |
|
|
|
distributionParcelNumberService.updateById(parcelNumberEntity); |
|
|
|
|
|
|
|
packageLockIds.add(l.getParcelListId()); |
|
|
|
}); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
// DistributionReservationStockarticleEntity reservationStockarticleEntity = new DistributionReservationStockarticleEntity();
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// //首先这里需要进行
|
|
|
|
|
|
|
|
// reservationStockarticleEntity.setIsZero(IsOrNoConstant.yes.getValue());
|
|
|
|
|
|
|
|
// reservationStockarticleEntity.setReservationId(id);
|
|
|
|
|
|
|
|
// reservationStockarticleEntity.setStockArticleId(distributionStockArticleDTO.getId());
|
|
|
|
|
|
|
|
// reservationStockarticleEntity.setStockArticleStatus(ReservationOrderStatusConstant.zhengchang.getValue());
|
|
|
|
|
|
|
|
// reservationStockarticleEntity.setStockArticleCode(distributionStockArticleDTO.getOrderCode());
|
|
|
|
|
|
|
|
// reservationStockarticleEntity.setIsHaveData(distributionStockArticleDTO.getIsHaveData());
|
|
|
|
|
|
|
|
// reservationStockarticleEntity.setReservationNum(zeroPackageNum.get());
|
|
|
|
|
|
|
|
// distributionReservationStockarticleService.save(reservationStockarticleEntity);
|
|
|
|
|
|
|
|
// packTotal.getAndAdd(reservationStockarticleEntity.getReservationNum());
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
DistributionReservationStockarticleEntity reservationStockarticleEntity = new DistributionReservationStockarticleEntity(); |
|
|
|
DistributionReservationStockarticleEntity reservationStockarticleEntity = new DistributionReservationStockarticleEntity(); |
|
|
|
reservationStockarticleEntity.setStockArticleStatus(ReservationOrderStatusConstant.zengjia.getValue()); |
|
|
|
reservationStockarticleEntity.setStockArticleStatus(ReservationOrderStatusConstant.zengjia.getValue()); |
|
|
@ -1666,6 +1659,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu |
|
|
|
reservationPackageEntity.setPacketBarCode(distributionParcelListEntity.getOrderPackageCode()); |
|
|
|
reservationPackageEntity.setPacketBarCode(distributionParcelListEntity.getOrderPackageCode()); |
|
|
|
reservationPackageEntity.setParceListId(distributionParcelListEntity.getId()); |
|
|
|
reservationPackageEntity.setParceListId(distributionParcelListEntity.getId()); |
|
|
|
reservationPackageEntity.setReservationId(id); |
|
|
|
reservationPackageEntity.setReservationId(id); |
|
|
|
|
|
|
|
packageLockIds.add(distributionParcelListEntity.getId()); |
|
|
|
distributionReservationPackageService.save(reservationPackageEntity); |
|
|
|
distributionReservationPackageService.save(reservationPackageEntity); |
|
|
|
packageNum.getAndAdd(distributionParcelListEntity.getQuantity()); |
|
|
|
packageNum.getAndAdd(distributionParcelListEntity.getQuantity()); |
|
|
|
DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(distributionParcelListEntity.getId()); |
|
|
|
DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(distributionParcelListEntity.getId()); |
|
|
@ -1688,6 +1682,8 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu |
|
|
|
DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(reservationPackageEntity.getParceListId()); |
|
|
|
DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(reservationPackageEntity.getParceListId()); |
|
|
|
parcelListEntity.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.daiyuyue.getValue()); |
|
|
|
parcelListEntity.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.daiyuyue.getValue()); |
|
|
|
distributionParcelListService.updateById(parcelListEntity); |
|
|
|
distributionParcelListService.updateById(parcelListEntity); |
|
|
|
|
|
|
|
//移除缓存
|
|
|
|
|
|
|
|
bladeRedis.del("warehouseId:" + myCurrentWarehouse.getId() + "orderCode:" + distributionStockArticleDTO.getOrderCode()); |
|
|
|
}); |
|
|
|
}); |
|
|
|
reservationStockarticleEntity.setReservationNum(packageNum.get()); |
|
|
|
reservationStockarticleEntity.setReservationNum(packageNum.get()); |
|
|
|
distributionReservationStockarticleService.updateById(reservationStockarticleEntity); |
|
|
|
distributionReservationStockarticleService.updateById(reservationStockarticleEntity); |
|
|
@ -1745,6 +1741,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu |
|
|
|
zeroPackageEntity.setParcelListId(p.getParcelListId()); |
|
|
|
zeroPackageEntity.setParcelListId(p.getParcelListId()); |
|
|
|
zeroPackageEntity.setCategoryName(p.getFirsts()); |
|
|
|
zeroPackageEntity.setCategoryName(p.getFirsts()); |
|
|
|
zeroPackageEntity.setQuantity(p.getReservationNum()); |
|
|
|
zeroPackageEntity.setQuantity(p.getReservationNum()); |
|
|
|
|
|
|
|
packageLockIds.add(p.getParcelListId()); |
|
|
|
zeroPackageEntity.setZeroPackageStatus(ReservationOrderStatusConstant.zengjia.getValue()); |
|
|
|
zeroPackageEntity.setZeroPackageStatus(ReservationOrderStatusConstant.zengjia.getValue()); |
|
|
|
zeroPackageEntity.setType(DistributionTypeConstant.shipie.getValue()); |
|
|
|
zeroPackageEntity.setType(DistributionTypeConstant.shipie.getValue()); |
|
|
|
zeroPackageEntity.setReservationId(id); |
|
|
|
zeroPackageEntity.setReservationId(id); |
|
|
@ -1787,11 +1784,28 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu |
|
|
|
// stockArticleEntity.setReservationStatus(status);
|
|
|
|
// stockArticleEntity.setReservationStatus(status);
|
|
|
|
// distributionStockArticleService.updateById(stockArticleEntity);
|
|
|
|
// distributionStockArticleService.updateById(stockArticleEntity);
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//添加缓存
|
|
|
|
|
|
|
|
if (!packageLockIds.isEmpty()){ |
|
|
|
|
|
|
|
List<Long> a = bladeRedis.get("warehouseId:" + myCurrentWarehouse.getId() + "orderCode:" + v.get(0).getOrderCode()); |
|
|
|
|
|
|
|
if (Func.isNotEmpty(a)){ |
|
|
|
|
|
|
|
boolean flag = a.stream().anyMatch(f -> packageLockIds.contains(f)); |
|
|
|
|
|
|
|
if (flag){ |
|
|
|
|
|
|
|
log.error("###############预约新增订单同时操作"); |
|
|
|
|
|
|
|
//当前操作包件存在于缓存中,此次操作无效
|
|
|
|
|
|
|
|
throw new RuntimeException(v.get(0).getOrderCode()+"正在操作,请刷新后尝试"); |
|
|
|
|
|
|
|
}else { |
|
|
|
|
|
|
|
bladeRedis.setEx("warehouseId:" + myCurrentWarehouse.getId() + "orderCode:" + v.get(0).getOrderCode(),packageLockIds,5*60L); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}else { |
|
|
|
|
|
|
|
bladeRedis.setEx("warehouseId:" + myCurrentWarehouse.getId() + "orderCode:" + v.get(0).getOrderCode(),packageLockIds,5*60L); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
}); |
|
|
|
}); |
|
|
|
if (Func.isNotEmpty(oldStockArticle)) { |
|
|
|
if (Func.isNotEmpty(oldStockArticle)) { |
|
|
|
oldStockArticle.forEach((i, j) -> { |
|
|
|
oldStockArticle.forEach((i, j) -> { |
|
|
|
//这里就是需要进行取消的订单信息
|
|
|
|
//这里就是需要进行取消的订单信息
|
|
|
|
|
|
|
|
DistributionStockArticleEntity stockArticleEntity = distributionStockArticleService.getById(i); |
|
|
|
|
|
|
|
|
|
|
|
DistributionReservationStockarticleEntity reservationStockarticleEntity = j.get(0); |
|
|
|
DistributionReservationStockarticleEntity reservationStockarticleEntity = j.get(0); |
|
|
|
if (reservationStockarticleEntity.getIsZero().equals(IsOrNoConstant.no.getValue())) { |
|
|
|
if (reservationStockarticleEntity.getIsZero().equals(IsOrNoConstant.no.getValue())) { |
|
|
|
reservationStockarticleEntity.setStockArticleStatus(ReservationOrderStatusConstant.quxiao.getValue()); |
|
|
|
reservationStockarticleEntity.setStockArticleStatus(ReservationOrderStatusConstant.quxiao.getValue()); |
|
|
@ -1803,6 +1817,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu |
|
|
|
DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(p.getParceListId()); |
|
|
|
DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(p.getParceListId()); |
|
|
|
parcelListEntity.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.daiyuyue.getValue()); |
|
|
|
parcelListEntity.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.daiyuyue.getValue()); |
|
|
|
distributionParcelListService.updateById(parcelListEntity); |
|
|
|
distributionParcelListService.updateById(parcelListEntity); |
|
|
|
|
|
|
|
bladeRedis.del("warehouseId:" + myCurrentWarehouse.getId() + "orderCode:" + stockArticleEntity.getOrderCode()); |
|
|
|
}); |
|
|
|
}); |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
//订单零担移除
|
|
|
|
//订单零担移除
|
|
|
@ -1822,12 +1837,12 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu |
|
|
|
zp.setQuantity(0); |
|
|
|
zp.setQuantity(0); |
|
|
|
zp.setZeroPackageStatus(ReservationOrderStatusConstant.quxiao.getValue()); |
|
|
|
zp.setZeroPackageStatus(ReservationOrderStatusConstant.quxiao.getValue()); |
|
|
|
distributionReservationZeroPackageService.updateById(zp); |
|
|
|
distributionReservationZeroPackageService.updateById(zp); |
|
|
|
|
|
|
|
bladeRedis.del("warehouseId:" + myCurrentWarehouse.getId() + "orderCode:" + stockArticleEntity.getOrderCode()); |
|
|
|
}); |
|
|
|
}); |
|
|
|
reservationStockarticleEntity.setReservationNum(0); |
|
|
|
reservationStockarticleEntity.setReservationNum(0); |
|
|
|
reservationStockarticleEntity.setStockArticleStatus(ReservationOrderStatusConstant.quxiao.getValue()); |
|
|
|
reservationStockarticleEntity.setStockArticleStatus(ReservationOrderStatusConstant.quxiao.getValue()); |
|
|
|
} |
|
|
|
} |
|
|
|
//需要修改订单的状态
|
|
|
|
//需要修改订单的状态
|
|
|
|
DistributionStockArticleEntity stockArticleEntity = distributionStockArticleService.getById(i); |
|
|
|
|
|
|
|
DistributionStockArticleDTO stockArticleDTO = Func.copy(stockArticleEntity, DistributionStockArticleDTO.class); |
|
|
|
DistributionStockArticleDTO stockArticleDTO = Func.copy(stockArticleEntity, DistributionStockArticleDTO.class); |
|
|
|
//维护订单信息
|
|
|
|
//维护订单信息
|
|
|
|
distributionStockArticleService.maintenanceOrderInfo(stockArticleDTO.getOrderCode(),myCurrentWarehouse.getId()); |
|
|
|
distributionStockArticleService.maintenanceOrderInfo(stockArticleDTO.getOrderCode(),myCurrentWarehouse.getId()); |
|
|
@ -2613,6 +2628,11 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu |
|
|
|
@Override |
|
|
|
@Override |
|
|
|
@Transactional |
|
|
|
@Transactional |
|
|
|
public boolean cancelReservation(DistributionReservationDTO reservationDTO) { |
|
|
|
public boolean cancelReservation(DistributionReservationDTO reservationDTO) { |
|
|
|
|
|
|
|
BasicdataWarehouseEntity myCurrentWarehouse = basicdataWarehouseClient.getMyCurrentWarehouse(); |
|
|
|
|
|
|
|
if (Func.isEmpty(myCurrentWarehouse)){ |
|
|
|
|
|
|
|
log.error("cancelReservation未授权warehouseId>>>{}", myCurrentWarehouse.getId()); |
|
|
|
|
|
|
|
return false; |
|
|
|
|
|
|
|
} |
|
|
|
if (Func.isEmpty(reservationDTO)) { |
|
|
|
if (Func.isEmpty(reservationDTO)) { |
|
|
|
log.error("参数异常allocationDTO>>>{}", reservationDTO); |
|
|
|
log.error("参数异常allocationDTO>>>{}", reservationDTO); |
|
|
|
return false; |
|
|
|
return false; |
|
|
@ -2686,7 +2706,8 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu |
|
|
|
distributionReservationStockarticleService.updateById(rs); |
|
|
|
distributionReservationStockarticleService.updateById(rs); |
|
|
|
DistributionStockArticleEntity stockArticleEntity = distributionStockArticleService.getById(rs.getStockArticleId()); |
|
|
|
DistributionStockArticleEntity stockArticleEntity = distributionStockArticleService.getById(rs.getStockArticleId()); |
|
|
|
distributionStockArticleService.maintenanceOrderInfo(stockArticleEntity.getOrderCode(),stockArticleEntity.getWarehouseId()); |
|
|
|
distributionStockArticleService.maintenanceOrderInfo(stockArticleEntity.getOrderCode(),stockArticleEntity.getWarehouseId()); |
|
|
|
|
|
|
|
//清除缓存
|
|
|
|
|
|
|
|
bladeRedis.del("warehouseId:"+myCurrentWarehouse.getId()+"orderCode:"+stockArticleEntity.getOrderCode()); |
|
|
|
}); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -3103,6 +3124,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu |
|
|
|
return R.fail("订单已预约!!!"); |
|
|
|
return R.fail("订单已预约!!!"); |
|
|
|
} |
|
|
|
} |
|
|
|
stockArticleList.forEach(s -> { |
|
|
|
stockArticleList.forEach(s -> { |
|
|
|
|
|
|
|
List<Long> packageLockIds = new ArrayList<>(); |
|
|
|
if (Func.isNotEmpty(s.getAllocation())) { |
|
|
|
if (Func.isNotEmpty(s.getAllocation())) { |
|
|
|
s.setAllocation(null); |
|
|
|
s.setAllocation(null); |
|
|
|
} |
|
|
|
} |
|
|
@ -3158,8 +3180,11 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu |
|
|
|
log.error("#########################无可用包件,订单ID为‘;:{}", s.getId()); |
|
|
|
log.error("#########################无可用包件,订单ID为‘;:{}", s.getId()); |
|
|
|
throw new RuntimeException(s.getOrderCode() + "无可用包件!!!"); |
|
|
|
throw new RuntimeException(s.getOrderCode() + "无可用包件!!!"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
List<Long> packageIds = distributionParcelListEntities.stream().map(DistributionParcelListEntity::getId).collect(Collectors.toList()); |
|
|
|
|
|
|
|
packageLockIds.addAll(packageIds); |
|
|
|
distributionParcelListEntities.forEach(dp -> { |
|
|
|
distributionParcelListEntities.forEach(dp -> { |
|
|
|
if (!dp.getOrderPackageStatus().equals(OrderPackageStatusConstant.yiqianshou.getValue())) { |
|
|
|
if (!dp.getOrderPackageStatus().equals(OrderPackageStatusConstant.yiqianshou.getValue())) { |
|
|
|
|
|
|
|
|
|
|
|
if (!Func.equals(dp.getOrderPackageFreezeStatus(), OrderPackageFreezeStatusConstant.yidongjie.getValue()) && !Func.equals(dp.getOrderPackageReservationStatus(), OrderPackageReservationStatusConstant.yiyueyue.getValue())) { |
|
|
|
if (!Func.equals(dp.getOrderPackageFreezeStatus(), OrderPackageFreezeStatusConstant.yidongjie.getValue()) && !Func.equals(dp.getOrderPackageReservationStatus(), OrderPackageReservationStatusConstant.yiyueyue.getValue())) { |
|
|
|
DistributionReservationPackageEntity distributionReservationPackageEntity = new DistributionReservationPackageEntity(); |
|
|
|
DistributionReservationPackageEntity distributionReservationPackageEntity = new DistributionReservationPackageEntity(); |
|
|
|
distributionReservationPackageEntity.setReservationId(reservationId); |
|
|
|
distributionReservationPackageEntity.setReservationId(reservationId); |
|
|
@ -3190,6 +3215,8 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu |
|
|
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
} else { |
|
|
|
//维护选中的包件信息
|
|
|
|
//维护选中的包件信息
|
|
|
|
|
|
|
|
List<Long> packageIds = packageList.stream().map(DistributionParcelListEntity::getId).collect(Collectors.toList()); |
|
|
|
|
|
|
|
packageLockIds.addAll(packageIds); |
|
|
|
packageList.forEach(p -> { |
|
|
|
packageList.forEach(p -> { |
|
|
|
if (!p.getOrderPackageStatus().equals(OrderPackageStatusConstant.yiqianshou.getValue())) { |
|
|
|
if (!p.getOrderPackageStatus().equals(OrderPackageStatusConstant.yiqianshou.getValue())) { |
|
|
|
if (!Func.equals(p.getOrderPackageFreezeStatus(), OrderPackageFreezeStatusConstant.yidongjie.getValue()) && !Func.equals(p.getOrderPackageReservationStatus(), OrderPackageReservationStatusConstant.yiyueyue.getValue())) { |
|
|
|
if (!Func.equals(p.getOrderPackageFreezeStatus(), OrderPackageFreezeStatusConstant.yidongjie.getValue()) && !Func.equals(p.getOrderPackageReservationStatus(), OrderPackageReservationStatusConstant.yiyueyue.getValue())) { |
|
|
@ -3273,6 +3300,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu |
|
|
|
parcelNumberEntity.setDeliveryQuantity(parcelNumberEntity.getDeliveryQuantity() + distributionReservationZeroPackageEntity.getQuantity()); |
|
|
|
parcelNumberEntity.setDeliveryQuantity(parcelNumberEntity.getDeliveryQuantity() + distributionReservationZeroPackageEntity.getQuantity()); |
|
|
|
distributionParcelNumberService.updateById(parcelNumberEntity); |
|
|
|
distributionParcelNumberService.updateById(parcelNumberEntity); |
|
|
|
// distributionAsyncService.checkZeroStockArticleReservationStatus(parcelNumberEntity);
|
|
|
|
// distributionAsyncService.checkZeroStockArticleReservationStatus(parcelNumberEntity);
|
|
|
|
|
|
|
|
packageLockIds.add(p.getParcelListId()); |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
}); |
|
|
|
} else { |
|
|
|
} else { |
|
|
@ -3299,6 +3327,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu |
|
|
|
parcelNumberEntity.setDeliveryQuantity(parcelNumberEntity.getDeliveryQuantity() + distributionReservationZeroPackageEntity.getQuantity()); |
|
|
|
parcelNumberEntity.setDeliveryQuantity(parcelNumberEntity.getDeliveryQuantity() + distributionReservationZeroPackageEntity.getQuantity()); |
|
|
|
distributionParcelNumberService.updateById(parcelNumberEntity); |
|
|
|
distributionParcelNumberService.updateById(parcelNumberEntity); |
|
|
|
// distributionAsyncService.checkZeroStockArticleReservationStatus(parcelNumberEntity);
|
|
|
|
// distributionAsyncService.checkZeroStockArticleReservationStatus(parcelNumberEntity);
|
|
|
|
|
|
|
|
packageLockIds.add(l.getParcelListId()); |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
@ -3322,13 +3351,26 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu |
|
|
|
distributionReservationStockarticleService.save(distributionReservationStockarticleEntity); |
|
|
|
distributionReservationStockarticleService.save(distributionReservationStockarticleEntity); |
|
|
|
packageTotal.getAndAdd(distributionReservationStockarticleEntity.getReservationNum()); |
|
|
|
packageTotal.getAndAdd(distributionReservationStockarticleEntity.getReservationNum()); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// distributionAsyncService.changeOrderReservationStatus(stockArticleDTO);
|
|
|
|
// distributionAsyncService.changeOrderReservationStatus(stockArticleDTO);
|
|
|
|
distributionStockArticleService.maintenanceOrderInfo(s.getOrderCode(),s.getWarehouseId()); |
|
|
|
distributionStockArticleService.maintenanceOrderInfo(s.getOrderCode(),s.getWarehouseId()); |
|
|
|
// WarehouseWaybillEntity byWaybillNo = warehouseWaybillClient.findByWaybillNo();
|
|
|
|
// WarehouseWaybillEntity byWaybillNo = warehouseWaybillClient.findByWaybillNo();
|
|
|
|
// String consigneeMobile = byWaybillNo.getConsigneeMobile();
|
|
|
|
// String consigneeMobile = byWaybillNo.getConsigneeMobile();
|
|
|
|
|
|
|
|
if (!packageLockIds.isEmpty()){ |
|
|
|
|
|
|
|
//判断此类包件是否还存在于缓存中
|
|
|
|
|
|
|
|
List<Long> a = bladeRedis.get("warehouseId:" + myCurrentWarehouse.getId() +"orderCode:"+ s.getOrderCode()); |
|
|
|
|
|
|
|
if (Func.isNotEmpty(a)){ |
|
|
|
|
|
|
|
boolean b = a.stream().anyMatch(f -> packageLockIds.contains(f)); |
|
|
|
|
|
|
|
if (b){ |
|
|
|
|
|
|
|
log.error("###############预约新增订单同时操作"); |
|
|
|
|
|
|
|
//当前操作包件存在于缓存中,此次操作无效
|
|
|
|
|
|
|
|
throw new RuntimeException(s.getOrderCode()+"正在操作,请刷新后尝试"); |
|
|
|
|
|
|
|
}else { |
|
|
|
|
|
|
|
bladeRedis.setEx("warehouseId:" + myCurrentWarehouse.getId() + s.getOrderCode(),packageLockIds,5*60L); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}else { |
|
|
|
|
|
|
|
bladeRedis.setEx("warehouseId:" + myCurrentWarehouse.getId()+"orderCode:" + s.getOrderCode(),packageLockIds,5*60L); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
}); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
//存在库存品构建预约库存品关联信息
|
|
|
|
//存在库存品构建预约库存品关联信息
|
|
|
@ -3697,6 +3739,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu |
|
|
|
log.error(method+"计划存在相同ID包件:{}",distributionCancelReservationPackageDTO.getPackageIds()); |
|
|
|
log.error(method+"计划存在相同ID包件:{}",distributionCancelReservationPackageDTO.getPackageIds()); |
|
|
|
return R.fail("此包件异常,请联系管理员...."); |
|
|
|
return R.fail("此包件异常,请联系管理员...."); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
bladeRedis.del("warehouseId:"+myCurrentWarehouse.getId()+"orderCode:"+cancelPackage.get(0).getOrderCode()); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
distributionStockArticleService.maintenanceOrderInfo(orderCodes,myCurrentWarehouse.getId()); |
|
|
|
distributionStockArticleService.maintenanceOrderInfo(orderCodes,myCurrentWarehouse.getId()); |
|
|
|