|
|
|
@ -65,6 +65,7 @@ import org.apache.logging.log4j.util.Strings;
|
|
|
|
|
import org.jetbrains.annotations.NotNull; |
|
|
|
|
import org.springblade.common.constant.DistributionTypeConstant; |
|
|
|
|
import org.springblade.common.constant.Inventory.InventoryLoadingStatusConstant; |
|
|
|
|
import org.springblade.common.constant.Inventory.InventoryPackageStatusConstant; |
|
|
|
|
import org.springblade.common.constant.Inventory.InventorySigningStatusConstant; |
|
|
|
|
import org.springblade.common.constant.Inventory.InventoryStockUpStatusConstant; |
|
|
|
|
import org.springblade.common.constant.ModuleNameConstant; |
|
|
|
@ -1786,7 +1787,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
@NotNull |
|
|
|
|
private static DistributionLoadscaninvnEntity getDistributionLoadscaninvnEntity(DistrilbutionloadingscanDTO distrilbutionloadingscanDTO, DistributionDeliverySelfEntity distributionDeliverySelfEntity, List<DisStockListDetailEntity> disStockListDetailEntities, BasicdataWarehouseEntity warehouseEntity) { |
|
|
|
|
private static DistributionLoadscaninvnEntity getDistributionLoadscaninvnEntity(DistrilbutionloadingscanDTO distrilbutionloadingscanDTO, DistributionDeliverySelfEntity distributionDeliverySelfEntity, DisStockListDetailEntity disStockListDetailEntity, BasicdataWarehouseEntity warehouseEntity) { |
|
|
|
|
DistributionLoadscaninvnEntity distributionLoadscaninvnEntity = new DistributionLoadscaninvnEntity(); |
|
|
|
|
BladeUser user = AuthUtil.getUser(); |
|
|
|
|
String now = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); |
|
|
|
@ -1810,125 +1811,20 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
distributionLoadscaninvnEntity.setScanType("1"); |
|
|
|
|
distributionLoadscaninvnEntity.setScanUser(user.getUserName()); |
|
|
|
|
distributionLoadscaninvnEntity.setScanTime(now); |
|
|
|
|
distributionLoadscaninvnEntity.setOrderPackageCode(disStockListDetailEntities.get(0).getStockPackageCode()); |
|
|
|
|
distributionLoadscaninvnEntity.setInventoryId(disStockListDetailEntities.get(0).getStockListId()); |
|
|
|
|
distributionLoadscaninvnEntity.setReservationId(disStockListDetailEntities.get(0).getReservationId()); |
|
|
|
|
distributionLoadscaninvnEntity.setOrderPackageCode(disStockListDetailEntity.getStockPackageCode()); |
|
|
|
|
distributionLoadscaninvnEntity.setInventoryId(disStockListDetailEntity.getStockListId()); |
|
|
|
|
distributionLoadscaninvnEntity.setReservationId(disStockListDetailEntity.getReservationId()); |
|
|
|
|
distributionLoadscaninvnEntity.setOneClick(1); |
|
|
|
|
distributionLoadscaninvnEntity.setWarehouseId(warehouseEntity.getId()); |
|
|
|
|
distributionLoadscaninvnEntity.setWarehouseName(warehouseEntity.getName()); |
|
|
|
|
distributionLoadscaninvnEntity.setInventoryPackageId(disStockListDetailEntities.get(0).getId()); |
|
|
|
|
distributionLoadscaninvnEntity.setLoadedNub(disStockListDetailEntities.get(0).getNum()); |
|
|
|
|
distributionLoadscaninvnEntity.setInventoryPackageId(disStockListDetailEntity.getId()); |
|
|
|
|
distributionLoadscaninvnEntity.setLoadedNub(disStockListDetailEntity.getNum()); |
|
|
|
|
distributionLoadscaninvnEntity.setDeliveryId(distrilbutionloadingscanDTO.getDeliveryId()); |
|
|
|
|
distributionLoadscaninvnEntity.setIsInsert(LoadingIsInsertConstant.zhengchang.getValue()); |
|
|
|
|
distributionLoadscaninvnEntity.setScanSynchronous(1); |
|
|
|
|
return distributionLoadscaninvnEntity; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// if (distributionLoadscaninvnEntities.size() == 1) {
|
|
|
|
|
// return R.fail("重复扫描");
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
//这里就需要将此库存品和计划中的进行校验,如果此时无法从
|
|
|
|
|
//查询出该客户下的所有库存品包件信息
|
|
|
|
|
// List<DisStockListDetailEntity> list = disStockListDetailService.list(Wrappers.<DisStockListDetailEntity>query().lambda().eq(DisStockListDetailEntity::getReservationId, distrilbutionloadingscanDTO.getReservationId()));
|
|
|
|
|
// if (list.size() < 0) {
|
|
|
|
|
// return R.fail("无效包条!!");
|
|
|
|
|
// }
|
|
|
|
|
// //1、不存在这个客户的库存品列表中,串货
|
|
|
|
|
// List<DisStockListDetailEntity> disStockListDetailEntities = disStockListDetailService.list(Wrappers.<DisStockListDetailEntity>query().lambda()
|
|
|
|
|
// .eq(DisStockListDetailEntity::getReservationId, distrilbutionloadingscanDTO.getReservationId())
|
|
|
|
|
// .eq(DisStockListDetailEntity::getStockPackageCode, distrilbutionloadingscanDTO.getBarcode()));
|
|
|
|
|
// if (disStockListDetailEntities.size() == 1) {
|
|
|
|
|
// //这里就需要插入库存品扫描信息
|
|
|
|
|
// ArrayList<DistributionLoadscaninvnEntity> distributionLoadscaninvnEntityArrayList = new ArrayList<>();
|
|
|
|
|
// for (int i = 0; i < disStockListDetailEntities.size(); i++) {
|
|
|
|
|
// //依次插入该装车记录,设置车辆
|
|
|
|
|
// DistributionLoadscaninvnEntity distributionLoadscaninvnEntity = new DistributionLoadscaninvnEntity();
|
|
|
|
|
// if (null != distributionDeliverySelfEntity.getDriverId()) {
|
|
|
|
|
// distributionLoadscaninvnEntity.setDriverId(distributionDeliverySelfEntity.getDriverId());
|
|
|
|
|
// }
|
|
|
|
|
// distributionLoadscaninvnEntity.setDriverName(distributionDeliverySelfEntity.getDriverName());
|
|
|
|
|
// distributionLoadscaninvnEntity.setScanStatus(LoadingStatusConstant.saomiao.getValue());
|
|
|
|
|
// distributionLoadscaninvnEntity.setScanType("1");
|
|
|
|
|
// BladeUser user = AuthUtil.getUser();
|
|
|
|
|
// distributionLoadscaninvnEntity.setScanUser(user.getNickName());
|
|
|
|
|
// distributionLoadscaninvnEntity.setScanTime(new Date());
|
|
|
|
|
// distributionLoadscaninvnEntity.setOrderPackageCode(disStockListDetailEntities.get(i).getStockPackageCode());
|
|
|
|
|
// if (null == distributionLoadscaninvnEntity.getPackageNub()) {
|
|
|
|
|
// distributionLoadscaninvnEntity.setPackageNub(1);
|
|
|
|
|
// }
|
|
|
|
|
// distributionLoadscaninvnEntity.setLoadingId(distrilbutionloadingscanDTO.getLoadingId());
|
|
|
|
|
// distributionLoadscaninvnEntity.setVehicleName(distributionDeliverySelfEntity.getVehicleNub());
|
|
|
|
|
// if (null != distributionDeliverySelfEntity.getDriverPhone()) {
|
|
|
|
|
// distributionLoadscaninvnEntity.setDriverPhone(distributionDeliverySelfEntity.getDriverPhone());
|
|
|
|
|
// }
|
|
|
|
|
// if (null != distributionDeliverySelfEntity.getVehicleId()) {
|
|
|
|
|
// distributionLoadscaninvnEntity.setVehicleId(distributionDeliverySelfEntity.getVehicleId());
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// distributionLoadscaninvnEntityArrayList.add(distributionLoadscaninvnEntity);
|
|
|
|
|
// }
|
|
|
|
|
// b = distributionLoadscaninvnService.saveBatch(distributionLoadscaninvnEntityArrayList);
|
|
|
|
|
//
|
|
|
|
|
// } else {
|
|
|
|
|
// return Resp.scanFail("重复包条码!!","4564");
|
|
|
|
|
// }
|
|
|
|
|
// //2、不存在这个车次中无效包条码
|
|
|
|
|
// //3、重复扫码
|
|
|
|
|
// distributionAsyncService.changeMarketDeliveryListStatus(distrilbutionloadingscanDTO.getBarcode(), distrilbutionloadingscanDTO.getDeliveryId());
|
|
|
|
|
//// return Resp.scanFail(b);
|
|
|
|
|
|
|
|
|
|
// // if (distrilbutionloadingscanDTO.getInventorytype() == 3) {
|
|
|
|
|
// //无拆包
|
|
|
|
|
// List<DistributionLoadscaninvnEntity> distributionLoadscanvnEntities = new ArrayList<>();
|
|
|
|
|
//// distributionLoadscanvnEntities = baseMapper.selectdeliveryworkVnScan(distrilbutionloadingscanDTO.getBarcode(), distrilbutionloadingscanDTO.getReservationId());
|
|
|
|
|
//// if (distributionLoadscanvnEntities.size() <= 0) {
|
|
|
|
|
// //拆包从备货查询
|
|
|
|
|
// distributionLoadscanvnEntities = baseMapper.selectdeliveryworkVnScanStock(distrilbutionloadingscanDTO.getBarcode(), distrilbutionloadingscanDTO.getReservationId(), distrilbutionloadingscanDTO.getDeliveryId());
|
|
|
|
|
//// if (distributionLoadscanvnEntities.size() <= 0) {
|
|
|
|
|
//// return R.fail(3001, "窜货");
|
|
|
|
|
//// }
|
|
|
|
|
//// }
|
|
|
|
|
// for (DistributionLoadscaninvnEntity distributionLoadscanEntity : distributionLoadscanvnEntities) {
|
|
|
|
|
// //查询是否重复扫码
|
|
|
|
|
//// List<DistributionLoadscanEntity> distributionLoadscanEntitiesflag = distributionLoadscanMapper.selectList(new QueryWrapper<DistributionLoadscanEntity>().lambda()
|
|
|
|
|
//// .eq(DistributionLoadscanEntity::getDeliveryId, distributionLoadscanEntity.getReservationId())
|
|
|
|
|
//// .eq(DistributionLoadscanEntity::getOrderPackageCode, distributionLoadscanEntity.getOrderPackageCode())
|
|
|
|
|
//// .ne(DistributionLoadscanEntity::getScanStatus, 1)
|
|
|
|
|
//// );
|
|
|
|
|
//// if (distributionLoadscanEntitiesflag.size() > 0) {
|
|
|
|
|
//// return R.fail(3002, "重复货物");
|
|
|
|
|
//// }
|
|
|
|
|
// //依次插入该装车记录,设置车辆
|
|
|
|
|
// if (null != distributionDeliverySelfEntity.getDriverId()) {
|
|
|
|
|
// distributionLoadscanEntity.setDriverId(distributionDeliverySelfEntity.getDriverId());
|
|
|
|
|
// }
|
|
|
|
|
// distributionLoadscanEntity.setDriverName(distributionDeliverySelfEntity.getDriverName());
|
|
|
|
|
// distributionLoadscanEntity.setScanStatus(2);
|
|
|
|
|
// distributionLoadscanEntity.setScanType("1");
|
|
|
|
|
// distributionLoadscanEntity.setScanTime(new Date());
|
|
|
|
|
// if (null == distributionLoadscanEntity.getPackageNub()) {
|
|
|
|
|
// distributionLoadscanEntity.setPackageNub(1);
|
|
|
|
|
// }
|
|
|
|
|
// distributionLoadscanEntity.setLoadingId(distrilbutionloadingscanDTO.getLoadingId());
|
|
|
|
|
// distributionLoadscanEntity.setVehicleName(distributionDeliverySelfEntity.getVehicleNub());
|
|
|
|
|
// if (null != distributionDeliverySelfEntity.getDriverPhone()) {
|
|
|
|
|
// distributionLoadscanEntity.setDriverPhone(distributionDeliverySelfEntity.getDriverPhone());
|
|
|
|
|
// }
|
|
|
|
|
// if (null != distributionDeliverySelfEntity.getVehicleId()) {
|
|
|
|
|
// distributionLoadscanEntity.setVehicleId(distributionDeliverySelfEntity.getVehicleId());
|
|
|
|
|
// }
|
|
|
|
|
// //查询本车次是否第一次扫码,没有则更新上车时间
|
|
|
|
|
// Integer i = distributionDeliveryListMapper.updateloadingTimeById(distrilbutionloadingscanDTO.getDeliveryId());
|
|
|
|
|
// //更新签收表的装车数量
|
|
|
|
|
// Integer j = distributionSignforMapper.updateloadByinvn(distributionLoadscanEntity.getDeliveryId(), distributionLoadscanEntity.getReservationId(), distributionLoadscanEntity.getPackageNub());
|
|
|
|
|
// }
|
|
|
|
|
// b = distributionLoadscaninvnService.saveBatch(distributionLoadscanvnEntities);
|
|
|
|
|
//// } else if (distrilbutionloadingscanDTO.getInventorytype() == 1) {
|
|
|
|
|
// //TODO 库存品手动输入
|
|
|
|
|
//
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public IPage<DistributionDeliveryListPrintReponseVO> customListPage(IPage<DistributionDeliveryListPrintReponseVO> page, QueryWrapper<DistributionDeliveryListPrintRequestVO> queryWrapper) { |
|
|
|
@ -8021,7 +7917,6 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
return R.fail(403, "未授权!!!"); |
|
|
|
|
} |
|
|
|
|
Integer type = distrilbutionloadingscanDTO.getType(); |
|
|
|
|
String orderPackageCode = distrilbutionloadingscanDTO.getBarcode(); |
|
|
|
|
Long deliveryId = distrilbutionloadingscanDTO.getDeliveryId(); |
|
|
|
|
Long warehouseId = myCurrentWarehouse.getId(); |
|
|
|
|
DistributionDeliveryListEntity deliveryListEntity = this.getById(deliveryId); |
|
|
|
@ -8046,6 +7941,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
log.error(method + "参数缺失Barcode"); |
|
|
|
|
return Resp.fail("参数缺失,请联系管理员"); |
|
|
|
|
} |
|
|
|
|
String orderPackageCode = distrilbutionloadingscanDTO.getBarcode(); |
|
|
|
|
List<JSONObject> packageLogs = new ArrayList<>(); |
|
|
|
|
DistributionParcelListEntity parcelListEntity = distributionParcelListMapper.selectByOrderPackageCode(orderPackageCode, myCurrentWarehouse.getId()); |
|
|
|
|
if (Objects.isNull(parcelListEntity)) { |
|
|
|
@ -8080,7 +7976,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
} |
|
|
|
|
if (Objects.isNull(reservationId)) { |
|
|
|
|
//判定是否满足异常装车
|
|
|
|
|
Boolean isAbnormalLoadingFlag = judgeIsAbnormalLoading(deliveryId, parcelListEntity); |
|
|
|
|
Boolean isAbnormalLoadingFlag = judgeIsAbnormalLoading(deliveryId, parcelListEntity,reservationId); |
|
|
|
|
if (isAbnormalLoadingFlag) { |
|
|
|
|
return R.fail(5000, "异常装车"); |
|
|
|
|
log.info("异常装车判定成功>>>>>>packageCode:{},reservationId:{}", distrilbutionloadingscanDTO.getBarcode(), distrilbutionloadingscanDTO.getReservationId()); |
|
|
|
@ -8088,7 +7984,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
return Resp.scanFail("蹿货", "蹿货"); |
|
|
|
|
} |
|
|
|
|
//正常进行装车
|
|
|
|
|
DistributionLoadscanEntity loadscanEntity = createdDistributionLoadscanEntity(deliveryListEntity,distributionDeliverySelfEntity,reservationId,parcelListEntity); |
|
|
|
|
DistributionLoadscanEntity loadscanEntity = createdDistributionLoadscanEntity(deliveryListEntity,distributionDeliverySelfEntity,reservationId,parcelListEntity,myCurrentWarehouse,user); |
|
|
|
|
distributionLoadscanService.save(loadscanEntity); |
|
|
|
|
//更新包件装车状态
|
|
|
|
|
packageLockIds.add(parcelListEntity.getId()); |
|
|
|
@ -8122,14 +8018,200 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
} |
|
|
|
|
break; |
|
|
|
|
case 2: |
|
|
|
|
if (Objects.isNull(distrilbutionloadingscanDTO.getReservationId())){ |
|
|
|
|
log.error(method + "参数缺失ReservationId"); |
|
|
|
|
return Resp.fail("参数缺失,请联系管理员"); |
|
|
|
|
} |
|
|
|
|
if (Objects.isNull(distrilbutionloadingscanDTO.getParcelListDTOS())){ |
|
|
|
|
log.error(method + "参数缺失ParcelListDTOS"); |
|
|
|
|
return Resp.fail("参数缺失,请联系管理员"); |
|
|
|
|
} |
|
|
|
|
List<DistributionParcelNumberDTO> parcelListDTOS = distrilbutionloadingscanDTO.getParcelListDTOS(); |
|
|
|
|
|
|
|
|
|
boolean flag = parcelListDTOS.stream().allMatch(d -> d.getLoadingNum() < 0); |
|
|
|
|
if (flag) { |
|
|
|
|
log.error("############################# parcelListDTOS装车数据无效:{}", parcelListDTOS); |
|
|
|
|
return Resp.scanFail("装车失败", "请填写正确的装车数量!!!"); |
|
|
|
|
} |
|
|
|
|
String now = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); |
|
|
|
|
if (Func.isNotEmpty(distrilbutionloadingscanDTO.getReservationId())) { |
|
|
|
|
//查询该订单是否属于当前配送任务
|
|
|
|
|
List<DistributionReservationStockarticleEntity> reservationStockarticleEntityList = distributionReservationMapper.selectStockArticleByReservationId(distrilbutionloadingscanDTO.getReservationId()); |
|
|
|
|
if (Func.isNotEmpty(reservationStockarticleEntityList)) { |
|
|
|
|
//存在该计划,这里的异常装车只能
|
|
|
|
|
//这里就需要进行零担计划的查询
|
|
|
|
|
//对于零担订单对于同一个预约客户而言这里只能出现一种,这里就是单条结果
|
|
|
|
|
DistributionReservationStockarticleEntity reservationStockarticleEntity = reservationStockarticleEntityList.get(0); |
|
|
|
|
List<DistributionReservationZeroPackageEntity> reservationZeroPackageEntityList = distributionReservationZeroPackageService.list(Wrappers.<DistributionReservationZeroPackageEntity>query().lambda(). |
|
|
|
|
eq(DistributionReservationZeroPackageEntity::getReservationId, reservationStockarticleEntity.getReservationId()). |
|
|
|
|
eq(DistributionReservationZeroPackageEntity::getStockArticleId, distrilbutionloadingscanDTO.getOrderId()). |
|
|
|
|
ne(DistributionReservationZeroPackageEntity::getZeroPackageStatus, ReservationPackageStatusConstant.quxiao.getValue())); |
|
|
|
|
if (Func.isNotEmpty(reservationZeroPackageEntityList)) { |
|
|
|
|
//查询零担订单品类信息
|
|
|
|
|
List<Long> zeroPackageIds = reservationZeroPackageEntityList.stream().map(DistributionReservationZeroPackageEntity::getParcelListId).collect(Collectors.toList()); |
|
|
|
|
Map<Long, DistributionReservationZeroPackageEntity> reservationZeroPackageMap = reservationZeroPackageEntityList.stream().collect(Collectors.toMap(DistributionReservationZeroPackageEntity::getParcelListId, Function.identity(), (k1, k2) -> k2)); |
|
|
|
|
List<DistributionParcelNumberEntity> parcelNumberEntityList = distributionParcelNumberService.list(Wrappers.<DistributionParcelNumberEntity>query().lambda().in(DistributionParcelNumberEntity::getParcelListId, zeroPackageIds)); |
|
|
|
|
if (Func.isEmpty(parcelNumberEntityList)) { |
|
|
|
|
log.error("#######################查询零担品类信息错误,reservationID:{}", distrilbutionloadingscanDTO.getReservationId()); |
|
|
|
|
throw new RuntimeException("服务器正忙..."); |
|
|
|
|
} |
|
|
|
|
Map<Long, DistributionParcelNumberEntity> zeroPackageMap = parcelNumberEntityList.stream().collect(Collectors.toMap(DistributionParcelNumberEntity::getParcelListId, Function.identity(), (k1, k2) -> k2)); |
|
|
|
|
List<Long> operationZeroPackageIds = parcelListDTOS.stream().map(DistributionParcelNumberDTO::getParcelListId).collect(Collectors.toList()); |
|
|
|
|
//查询是否已经有装车数据了
|
|
|
|
|
List<DistributionLoadscanEntity> loadscanEntityList = distributionLoadscanService.list(Wrappers.<DistributionLoadscanEntity>query().lambda().eq(DistributionLoadscanEntity::getReservationId, reservationStockarticleEntity.getReservationId()).eq(DistributionLoadscanEntity::getOrderId, reservationStockarticleEntity.getStockArticleId()).in(DistributionLoadscanEntity::getPackageId, operationZeroPackageIds).ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())); |
|
|
|
|
Map<Long, List<DistributionLoadscanEntity>> loadMap = null; |
|
|
|
|
if (Func.isNotEmpty(loadscanEntityList)) { |
|
|
|
|
loadMap = loadscanEntityList.stream().collect(Collectors.groupingBy(DistributionLoadscanEntity::getPackageId)); |
|
|
|
|
} |
|
|
|
|
for (DistributionParcelNumberDTO parcelListDTO : parcelListDTOS) { |
|
|
|
|
DistributionParcelListEntity zeroParcelListEntity = distributionParcelListService.getById(parcelListDTO.getParcelListId()); |
|
|
|
|
if (Func.isEmpty(reservationZeroPackageMap.get(parcelListDTO.getParcelListId()))) { |
|
|
|
|
log.error("####################预约零担品类信息维护错误,parcelListDTO的ID:{}", parcelListDTO.getParcelListId()); |
|
|
|
|
throw new RuntimeException("服务器正忙..."); |
|
|
|
|
} |
|
|
|
|
DistributionReservationZeroPackageEntity reservationZeroPackageEntity = reservationZeroPackageMap.get(parcelListDTO.getParcelListId()); |
|
|
|
|
if (parcelListDTO.getLoadingNum() > reservationZeroPackageEntity.getQuantity()) { |
|
|
|
|
log.error("####################预约零担品类信息维护错误,parcelListDTO的ID:{}", parcelListDTO.getParcelListId()); |
|
|
|
|
throw new RuntimeException("计划数:" + reservationZeroPackageEntity.getQuantity()); |
|
|
|
|
} |
|
|
|
|
if (Func.isNotEmpty(loadMap)) { |
|
|
|
|
List<DistributionLoadscanEntity> loadscanEntities = loadMap.get(parcelListDTO.getParcelListId()); |
|
|
|
|
if (Func.isNotEmpty(loadscanEntities)) { |
|
|
|
|
if (parcelListDTO.getLoadingNum() <= reservationZeroPackageEntity.getQuantity()) { |
|
|
|
|
//零担修改装车
|
|
|
|
|
DistributionLoadscanEntity loadscanEntity = loadscanEntities.get(0); |
|
|
|
|
updateZeroLoadingEntity(loadscanEntity,parcelListDTO,myCurrentWarehouse,zeroPackageMap); |
|
|
|
|
JSONObject jsonObject = new JSONObject(); |
|
|
|
|
jsonObject.put("code", zeroParcelListEntity.getOrderCode()); |
|
|
|
|
jsonObject.put("warehouseId", myCurrentWarehouse.getId()); |
|
|
|
|
jsonObject.put("taskId", distrilbutionloadingscanDTO.getReservationId()); |
|
|
|
|
jsonObject.put("type", 3); |
|
|
|
|
jsonObject.put("num", 1); |
|
|
|
|
jsonObject.put("remark", "装车下架"); |
|
|
|
|
jsonObjects.add(jsonObject); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
if (parcelListDTO.getLoadingNum() <= reservationZeroPackageEntity.getQuantity()) { |
|
|
|
|
//新增
|
|
|
|
|
addZeroLoadingEntity(distrilbutionloadingscanDTO, |
|
|
|
|
distributionDeliverySelfEntity, |
|
|
|
|
deliveryListEntity, |
|
|
|
|
distrilbutionloadingscanDTO.getReservationId(), |
|
|
|
|
parcelListDTO,myCurrentWarehouse, |
|
|
|
|
user, |
|
|
|
|
zeroPackageMap); |
|
|
|
|
packageLockIds.add(parcelListDTO.getParcelListId()); |
|
|
|
|
JSONObject jsonObject = new JSONObject(); |
|
|
|
|
jsonObject.put("code", zeroParcelListEntity.getOrderCode()); |
|
|
|
|
jsonObject.put("warehouseId", myCurrentWarehouse.getId()); |
|
|
|
|
jsonObject.put("taskId", distrilbutionloadingscanDTO.getReservationId()); |
|
|
|
|
jsonObject.put("type", 3); |
|
|
|
|
jsonObject.put("num", 1); |
|
|
|
|
jsonObject.put("remark", "装车下架"); |
|
|
|
|
jsonObjects.add(jsonObject); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
if (parcelListDTO.getLoadingNum() <= reservationZeroPackageEntity.getQuantity()) { |
|
|
|
|
//新增
|
|
|
|
|
addZeroLoadingEntity(distrilbutionloadingscanDTO, |
|
|
|
|
distributionDeliverySelfEntity, |
|
|
|
|
deliveryListEntity, |
|
|
|
|
distrilbutionloadingscanDTO.getReservationId(), |
|
|
|
|
parcelListDTO,myCurrentWarehouse, |
|
|
|
|
user, |
|
|
|
|
zeroPackageMap); |
|
|
|
|
packageLockIds.add(parcelListDTO.getParcelListId()); |
|
|
|
|
JSONObject jsonObject = new JSONObject(); |
|
|
|
|
jsonObject.put("code", zeroParcelListEntity.getOrderCode()); |
|
|
|
|
jsonObject.put("warehouseId", myCurrentWarehouse.getId()); |
|
|
|
|
jsonObject.put("taskId", distrilbutionloadingscanDTO.getReservationId()); |
|
|
|
|
jsonObject.put("type", 3); |
|
|
|
|
jsonObject.put("num", 1); |
|
|
|
|
jsonObject.put("remark", "装车下架"); |
|
|
|
|
jsonObjects.add(jsonObject); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
log.error("#######################查询预约零担品类信息错误,reservationID:{}", distrilbutionloadingscanDTO.getReservationId()); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
log.error("#######################查询预约订单信息错误,reservationID:{}", distrilbutionloadingscanDTO.getReservationId()); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
break; |
|
|
|
|
case 3: |
|
|
|
|
if (Objects.isNull(distrilbutionloadingscanDTO.getBarcode())) { |
|
|
|
|
log.error(method + "参数缺失Barcode"); |
|
|
|
|
return Resp.fail("参数缺失,请联系管理员"); |
|
|
|
|
} |
|
|
|
|
String inventoryPackageCode = distrilbutionloadingscanDTO.getBarcode(); |
|
|
|
|
//查询库存品
|
|
|
|
|
Long reservationId = baseMapper.selectInventoryPackageByDeliveryIdAndInventoryPackageCode(deliveryId,inventoryPackageCode); |
|
|
|
|
if (Objects.nonNull(reservationId)){ |
|
|
|
|
parcelListEntity = distributionParcelListMapper.selectByOrderPackageCode(inventoryPackageCode, myCurrentWarehouse.getId()); |
|
|
|
|
if (!Objects.isNull(parcelListEntity)) { |
|
|
|
|
return Resp.scanFail("请在定制品页面扫描此码", "请在定制品页面扫描此码"); |
|
|
|
|
} else { |
|
|
|
|
return Resp.scanFail("系统无编码", "系统无编码"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
List<DisStockListDetailEntity> invemtoryPackageList = disStockListDetailService.list(Wrappers.<DisStockListDetailEntity>query().lambda() |
|
|
|
|
.eq(DisStockListDetailEntity::getReservationId, reservationId) |
|
|
|
|
.eq(DisStockListDetailEntity::getStockPackageCode, inventoryPackageCode) |
|
|
|
|
.ne(DisStockListDetailEntity::getStockPackageStatus, InventoryPackageStatusConstant.quxiao.getValue()) |
|
|
|
|
); |
|
|
|
|
if (invemtoryPackageList.size() > 1) { |
|
|
|
|
log.error(method+"此库存品包件在预约计划中存在多条,reservationId:{},inventoryPackageCode:{}",reservationId,inventoryPackageCode); |
|
|
|
|
return Resp.scanFail("此包件数据错误", "此包件数据错误"); |
|
|
|
|
} |
|
|
|
|
DisStockListDetailEntity disStockListDetailEntity = invemtoryPackageList.get(0); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
disStockListDetailEntity.setStockLockingStatus(OrderPackageLoadingStatusConstant.yizhuangche.getValue()); |
|
|
|
|
disStockListDetailService.updateById(disStockListDetailEntity); |
|
|
|
|
//维护包件装车状态
|
|
|
|
|
boolean update = distributionParcelListService.update( |
|
|
|
|
Wrappers.<DistributionParcelListEntity>update().lambda() |
|
|
|
|
.eq(DistributionParcelListEntity::getOrderPackageCode, disStockListDetailEntity.getStockPackageCode()) |
|
|
|
|
.eq(DistributionParcelListEntity::getWarehouseId, myCurrentWarehouse.getId()) |
|
|
|
|
.eq(DistributionParcelListEntity::getMaterialCode, disStockListDetailEntity.getSku()) |
|
|
|
|
.set(DistributionParcelListEntity::getOrderPackageLoadingStatus, OrderPackageLoadingStatusConstant.yizhuangche.getValue()) |
|
|
|
|
.set(DistributionParcelListEntity::getOrderPackageReservationStatus, OrderPackageReservationStatusConstant.yiyueyue.getValue()) |
|
|
|
|
.set(DistributionParcelListEntity::getOrderPackageStatus, OrderPackageStatusConstant.yichuku.getValue()) |
|
|
|
|
|
|
|
|
|
); |
|
|
|
|
if (update){ |
|
|
|
|
//修改成功 此包件是转的
|
|
|
|
|
DistributionParcelListEntity parcelListEntity1 = distributionParcelListService.selectByOrderPackageCode(inventoryPackageCode, myCurrentWarehouse.getId()); |
|
|
|
|
if (Objects.isNull(parcelListEntity1)){ |
|
|
|
|
pushList.add(parcelListEntity1); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
log.info(">>>>>>>>>>>>>>>>>>>装车修改库存品包件>装车包件码:{},", disStockListDetailEntity.getStockPackageCode()); |
|
|
|
|
DistributionLoadscaninvnEntity distributionLoadscaninvnEntity = getDistributionLoadscaninvnEntity(distrilbutionloadingscanDTO, distributionDeliverySelfEntity, disStockListDetailEntity, myCurrentWarehouse); |
|
|
|
|
packageLockIds.add(distributionLoadscaninvnEntity.getInventoryPackageId()); |
|
|
|
|
distributionLoadscaninvnService.save(distributionLoadscaninvnEntity); |
|
|
|
|
//查询本车次是否第一次扫码,没有则更新上车时间
|
|
|
|
|
Integer a = distributionDeliveryListMapper.updateloadingTimeById(distributionLoadscaninvnEntity.getDeliveryId()); |
|
|
|
|
//更新签收表的装车数量
|
|
|
|
|
Integer j = distributionSignforMapper.updateloadByinvn(distributionLoadscaninvnEntity.getDeliveryId(), distributionLoadscaninvnEntity.getReservationId(), distributionLoadscaninvnEntity.getLoadedNub()); |
|
|
|
|
//处理出库问题
|
|
|
|
|
distributionStockListMapper.deductionQuantityStock(distributionLoadscaninvnEntity.getInventoryId(), distributionLoadscaninvnEntity.getLoadedNub()); |
|
|
|
|
//维护客户信息
|
|
|
|
|
distributionReservationService.maintenanceReservationInfo(distrilbutionloadingscanDTO.getReservationId()); |
|
|
|
|
//维护配送装车状态
|
|
|
|
|
distributionDeliveryListService.maintenanceDeliveryInfo(distrilbutionloadingscanDTO.getDeliveryId()); |
|
|
|
|
//备货库位下架
|
|
|
|
|
JSONObject jsonObject = new JSONObject(); |
|
|
|
|
jsonObject.put("code", distributionLoadscaninvnEntity.getOrderPackageCode()); |
|
|
|
|
jsonObject.put("warehouseId", myCurrentWarehouse.getId()); |
|
|
|
|
jsonObject.put("taskId", distributionLoadscaninvnEntity.getReservationId()); |
|
|
|
|
jsonObject.put("type", 2); |
|
|
|
|
jsonObject.put("num", 1); |
|
|
|
|
jsonObject.put("remark", "装车下架"); |
|
|
|
|
jsonObjects.add(jsonObject); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
//添加缓存
|
|
|
|
|
if (!packageLockIds.isEmpty()) { |
|
|
|
@ -8173,6 +8255,101 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
return null; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void updateZeroLoadingEntity(DistributionLoadscanEntity loadscanEntity, DistributionParcelNumberDTO parcelListDTO, BasicdataWarehouseEntity myCurrentWarehouse,Map<Long, DistributionParcelNumberEntity> zeroPackageMap) { |
|
|
|
|
//维护零担出库数量
|
|
|
|
|
DistributionParcelNumberEntity parcelNumberEntity = zeroPackageMap.get(parcelListDTO.getParcelListId()); |
|
|
|
|
BigDecimal deliveryQuantity = new BigDecimal(parcelNumberEntity.getDeliveryQuantity()); |
|
|
|
|
BigDecimal handQuantity = new BigDecimal(parcelNumberEntity.getHandQuantity()); |
|
|
|
|
BigDecimal loadedNub = new BigDecimal(loadscanEntity.getLoadedNub()); |
|
|
|
|
BigDecimal outboundQuantity = new BigDecimal(parcelNumberEntity.getOutboundQuantity()); |
|
|
|
|
BigDecimal loadedNum = new BigDecimal(parcelListDTO.getLoadingNum()); |
|
|
|
|
|
|
|
|
|
parcelNumberEntity.setDeliveryQuantity(deliveryQuantity.add(loadedNub).subtract(loadedNum).intValue()); |
|
|
|
|
parcelNumberEntity.setOutboundQuantity(outboundQuantity.subtract(loadedNub).add(loadedNum).intValue()); |
|
|
|
|
parcelNumberEntity.setHandQuantity(handQuantity.subtract(loadedNum).add(loadedNub).intValue()); |
|
|
|
|
distributionParcelNumberService.updateById(parcelNumberEntity); |
|
|
|
|
//维护装车数量
|
|
|
|
|
DistributionSignforEntity signforEntity = distributionSignforService.getOne(Wrappers.<DistributionSignforEntity>query().lambda().eq(DistributionSignforEntity::getDeliveryId, loadscanEntity.getDeliveryId()).eq(DistributionSignforEntity::getReservationId, loadscanEntity.getReservationId())); |
|
|
|
|
BigDecimal loadedNumber = new BigDecimal(signforEntity.getLoadedNumber()); |
|
|
|
|
|
|
|
|
|
signforEntity.setLoadedNumber(loadedNumber.add(loadedNum).subtract(loadedNub).intValue()); |
|
|
|
|
distributionSignforService.updateById(signforEntity); |
|
|
|
|
|
|
|
|
|
loadscanEntity.setLoadedNub(parcelListDTO.getLoadingNum()); |
|
|
|
|
loadscanEntity.setPackageNub(parcelListDTO.getLoadingNum()); |
|
|
|
|
loadscanEntity.setWarehouseId(myCurrentWarehouse.getId()); |
|
|
|
|
loadscanEntity.setWarehouseName(myCurrentWarehouse.getName()); |
|
|
|
|
distributionLoadscanService.updateById(loadscanEntity); |
|
|
|
|
//维护零担订单装车状态
|
|
|
|
|
distributionAsyncService.checkZeroStockArticleLoadingStatus(parcelNumberEntity, loadscanEntity.getDeliveryId(), loadscanEntity.getReservationId()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void addZeroLoadingEntity(DistrilbutionloadingscanDTO distrilbutionloadingscanDTO, |
|
|
|
|
DistributionDeliverySelfEntity distributionDeliverySelfEntity, |
|
|
|
|
DistributionDeliveryListEntity deliveryListEntity, |
|
|
|
|
Long reservationId, |
|
|
|
|
DistributionParcelNumberDTO parcelNumberDTO, |
|
|
|
|
BasicdataWarehouseEntity myCurrentWarehouse, |
|
|
|
|
BladeUser user, |
|
|
|
|
Map<Long, DistributionParcelNumberEntity> zeroPackageMap) { |
|
|
|
|
DistributionLoadscanEntity zeroLoadscanEntity = createdDistributionZeroLoadscanEntity(distributionDeliverySelfEntity,deliveryListEntity,distrilbutionloadingscanDTO.getReservationId(),parcelNumberDTO,myCurrentWarehouse,user); |
|
|
|
|
distributionLoadscanService.save(zeroLoadscanEntity); |
|
|
|
|
//更新装车时间
|
|
|
|
|
Integer i = distributionDeliveryListMapper.updateloadingTimeById(distrilbutionloadingscanDTO.getDeliveryId()); |
|
|
|
|
//更新装车数量
|
|
|
|
|
Integer j = distributionSignforMapper.updateloadByReservationId(zeroLoadscanEntity.getDeliveryId(), zeroLoadscanEntity.getReservationId(), zeroLoadscanEntity.getPackageNub()); |
|
|
|
|
//维护零担品类的数量
|
|
|
|
|
DistributionParcelNumberEntity parcelNumberEntity = zeroPackageMap.get(parcelNumberDTO.getParcelListId()); |
|
|
|
|
parcelNumberEntity.setOutboundQuantity(parcelNumberEntity.getOutboundQuantity() + parcelNumberDTO.getLoadingNum()); |
|
|
|
|
parcelNumberEntity.setDeliveryQuantity(parcelNumberEntity.getDeliveryQuantity() - parcelNumberDTO.getLoadingNum()); |
|
|
|
|
parcelNumberEntity.setHandQuantity(parcelNumberEntity.getHandQuantity() - parcelNumberDTO.getLoadingNum()); |
|
|
|
|
distributionParcelNumberService.updateById(parcelNumberEntity); |
|
|
|
|
distributionAsyncService.checkZeroStockArticleLoadingStatus(parcelNumberEntity, zeroLoadscanEntity.getDeliveryId(), zeroLoadscanEntity.getReservationId()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private DistributionLoadscanEntity createdDistributionZeroLoadscanEntity(DistributionDeliverySelfEntity distributionDeliverySelfEntity, |
|
|
|
|
DistributionDeliveryListEntity deliveryListEntity, |
|
|
|
|
Long reservationId, |
|
|
|
|
DistributionParcelNumberDTO parcelNumberDTO, |
|
|
|
|
BasicdataWarehouseEntity myCurrentWarehouse, |
|
|
|
|
BladeUser user) { |
|
|
|
|
String now = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); |
|
|
|
|
DistributionLoadscanEntity zeroLoadscanEntity = new DistributionLoadscanEntity(); |
|
|
|
|
if (Func.isNotEmpty(distributionDeliverySelfEntity.getDeliveryId())) { |
|
|
|
|
zeroLoadscanEntity.setDriverId(distributionDeliverySelfEntity.getDriverId()); |
|
|
|
|
} |
|
|
|
|
if (Func.isNotEmpty(distributionDeliverySelfEntity.getDriverName())) { |
|
|
|
|
zeroLoadscanEntity.setDriverName(distributionDeliverySelfEntity.getDriverName()); |
|
|
|
|
} |
|
|
|
|
if (Func.isNotEmpty(distributionDeliverySelfEntity.getVehicleNub())) { |
|
|
|
|
zeroLoadscanEntity.setVehicleName(distributionDeliverySelfEntity.getVehicleNub()); |
|
|
|
|
} |
|
|
|
|
if (Func.isNotEmpty(distributionDeliverySelfEntity.getVehicleId())) { |
|
|
|
|
zeroLoadscanEntity.setVehicleId(distributionDeliverySelfEntity.getVehicleId()); |
|
|
|
|
} |
|
|
|
|
if (Func.isNotEmpty(distributionDeliverySelfEntity.getDriverPhone())) { |
|
|
|
|
zeroLoadscanEntity.setDriverPhone(distributionDeliverySelfEntity.getDriverPhone()); |
|
|
|
|
} |
|
|
|
|
//添加车次号
|
|
|
|
|
zeroLoadscanEntity.setTrainNumber(deliveryListEntity.getTrainNumber()); |
|
|
|
|
zeroLoadscanEntity.setScanStatus(LoadingStatusConstant.saomiao.getValue()); |
|
|
|
|
zeroLoadscanEntity.setScanType("1"); |
|
|
|
|
zeroLoadscanEntity.setOneClick(1); |
|
|
|
|
zeroLoadscanEntity.setWarehouseId(myCurrentWarehouse.getId()); |
|
|
|
|
zeroLoadscanEntity.setWarehouseName(myCurrentWarehouse.getName()); |
|
|
|
|
zeroLoadscanEntity.setPackageId(parcelNumberDTO.getParcelListId()); |
|
|
|
|
zeroLoadscanEntity.setPackageNub(parcelNumberDTO.getLoadingNum()); |
|
|
|
|
zeroLoadscanEntity.setLoadedNub(parcelNumberDTO.getLoadingNum()); |
|
|
|
|
zeroLoadscanEntity.setReservationId(reservationId); |
|
|
|
|
zeroLoadscanEntity.setDeliveryId(deliveryListEntity.getId()); |
|
|
|
|
zeroLoadscanEntity.setOrderId(parcelNumberDTO.getStockArticleId()); |
|
|
|
|
zeroLoadscanEntity.setScanTime(now); |
|
|
|
|
zeroLoadscanEntity.setScanUser(user.getNickName()); |
|
|
|
|
zeroLoadscanEntity.setLoadingId(distributionDeliverySelfEntity.getId()+""); |
|
|
|
|
zeroLoadscanEntity.setIsAbnormalLoading(1); |
|
|
|
|
return zeroLoadscanEntity; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private DistributionLoadscanEntity createdDistributionLoadscanEntity(DistributionDeliveryListEntity deliveryListEntity, |
|
|
|
|
DistributionDeliverySelfEntity distributionDeliverySelfEntity, |
|
|
|
|
Long reservationId, |
|
|
|
@ -8251,16 +8428,15 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
return distributionDeliverySelfEntity; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private Boolean judgeIsAbnormalLoading(Long deliveryId, DistributionParcelListEntity parcelListEntity) { |
|
|
|
|
private Boolean judgeIsAbnormalLoading(Long deliveryId, DistributionParcelListEntity parcelListEntity,Long reservationId) { |
|
|
|
|
List<DistributionReservationEntity> reservationEntityList = distributionDeliveryListMapper.selectReservationByDeliveryListId(deliveryId); |
|
|
|
|
if (!reservationEntityList.isEmpty()) { |
|
|
|
|
boolean shangpeiFlag = reservationEntityList.stream().allMatch(r -> r.getDeliveryType().equals(DistributionTypeConstant.shipie.getValue())); |
|
|
|
|
DistributionStockArticleEntity stockArticleEntity = distributionStockArticleMapper.selectById(parcelListEntity.getStockArticleId()); |
|
|
|
|
if (shangpeiFlag) { |
|
|
|
|
List<DistributionReservationEntity> reservationEntities = reservationEntityList.stream().filter(r -> Func.isNotEmpty(r.getConsignee()) && r.getConsignee().equals(stockArticleEntity.getCustomerName()) && r.getDeliveryAddress().equals(stockArticleEntity.getCustomerAddress()) && r.getDeliveryPhone().equals(stockArticleEntity.getCustomerTelephone()) && r.getMallName().equals(stockArticleEntity.getMallName()) && r.getId().equals(distrilbutionloadingscanDTO.getReservationId())).collect(Collectors.toList()); |
|
|
|
|
List<DistributionReservationEntity> reservationEntities = reservationEntityList.stream().filter(r -> Func.isNotEmpty(r.getConsignee()) && r.getConsignee().equals(stockArticleEntity.getCustomerName()) && r.getDeliveryAddress().equals(stockArticleEntity.getCustomerAddress()) && r.getDeliveryPhone().equals(stockArticleEntity.getCustomerTelephone()) && r.getMallName().equals(stockArticleEntity.getMallName()) && r.getId().equals(reservationId)).collect(Collectors.toList()); |
|
|
|
|
//查看是否存在满足条件的预约单
|
|
|
|
|
boolean flag = reservationEntityList.stream().anyMatch(r -> Func.isNotEmpty(r.getConsignee()) && r.getConsignee().equals(stockArticleEntity.getCustomerName()) && r.getDeliveryAddress().equals(stockArticleEntity.getCustomerAddress()) && r.getDeliveryPhone().equals(stockArticleEntity.getCustomerTelephone()) && r.getMallName().equals(stockArticleEntity.getMallName()) && r.getId().equals(distrilbutionloadingscanDTO.getReservationId())); |
|
|
|
|
|
|
|
|
|
boolean flag = reservationEntityList.stream().anyMatch(r -> Func.isNotEmpty(r.getConsignee()) && r.getConsignee().equals(stockArticleEntity.getCustomerName()) && r.getDeliveryAddress().equals(stockArticleEntity.getCustomerAddress()) && r.getDeliveryPhone().equals(stockArticleEntity.getCustomerTelephone()) && r.getMallName().equals(stockArticleEntity.getMallName()) && r.getId().equals(reservationId)); |
|
|
|
|
//存在多个,操作人指定具体客户即可
|
|
|
|
|
if (reservationEntities.size() == 1 && flag) { |
|
|
|
|
return true; |
|
|
|
@ -8270,7 +8446,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
} else { |
|
|
|
|
shangpeiFlag = reservationEntityList.stream().allMatch(r -> r.getDeliveryType().equals(DistributionTypeConstant.shangpei.getValue())); |
|
|
|
|
if (shangpeiFlag) { |
|
|
|
|
List<DistributionReservationEntity> reservationEntities = reservationEntityList.stream().filter(r -> r.getReceivingUnit().equals(stockArticleEntity.getConsigneeUnit()) && r.getMallName().equals(stockArticleEntity.getMallName()) && r.getId().equals(distrilbutionloadingscanDTO.getReservationId())).collect(Collectors.toList()); |
|
|
|
|
List<DistributionReservationEntity> reservationEntities = reservationEntityList.stream().filter(r -> r.getReceivingUnit().equals(stockArticleEntity.getConsigneeUnit()) && r.getMallName().equals(stockArticleEntity.getMallName()) && r.getId().equals(reservationId)).collect(Collectors.toList()); |
|
|
|
|
//查询是否满足商配异常装车
|
|
|
|
|
boolean flag = reservationEntityList.stream().anyMatch(r -> r.getReceivingUnit().equals(stockArticleEntity.getConsigneeUnit()) && r.getMallName().equals(stockArticleEntity.getMallName())); |
|
|
|
|
if (reservationEntities.size() == 1 && flag) { |
|
|
|
|