|
|
|
@ -43,6 +43,7 @@ import com.logpm.distribution.vo.app.*;
|
|
|
|
|
import com.logpm.distribution.vo.print.PrintPreviewVO; |
|
|
|
|
import com.logpm.distribution.wrapper.*; |
|
|
|
|
import com.logpm.warehouse.entity.WarehouseTrayGoodsEntity; |
|
|
|
|
import com.logpm.warehouse.feign.IWarehouseTrayGoodsClient; |
|
|
|
|
import com.logpm.warehouse.feign.IWarehouseTrayTypeClient; |
|
|
|
|
import com.logpm.warehouse.feign.IWarehouseUpdownTypeClient; |
|
|
|
|
import com.logpm.warehouse.vo.TrayTypeDataVO; |
|
|
|
@ -146,6 +147,8 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
private final IDistributionLoadscanAbnormalService distributionLoadscanAbnormalService; |
|
|
|
|
private final IDistributionReservationZeroPackageService distributionReservationZeroPackageService; |
|
|
|
|
private final IDistributionParcelNumberService distributionParcelNumberService; |
|
|
|
|
private final IWarehouseTrayGoodsClient warehouseTrayGoodsClient; |
|
|
|
|
// private final DistributionStockMapper distributionStockMapper;
|
|
|
|
|
// private final BladeRedis redis;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -2437,24 +2440,104 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
//查询客户
|
|
|
|
|
List<DistributionAppReservationVO> customList = distributionDeliveryInfoMapper.selectAppcustomListPage(page, distributionDeliveryList.getId()); |
|
|
|
|
for (DistributionAppReservationVO distributionAppReservationVO : customList) { |
|
|
|
|
List<DistributionParcelListEntity> parcelListEntities = distributionReservationMapper.selectPackageListByReservationId(distributionAppReservationVO.getId()); |
|
|
|
|
List<DistributionReservationStockarticleEntity> reservationStockarticleEntityList = distributionReservationMapper.selectStockArticleByReservationId(distributionAppReservationVO.getId()); |
|
|
|
|
List<DistributionStockEntity> distributionStockEntities = new ArrayList<>(); |
|
|
|
|
List<DistributionLoadscanEntity> loadscanEntityList = new ArrayList<>(); |
|
|
|
|
List<WarehouseTrayGoodsEntity> trayList = new ArrayList<>(); |
|
|
|
|
for (DistributionReservationStockarticleEntity reservationStockarticleEntity : reservationStockarticleEntityList) { |
|
|
|
|
if (reservationStockarticleEntity.equals(IsOrNoConstant.no.getValue())){ |
|
|
|
|
//查询订制品备货数量
|
|
|
|
|
List<DistributionStockEntity> packageListStockUpScan = distributionStockMapper.selectList(Wrappers.<DistributionStockEntity>query().lambda() |
|
|
|
|
.eq(DistributionStockEntity::getType, 1) |
|
|
|
|
.eq(DistributionStockEntity::getParcelListId, reservationStockarticleEntity.getStockArticleId()) |
|
|
|
|
.eq(DistributionStockEntity::getReservationId, reservationStockarticleEntity.getReservationId())); |
|
|
|
|
if (Func.isNotEmpty(packageListStockUpScan)){ |
|
|
|
|
distributionStockEntities.addAll(packageListStockUpScan); |
|
|
|
|
} |
|
|
|
|
//统计托盘数
|
|
|
|
|
//查询所有包件
|
|
|
|
|
List<DistributionParcelListEntity> parcelListEntities = distributionReservationMapper.selectPackageByReservationAndStockArticle(reservationStockarticleEntity.getReservationId(), reservationStockarticleEntity.getStockArticleId()); |
|
|
|
|
parcelListEntities.forEach(p->{ |
|
|
|
|
WarehouseTrayGoodsEntity warehouseTrayGoodsEntity = new WarehouseTrayGoodsEntity(); |
|
|
|
|
warehouseTrayGoodsEntity.setAssociationId(p.getId()); |
|
|
|
|
warehouseTrayGoodsEntity.setAssociationType("1"); |
|
|
|
|
List<WarehouseTrayGoodsEntity> trayGoodsClientTrayList = warehouseTrayGoodsClient.getTrayList(warehouseTrayGoodsEntity); |
|
|
|
|
if (Func.isNotEmpty(trayGoodsClientTrayList)){ |
|
|
|
|
trayList.addAll(trayGoodsClientTrayList); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
//查询订制品装车数量
|
|
|
|
|
List<DistributionLoadscanEntity> packageListLoadingScan = distributionLoadscanService.list(Wrappers.<DistributionLoadscanEntity>query().lambda() |
|
|
|
|
.eq(DistributionLoadscanEntity::getReservationId, reservationStockarticleEntity.getReservationId()) |
|
|
|
|
.eq(DistributionLoadscanEntity::getOrderId, reservationStockarticleEntity.getStockArticleId()) |
|
|
|
|
.ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())); |
|
|
|
|
if (Func.isNotEmpty(packageListLoadingScan)){ |
|
|
|
|
loadscanEntityList.addAll(packageListLoadingScan); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
}else if (reservationStockarticleEntity.equals(IsOrNoConstant.yes.getValue())){ |
|
|
|
|
//查询零担备货数量
|
|
|
|
|
List<DistributionStockEntity> zeroPackageListStockUpScan = distributionStockMapper.selectList(Wrappers.<DistributionStockEntity>query().lambda() |
|
|
|
|
.eq(DistributionStockEntity::getType, 2) |
|
|
|
|
.eq(DistributionStockEntity::getParcelListId, reservationStockarticleEntity.getStockArticleId()) |
|
|
|
|
.eq(DistributionStockEntity::getReservationId, reservationStockarticleEntity.getReservationId())); |
|
|
|
|
if (Func.isNotEmpty(zeroPackageListStockUpScan)){ |
|
|
|
|
distributionStockEntities.addAll(zeroPackageListStockUpScan); |
|
|
|
|
} |
|
|
|
|
//查询零担装车数量
|
|
|
|
|
List<DistributionLoadscanEntity> zeroPackageListLoadingScan = distributionLoadscanService.list(Wrappers.<DistributionLoadscanEntity>query().lambda() |
|
|
|
|
.eq(DistributionLoadscanEntity::getReservationId, reservationStockarticleEntity.getReservationId()) |
|
|
|
|
.eq(DistributionLoadscanEntity::getOrderId, reservationStockarticleEntity.getStockArticleId()) |
|
|
|
|
.ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())); |
|
|
|
|
if (Func.isNotEmpty(zeroPackageListLoadingScan)){ |
|
|
|
|
loadscanEntityList.addAll(zeroPackageListLoadingScan); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
distributionAppReservationVO.setTrayNum(0); |
|
|
|
|
if (Func.isNotEmpty(trayList)){ |
|
|
|
|
Long count = trayList.stream().map(WarehouseTrayGoodsEntity::getTrayId).count(); |
|
|
|
|
distributionAppReservationVO.setTrayNum(count.intValue()); |
|
|
|
|
} |
|
|
|
|
List<DisStockListDetailEntity> stockListDetailEntityList = distributionReservationMapper.selectInventoryListByReservation(distributionAppReservationVO.getId()); |
|
|
|
|
boolean stockArticleStockupStatus = parcelListEntities.stream().allMatch(s -> Func.isNotEmpty(s.getOrderPackageStockupStatus()) && s.getOrderPackageStockupStatus().equals(OrderPackageStockupStatusConstant.yibeihu.getValue())); |
|
|
|
|
boolean inventoryStockupStatus = stockListDetailEntityList.stream().allMatch(i -> Func.isNotEmpty(i.getStockPackageCode())); |
|
|
|
|
if (stockArticleStockupStatus && inventoryStockupStatus) { |
|
|
|
|
// boolean inventoryStockupStatus = stockListDetailEntityList.stream().allMatch(i -> Func.isNotEmpty(i.getStockPackageCode()));
|
|
|
|
|
//备货数和计划数一致时完成备货
|
|
|
|
|
if (distributionStockEntities.size()+stockListDetailEntityList.stream().filter(s->Func.isNotEmpty(s.getStockPackageCode())).count() == distributionAppReservationVO.getReservationNum()){ |
|
|
|
|
distributionAppReservationVO.setIsstock("是"); |
|
|
|
|
} else { |
|
|
|
|
}else { |
|
|
|
|
distributionAppReservationVO.setIsstock("否"); |
|
|
|
|
} |
|
|
|
|
boolean stockArticleLoadingStatus = parcelListEntities.stream().allMatch(s -> Func.isNotEmpty(s.getOrderPackageLoadingStatus()) && s.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.yizhuangche.getValue())); |
|
|
|
|
boolean inventoryLoadingStatus = stockListDetailEntityList.stream().allMatch(i -> Func.isNotEmpty(i.getStockPackageCode()) && i.getStockLockingStatus().equals(InventoryLoadingStatusConstant.yizhuangche.getValue())); |
|
|
|
|
if (stockArticleLoadingStatus && inventoryLoadingStatus) { |
|
|
|
|
int packageListScanNum = loadscanEntityList.stream().mapToInt(DistributionLoadscanEntity::getLoadedNub).sum(); |
|
|
|
|
long inventoryListScanNum = stockListDetailEntityList.stream().filter(i -> Func.isNotEmpty(i.getStockPackageCode()) && i.getStockLockingStatus().equals(InventoryLoadingStatusConstant.yizhuangche.getValue())).count(); |
|
|
|
|
|
|
|
|
|
if (packageListScanNum + inventoryListScanNum ==distributionAppReservationVO.getReservationNum() ) { |
|
|
|
|
distributionAppReservationVO.setIsload("是"); |
|
|
|
|
} else { |
|
|
|
|
distributionAppReservationVO.setIsload("否"); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// List<DistributionParcelListEntity> parcelListEntities = distributionReservationMapper.selectPackageListByReservationId(distributionAppReservationVO.getId());
|
|
|
|
|
//
|
|
|
|
|
// boolean stockArticleStockupStatus = parcelListEntities.stream().allMatch(s -> Func.isNotEmpty(s.getOrderPackageStockupStatus()) && s.getOrderPackageStockupStatus().equals(OrderPackageStockupStatusConstant.yibeihu.getValue()));
|
|
|
|
|
// if (stockArticleStockupStatus && inventoryStockupStatus) {
|
|
|
|
|
// distributionAppReservationVO.setIsstock("是");
|
|
|
|
|
// } else {
|
|
|
|
|
// distributionAppReservationVO.setIsstock("否");
|
|
|
|
|
// }
|
|
|
|
|
// boolean stockArticleLoadingStatus = parcelListEntities.stream().allMatch(s -> Func.isNotEmpty(s.getOrderPackageLoadingStatus()) && s.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.yizhuangche.getValue()));
|
|
|
|
|
// boolean inventoryLoadingStatus = stockListDetailEntityList.stream().allMatch(i -> Func.isNotEmpty(i.getStockPackageCode()) && i.getStockLockingStatus().equals(InventoryLoadingStatusConstant.yizhuangche.getValue()));
|
|
|
|
|
// if (stockArticleLoadingStatus && inventoryLoadingStatus) {
|
|
|
|
|
// distributionAppReservationVO.setIsload("是");
|
|
|
|
|
// } else {
|
|
|
|
|
// distributionAppReservationVO.setIsload("否");
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// //查询备货是否完成
|
|
|
|
|
// int aLong = distributionStockMapper.selectCount(new QueryWrapper<DistributionStockEntity>().lambda()
|
|
|
|
|
// .eq(DistributionStockEntity::getReservationId, distributionAppReservationVO.getId())
|
|
|
|
|