|
|
|
@ -5941,11 +5941,24 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
public R retentionScan(DistrilbutionloadingscanDTO distrilbutionloadingscanDTO) { |
|
|
|
|
if (distrilbutionloadingscanDTO.getBarcode().isEmpty()) { |
|
|
|
|
log.error("参数缺失Barcode:{}", distrilbutionloadingscanDTO.getBarcode()); |
|
|
|
|
return R.fail(403, "数据错误"); |
|
|
|
|
} |
|
|
|
|
//查询包件
|
|
|
|
|
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse(); |
|
|
|
|
if (Func.isEmpty(myCurrentWarehouse)) { |
|
|
|
|
return Resp.scanFail("未授权!!!", "未授权!!!"); |
|
|
|
|
return R.fail(403, "未授权!!!"); |
|
|
|
|
} |
|
|
|
|
List<String> barcode = Func.toStrList(distrilbutionloadingscanDTO.getBarcode()); |
|
|
|
|
List<DistributionParcelListEntity> parcelListEntities = distributionParcelListService.list(Wrappers.<DistributionParcelListEntity>query().lambda() |
|
|
|
|
.in(DistributionParcelListEntity::getOrderPackageCode, barcode) |
|
|
|
|
.eq(DistributionParcelListEntity::getWarehouseId, myCurrentWarehouse.getId()) |
|
|
|
|
); |
|
|
|
|
if (!parcelListEntities.isEmpty()) { |
|
|
|
|
boolean flag = parcelListEntities.stream().allMatch(a -> OrderPackageLoadingStatusConstant.yizhuangche.getValue().equals(a.getOrderPackageLoadingStatus()) && !OrderPackageStatusConstant.yiqianshou.getValue().equals(a.getOrderPackageStatus())); |
|
|
|
|
if (!flag){ |
|
|
|
|
String str = parcelListEntities.stream().filter(a -> OrderPackageLoadingStatusConstant.yizhuangche.getValue().equals(a.getOrderPackageLoadingStatus()) && !OrderPackageStatusConstant.yiqianshou.getValue().equals(a.getOrderPackageStatus())).map(DistributionParcelListEntity::getOrderCode).distinct().collect(Collectors.joining(",")); |
|
|
|
|
return R.fail(str+"不满足滞留"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
Integer retentionType = distrilbutionloadingscanDTO.getRetentionType(); |
|
|
|
|
Long deliveryId = null; |
|
|
|
@ -5953,14 +5966,14 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
//不在车次任务内进行扫描
|
|
|
|
|
//查询此包件属于哪个车次
|
|
|
|
|
List<DistributionLoadscanEntity> loadscanEntityList = distributionLoadscanService.list(Wrappers.<DistributionLoadscanEntity>query().lambda() |
|
|
|
|
.eq(DistributionLoadscanEntity::getOrderPackageCode, distrilbutionloadingscanDTO.getBarcode()) |
|
|
|
|
.in(DistributionLoadscanEntity::getOrderPackageCode, barcode) |
|
|
|
|
.ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()) |
|
|
|
|
.ne(DistributionLoadscanEntity::getSignforState, LoadScanSigningStatusConstant.yiqianshou.getValue()) |
|
|
|
|
); |
|
|
|
|
if (loadscanEntityList.isEmpty()) { |
|
|
|
|
//查询库存品
|
|
|
|
|
List<DistributionLoadscaninvnEntity> loadscaninvnEntityList = distributionLoadscaninvnService.list(Wrappers.<DistributionLoadscaninvnEntity>query().lambda() |
|
|
|
|
.eq(DistributionLoadscaninvnEntity::getOrderPackageCode, distrilbutionloadingscanDTO.getBarcode()) |
|
|
|
|
.in(DistributionLoadscaninvnEntity::getOrderPackageCode, barcode) |
|
|
|
|
.ne(DistributionLoadscaninvnEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()) |
|
|
|
|
.ne(DistributionLoadscaninvnEntity::getSignforState, LoadScanSigningStatusConstant.yiqianshou.getValue()) |
|
|
|
|
); |
|
|
|
@ -5978,7 +5991,6 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
} |
|
|
|
|
DistributionDeliveryListEntity deliveryListEntity = this.getById(deliveryId); |
|
|
|
|
List<DistributionRetentionScanVo> retentionScanVos = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
switch (retentionType) { |
|
|
|
|
case 1: |
|
|
|
|
//包件--库存品 和包件
|
|
|
|
@ -6056,7 +6068,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
retentionScanVos.addAll(distributionRetentionScanVos); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if (Func.isEmpty(retentionScanVos)) { |
|
|
|
|
if (!Func.isEmpty(retentionScanVos)) { |
|
|
|
|
List<DistributionLoadscanAbnormalEntity> list = distributionLoadscanAbnormalService.list(Wrappers.<DistributionLoadscanAbnormalEntity>query().lambda() |
|
|
|
|
.eq(DistributionLoadscanAbnormalEntity::getPackageCode, distrilbutionloadingscanDTO.getBarcode()) |
|
|
|
|
); |
|
|
|
@ -6085,16 +6097,22 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (flag) { |
|
|
|
|
//存在该订制品或者库存品包件信息但是未进行装车操作
|
|
|
|
|
return Resp.scanFail("包件未装车", "包件未装车"); |
|
|
|
|
} else { |
|
|
|
|
//该配送任务查询无该包件信息
|
|
|
|
|
return Resp.scanFail("系统无编码", "系统无编码"); |
|
|
|
|
List<WarehouseRetentionScanEntity> warehouseRetentionScanEntities = new ArrayList<>(); |
|
|
|
|
if (!retentionScanVos.isEmpty()) { |
|
|
|
|
retentionScanVos.forEach(r->{ |
|
|
|
|
WarehouseRetentionScanEntity warehouseRetntionScanEntity = Func.copy(r, WarehouseRetentionScanEntity.class); |
|
|
|
|
warehouseRetentionScanEntities.add(warehouseRetntionScanEntity); |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
if (!warehouseRetentionScanEntities.isEmpty()) { |
|
|
|
|
//进行批量滞留
|
|
|
|
|
R r = warehouseRetentionScanClient.saveBatchRetentionScan(warehouseRetentionScanEntities); |
|
|
|
|
if (!Objects.equals(r.getCode(),200)){ |
|
|
|
|
throw new RuntimeException(r.getMsg()); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return R.data(retentionScanVos); |
|
|
|
|
return R.success("滞留操作成功"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|