Browse Source

自提BUG修复、预约redis资源释放BUG修复

pull/7/head
汤建军 11 months ago
parent
commit
2999141125
  1. 6
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockArticleVO.java
  2. 7
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java
  3. 68
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java

6
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockArticleVO.java

@ -141,6 +141,12 @@ public class DistributionStockArticleVO extends DistributionStockArticleEntity {
@ApiModelProperty(value = "签收数量")
private Integer signingNumber;
/**
* 计划数量
*/
@ApiModelProperty(value = "计划数量")
private Integer reservationNum;
/**
* 备货数量
*/

7
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java

@ -4643,13 +4643,18 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
String deliveryListId = (String) distributionDeliveryListDTO.get("deliveryListId");
DistributionDeliveryListEntity deliveryListEntity = this.getById(deliveryListId);
List<DistributionSignforEntity> distributionSignforEntities = distributionSignforServicer.getBaseMapper().selectList(Wrappers.<DistributionSignforEntity>query().lambda().eq(DistributionSignforEntity::getDeliveryId, deliveryListEntity.getId()));
BladeUser user = AuthUtil.getUser();
distributionSignforEntities.forEach(s -> {
//2、将预约计划进行确认状态的回滚
// DistributionReservationEntity reservationEntity = distributionReservationMapper.selectById(s.getReservationId());
DistributionReservationEntity reservationEntity = distributionReservationMapper.selectOne(Wrappers.<DistributionReservationEntity>query().lambda().eq(DistributionReservationEntity::getId, s.getReservationId()).ne(DistributionReservationEntity::getReservationStatus, ReservationStatusConstant.yiquexiao.getValue()));
DistributionReservationEntity reservationEntity = distributionReservationMapper.selectOne(Wrappers.<DistributionReservationEntity>query().lambda()
.eq(DistributionReservationEntity::getId, s.getReservationId())
.ne(DistributionReservationEntity::getReservationStatus, ReservationStatusConstant.yiquexiao.getValue())
);
reservationEntity.setReservationStatus(ReservationStatusConstant.yiqueren.getValue());
reservationEntity.setLoadingStatus(ReservationLoadingStatusConstant.daizhuangche.getValue());
distributionReservationMapper.updateById(reservationEntity);
bladeRedis.del(user.getTenantId()+":"+ ModuleNameConstant.APPLICATION_DISTRIBUTION_NAME+":reservationLock"+reservationEntity.getReservationCode());
//将该预约下的所有包件信息进行修改为初始预约状态
List<DistributionReservationStockarticleEntity> reservationStockarticleEntityList = distributionReservationStockarticleMapper.selectList(Wrappers.<DistributionReservationStockarticleEntity>query().lambda().eq(DistributionReservationStockarticleEntity::getReservationId, reservationEntity.getId()).ne(DistributionReservationStockarticleEntity::getStockArticleStatus, ReservationOrderStatusConstant.quxiao.getValue()));
reservationStockarticleEntityList.forEach(o -> {

68
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java

@ -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 -> {

Loading…
Cancel
Save