|
|
|
@ -674,16 +674,25 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
List<DistributionLoadscanAbnormalEntity> abnormalEntities = distributionLoadscanAbnormalService.list(Wrappers.<DistributionLoadscanAbnormalEntity>query().lambda() |
|
|
|
|
.eq(DistributionLoadscanAbnormalEntity::getPackageCode, distrilbutionloadingscanDTO.getBarcode()) |
|
|
|
|
.eq(DistributionLoadscanAbnormalEntity::getPackageId, parcelList.getId()) |
|
|
|
|
.notIn(DistributionLoadscanAbnormalEntity::getAuditingStatus, LoadingAbnormalAuditingStatusConstant.daishenhe.getValue()) |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
if (!abnormalEntities.isEmpty()) { |
|
|
|
|
//判断异常是否属于自身
|
|
|
|
|
boolean flag = abnormalEntities.stream().allMatch(a -> !distributionDeliveryListEntity.getId().equals(a.getDeliveryListId()) || !distrilbutionloadingscanDTO.getReservationId().equals(a.getReservationId())); |
|
|
|
|
if (flag) { |
|
|
|
|
//校验是否还存在装车 如若存在则是无效装车,如若不存在则有效
|
|
|
|
|
List<DistributionLoadscanEntity> loadscanEntityList = distributionLoadscanService.list(Wrappers.<DistributionLoadscanEntity>query().lambda() |
|
|
|
|
.eq(DistributionLoadscanEntity::getOrderPackageCode, distrilbutionloadingscanDTO.getBarcode()) |
|
|
|
|
.eq(DistributionLoadscanEntity::getWarehouseId, myCurrentWarehouse.getId()) |
|
|
|
|
.ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()) |
|
|
|
|
); |
|
|
|
|
if (!Func.isEmpty(loadscanEntityList)) { |
|
|
|
|
//该异常属于其他车次
|
|
|
|
|
String collect = abnormalEntities.stream().map(DistributionLoadscanAbnormalEntity::getTrainNumber).collect(Collectors.joining(",")); |
|
|
|
|
log.info("包件已在其他车次存在异常 >>>>当前车次:{},其他车次:{}", distributionDeliveryListEntity.getTrainNumber(), collect); |
|
|
|
|
return Resp.scanFail("包件已在其他车次存在异常", "包件已在其他车次存在异常"); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
//这里需要判定文员是否对该异常进行驳回操作
|
|
|
|
|
List<DistributionLoadscanAbnormalEntity> collect = abnormalEntities.stream().filter(f -> distributionDeliveryListEntity.getId().equals(f.getDeliveryListId()) && distrilbutionloadingscanDTO.getReservationId().equals(f.getReservationId())).collect(Collectors.toList()); |
|
|
|
|