Browse Source

Merge branch 'dev' into pre-production

master
pref_mail@163.com 10 months ago
parent
commit
ab814c90bc
  1. 133
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryInfoServiceImpl.java

133
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryInfoServiceImpl.java

@ -17,6 +17,7 @@
package com.logpm.distribution.service.impl; package com.logpm.distribution.service.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -80,6 +81,7 @@ public class DistributionDeliveryInfoServiceImpl extends BaseServiceImpl<Distrib
private IDistributionLoadscaninvnService distributionLoadscaninvnService; private IDistributionLoadscaninvnService distributionLoadscaninvnService;
private final IBasicdataWarehouseClient basicdataWarehouseClient; private final IBasicdataWarehouseClient basicdataWarehouseClient;
@Override @Override
public IPage<DistributionDeliveryInfoVO> selectDistributionDeliveryInfoPage(IPage<DistributionDeliveryInfoVO> page, DistributionDeliveryInfoVO distributionDeliveryInfo) { public IPage<DistributionDeliveryInfoVO> selectDistributionDeliveryInfoPage(IPage<DistributionDeliveryInfoVO> page, DistributionDeliveryInfoVO distributionDeliveryInfo) {
List<DistributionDeliveryInfoVO> distributionDeliveryInfoVOS = baseMapper.selectDistributionDeliveryInfoPage(page, distributionDeliveryInfo); List<DistributionDeliveryInfoVO> distributionDeliveryInfoVOS = baseMapper.selectDistributionDeliveryInfoPage(page, distributionDeliveryInfo);
@ -137,13 +139,19 @@ public class DistributionDeliveryInfoServiceImpl extends BaseServiceImpl<Distrib
List<DistributionParcelListVO> parcelListVOS = DistributionParcelListWrapper.build().listVO(parcelListEntityList); List<DistributionParcelListVO> parcelListVOS = DistributionParcelListWrapper.build().listVO(parcelListEntityList);
LambdaQueryWrapper<DistributionLoadscanEntity> loadscanEntityWrapper = new LambdaQueryWrapper<>();
loadscanEntityWrapper.eq(DistributionLoadscanEntity::getReservationId, reservationId);
if (!ids.isEmpty()) {
loadscanEntityWrapper.in(DistributionLoadscanEntity::getPackageId, ids);
}
if (!orderPackageCodes.isEmpty()) {
loadscanEntityWrapper.in(DistributionLoadscanEntity::getOrderPackageCode, orderPackageCodes);
}
loadscanEntityWrapper.ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue());
// 保持不变,优化性能需要注意的是ids和orderPackageCodes的处理 // 保持不变,优化性能需要注意的是ids和orderPackageCodes的处理
List<DistributionLoadscanEntity> loadscanEntitys = distributionLoadscanService.list(Wrappers.<DistributionLoadscanEntity>query().lambda() List<DistributionLoadscanEntity> loadscanEntitys = distributionLoadscanService.list(loadscanEntityWrapper);
.in(DistributionLoadscanEntity::getPackageId, ids)
.eq(DistributionLoadscanEntity::getReservationId, reservationId)
.ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())
.in(DistributionLoadscanEntity::getOrderPackageCode, orderPackageCodes)
);
// 对加载的VO列表进行处理的逻辑抽取到一个独立的方法 // 对加载的VO列表进行处理的逻辑抽取到一个独立的方法
processParcelListVOS(parcelListVOS, loadscanEntitys, reservationIdStr); processParcelListVOS(parcelListVOS, loadscanEntitys, reservationIdStr);
@ -163,50 +171,48 @@ public class DistributionDeliveryInfoServiceImpl extends BaseServiceImpl<Distrib
} }
} }
}); });
} }
private void updateParcelStatus(DistributionParcelListVO parcel, DistributionLoadscanEntity loadscanEntity) { private void updateParcelStatus(DistributionParcelListVO parcel, DistributionLoadscanEntity loadscanEntity) {
parcel.setLoadingTime(loadscanEntity.getScanTime()); parcel.setLoadingTime(loadscanEntity.getScanTime());
switch (loadscanEntity.getScanStatus()) { switch (loadscanEntity.getScanStatus()) {
case "1": case "1":
parcel.setScanStatus(LoadingStatusConstant.quxiao.getName()); parcel.setScanStatus(LoadingStatusConstant.quxiao.getName());
break; break;
case "2": case "2":
parcel.setScanStatus(LoadingStatusConstant.saomiao.getName()); parcel.setScanStatus(LoadingStatusConstant.saomiao.getName());
break; break;
case "3": case "3":
parcel.setScanStatus(LoadingStatusConstant.queren.getName()); parcel.setScanStatus(LoadingStatusConstant.queren.getName());
break; break;
case "4": case "4":
parcel.setScanStatus(LoadingStatusConstant.yijianzhuangche.getName()); parcel.setScanStatus(LoadingStatusConstant.yijianzhuangche.getName());
break; break;
case "5": case "5":
parcel.setScanStatus(LoadingStatusConstant.buluzhuangche.getName()); parcel.setScanStatus(LoadingStatusConstant.buluzhuangche.getName());
break; break;
default: default:
log.info("loadscanEntity.getScanStatus() does not meet matching conditions: {}", loadscanEntity.getScanStatus()); log.info("loadscanEntity.getScanStatus() does not meet matching conditions: {}", loadscanEntity.getScanStatus());
break; break;
} }
if (Func.isNotEmpty(loadscanEntity.getSigningTime())) { if (Func.isNotEmpty(loadscanEntity.getSigningTime())) {
parcel.setSigningTime(loadscanEntity.getSigningTime()); parcel.setSigningTime(loadscanEntity.getSigningTime());
} }
if (Func.isNotEmpty(loadscanEntity.getScanUser())) { if (Func.isNotEmpty(loadscanEntity.getScanUser())) {
parcel.setScanUser(loadscanEntity.getScanUser()); parcel.setScanUser(loadscanEntity.getScanUser());
} }
if (Func.isNotEmpty(loadscanEntity.getDriverName())) { if (Func.isNotEmpty(loadscanEntity.getDriverName())) {
parcel.setDriverName(loadscanEntity.getDriverName()); parcel.setDriverName(loadscanEntity.getDriverName());
} }
if (Func.isNotEmpty(loadscanEntity.getSigningUser())) { if (Func.isNotEmpty(loadscanEntity.getSigningUser())) {
parcel.setSigningUser(loadscanEntity.getSigningUser()); parcel.setSigningUser(loadscanEntity.getSigningUser());
} }
} }
private DistributionLoadscanEntity getLoadscanEntity(List<DistributionLoadscanEntity> loadscanEntitys, DistributionParcelListVO p) { private DistributionLoadscanEntity getLoadscanEntity(List<DistributionLoadscanEntity> loadscanEntitys, DistributionParcelListVO p) {
for (DistributionLoadscanEntity loadscanEntity : loadscanEntitys) { for (DistributionLoadscanEntity loadscanEntity : loadscanEntitys) {
if(loadscanEntity.getPackageId().equals(p.getId())&& loadscanEntity.getOrderPackageCode().equals(p.getOrderPackageCode())){ if (loadscanEntity.getPackageId().equals(p.getId()) && loadscanEntity.getOrderPackageCode().equals(p.getOrderPackageCode())) {
return loadscanEntity; return loadscanEntity;
} }
} }
@ -278,7 +284,7 @@ public class DistributionDeliveryInfoServiceImpl extends BaseServiceImpl<Distrib
s.setOrderStatusName(OrderStatusConstant.qianshou.getName()); s.setOrderStatusName(OrderStatusConstant.qianshou.getName());
break; break;
default: default:
log.info("selectDistributionDeliveryorder 不满足匹配值 s.getOrderStatus() {}",s.getOrderStatus()); log.info("selectDistributionDeliveryorder 不满足匹配值 s.getOrderStatus() {}", s.getOrderStatus());
break; break;
} }
}); });
@ -340,7 +346,7 @@ public class DistributionDeliveryInfoServiceImpl extends BaseServiceImpl<Distrib
s.setOrderStatusName(OrderStatusConstant.qianshou.getName()); s.setOrderStatusName(OrderStatusConstant.qianshou.getName());
break; break;
default: default:
log.info("selectDistributionDeliveryorder 不满足匹配值 s.getOrderStatus() {}",s.getOrderStatus()); log.info("selectDistributionDeliveryorder 不满足匹配值 s.getOrderStatus() {}", s.getOrderStatus());
break; break;
} }
}); });
@ -360,7 +366,7 @@ public class DistributionDeliveryInfoServiceImpl extends BaseServiceImpl<Distrib
//-------------------------------------2023-10-07 客户查看订单详情----------------------------------------------------------------- //-------------------------------------2023-10-07 客户查看订单详情-----------------------------------------------------------------
// 这里先查询出客户的订单信息,然后查询订单的预约包件信息 // 这里先查询出客户的订单信息,然后查询订单的预约包件信息
BasicdataWarehouseEntity myCurrentWarehouse =basicdataWarehouseClient.getMyCurrentWarehouse(); BasicdataWarehouseEntity myCurrentWarehouse = basicdataWarehouseClient.getMyCurrentWarehouse();
Long reservationId = Long.parseLong(distributionAppDeliveryListDTO.getReservationId()); Long reservationId = Long.parseLong(distributionAppDeliveryListDTO.getReservationId());
List<DistributionStockArticleVO> stockArticleVOS = distributionReservationMapper.selectOrderInfoByReservationId(reservationId); List<DistributionStockArticleVO> stockArticleVOS = distributionReservationMapper.selectOrderInfoByReservationId(reservationId);
@ -387,7 +393,7 @@ public class DistributionDeliveryInfoServiceImpl extends BaseServiceImpl<Distrib
loadingPackage = orderInfo.get(ord.getId()).stream().collect(Collectors.toMap(DistributionLoadscanEntity::getPackageId, Function.identity(), (k1, k2) -> k2)); loadingPackage = orderInfo.get(ord.getId()).stream().collect(Collectors.toMap(DistributionLoadscanEntity::getPackageId, Function.identity(), (k1, k2) -> k2));
} }
if (ord.getIsZero().equals(IsOrNoConstant.no.getValue())) { if (ord.getIsZero().equals(IsOrNoConstant.no.getValue())) {
List<DistributionParcelListEntity> parcelListEntities = distributionReservationMapper.selectPackageByReservationAndStockArticle(reservationId, ord.getId(),myCurrentWarehouse.getId()); List<DistributionParcelListEntity> parcelListEntities = distributionReservationMapper.selectPackageByReservationAndStockArticle(reservationId, ord.getId(), myCurrentWarehouse.getId());
List<DistributionAppParcelListVO> ks = new ArrayList<>(); List<DistributionAppParcelListVO> ks = new ArrayList<>();
AtomicInteger atomicInteger = new AtomicInteger(); AtomicInteger atomicInteger = new AtomicInteger();
// 装车数量 // 装车数量
@ -396,8 +402,8 @@ public class DistributionDeliveryInfoServiceImpl extends BaseServiceImpl<Distrib
DistributionAppParcelListVO appParcelListVO = Func.copy(parcelListEntity, DistributionAppParcelListVO.class); DistributionAppParcelListVO appParcelListVO = Func.copy(parcelListEntity, DistributionAppParcelListVO.class);
if (Func.isNotEmpty(loadingPackage.get(parcelListEntity.getId()))) { if (Func.isNotEmpty(loadingPackage.get(parcelListEntity.getId()))) {
atomicInteger.getAndIncrement(); atomicInteger.getAndIncrement();
assert appParcelListVO != null; assert appParcelListVO != null;
appParcelListVO.setScanStatus(2); appParcelListVO.setScanStatus(2);
appParcelListVO.setIsScan("已扫"); appParcelListVO.setIsScan("已扫");
loadingPackage.remove(parcelListEntity.getId()); loadingPackage.remove(parcelListEntity.getId());
loadingNum.getAndAdd(parcelListEntity.getQuantity()); loadingNum.getAndAdd(parcelListEntity.getQuantity());
@ -406,8 +412,8 @@ public class DistributionDeliveryInfoServiceImpl extends BaseServiceImpl<Distrib
} else { } else {
//此时这个订单内还存在装车的包件,这些包件就是异常装车的包件了 //此时这个订单内还存在装车的包件,这些包件就是异常装车的包件了
assert appParcelListVO != null; assert appParcelListVO != null;
appParcelListVO.setScanStatus(1); appParcelListVO.setScanStatus(1);
appParcelListVO.setIsScan("未扫"); appParcelListVO.setIsScan("未扫");
} }
ks.add(appParcelListVO); ks.add(appParcelListVO);
@ -525,14 +531,14 @@ public class DistributionDeliveryInfoServiceImpl extends BaseServiceImpl<Distrib
for (DistributionLoadscanEntity loadscanEntity : v) { for (DistributionLoadscanEntity loadscanEntity : v) {
DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(loadscanEntity.getPackageId()); DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(loadscanEntity.getPackageId());
DistributionAppParcelListVO parcelListVO = Func.copy(parcelListEntity, DistributionAppParcelListVO.class); DistributionAppParcelListVO parcelListVO = Func.copy(parcelListEntity, DistributionAppParcelListVO.class);
assert parcelListVO != null; assert parcelListVO != null;
parcelListVO.setScanStatus(3); parcelListVO.setScanStatus(3);
parcelListVO.setIsScan("异常"); parcelListVO.setIsScan("异常");
loadingNum.getAndAdd(parcelListEntity.getQuantity()); loadingNum.getAndAdd(parcelListEntity.getQuantity());
distributionAppParcelListVOS.add(parcelListVO); distributionAppParcelListVOS.add(parcelListVO);
} }
assert appStockArticleVO != null; assert appStockArticleVO != null;
appStockArticleVO.setIsZero(stockArticleEntity.getIsZero()); appStockArticleVO.setIsZero(stockArticleEntity.getIsZero());
appStockArticleVO.setLoadingNub(loadingNum.get()); appStockArticleVO.setLoadingNub(loadingNum.get());
appStockArticleVO.setIsHaveAbnormalPackage(2); appStockArticleVO.setIsHaveAbnormalPackage(2);
appStockArticleVO.setIsHaveAbnormalPackageName("整单异常"); appStockArticleVO.setIsHaveAbnormalPackageName("整单异常");
@ -640,13 +646,12 @@ public class DistributionDeliveryInfoServiceImpl extends BaseServiceImpl<Distrib
@Override @Override
public IPage<DistributionReservationInventoryPackageVO> getReservationPackageList(Map<String, Object> reservationPackageDTO, IPage<DistributionReservationInventoryPackageVO> page) { public IPage<DistributionReservationInventoryPackageVO> getReservationPackageList(Map<String, Object> reservationPackageDTO, IPage<DistributionReservationInventoryPackageVO> page) {
String method = "DistributionDeliveryInfoServiceImpl类,getReservationPackageList方法"; String method = "DistributionDeliveryInfoServiceImpl类,getReservationPackageList方法";
if (Func.isEmpty(reservationPackageDTO.get("reservationId"))){ if (Func.isEmpty(reservationPackageDTO.get("reservationId"))) {
//参数缺失 //参数缺失
log.error(method+"reservationId参数缺失"); log.error(method + "reservationId参数缺失");
return null; return null;
} }
IPage<DistributionReservationInventoryPackageVO> reservationInventoryPackageVOIPage = distributionReservationMapper.selectInvenToryPackageByReservationInfo(reservationPackageDTO,page); IPage<DistributionReservationInventoryPackageVO> reservationInventoryPackageVOIPage = distributionReservationMapper.selectInvenToryPackageByReservationInfo(reservationPackageDTO, page);
return reservationInventoryPackageVOIPage; return reservationInventoryPackageVOIPage;
@ -656,13 +661,13 @@ public class DistributionDeliveryInfoServiceImpl extends BaseServiceImpl<Distrib
@Override @Override
public IPage<DistributionReservationZeroPackageVO> getReservationZeroPackageList(Map<String, Object> reservationPackageDTO, IPage<DistributionReservationZeroPackageVO> page) { public IPage<DistributionReservationZeroPackageVO> getReservationZeroPackageList(Map<String, Object> reservationPackageDTO, IPage<DistributionReservationZeroPackageVO> page) {
String method = "DistributionDeliveryInfoServiceImpl类,getReservationPackageList方法"; String method = "DistributionDeliveryInfoServiceImpl类,getReservationPackageList方法";
if (Func.isEmpty(reservationPackageDTO.get("reservationId"))){ if (Func.isEmpty(reservationPackageDTO.get("reservationId"))) {
//参数缺失 //参数缺失
log.error(method+"reservationId参数缺失"); log.error(method + "reservationId参数缺失");
return null; return null;
} }
IPage<DistributionReservationZeroPackageVO> reservationInventoryPackageVOIPage = distributionReservationMapper.selectZeroPackageByReservationInfo(reservationPackageDTO,page); IPage<DistributionReservationZeroPackageVO> reservationInventoryPackageVOIPage = distributionReservationMapper.selectZeroPackageByReservationInfo(reservationPackageDTO, page);
return reservationInventoryPackageVOIPage; return reservationInventoryPackageVOIPage;
} }

Loading…
Cancel
Save