|
|
@ -1330,18 +1330,18 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution |
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public R cancelZeroPackage(DistrilbutionAppsignforDTO distrilbutionloadingscanDTO) { |
|
|
|
public R cancelZeroPackage(DistrilbutionAppsignforDTO distrilbutionloadingscanDTO) { |
|
|
|
String method = "####################DistributionSignforImpl.cancelZeroPackage"; |
|
|
|
String method = "####################DistributionSignforImpl.cancelZeroPackage"; |
|
|
|
if (Func.isNotEmpty(distrilbutionloadingscanDTO.getZeroPackageIds())){ |
|
|
|
if (Func.isNotEmpty(distrilbutionloadingscanDTO.getZeroPackageIds())) { |
|
|
|
log.error(method+"ZeroPackageIds参数缺失"); |
|
|
|
log.error(method + "ZeroPackageIds参数缺失"); |
|
|
|
return R.fail("请联系管理员维护!!!"); |
|
|
|
return R.fail("请联系管理员维护!!!"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (Func.isNotEmpty(distrilbutionloadingscanDTO.getReservationId())){ |
|
|
|
if (Func.isNotEmpty(distrilbutionloadingscanDTO.getReservationId())) { |
|
|
|
log.error(method+"ReservationId参数缺失"); |
|
|
|
log.error(method + "ReservationId参数缺失"); |
|
|
|
return R.fail("请联系管理员维护!!!"); |
|
|
|
return R.fail("请联系管理员维护!!!"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (Func.isNotEmpty(distrilbutionloadingscanDTO.getDeliveryId())){ |
|
|
|
if (Func.isNotEmpty(distrilbutionloadingscanDTO.getDeliveryId())) { |
|
|
|
log.error(method+"DeliveryId参数缺失"); |
|
|
|
log.error(method + "DeliveryId参数缺失"); |
|
|
|
return R.fail("请联系管理员维护!!!"); |
|
|
|
return R.fail("请联系管理员维护!!!"); |
|
|
|
} |
|
|
|
} |
|
|
|
List<Long> list = Func.toLongList(distrilbutionloadingscanDTO.getZeroPackageIds()); |
|
|
|
List<Long> list = Func.toLongList(distrilbutionloadingscanDTO.getZeroPackageIds()); |
|
|
@ -1352,12 +1352,12 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution |
|
|
|
.in(DistributionLoadscanEntity::getPackageId, list) |
|
|
|
.in(DistributionLoadscanEntity::getPackageId, list) |
|
|
|
.ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()) |
|
|
|
.ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()) |
|
|
|
); |
|
|
|
); |
|
|
|
if (Func.isNotEmpty(loadscanEntityList)){ |
|
|
|
if (Func.isNotEmpty(loadscanEntityList)) { |
|
|
|
List<Long> orderIds = loadscanEntityList.stream().map(DistributionLoadscanEntity::getOrderId).distinct().collect(Collectors.toList()); |
|
|
|
List<Long> orderIds = loadscanEntityList.stream().map(DistributionLoadscanEntity::getOrderId).distinct().collect(Collectors.toList()); |
|
|
|
List<DistributionStockArticleEntity> distributionStockArticleEntities = distributionStockArticleService.listByIds(orderIds); |
|
|
|
List<DistributionStockArticleEntity> distributionStockArticleEntities = distributionStockArticleService.listByIds(orderIds); |
|
|
|
String orderCodes = distributionStockArticleEntities.stream().map(DistributionStockArticleEntity::getOrderCode).collect(Collectors.joining(",")); |
|
|
|
String orderCodes = distributionStockArticleEntities.stream().map(DistributionStockArticleEntity::getOrderCode).collect(Collectors.joining(",")); |
|
|
|
log.error(method+"取消零担失败,已进行装车或签收orderCodes:{}",orderCodes); |
|
|
|
log.error(method + "取消零担失败,已进行装车或签收orderCodes:{}", orderCodes); |
|
|
|
return R.fail(orderCodes+"已进行装车或签收"); |
|
|
|
return R.fail(orderCodes + "已进行装车或签收"); |
|
|
|
} |
|
|
|
} |
|
|
|
//剩下的满足取消条件,进行计划内的资源释放即可
|
|
|
|
//剩下的满足取消条件,进行计划内的资源释放即可
|
|
|
|
List<DistributionReservationZeroPackageEntity> planZeroPackageEntities = distributionReservationZeroPackageService.list(Wrappers.<DistributionReservationZeroPackageEntity>query().lambda() |
|
|
|
List<DistributionReservationZeroPackageEntity> planZeroPackageEntities = distributionReservationZeroPackageService.list(Wrappers.<DistributionReservationZeroPackageEntity>query().lambda() |
|
|
@ -1365,35 +1365,59 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution |
|
|
|
.ne(DistributionReservationZeroPackageEntity::getZeroPackageStatus, ReservationPackageStatusConstant.quxiao.getValue()) |
|
|
|
.ne(DistributionReservationZeroPackageEntity::getZeroPackageStatus, ReservationPackageStatusConstant.quxiao.getValue()) |
|
|
|
); |
|
|
|
); |
|
|
|
Map<Long, List<DistributionReservationZeroPackageEntity>> planMap; |
|
|
|
Map<Long, List<DistributionReservationZeroPackageEntity>> planMap; |
|
|
|
if (Func.isNotEmpty(planZeroPackageEntities)){ |
|
|
|
if (Func.isNotEmpty(planZeroPackageEntities)) { |
|
|
|
planMap = planZeroPackageEntities.stream().collect(Collectors.groupingBy(DistributionReservationZeroPackageEntity::getStockArticleId)); |
|
|
|
planMap = planZeroPackageEntities.stream().collect(Collectors.groupingBy(DistributionReservationZeroPackageEntity::getStockArticleId)); |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
planMap = null; |
|
|
|
planMap = null; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
List<DistributionReservationZeroPackageEntity> reservationZeroPackageEntities = distributionReservationZeroPackageService.list(Wrappers.<DistributionReservationZeroPackageEntity>query().lambda() |
|
|
|
List<DistributionReservationZeroPackageEntity> reservationZeroPackageEntities = distributionReservationZeroPackageService.list(Wrappers.<DistributionReservationZeroPackageEntity>query().lambda() |
|
|
|
.eq(DistributionReservationZeroPackageEntity::getReservationId, distrilbutionloadingscanDTO.getReservationId()) |
|
|
|
.eq(DistributionReservationZeroPackageEntity::getReservationId, distrilbutionloadingscanDTO.getReservationId()) |
|
|
|
.ne(DistributionReservationZeroPackageEntity::getZeroPackageStatus, ReservationPackageStatusConstant.quxiao.getValue()) |
|
|
|
.ne(DistributionReservationZeroPackageEntity::getZeroPackageStatus, ReservationPackageStatusConstant.quxiao.getValue()) |
|
|
|
.in(DistributionReservationZeroPackageEntity::getParcelListId, list) |
|
|
|
.in(DistributionReservationZeroPackageEntity::getParcelListId, list) |
|
|
|
); |
|
|
|
); |
|
|
|
if (Func.isNotEmpty(planMap)){ |
|
|
|
if (Func.isNotEmpty(planMap)) { |
|
|
|
Map<Long, List<DistributionReservationZeroPackageEntity>> cancelMap = reservationZeroPackageEntities.stream().collect(Collectors.groupingBy(DistributionReservationZeroPackageEntity::getStockArticleId)); |
|
|
|
Map<Long, List<DistributionReservationZeroPackageEntity>> cancelMap = reservationZeroPackageEntities.stream().collect(Collectors.groupingBy(DistributionReservationZeroPackageEntity::getStockArticleId)); |
|
|
|
cancelMap.forEach((k,v)->{ |
|
|
|
//统计取消的零担数量,对计划进行维护
|
|
|
|
if (!planMap.get(k).isEmpty()){ |
|
|
|
AtomicReference<Integer> num = new AtomicReference<>(0); |
|
|
|
|
|
|
|
AtomicReference<Integer> orderNum = new AtomicReference<>(0); |
|
|
|
|
|
|
|
cancelMap.forEach((k, v) -> { |
|
|
|
|
|
|
|
if (!planMap.get(k).isEmpty()) { |
|
|
|
List<Long> ids = v.stream().map(DistributionReservationZeroPackageEntity::getParcelListId).collect(Collectors.toList()); |
|
|
|
List<Long> ids = v.stream().map(DistributionReservationZeroPackageEntity::getParcelListId).collect(Collectors.toList()); |
|
|
|
distributionReservationZeroPackageService.recoverZeroPackage(distrilbutionloadingscanDTO.getReservationId(),ids); |
|
|
|
num.updateAndGet(v1 -> v1 + v.stream().mapToInt(DistributionReservationZeroPackageEntity::getQuantity).sum()); |
|
|
|
if (planMap.get(k).size() == ids.size()){ |
|
|
|
distributionReservationZeroPackageService.recoverZeroPackage(distrilbutionloadingscanDTO.getReservationId(), ids); |
|
|
|
|
|
|
|
if (planMap.get(k).size() == ids.size()) { |
|
|
|
|
|
|
|
orderNum.getAndSet(1); |
|
|
|
distributionReservationStockarticleService.update(new UpdateWrapper<DistributionReservationStockarticleEntity>().lambda() |
|
|
|
distributionReservationStockarticleService.update(new UpdateWrapper<DistributionReservationStockarticleEntity>().lambda() |
|
|
|
.eq(DistributionReservationStockarticleEntity::getReservationId,distrilbutionloadingscanDTO.getReservationId()) |
|
|
|
.eq(DistributionReservationStockarticleEntity::getReservationId, distrilbutionloadingscanDTO.getReservationId()) |
|
|
|
.in(DistributionReservationStockarticleEntity::getStockArticleId,k) |
|
|
|
.in(DistributionReservationStockarticleEntity::getStockArticleId, k) |
|
|
|
.ne(DistributionReservationStockarticleEntity::getStockArticleStatus,ReservationOrderStatusConstant.quxiao.getValue()) |
|
|
|
.ne(DistributionReservationStockarticleEntity::getStockArticleStatus, ReservationOrderStatusConstant.quxiao.getValue()) |
|
|
|
.set(DistributionReservationStockarticleEntity::getStockArticleStatus,ReservationOrderStatusConstant.quxiao.getValue()) |
|
|
|
.set(DistributionReservationStockarticleEntity::getStockArticleStatus, ReservationOrderStatusConstant.quxiao.getValue()) |
|
|
|
); |
|
|
|
); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
}); |
|
|
|
}else { |
|
|
|
Integer consingee = 0; |
|
|
|
log.error(method+"查询原计划零担信息错误reservationId:{},ids:{}",distrilbutionloadingscanDTO.getReservationId(),list); |
|
|
|
//查询预约信息
|
|
|
|
|
|
|
|
DistributionReservationEntity reservationEntity = distributionReservationService.getById(distrilbutionloadingscanDTO.getReservationId()); |
|
|
|
|
|
|
|
int reservationNum = reservationEntity.getReservationNum() - num.get(); |
|
|
|
|
|
|
|
if (reservationNum + reservationEntity.getReservationStockListNum() == 0){ |
|
|
|
|
|
|
|
reservationEntity.setCancelReason("取消配送货物,系统判定取消预约"); |
|
|
|
|
|
|
|
reservationEntity.setReservationStatus(ReservationStatusConstant.yiquexiao.getValue()); |
|
|
|
|
|
|
|
consingee += 1; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
distributionReservationService.updateById(reservationEntity); |
|
|
|
|
|
|
|
//维护整体配送任务状态
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DistributionDeliveryListEntity deliveryListEntity = distributionDeliveryListService.getById(distrilbutionloadingscanDTO.getDeliveryId()); |
|
|
|
|
|
|
|
Integer newDeliveryNumber = deliveryListEntity.getDeliveryNumber() - num.get(); |
|
|
|
|
|
|
|
Integer newOrderDeliveryNumber = deliveryListEntity.getOrderNumber() - orderNum.get(); |
|
|
|
|
|
|
|
Integer newCustomersNumber = deliveryListEntity.getCustomersNumber() - consingee; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
log.error(method + "查询原计划零担信息错误reservationId:{},ids:{}", distrilbutionloadingscanDTO.getReservationId(), list); |
|
|
|
return R.fail("计划查询错误"); |
|
|
|
return R.fail("计划查询错误"); |
|
|
|
} |
|
|
|
} |
|
|
|
return R.success("操作成功"); |
|
|
|
return R.success("操作成功"); |
|
|
@ -4385,6 +4409,11 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution |
|
|
|
.eq(DistributionSignforEntity::getDeliveryId, distributionSignfor.getDeliveryId()) |
|
|
|
.eq(DistributionSignforEntity::getDeliveryId, distributionSignfor.getDeliveryId()) |
|
|
|
.eq(DistributionSignforEntity::getReservationId, distributionSignfor.getReservationId()) |
|
|
|
.eq(DistributionSignforEntity::getReservationId, distributionSignfor.getReservationId()) |
|
|
|
); |
|
|
|
); |
|
|
|
|
|
|
|
if (2 ==distributionSignforEntity.getIsHaveAbnormalPackage()){ |
|
|
|
|
|
|
|
//存在异常包件 无法进行批量签收
|
|
|
|
|
|
|
|
log.error(method + "批量签收存在异常包件:{}", reservationEntity); |
|
|
|
|
|
|
|
return R.fail("存在异常包件,请联系文员审核后操作"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//获取计划配送用户司机
|
|
|
|
//获取计划配送用户司机
|
|
|
|
DistributionDeliveryListEntity distributionDeliveryListEntity = distributionDeliveryListMapper.selectById(distributionSignfor.getDeliveryId()); |
|
|
|
DistributionDeliveryListEntity distributionDeliveryListEntity = distributionDeliveryListMapper.selectById(distributionSignfor.getDeliveryId()); |
|
|
@ -4551,8 +4580,8 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution |
|
|
|
parcelNumberServiceById.setOutboundQuantity(parcelNumberServiceById.getOutboundQuantity() - distributionLoadscanEntity.getLoadedNub() + parcelNumberEntity.getReservationNum()); |
|
|
|
parcelNumberServiceById.setOutboundQuantity(parcelNumberServiceById.getOutboundQuantity() - distributionLoadscanEntity.getLoadedNub() + parcelNumberEntity.getReservationNum()); |
|
|
|
//维护签收数量
|
|
|
|
//维护签收数量
|
|
|
|
parcelNumberServiceById.setSigninQuantity(parcelNumberServiceById.getSigninQuantity() - distributionLoadscanEntity.getLoadedNub() + parcelNumberEntity.getReservationNum()); |
|
|
|
parcelNumberServiceById.setSigninQuantity(parcelNumberServiceById.getSigninQuantity() - distributionLoadscanEntity.getLoadedNub() + parcelNumberEntity.getReservationNum()); |
|
|
|
loadingPackageNum += (parcelNumberEntity.getReservationNum()- distributionLoadscanEntity.getLoadedNub()); |
|
|
|
loadingPackageNum += (parcelNumberEntity.getReservationNum() - distributionLoadscanEntity.getLoadedNub()); |
|
|
|
signingPackageNum += (parcelNumberEntity.getReservationNum()- distributionLoadscanEntity.getLoadedNub()); |
|
|
|
signingPackageNum += (parcelNumberEntity.getReservationNum() - distributionLoadscanEntity.getLoadedNub()); |
|
|
|
Integer loadedNub = distributionLoadscanEntity.getLoadedNub(); |
|
|
|
Integer loadedNub = distributionLoadscanEntity.getLoadedNub(); |
|
|
|
Integer receivedQuantity = distributionLoadscanEntity.getReceivedQuantity(); |
|
|
|
Integer receivedQuantity = distributionLoadscanEntity.getReceivedQuantity(); |
|
|
|
distributionLoadscanEntity.setOneClick(1); |
|
|
|
distributionLoadscanEntity.setOneClick(1); |
|
|
@ -4625,8 +4654,8 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution |
|
|
|
parcelNumberServiceById.setOutboundQuantity(parcelNumberServiceById.getOutboundQuantity() + parcelNumberEntity.getReservationNum()); |
|
|
|
parcelNumberServiceById.setOutboundQuantity(parcelNumberServiceById.getOutboundQuantity() + parcelNumberEntity.getReservationNum()); |
|
|
|
//维护签收数量
|
|
|
|
//维护签收数量
|
|
|
|
parcelNumberServiceById.setSigninQuantity(parcelNumberServiceById.getSigninQuantity() + parcelNumberEntity.getReservationNum()); |
|
|
|
parcelNumberServiceById.setSigninQuantity(parcelNumberServiceById.getSigninQuantity() + parcelNumberEntity.getReservationNum()); |
|
|
|
loadingPackageNum += parcelNumberEntity.getReservationNum(); |
|
|
|
loadingPackageNum += parcelNumberEntity.getReservationNum(); |
|
|
|
signingPackageNum += parcelNumberEntity.getReservationNum(); |
|
|
|
signingPackageNum += parcelNumberEntity.getReservationNum(); |
|
|
|
} |
|
|
|
} |
|
|
|
//维护出库数量和签收数量
|
|
|
|
//维护出库数量和签收数量
|
|
|
|
|
|
|
|
|
|
|
@ -4782,12 +4811,11 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
distributionSignforEntity.setLoadedNumber(distributionSignforEntity.getLoadedNumber() + loadingPackageNum ); |
|
|
|
distributionSignforEntity.setLoadedNumber(reservationEntity.getReservationNum()); |
|
|
|
distributionSignforEntity.setReceivedQuantity(distributionSignforEntity.getReceivedQuantity() + signingPackageNum ); |
|
|
|
distributionSignforEntity.setReceivedQuantity(reservationEntity.getReservationNum()); |
|
|
|
distributionSignforEntity.setLoadedinNumber(distributionSignforEntity.getLoadedinNumber() + loadingInventoryNum ); |
|
|
|
distributionSignforEntity.setLoadedinNumber(reservationEntity.getReservationStockListNum()); |
|
|
|
distributionSignforEntity.setReceivedinQuantity(distributionSignforEntity.getReceivedinQuantity() + signingInventoryNum ); |
|
|
|
distributionSignforEntity.setReceivedinQuantity(reservationEntity.getReservationStockListNum()); |
|
|
|
distributionSignforEntity.setReceivedinQuantity(distributionSignforEntity.getReceivedinQuantity() + signingInventoryNum ); |
|
|
|
if (Func.isNotEmpty(distributionSignfor.getDriverRemarks())) { |
|
|
|
if (Func.isNotEmpty(distributionSignfor.getDriverRemarks())){ |
|
|
|
|
|
|
|
distributionSignforEntity.setDriverRemarks(distributionSignfor.getDriverRemarks()); |
|
|
|
distributionSignforEntity.setDriverRemarks(distributionSignfor.getDriverRemarks()); |
|
|
|
} |
|
|
|
} |
|
|
|
this.updateById(distributionSignforEntity); |
|
|
|
this.updateById(distributionSignforEntity); |
|
|
@ -5372,8 +5400,8 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution |
|
|
|
log.error("##########配送计划异常:{}", deliveryListEntity); |
|
|
|
log.error("##########配送计划异常:{}", deliveryListEntity); |
|
|
|
return Resp.scanFail("服务器正忙...", "服务器正忙"); |
|
|
|
return Resp.scanFail("服务器正忙...", "服务器正忙"); |
|
|
|
} |
|
|
|
} |
|
|
|
Integer loadingNumber = 0 ; |
|
|
|
Integer loadingNumber = 0; |
|
|
|
Integer signingNumber = 0 ; |
|
|
|
Integer signingNumber = 0; |
|
|
|
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); |
|
|
|
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); |
|
|
|
// DistributionDeliverySelfEntity finalDistributionDeliverySelfEntity = distributionDeliverySelfEntity;
|
|
|
|
// DistributionDeliverySelfEntity finalDistributionDeliverySelfEntity = distributionDeliverySelfEntity;
|
|
|
|
List<String> orderCodes = new ArrayList<>(); |
|
|
|
List<String> orderCodes = new ArrayList<>(); |
|
|
@ -5383,7 +5411,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution |
|
|
|
.eq(DistributionSignforEntity::getReservationId, distrilbutionloadingscanDTO.getReservationId())); |
|
|
|
.eq(DistributionSignforEntity::getReservationId, distrilbutionloadingscanDTO.getReservationId())); |
|
|
|
//查询零担装车
|
|
|
|
//查询零担装车
|
|
|
|
|
|
|
|
|
|
|
|
if (!parcelNumberDTOS.isEmpty()){ |
|
|
|
if (!parcelNumberDTOS.isEmpty()) { |
|
|
|
List<Long> packageIds = parcelNumberDTOS.stream().map(DistributionParcelNumberDTO::getParcelListId).collect(Collectors.toList()); |
|
|
|
List<Long> packageIds = parcelNumberDTOS.stream().map(DistributionParcelNumberDTO::getParcelListId).collect(Collectors.toList()); |
|
|
|
List<DistributionLoadscanEntity> loadscanEntityList = distributionLoadscanService.list(Wrappers.<DistributionLoadscanEntity>query().lambda() |
|
|
|
List<DistributionLoadscanEntity> loadscanEntityList = distributionLoadscanService.list(Wrappers.<DistributionLoadscanEntity>query().lambda() |
|
|
|
.eq(DistributionLoadscanEntity::getReservationId, distrilbutionloadingscanDTO.getReservationId()) |
|
|
|
.eq(DistributionLoadscanEntity::getReservationId, distrilbutionloadingscanDTO.getReservationId()) |
|
|
@ -5393,7 +5421,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution |
|
|
|
.ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())); |
|
|
|
.ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())); |
|
|
|
Map<Long, List<DistributionLoadscanEntity>> loadingMap = null; |
|
|
|
Map<Long, List<DistributionLoadscanEntity>> loadingMap = null; |
|
|
|
Map<Long, List<DistributionReservationZeroPackageEntity>> reservationMap = null; |
|
|
|
Map<Long, List<DistributionReservationZeroPackageEntity>> reservationMap = null; |
|
|
|
if (!loadscanEntityList.isEmpty()){ |
|
|
|
if (!loadscanEntityList.isEmpty()) { |
|
|
|
loadingNumber = signforEntity.getLoadedNumber() - loadscanEntityList.stream().mapToInt(DistributionLoadscanEntity::getLoadedNub).sum(); |
|
|
|
loadingNumber = signforEntity.getLoadedNumber() - loadscanEntityList.stream().mapToInt(DistributionLoadscanEntity::getLoadedNub).sum(); |
|
|
|
signingNumber = signforEntity.getReceivedQuantity() - loadscanEntityList.stream().mapToInt(DistributionLoadscanEntity::getReceivedQuantity).sum(); |
|
|
|
signingNumber = signforEntity.getReceivedQuantity() - loadscanEntityList.stream().mapToInt(DistributionLoadscanEntity::getReceivedQuantity).sum(); |
|
|
|
loadingMap = loadscanEntityList.stream().collect(Collectors.groupingBy(DistributionLoadscanEntity::getPackageId)); |
|
|
|
loadingMap = loadscanEntityList.stream().collect(Collectors.groupingBy(DistributionLoadscanEntity::getPackageId)); |
|
|
@ -5403,8 +5431,8 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution |
|
|
|
.eq(DistributionReservationZeroPackageEntity::getReservationId, distrilbutionloadingscanDTO.getReservationId()) |
|
|
|
.eq(DistributionReservationZeroPackageEntity::getReservationId, distrilbutionloadingscanDTO.getReservationId()) |
|
|
|
.in(DistributionReservationZeroPackageEntity::getParcelListId, packageIds) |
|
|
|
.in(DistributionReservationZeroPackageEntity::getParcelListId, packageIds) |
|
|
|
.ne(DistributionReservationZeroPackageEntity::getZeroPackageStatus, ReservationPackageStatusConstant.quxiao.getValue())); |
|
|
|
.ne(DistributionReservationZeroPackageEntity::getZeroPackageStatus, ReservationPackageStatusConstant.quxiao.getValue())); |
|
|
|
if (!reservationZeroPackageEntity.isEmpty()){ |
|
|
|
if (!reservationZeroPackageEntity.isEmpty()) { |
|
|
|
reservationMap = reservationZeroPackageEntity.stream().collect(Collectors.groupingBy(DistributionReservationZeroPackageEntity::getParcelListId)); |
|
|
|
reservationMap = reservationZeroPackageEntity.stream().collect(Collectors.groupingBy(DistributionReservationZeroPackageEntity::getParcelListId)); |
|
|
|
} |
|
|
|
} |
|
|
|
int sum = parcelNumberDTOS.stream().mapToInt(DistributionParcelNumberDTO::getSigningNum).sum(); |
|
|
|
int sum = parcelNumberDTOS.stream().mapToInt(DistributionParcelNumberDTO::getSigningNum).sum(); |
|
|
|
|
|
|
|
|
|
|
@ -5416,23 +5444,23 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution |
|
|
|
DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(parcelNumberDTO.getParcelListId()); |
|
|
|
DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(parcelNumberDTO.getParcelListId()); |
|
|
|
orderCodes.add(parcelListEntity.getOrderCode()); |
|
|
|
orderCodes.add(parcelListEntity.getOrderCode()); |
|
|
|
packageLockIds.add(parcelListEntity.getId()); |
|
|
|
packageLockIds.add(parcelListEntity.getId()); |
|
|
|
if (zeroPackageEntities.size() == 1){ |
|
|
|
if (zeroPackageEntities.size() == 1) { |
|
|
|
DistributionReservationZeroPackageEntity distributionReservationZeroPackageEntity = zeroPackageEntities.get(0); |
|
|
|
DistributionReservationZeroPackageEntity distributionReservationZeroPackageEntity = zeroPackageEntities.get(0); |
|
|
|
//查询是否存在装车
|
|
|
|
//查询是否存在装车
|
|
|
|
Integer deliveryNumber = 0 ; |
|
|
|
Integer deliveryNumber = 0; |
|
|
|
Integer handQuantity = 0 ; |
|
|
|
Integer handQuantity = 0; |
|
|
|
Integer outboundQuantity = 0 ; |
|
|
|
Integer outboundQuantity = 0; |
|
|
|
Integer signinQuantity = 0 ; |
|
|
|
Integer signinQuantity = 0; |
|
|
|
|
|
|
|
|
|
|
|
if (Func.isNotEmpty(loadingMap)){ |
|
|
|
if (Func.isNotEmpty(loadingMap)) { |
|
|
|
//存在装车数据,进行是否签收判断
|
|
|
|
//存在装车数据,进行是否签收判断
|
|
|
|
List<DistributionLoadscanEntity> entityList = loadingMap.get(parcelNumberDTO.getParcelListId()); |
|
|
|
List<DistributionLoadscanEntity> entityList = loadingMap.get(parcelNumberDTO.getParcelListId()); |
|
|
|
if (entityList.size() == 1){ |
|
|
|
if (entityList.size() == 1) { |
|
|
|
DistributionLoadscanEntity distributionLoadscanEntity = entityList.get(0); |
|
|
|
DistributionLoadscanEntity distributionLoadscanEntity = entityList.get(0); |
|
|
|
if (parcelNumberDTO.getSigningNum() > distributionReservationZeroPackageEntity.getQuantity()){ |
|
|
|
if (parcelNumberDTO.getSigningNum() > distributionReservationZeroPackageEntity.getQuantity()) { |
|
|
|
log.info("#############零担签收超过计划数量ParcelListId:{},计划:{}录入,:{}",parcelNumberDTO.getParcelListId(),distributionReservationZeroPackageEntity.getQuantity(),parcelNumberDTO.getSigningNum()); |
|
|
|
log.info("#############零担签收超过计划数量ParcelListId:{},计划:{}录入,:{}", parcelNumberDTO.getParcelListId(), distributionReservationZeroPackageEntity.getQuantity(), parcelNumberDTO.getSigningNum()); |
|
|
|
} |
|
|
|
} |
|
|
|
if (distributionLoadscanEntity.getLoadedNub() < parcelNumberDTO.getSigningNum()){ |
|
|
|
if (distributionLoadscanEntity.getLoadedNub() < parcelNumberDTO.getSigningNum()) { |
|
|
|
//将装车和签收进行统一数量
|
|
|
|
//将装车和签收进行统一数量
|
|
|
|
distributionLoadscanEntity.setLoadedNub(parcelNumberDTO.getSigningNum()); |
|
|
|
distributionLoadscanEntity.setLoadedNub(parcelNumberDTO.getSigningNum()); |
|
|
|
distributionLoadscanEntity.setPackageNub(parcelNumberDTO.getSigningNum()); |
|
|
|
distributionLoadscanEntity.setPackageNub(parcelNumberDTO.getSigningNum()); |
|
|
@ -5452,10 +5480,10 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution |
|
|
|
signingNumber += distributionLoadscanEntity.getReceivedQuantity(); |
|
|
|
signingNumber += distributionLoadscanEntity.getReceivedQuantity(); |
|
|
|
//进行签收数量的统计
|
|
|
|
//进行签收数量的统计
|
|
|
|
distributionLoadscanService.updateById(distributionLoadscanEntity); |
|
|
|
distributionLoadscanService.updateById(distributionLoadscanEntity); |
|
|
|
}else { |
|
|
|
} else { |
|
|
|
log.info("#############零担签收存在多个装车记录ParcelListId:{}",parcelNumberDTO.getParcelListId()); |
|
|
|
log.info("#############零担签收存在多个装车记录ParcelListId:{}", parcelNumberDTO.getParcelListId()); |
|
|
|
} |
|
|
|
} |
|
|
|
}else { |
|
|
|
} else { |
|
|
|
//签收装车数据一起进行补录
|
|
|
|
//签收装车数据一起进行补录
|
|
|
|
DistributionLoadscanEntity loadscanEntity = new DistributionLoadscanEntity(); |
|
|
|
DistributionLoadscanEntity loadscanEntity = new DistributionLoadscanEntity(); |
|
|
|
loadscanEntity.setPackageId(distributionParcelNumberEntity.getParcelListId()); |
|
|
|
loadscanEntity.setPackageId(distributionParcelNumberEntity.getParcelListId()); |
|
|
@ -5501,20 +5529,20 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution |
|
|
|
loadingNumber += loadscanEntity.getLoadedNub(); |
|
|
|
loadingNumber += loadscanEntity.getLoadedNub(); |
|
|
|
signingNumber += loadscanEntity.getReceivedQuantity(); |
|
|
|
signingNumber += loadscanEntity.getReceivedQuantity(); |
|
|
|
//维护零担品类信息
|
|
|
|
//维护零担品类信息
|
|
|
|
deliveryNumber = distributionParcelNumberEntity.getDeliveryQuantity() - parcelNumberDTO.getSigningNum(); |
|
|
|
deliveryNumber = distributionParcelNumberEntity.getDeliveryQuantity() - parcelNumberDTO.getSigningNum(); |
|
|
|
handQuantity = distributionParcelNumberEntity.getHandQuantity() - parcelNumberDTO.getSigningNum(); |
|
|
|
handQuantity = distributionParcelNumberEntity.getHandQuantity() - parcelNumberDTO.getSigningNum(); |
|
|
|
outboundQuantity = distributionParcelNumberEntity.getOutboundQuantity() + parcelNumberDTO.getSigningNum(); |
|
|
|
outboundQuantity = distributionParcelNumberEntity.getOutboundQuantity() + parcelNumberDTO.getSigningNum(); |
|
|
|
signinQuantity = distributionParcelNumberEntity.getSigninQuantity() + parcelNumberDTO.getSigningNum(); |
|
|
|
signinQuantity = distributionParcelNumberEntity.getSigninQuantity() + parcelNumberDTO.getSigningNum(); |
|
|
|
} |
|
|
|
} |
|
|
|
//维护订单
|
|
|
|
//维护订单
|
|
|
|
if (outboundQuantity == distributionParcelNumberEntity.getQuantity()){ |
|
|
|
if (outboundQuantity == distributionParcelNumberEntity.getQuantity()) { |
|
|
|
parcelListEntity.setOrderPackageLoadingStatus(OrderPackageLoadingStatusConstant.yizhuangche.getValue()); |
|
|
|
parcelListEntity.setOrderPackageLoadingStatus(OrderPackageLoadingStatusConstant.yizhuangche.getValue()); |
|
|
|
} |
|
|
|
} |
|
|
|
if (handQuantity == 0){ |
|
|
|
if (handQuantity == 0) { |
|
|
|
parcelListEntity.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.yiyueyue.getValue()); |
|
|
|
parcelListEntity.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.yiyueyue.getValue()); |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
if (signingNumber == distributionParcelNumberEntity.getQuantity()){ |
|
|
|
if (signingNumber == distributionParcelNumberEntity.getQuantity()) { |
|
|
|
parcelListEntity.setOrderPackageStatus(OrderPackageStatusConstant.yiqianshou.getValue()); |
|
|
|
parcelListEntity.setOrderPackageStatus(OrderPackageStatusConstant.yiqianshou.getValue()); |
|
|
|
} |
|
|
|
} |
|
|
|
distributionParcelListService.updateById(parcelListEntity); |
|
|
|
distributionParcelListService.updateById(parcelListEntity); |
|
|
@ -5526,13 +5554,13 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution |
|
|
|
parcelNumberEntity.setSigninQuantity(signinQuantity); |
|
|
|
parcelNumberEntity.setSigninQuantity(signinQuantity); |
|
|
|
parcelNumberEntity.setHandQuantity(handQuantity); |
|
|
|
parcelNumberEntity.setHandQuantity(handQuantity); |
|
|
|
distributionParcelNumberService.updateById(parcelNumberEntity); |
|
|
|
distributionParcelNumberService.updateById(parcelNumberEntity); |
|
|
|
}else { |
|
|
|
} else { |
|
|
|
log.info("#############零担签收查询计划错误ParcelListId:{}",parcelNumberDTO.getParcelListId()); |
|
|
|
log.info("#############零担签收查询计划错误ParcelListId:{}", parcelNumberDTO.getParcelListId()); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
signforEntity.setLoadedNumber( loadingNumber); |
|
|
|
signforEntity.setLoadedNumber(loadingNumber); |
|
|
|
signforEntity.setReceivedQuantity( signingNumber); |
|
|
|
signforEntity.setReceivedQuantity(signingNumber); |
|
|
|
distributionSignforMapper.updateById(signforEntity); |
|
|
|
distributionSignforMapper.updateById(signforEntity); |
|
|
|
if (!packageLockIds.isEmpty()) { |
|
|
|
if (!packageLockIds.isEmpty()) { |
|
|
|
List<Long> a = bladeRedis.get("warehouseId:" + myCurrentWarehouse.getId() + "trainNumber:" + deliveryListEntity.getTrainNumber() + "orderPackageCode:"); |
|
|
|
List<Long> a = bladeRedis.get("warehouseId:" + myCurrentWarehouse.getId() + "trainNumber:" + deliveryListEntity.getTrainNumber() + "orderPackageCode:"); |
|
|
@ -5549,9 +5577,9 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution |
|
|
|
bladeRedis.setEx("warehouseId:" + myCurrentWarehouse.getId() + "trainNumber:" + deliveryListEntity.getTrainNumber() + "orderPackageCode:", packageLockIds, 10L); |
|
|
|
bladeRedis.setEx("warehouseId:" + myCurrentWarehouse.getId() + "trainNumber:" + deliveryListEntity.getTrainNumber() + "orderPackageCode:", packageLockIds, 10L); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if (!orderCodes.isEmpty()){ |
|
|
|
if (!orderCodes.isEmpty()) { |
|
|
|
String collect = orderCodes.stream().collect(Collectors.joining(",")); |
|
|
|
String collect = orderCodes.stream().collect(Collectors.joining(",")); |
|
|
|
distributionStockArticleService.maintenanceOrderInfo(collect,myCurrentWarehouse.getId()); |
|
|
|
distributionStockArticleService.maintenanceOrderInfo(collect, myCurrentWarehouse.getId()); |
|
|
|
} |
|
|
|
} |
|
|
|
String str = checkSignNum(distrilbutionloadingscanDTO); |
|
|
|
String str = checkSignNum(distrilbutionloadingscanDTO); |
|
|
|
return Resp.scanSuccess("签收成功", str); |
|
|
|
return Resp.scanSuccess("签收成功", str); |
|
|
@ -5566,7 +5594,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution |
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
|
|
|
distributionSignfor.setSigningTime(sdf.format(date)); |
|
|
|
distributionSignfor.setSigningTime(sdf.format(date)); |
|
|
|
boolean isSuccess = this.updatePicture(distributionSignfor); |
|
|
|
boolean isSuccess = this.updatePicture(distributionSignfor); |
|
|
|
log.info(">>>> updateSign isSuccess ={}",isSuccess); |
|
|
|
log.info(">>>> updateSign isSuccess ={}", isSuccess); |
|
|
|
buildArgsToPushMq(distributionSignfor); |
|
|
|
buildArgsToPushMq(distributionSignfor); |
|
|
|
if (isSuccess) { |
|
|
|
if (isSuccess) { |
|
|
|
this.updateById(distributionSignfor); |
|
|
|
this.updateById(distributionSignfor); |
|
|
|