|
|
|
@ -188,146 +188,146 @@ public class WarehouseRetentionRecordServiceImpl extends BaseServiceImpl<Warehou
|
|
|
|
|
return warehouseRetentionRecordVO; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
@Transactional |
|
|
|
|
public R saveRetentionList(WarehouseRetentionRecordDTO warehouseRetentionRecordDTO) { |
|
|
|
|
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse(); |
|
|
|
|
if (Func.isEmpty(myCurrentWarehouse)) { |
|
|
|
|
return null; |
|
|
|
|
} |
|
|
|
|
List<WarehouseRetentionScanDTO> warehouseRetentionScanDTOS = warehouseRetentionRecordDTO.getWarehouseRetentionScanDTOS(); |
|
|
|
|
if (Func.isEmpty(warehouseRetentionScanDTOS)) { |
|
|
|
|
log.error("############用户提交空滞留列表"); |
|
|
|
|
return Resp.scanFail("操作失败", "无滞留包件信息"); |
|
|
|
|
} |
|
|
|
|
//对滞留订制品包件进行去重
|
|
|
|
|
BladeUser user = AuthUtil.getUser(); |
|
|
|
|
AtomicInteger retentionTotal = new AtomicInteger(); |
|
|
|
|
AtomicBoolean saveFlah = new AtomicBoolean(false); |
|
|
|
|
//查询出该滞留任务是否存在
|
|
|
|
|
List<WarehouseRetentionScanEntity> retentionScanEntityList = warehouseRetentionScanService.list(Wrappers.<WarehouseRetentionScanEntity>query().lambda() |
|
|
|
|
.eq(WarehouseRetentionScanEntity::getDeliveryId, warehouseRetentionRecordDTO.getDeliveryId()) |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
warehouseRetentionScanDTOS.forEach(r -> { |
|
|
|
|
//查询是否进行多次滞留
|
|
|
|
|
WarehouseRetentionScanEntity retentionScanServiceOne = warehouseRetentionScanService.getOne(Wrappers.<WarehouseRetentionScanEntity>query().lambda() |
|
|
|
|
.eq(WarehouseRetentionScanEntity::getConditions, r.getConditions()) |
|
|
|
|
.eq(WarehouseRetentionScanEntity::getOrderPackageId, r.getOrderPackageId()) |
|
|
|
|
.eq(WarehouseRetentionScanEntity::getReservationId, r.getReservationId()) |
|
|
|
|
.eq(WarehouseRetentionScanEntity::getOrderId, r.getOrderId()) |
|
|
|
|
.eq(WarehouseRetentionScanEntity::getOrderCode, r.getOrderCode()) |
|
|
|
|
.eq(WarehouseRetentionScanEntity::getScanType, r.getScanType()) |
|
|
|
|
.eq(WarehouseRetentionScanEntity::getLoadingId, r.getLoadingId()) |
|
|
|
|
.eq(WarehouseRetentionScanEntity::getCancelRetentionStatus, IsOrNoConstant.no.getValue()) |
|
|
|
|
); |
|
|
|
|
//避免重复添加相同的滞留包件数据
|
|
|
|
|
if (Func.isEmpty(retentionScanServiceOne)) { |
|
|
|
|
r.setRetentionScanTime(new Date()); |
|
|
|
|
r.setRetentionScanUserId(user.getUserId()); |
|
|
|
|
r.setRetentionScanUsername(user.getNickName()); |
|
|
|
|
r.setRetentionQuantity(r.getRetentionQuantity()); |
|
|
|
|
retentionTotal.getAndAdd(r.getRetentionQuantity()); |
|
|
|
|
//进行滞留之后需要对包件进行取消配送的操作
|
|
|
|
|
warehouseRetentionScanService.save(Func.copy(r, WarehouseRetentionScanEntity.class)); |
|
|
|
|
} |
|
|
|
|
switch (r.getConditions()) { |
|
|
|
|
case 1: |
|
|
|
|
//订制品
|
|
|
|
|
saveFlah.set(distributionDeliveryListClient.retentionDeliveryReservationPackage(r.getDeliveryId(), r.getReservationId(), r.getOrderPackageId(), r.getConditions())); |
|
|
|
|
break; |
|
|
|
|
case 2: |
|
|
|
|
//库存品
|
|
|
|
|
saveFlah.set(distributionDeliveryListClient.retentionDeliveryReservationInventory(r.getDeliveryId(), r.getReservationId(), r.getOrderPackageId())); |
|
|
|
|
break; |
|
|
|
|
case 3: |
|
|
|
|
//零担
|
|
|
|
|
saveFlah.set(distributionDeliveryListClient.retentionDeliveryReservationZeroPackage(r.getDeliveryId(), r.getReservationId(), r.getOrderPackageId(), r.getRetentionQuantity(), r.getOrderId())); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
//进行滞留操作的包件需要和原来订单 预约进行绑定解除
|
|
|
|
|
// reservationClient.retentionCancelReservationPack();
|
|
|
|
|
}); |
|
|
|
|
if (saveFlah.get()) { |
|
|
|
|
return Resp.scanSuccess("操作成功", retentionTotal.get() + "件"); |
|
|
|
|
} else { |
|
|
|
|
throw new CustomerException("服务器正忙..."); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
@Transactional |
|
|
|
|
public R updateRetentionList(WarehouseRetentionRecordDTO warehouseRetentionScanDTOS) { |
|
|
|
|
// 获取当前登录的仓库信息
|
|
|
|
|
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse(); |
|
|
|
|
if (ObjectUtils.isNull(myCurrentWarehouse)) { |
|
|
|
|
return R.fail(403, "无仓库信息"); |
|
|
|
|
} |
|
|
|
|
List<WarehouseRetentionScanDTO> warehouseRetentionScanDTOList = warehouseRetentionScanDTOS.getWarehouseRetentionScanDTOS(); |
|
|
|
|
if (Func.isEmpty(warehouseRetentionScanDTOList)) { |
|
|
|
|
log.error("##########缺少滞留包件列表:{}", warehouseRetentionScanDTOList); |
|
|
|
|
return Resp.scanFail("无滞留包件信息", "无滞留包件信息"); |
|
|
|
|
} |
|
|
|
|
//查询出该滞留任务是否存在
|
|
|
|
|
List<WarehouseRetentionScanEntity> retentionScanEntityList = warehouseRetentionScanService.list(Wrappers.<WarehouseRetentionScanEntity>query().lambda() |
|
|
|
|
.eq(WarehouseRetentionScanEntity::getDeliveryId, warehouseRetentionScanDTOS.getDeliveryId()) |
|
|
|
|
); |
|
|
|
|
AtomicBoolean saveFlah = new AtomicBoolean(false); |
|
|
|
|
if (Func.isNotEmpty(warehouseRetentionScanDTOList)) { |
|
|
|
|
BladeUser user = AuthUtil.getUser(); |
|
|
|
|
Map<Long, WarehouseRetentionScanEntity> retentionPackageMap = retentionScanEntityList.stream().collect(Collectors.toMap(WarehouseRetentionScanEntity::getOrderPackageId, Function.identity(), (k1, k2) -> k2)); |
|
|
|
|
warehouseRetentionScanDTOList.forEach(rs -> { |
|
|
|
|
if (Func.isNotEmpty(retentionPackageMap.get(rs.getOrderPackageId()))) { |
|
|
|
|
//查看是否是零担,如果是零担需要查看是否发生数量修改
|
|
|
|
|
WarehouseRetentionScanEntity warehouseRetentionScanEntity = retentionPackageMap.get(rs.getOrderPackageId()); |
|
|
|
|
if (retentionPackageMap.get(rs.getOrderPackageId()).getConditions() == 3) { |
|
|
|
|
//零担查看是否发生数据修改
|
|
|
|
|
if (!Objects.equals(warehouseRetentionScanEntity.getRetentionQuantity(), rs.getRetentionQuantity()) && rs.getRetentionQuantity() > 0) { |
|
|
|
|
warehouseRetentionScanEntity.setRetentionQuantity(rs.getRetentionQuantity()); |
|
|
|
|
warehouseRetentionScanService.updateById(warehouseRetentionScanEntity); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
saveFlah.set(true); |
|
|
|
|
} else { |
|
|
|
|
//在原列表中查询不到,这里视为新增滞留包件
|
|
|
|
|
rs.setRetentionScanTime(new Date()); |
|
|
|
|
rs.setRetentionScanUserId(user.getUserId()); |
|
|
|
|
rs.setRetentionScanUsername(user.getNickName()); |
|
|
|
|
// rs.setRetentionQuantity(r.getRetentionQuantity());
|
|
|
|
|
// retentionTotal.getAndAdd(r.getRetentionQuantity());
|
|
|
|
|
rs.setDeliveryId(warehouseRetentionScanDTOS.getDeliveryId()); |
|
|
|
|
warehouseRetentionScanService.save(Func.copy(rs, WarehouseRetentionScanEntity.class)); |
|
|
|
|
switch (rs.getConditions()) { |
|
|
|
|
case 1: |
|
|
|
|
//订制品
|
|
|
|
|
saveFlah.set(distributionDeliveryListClient.retentionDeliveryReservationPackage(rs.getDeliveryId(), rs.getReservationId(), rs.getOrderPackageId(), rs.getConditions())); |
|
|
|
|
break; |
|
|
|
|
case 2: |
|
|
|
|
//库存品
|
|
|
|
|
saveFlah.set(distributionDeliveryListClient.retentionDeliveryReservationInventory(rs.getDeliveryId(), rs.getReservationId(), rs.getOrderPackageId())); |
|
|
|
|
break; |
|
|
|
|
case 3: |
|
|
|
|
//零担
|
|
|
|
|
saveFlah.set(distributionDeliveryListClient.retentionDeliveryReservationZeroPackage(rs.getDeliveryId(), rs.getReservationId(), rs.getOrderPackageId(), rs.getRetentionQuantity(), rs.getOrderId())); |
|
|
|
|
break; |
|
|
|
|
default: |
|
|
|
|
log.error(">>>>> rs.getConditions()={}", rs.getConditions()); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
//统计该滞留任务的包件数量
|
|
|
|
|
int retentionTotal = warehouseRetentionScanService.list(Wrappers.<WarehouseRetentionScanEntity>query().lambda() |
|
|
|
|
.eq(WarehouseRetentionScanEntity::getDeliveryId, warehouseRetentionScanDTOS.getDeliveryId())).stream().mapToInt(WarehouseRetentionScanEntity::getRetentionQuantity) |
|
|
|
|
.sum(); |
|
|
|
|
if (saveFlah.get()) { |
|
|
|
|
return Resp.scanSuccess("操作成功", "共计滞留" + retentionTotal + "件"); |
|
|
|
|
} else { |
|
|
|
|
throw new CustomerException("服务器正忙..."); |
|
|
|
|
} |
|
|
|
|
// @Override
|
|
|
|
|
// @Transactional
|
|
|
|
|
// public R saveRetentionList(WarehouseRetentionRecordDTO warehouseRetentionRecordDTO) {
|
|
|
|
|
// BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
|
|
|
|
|
// if (Func.isEmpty(myCurrentWarehouse)) {
|
|
|
|
|
// return null;
|
|
|
|
|
// }
|
|
|
|
|
// List<WarehouseRetentionScanDTO> warehouseRetentionScanDTOS = warehouseRetentionRecordDTO.getWarehouseRetentionScanDTOS();
|
|
|
|
|
// if (Func.isEmpty(warehouseRetentionScanDTOS)) {
|
|
|
|
|
// log.error("############用户提交空滞留列表");
|
|
|
|
|
// return Resp.scanFail("操作失败", "无滞留包件信息");
|
|
|
|
|
// }
|
|
|
|
|
// //对滞留订制品包件进行去重
|
|
|
|
|
// BladeUser user = AuthUtil.getUser();
|
|
|
|
|
// AtomicInteger retentionTotal = new AtomicInteger();
|
|
|
|
|
// AtomicBoolean saveFlah = new AtomicBoolean(false);
|
|
|
|
|
// //查询出该滞留任务是否存在
|
|
|
|
|
// List<WarehouseRetentionScanEntity> retentionScanEntityList = warehouseRetentionScanService.list(Wrappers.<WarehouseRetentionScanEntity>query().lambda()
|
|
|
|
|
// .eq(WarehouseRetentionScanEntity::getDeliveryId, warehouseRetentionRecordDTO.getDeliveryId())
|
|
|
|
|
// );
|
|
|
|
|
//
|
|
|
|
|
// warehouseRetentionScanDTOS.forEach(r -> {
|
|
|
|
|
// //查询是否进行多次滞留
|
|
|
|
|
// WarehouseRetentionScanEntity retentionScanServiceOne = warehouseRetentionScanService.getOne(Wrappers.<WarehouseRetentionScanEntity>query().lambda()
|
|
|
|
|
// .eq(WarehouseRetentionScanEntity::getConditions, r.getConditions())
|
|
|
|
|
// .eq(WarehouseRetentionScanEntity::getOrderPackageId, r.getOrderPackageId())
|
|
|
|
|
// .eq(WarehouseRetentionScanEntity::getReservationId, r.getReservationId())
|
|
|
|
|
// .eq(WarehouseRetentionScanEntity::getOrderId, r.getOrderId())
|
|
|
|
|
// .eq(WarehouseRetentionScanEntity::getOrderCode, r.getOrderCode())
|
|
|
|
|
// .eq(WarehouseRetentionScanEntity::getScanType, r.getScanType())
|
|
|
|
|
// .eq(WarehouseRetentionScanEntity::getLoadingId, r.getLoadingId())
|
|
|
|
|
// .eq(WarehouseRetentionScanEntity::getCancelRetentionStatus, IsOrNoConstant.no.getValue())
|
|
|
|
|
// );
|
|
|
|
|
// //避免重复添加相同的滞留包件数据
|
|
|
|
|
// if (Func.isEmpty(retentionScanServiceOne)) {
|
|
|
|
|
// r.setRetentionScanTime(new Date());
|
|
|
|
|
// r.setRetentionScanUserId(user.getUserId());
|
|
|
|
|
// r.setRetentionScanUsername(user.getNickName());
|
|
|
|
|
// r.setRetentionQuantity(r.getRetentionQuantity());
|
|
|
|
|
// retentionTotal.getAndAdd(r.getRetentionQuantity());
|
|
|
|
|
// //进行滞留之后需要对包件进行取消配送的操作
|
|
|
|
|
// warehouseRetentionScanService.save(Func.copy(r, WarehouseRetentionScanEntity.class));
|
|
|
|
|
// }
|
|
|
|
|
// switch (r.getConditions()) {
|
|
|
|
|
// case 1:
|
|
|
|
|
// //订制品
|
|
|
|
|
// saveFlah.set(distributionDeliveryListClient.retentionDeliveryReservationPackage(r.getDeliveryId(), r.getReservationId(), r.getOrderPackageId(), r.getConditions()));
|
|
|
|
|
// break;
|
|
|
|
|
// case 2:
|
|
|
|
|
// //库存品
|
|
|
|
|
// saveFlah.set(distributionDeliveryListClient.retentionDeliveryReservationInventory(r.getDeliveryId(), r.getReservationId(), r.getOrderPackageId()));
|
|
|
|
|
// break;
|
|
|
|
|
// case 3:
|
|
|
|
|
// //零担
|
|
|
|
|
// saveFlah.set(distributionDeliveryListClient.retentionDeliveryReservationZeroPackage(r.getDeliveryId(), r.getReservationId(), r.getOrderPackageId(), r.getRetentionQuantity(), r.getOrderId()));
|
|
|
|
|
// break;
|
|
|
|
|
// }
|
|
|
|
|
// //进行滞留操作的包件需要和原来订单 预约进行绑定解除
|
|
|
|
|
//// reservationClient.retentionCancelReservationPack();
|
|
|
|
|
// });
|
|
|
|
|
// if (saveFlah.get()) {
|
|
|
|
|
// return Resp.scanSuccess("操作成功", retentionTotal.get() + "件");
|
|
|
|
|
// } else {
|
|
|
|
|
// throw new CustomerException("服务器正忙...");
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
// @Override
|
|
|
|
|
// @Transactional
|
|
|
|
|
// public R updateRetentionList(WarehouseRetentionRecordDTO warehouseRetentionScanDTOS) {
|
|
|
|
|
// // 获取当前登录的仓库信息
|
|
|
|
|
// BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
|
|
|
|
|
// if (ObjectUtils.isNull(myCurrentWarehouse)) {
|
|
|
|
|
// return R.fail(403, "无仓库信息");
|
|
|
|
|
// }
|
|
|
|
|
// List<WarehouseRetentionScanDTO> warehouseRetentionScanDTOList = warehouseRetentionScanDTOS.getWarehouseRetentionScanDTOS();
|
|
|
|
|
// if (Func.isEmpty(warehouseRetentionScanDTOList)) {
|
|
|
|
|
// log.error("##########缺少滞留包件列表:{}", warehouseRetentionScanDTOList);
|
|
|
|
|
// return Resp.scanFail("无滞留包件信息", "无滞留包件信息");
|
|
|
|
|
// }
|
|
|
|
|
// //查询出该滞留任务是否存在
|
|
|
|
|
// List<WarehouseRetentionScanEntity> retentionScanEntityList = warehouseRetentionScanService.list(Wrappers.<WarehouseRetentionScanEntity>query().lambda()
|
|
|
|
|
// .eq(WarehouseRetentionScanEntity::getDeliveryId, warehouseRetentionScanDTOS.getDeliveryId())
|
|
|
|
|
// );
|
|
|
|
|
// AtomicBoolean saveFlah = new AtomicBoolean(false);
|
|
|
|
|
// if (Func.isNotEmpty(warehouseRetentionScanDTOList)) {
|
|
|
|
|
// BladeUser user = AuthUtil.getUser();
|
|
|
|
|
// Map<Long, WarehouseRetentionScanEntity> retentionPackageMap = retentionScanEntityList.stream().collect(Collectors.toMap(WarehouseRetentionScanEntity::getOrderPackageId, Function.identity(), (k1, k2) -> k2));
|
|
|
|
|
// warehouseRetentionScanDTOList.forEach(rs -> {
|
|
|
|
|
// if (Func.isNotEmpty(retentionPackageMap.get(rs.getOrderPackageId()))) {
|
|
|
|
|
// //查看是否是零担,如果是零担需要查看是否发生数量修改
|
|
|
|
|
// WarehouseRetentionScanEntity warehouseRetentionScanEntity = retentionPackageMap.get(rs.getOrderPackageId());
|
|
|
|
|
// if (retentionPackageMap.get(rs.getOrderPackageId()).getConditions() == 3) {
|
|
|
|
|
// //零担查看是否发生数据修改
|
|
|
|
|
// if (!Objects.equals(warehouseRetentionScanEntity.getRetentionQuantity(), rs.getRetentionQuantity()) && rs.getRetentionQuantity() > 0) {
|
|
|
|
|
// warehouseRetentionScanEntity.setRetentionQuantity(rs.getRetentionQuantity());
|
|
|
|
|
// warehouseRetentionScanService.updateById(warehouseRetentionScanEntity);
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// saveFlah.set(true);
|
|
|
|
|
// } else {
|
|
|
|
|
// //在原列表中查询不到,这里视为新增滞留包件
|
|
|
|
|
// rs.setRetentionScanTime(new Date());
|
|
|
|
|
// rs.setRetentionScanUserId(user.getUserId());
|
|
|
|
|
// rs.setRetentionScanUsername(user.getNickName());
|
|
|
|
|
//// rs.setRetentionQuantity(r.getRetentionQuantity());
|
|
|
|
|
//// retentionTotal.getAndAdd(r.getRetentionQuantity());
|
|
|
|
|
// rs.setDeliveryId(warehouseRetentionScanDTOS.getDeliveryId());
|
|
|
|
|
// warehouseRetentionScanService.save(Func.copy(rs, WarehouseRetentionScanEntity.class));
|
|
|
|
|
// switch (rs.getConditions()) {
|
|
|
|
|
// case 1:
|
|
|
|
|
// //订制品
|
|
|
|
|
// saveFlah.set(distributionDeliveryListClient.retentionDeliveryReservationPackage(rs.getDeliveryId(), rs.getReservationId(), rs.getOrderPackageId(), rs.getConditions()));
|
|
|
|
|
// break;
|
|
|
|
|
// case 2:
|
|
|
|
|
// //库存品
|
|
|
|
|
// saveFlah.set(distributionDeliveryListClient.retentionDeliveryReservationInventory(rs.getDeliveryId(), rs.getReservationId(), rs.getOrderPackageId()));
|
|
|
|
|
// break;
|
|
|
|
|
// case 3:
|
|
|
|
|
// //零担
|
|
|
|
|
// saveFlah.set(distributionDeliveryListClient.retentionDeliveryReservationZeroPackage(rs.getDeliveryId(), rs.getReservationId(), rs.getOrderPackageId(), rs.getRetentionQuantity(), rs.getOrderId()));
|
|
|
|
|
// break;
|
|
|
|
|
// default:
|
|
|
|
|
// log.error(">>>>> rs.getConditions()={}", rs.getConditions());
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// });
|
|
|
|
|
// }
|
|
|
|
|
// //统计该滞留任务的包件数量
|
|
|
|
|
// int retentionTotal = warehouseRetentionScanService.list(Wrappers.<WarehouseRetentionScanEntity>query().lambda()
|
|
|
|
|
// .eq(WarehouseRetentionScanEntity::getDeliveryId, warehouseRetentionScanDTOS.getDeliveryId())).stream().mapToInt(WarehouseRetentionScanEntity::getRetentionQuantity)
|
|
|
|
|
// .sum();
|
|
|
|
|
// if (saveFlah.get()) {
|
|
|
|
|
// return Resp.scanSuccess("操作成功", "共计滞留" + retentionTotal + "件");
|
|
|
|
|
// } else {
|
|
|
|
|
// throw new CustomerException("服务器正忙...");
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@ -403,51 +403,51 @@ public class WarehouseRetentionRecordServiceImpl extends BaseServiceImpl<Warehou
|
|
|
|
|
return warehouseRetentionScanVOS; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
@Transactional |
|
|
|
|
public R saveBatchRetentionList(List<WarehouseRetentionScanEntity> warehouseRetentionScanEntities) { |
|
|
|
|
AtomicBoolean saveFlah = new AtomicBoolean(false); |
|
|
|
|
if (!warehouseRetentionScanEntities.isEmpty()) { |
|
|
|
|
List<Long> deliveryIds = warehouseRetentionScanEntities.stream().map(WarehouseRetentionScanEntity::getDeliveryId).distinct().collect(Collectors.toList()); |
|
|
|
|
//查询出该滞留任务是否存在
|
|
|
|
|
List<WarehouseRetentionScanEntity> retentionScanEntityList = warehouseRetentionScanService.list(Wrappers.<WarehouseRetentionScanEntity>query().lambda() |
|
|
|
|
.in(WarehouseRetentionScanEntity::getDeliveryId, deliveryIds) |
|
|
|
|
); |
|
|
|
|
if (!retentionScanEntityList.isEmpty()) { |
|
|
|
|
String collect = retentionScanEntityList.stream().filter(f -> |
|
|
|
|
warehouseRetentionScanEntities.stream().map(w -> w.getOrderPackageCode()) |
|
|
|
|
.collect(Collectors.toList()) |
|
|
|
|
.contains(f.getOrderPackageCode())) |
|
|
|
|
.map(WarehouseRetentionScanEntity::getOrderPackageCode).collect(Collectors.joining(",")); |
|
|
|
|
if (Objects.isNull(collect)) { |
|
|
|
|
return R.fail(collect + "重复滞留"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
for (WarehouseRetentionScanEntity warehouseRetentionScanEntity : warehouseRetentionScanEntities) { |
|
|
|
|
|
|
|
|
|
//进行滞留逻辑处理
|
|
|
|
|
switch (warehouseRetentionScanEntity.getConditions()) { |
|
|
|
|
case 1: |
|
|
|
|
//订制品
|
|
|
|
|
saveFlah.set(distributionDeliveryListClient.retentionDeliveryReservationPackage(warehouseRetentionScanEntity.getDeliveryId(), warehouseRetentionScanEntity.getReservationId(), warehouseRetentionScanEntity.getOrderPackageId(), warehouseRetentionScanEntity.getConditions())); |
|
|
|
|
break; |
|
|
|
|
case 2: |
|
|
|
|
//库存品
|
|
|
|
|
saveFlah.set(distributionDeliveryListClient.retentionDeliveryReservationInventory(warehouseRetentionScanEntity.getDeliveryId(), warehouseRetentionScanEntity.getReservationId(), warehouseRetentionScanEntity.getOrderPackageId())); |
|
|
|
|
break; |
|
|
|
|
case 3: |
|
|
|
|
//零担
|
|
|
|
|
saveFlah.set(distributionDeliveryListClient.retentionDeliveryReservationZeroPackage(warehouseRetentionScanEntity.getDeliveryId(), warehouseRetentionScanEntity.getReservationId(), warehouseRetentionScanEntity.getOrderPackageId(), warehouseRetentionScanEntity.getRetentionQuantity(), warehouseRetentionScanEntity.getOrderId())); |
|
|
|
|
break; |
|
|
|
|
default: |
|
|
|
|
log.error(">>>>> rs.getConditions()={}", warehouseRetentionScanEntity.getConditions()); |
|
|
|
|
} |
|
|
|
|
//进行滞留信息的保存
|
|
|
|
|
warehouseRetentionScanService.save(Func.copy(warehouseRetentionScanEntity, WarehouseRetentionScanEntity.class)); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return R.success("操作成功"); |
|
|
|
|
} |
|
|
|
|
// @Override
|
|
|
|
|
// @Transactional
|
|
|
|
|
// public R saveBatchRetentionList(List<WarehouseRetentionScanEntity> warehouseRetentionScanEntities) {
|
|
|
|
|
// AtomicBoolean saveFlah = new AtomicBoolean(false);
|
|
|
|
|
// if (!warehouseRetentionScanEntities.isEmpty()) {
|
|
|
|
|
// List<Long> deliveryIds = warehouseRetentionScanEntities.stream().map(WarehouseRetentionScanEntity::getDeliveryId).distinct().collect(Collectors.toList());
|
|
|
|
|
// //查询出该滞留任务是否存在
|
|
|
|
|
// List<WarehouseRetentionScanEntity> retentionScanEntityList = warehouseRetentionScanService.list(Wrappers.<WarehouseRetentionScanEntity>query().lambda()
|
|
|
|
|
// .in(WarehouseRetentionScanEntity::getDeliveryId, deliveryIds)
|
|
|
|
|
// );
|
|
|
|
|
// if (!retentionScanEntityList.isEmpty()) {
|
|
|
|
|
// String collect = retentionScanEntityList.stream().filter(f ->
|
|
|
|
|
// warehouseRetentionScanEntities.stream().map(w -> w.getOrderPackageCode())
|
|
|
|
|
// .collect(Collectors.toList())
|
|
|
|
|
// .contains(f.getOrderPackageCode()))
|
|
|
|
|
// .map(WarehouseRetentionScanEntity::getOrderPackageCode).collect(Collectors.joining(","));
|
|
|
|
|
// if (Objects.isNull(collect)) {
|
|
|
|
|
// return R.fail(collect + "重复滞留");
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// for (WarehouseRetentionScanEntity warehouseRetentionScanEntity : warehouseRetentionScanEntities) {
|
|
|
|
|
//
|
|
|
|
|
// //进行滞留逻辑处理
|
|
|
|
|
// switch (warehouseRetentionScanEntity.getConditions()) {
|
|
|
|
|
// case 1:
|
|
|
|
|
// //订制品
|
|
|
|
|
// saveFlah.set(distributionDeliveryListClient.retentionDeliveryReservationPackage(warehouseRetentionScanEntity.getDeliveryId(), warehouseRetentionScanEntity.getReservationId(), warehouseRetentionScanEntity.getOrderPackageId(), warehouseRetentionScanEntity.getConditions()));
|
|
|
|
|
// break;
|
|
|
|
|
// case 2:
|
|
|
|
|
// //库存品
|
|
|
|
|
// saveFlah.set(distributionDeliveryListClient.retentionDeliveryReservationInventory(warehouseRetentionScanEntity.getDeliveryId(), warehouseRetentionScanEntity.getReservationId(), warehouseRetentionScanEntity.getOrderPackageId()));
|
|
|
|
|
// break;
|
|
|
|
|
// case 3:
|
|
|
|
|
// //零担
|
|
|
|
|
// saveFlah.set(distributionDeliveryListClient.retentionDeliveryReservationZeroPackage(warehouseRetentionScanEntity.getDeliveryId(), warehouseRetentionScanEntity.getReservationId(), warehouseRetentionScanEntity.getOrderPackageId(), warehouseRetentionScanEntity.getRetentionQuantity(), warehouseRetentionScanEntity.getOrderId()));
|
|
|
|
|
// break;
|
|
|
|
|
// default:
|
|
|
|
|
// log.error(">>>>> rs.getConditions()={}", warehouseRetentionScanEntity.getConditions());
|
|
|
|
|
// }
|
|
|
|
|
// //进行滞留信息的保存
|
|
|
|
|
// warehouseRetentionScanService.save(Func.copy(warehouseRetentionScanEntity, WarehouseRetentionScanEntity.class));
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// return R.success("操作成功");
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public R scanRetention(WarehouseRetentionScanDTO warehouseRetentionScanDTO) { |
|
|
|
@ -486,7 +486,7 @@ public class WarehouseRetentionRecordServiceImpl extends BaseServiceImpl<Warehou
|
|
|
|
|
warehouseRetentionScanEntity.getReservationId(), |
|
|
|
|
warehouseRetentionScanEntity.getOrderPackageId(), |
|
|
|
|
warehouseRetentionScanEntity.getConditions(), |
|
|
|
|
warehouseRetentionScanEntity.getRetentionType(); |
|
|
|
|
warehouseRetentionScanEntity.getRetentionType() |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
result = distributionParcelListClient.maintainInWarehouse(warehouseRetentionScanEntity.getOrderPackageId(), warehouseRetentionScanEntity.getTaskCode()); |
|
|
|
|