|
|
|
@ -783,7 +783,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
//查找出该包件信息
|
|
|
|
|
DistributionParcelListEntity parcelListEntity = distributionParcelListService.getOne(Wrappers.<DistributionParcelListEntity>query().lambda().eq(DistributionParcelListEntity::getOrderPackageCode, distrilbutionloadingscanDTO.getBarcode()).eq(DistributionParcelListEntity::getWarehouseId, myCurrentWarehouse.getId())); |
|
|
|
|
List<DistributionReservationEntity> reservationEntityList = distributionDeliveryListMapper.selectReservationByDeliveryListId(distrilbutionloadingscanDTO.getDeliveryId()); |
|
|
|
|
if (!reservationEntityList.isEmpty()){ |
|
|
|
|
if (!reservationEntityList.isEmpty()) { |
|
|
|
|
boolean shangpeiFlag = reservationEntityList.stream().allMatch(r -> r.getDeliveryType().equals(DistributionTypeConstant.shipie.getValue())); |
|
|
|
|
if (Func.isEmpty(parcelListEntity)) { |
|
|
|
|
return Resp.scanFail("无包件信息", "无包件信息"); |
|
|
|
@ -795,14 +795,14 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
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())); |
|
|
|
|
|
|
|
|
|
//存在多个,操作人指定具体客户即可
|
|
|
|
|
if ( reservationEntities.size() == 1 && flag) { |
|
|
|
|
if (reservationEntities.size() == 1 && flag) { |
|
|
|
|
return R.fail(5000, "异常装车"); |
|
|
|
|
} else { |
|
|
|
|
if (flag){ |
|
|
|
|
if (reservationEntities.isEmpty()){ |
|
|
|
|
if (flag) { |
|
|
|
|
if (reservationEntities.isEmpty()) { |
|
|
|
|
return Resp.scanFail("请指定客户进行异常装车", "请指定客户进行异常装车"); |
|
|
|
|
} |
|
|
|
|
}else { |
|
|
|
|
} else { |
|
|
|
|
return Resp.scanFail("窜货", "窜货"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -812,15 +812,15 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
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()); |
|
|
|
|
//查询是否满足商配异常装车
|
|
|
|
|
boolean flag = reservationEntityList.stream().anyMatch(r -> r.getReceivingUnit().equals(stockArticleEntity.getConsigneeUnit()) && r.getMallName().equals(stockArticleEntity.getMallName())); |
|
|
|
|
if (reservationEntities.size() == 1 && flag){ |
|
|
|
|
if (reservationEntities.size() == 1 && flag) { |
|
|
|
|
return R.fail(5000, "异常装车"); |
|
|
|
|
|
|
|
|
|
}else { |
|
|
|
|
if (flag){ |
|
|
|
|
if (reservationEntities.isEmpty()){ |
|
|
|
|
} else { |
|
|
|
|
if (flag) { |
|
|
|
|
if (reservationEntities.isEmpty()) { |
|
|
|
|
return Resp.scanFail("请指定客户进行异常装车", "请指定客户进行异常装车"); |
|
|
|
|
} |
|
|
|
|
}else { |
|
|
|
|
} else { |
|
|
|
|
return Resp.scanFail("窜货", "窜货"); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
@ -3300,6 +3300,9 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
distributionReservationPackageService.updateById(reservationPackageEntity); |
|
|
|
|
//取消包件的预约状态,并且进行整个订单的状态修改
|
|
|
|
|
DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(reservationPackageEntity.getParceListId()); |
|
|
|
|
if (OrderPackageLoadingStatusConstant.yizhuangche.getValue().equals(parcelListEntity.getOrderPackageLoadingStatus())) { |
|
|
|
|
throw new RuntimeException(parcelListEntity.getOrderPackageCode() + "完成装车,请滞留取消"); |
|
|
|
|
} |
|
|
|
|
parcelListEntity.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.daiyuyue.getValue()); |
|
|
|
|
distributionParcelListService.updateById(parcelListEntity); |
|
|
|
|
if (Func.isNotEmpty(bladeRedis.get("warehouseId:" + myCurrentWarehouse.getId() + "orderCode:" + parcelListEntity.getOrderCode()))) { |
|
|
|
@ -4068,7 +4071,9 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
return null; |
|
|
|
|
} |
|
|
|
|
IPage<DistributionParcelListVO> parcelListVOIPage = new Page<>(); |
|
|
|
|
List<DistributionLoadscanEntity> loadscanEntities = distributionLoadscanMapper.selectList(Wrappers.<DistributionLoadscanEntity>query().lambda().eq(DistributionLoadscanEntity::getDeliveryId, deliveryId).ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())); |
|
|
|
|
List<DistributionLoadscanEntity> loadscanEntities = distributionLoadscanMapper.selectList(Wrappers.<DistributionLoadscanEntity>query().lambda() |
|
|
|
|
.eq(DistributionLoadscanEntity::getDeliveryId, deliveryId) |
|
|
|
|
.ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())); |
|
|
|
|
Map<Long, DistributionLoadscanEntity> loadingDataMap = null; |
|
|
|
|
if (Func.isNotEmpty(loadscanEntities)) { |
|
|
|
|
loadingDataMap = loadscanEntities.stream().collect(Collectors.toMap(DistributionLoadscanEntity::getPackageId, Function.identity(), (k1, k2) -> k2)); |
|
|
|
@ -6050,7 +6055,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
aaa.add(js); |
|
|
|
|
|
|
|
|
|
//对滞留包件进行签收信息数量减少
|
|
|
|
|
distributionSignforMapper.deductionLoadingPacjageNum(reservationId,deliveryId,1); |
|
|
|
|
// distributionSignforMapper.deductionLoadingPacjageNum(reservationId,deliveryId,1);
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
if (!aaa.isEmpty()) { |
|
|
|
@ -7010,7 +7015,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
.ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()) |
|
|
|
|
); |
|
|
|
|
if (Func.isNotEmpty(loadscanEntityList)) { |
|
|
|
|
return false; |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
@ -7221,10 +7226,77 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
return R.success("取消发车成功"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void mallClientSignfor(String trainNumber, Long warehouseId, String orderPackageCode) { |
|
|
|
|
//查询包件是否合法
|
|
|
|
|
DistributionParcelListEntity packageObj = distributionParcelListService.getOne(Wrappers.<DistributionParcelListEntity>query().lambda() |
|
|
|
|
.eq(DistributionParcelListEntity::getOrderPackageCode, orderPackageCode) |
|
|
|
|
.eq(DistributionParcelListEntity::getWarehouseId, warehouseId) |
|
|
|
|
); |
|
|
|
|
if (Func.isEmpty(packageObj)) { |
|
|
|
|
//系统无编码
|
|
|
|
|
} |
|
|
|
|
//查询配送计划
|
|
|
|
|
DistributionDeliveryListEntity deliveryListEntity = this.getOne(Wrappers.<DistributionDeliveryListEntity>query().lambda() |
|
|
|
|
.eq(DistributionDeliveryListEntity::getTrainNumber, trainNumber) |
|
|
|
|
.eq(DistributionDeliveryListEntity::getWarehouseId, warehouseId) |
|
|
|
|
); |
|
|
|
|
if (Func.isEmpty(deliveryListEntity)) { |
|
|
|
|
//配送计划查询错误
|
|
|
|
|
} |
|
|
|
|
//查询签收信息
|
|
|
|
|
List<DistributionSignforEntity> signforEntityList = distributionSignforService.list(Wrappers.<DistributionSignforEntity>query().lambda() |
|
|
|
|
.eq(DistributionSignforEntity::getDeliveryId, deliveryListEntity.getId()) |
|
|
|
|
); |
|
|
|
|
if (!signforEntityList.isEmpty()) { |
|
|
|
|
List<Long> reservationIds = signforEntityList.stream().map(DistributionSignforEntity::getReservationId).collect(Collectors.toList()); |
|
|
|
|
List<DistributionReservationPackageEntity> reservationPackageEntityList = distributionReservationPackageService.list(Wrappers.<DistributionReservationPackageEntity>query().lambda() |
|
|
|
|
.in(DistributionReservationPackageEntity::getReservationId, reservationIds) |
|
|
|
|
.ne(DistributionReservationPackageEntity::getPacketBarStatus, ReservationPackageStatusConstant.quxiao.getValue()) |
|
|
|
|
); |
|
|
|
|
if (!reservationPackageEntityList.isEmpty()) { |
|
|
|
|
boolean flag = reservationPackageEntityList.stream().anyMatch(rp -> orderPackageCode.equals(rp.getPacketBarCode())); |
|
|
|
|
if (flag) { |
|
|
|
|
//存在计划中,进行是否装车判断然后完成签收扫描闭环
|
|
|
|
|
List<DistributionReservationPackageEntity> rpList = reservationPackageEntityList.stream().filter(rp -> orderPackageCode.equals(rp.getPacketBarCode())).collect(Collectors.toList()); |
|
|
|
|
if (rpList.size() == 1) { |
|
|
|
|
DistributionLoadscanEntity loadscanEntity = distributionLoadscanService.getOne(Wrappers.<DistributionLoadscanEntity>query().lambda() |
|
|
|
|
.eq(DistributionLoadscanEntity::getReservationId, rpList.get(0).getReservationId()) |
|
|
|
|
.eq(DistributionLoadscanEntity::getOrderPackageCode, rpList.get(0).getPacketBarCode()) |
|
|
|
|
.eq(DistributionLoadscanEntity::getWarehouseId, warehouseId) |
|
|
|
|
); |
|
|
|
|
if (Func.isEmpty(loadscanEntity)) { |
|
|
|
|
//存在装车数据
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
//不存在装车数据进行补录
|
|
|
|
|
} |
|
|
|
|
//进行包件状态维护
|
|
|
|
|
|
|
|
|
|
//维护订单
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
//异常签收判定
|
|
|
|
|
|
|
|
|
|
//成功 -- 进行异常签收
|
|
|
|
|
|
|
|
|
|
//失败 -- 无法进行异常签收
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
@Transactional |
|
|
|
|
public void maintenanceDeliveryInfo(Long deliveryId) { |
|
|
|
|
log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> deliveryId {}",deliveryId); |
|
|
|
|
log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> deliveryId {}", deliveryId); |
|
|
|
|
if (Objects.isNull(deliveryId)) { |
|
|
|
|
throw new IllegalArgumentException("deliveryId 不能为空"); |
|
|
|
|
} |
|
|
|
@ -7286,7 +7358,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
deliveryListEntity.setDeliveryStatus(isAllSignforCompleted(deliveryListEntity.getId()) |
|
|
|
|
? DeliveryStatusConstant.yiwancheng.getValue() |
|
|
|
|
: DeliveryStatusConstant.peisongzhong.getValue()); |
|
|
|
|
log.info(">>>>> deliveryListEntity deliveryStatus :{}",deliveryListEntity.getDeliveryStatus()); |
|
|
|
|
log.info(">>>>> deliveryListEntity deliveryStatus :{}", deliveryListEntity.getDeliveryStatus()); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
@ -7299,8 +7371,8 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
|
|
|
|
|
private void updateDeliveryListEntity(DistributionDeliveryListEntity deliveryListEntity, DistributionDeliveryListEntity old) { |
|
|
|
|
|
|
|
|
|
log.info(">>>>>> update deliveryListEntity {}",deliveryListEntity); |
|
|
|
|
log.info(">>>>>> update old {}",old); |
|
|
|
|
log.info(">>>>>> update deliveryListEntity {}", deliveryListEntity); |
|
|
|
|
log.info(">>>>>> update old {}", old); |
|
|
|
|
// 判断传入的对象是否是否为null
|
|
|
|
|
if (Objects.isNull(deliveryListEntity)) { |
|
|
|
|
throw new IllegalArgumentException("deliveryListEntity 不能为空"); |
|
|
|
@ -7310,9 +7382,9 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(old.getDeliveryStatus()==null|| old.getDeliveryListLoadingStatus()==null){ |
|
|
|
|
if (old.getDeliveryStatus() == null || old.getDeliveryListLoadingStatus() == null) { |
|
|
|
|
updateById(deliveryListEntity); |
|
|
|
|
return ; |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|