Browse Source

库存品备货调整、PDA备货签收调整+

training
汤建军 1 year ago
parent
commit
886d6f23d3
  1. 4
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/app/DistributionAppStockArticleVO.java
  2. 315
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionStockupAppController.java
  3. 130
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml
  4. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java
  5. 8
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java
  6. 24
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java

4
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/app/DistributionAppStockArticleVO.java

@ -39,7 +39,7 @@ public class DistributionAppStockArticleVO extends DistributionStockArticleEntit
* 扫描数
*/
@ApiModelProperty(value = "扫描数")
private Integer loadingNub;
private Integer loadingNub=0;
/**
* 订单ID
@ -50,7 +50,7 @@ public class DistributionAppStockArticleVO extends DistributionStockArticleEntit
* 签收数
*/
@ApiModelProperty(value = "签收(订单)")
private Integer signforNub;
private Integer signforNub=0;
/**
* 是否存在异常包间

315
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionStockupAppController.java

@ -696,11 +696,11 @@ public class DistributionStockupAppController extends BladeController {
return Resp.scanFail(60008,"包件不属于此计划!!!","包件不属于此计划!!!","");
case 2:
return R.data(60002, distributionStockListEntities.getId(), "当前包件批次号与入库批次号不符,是否确认修改计划批次");
// case 3:
// //查询其他所用的页面信息
// DistributionStockupStockListVO distributionStockupStockListVO = distributionReservationService.selectStockupStockListByStockListId(reservationId,distributionStockListEntities.getId());
// return R.data(200, distributionStockupStockListVO, "扫描成功!");
case 3:
//查询其他所用的页面信息
DistributionStockupStockListVO distributionStockupStockListVO = distributionReservationService.selectStockupStockListByStockListId(reservationId,distributionStockListEntities.getId());
return R.data(200, distributionStockupStockListVO, "扫描成功!");
case 4:
return R.data(200, distributionStockListEntities.getId(), "扫描成功!");
}
@ -736,45 +736,54 @@ public class DistributionStockupAppController extends BladeController {
}
return R.data(200, "", "扫描成功!");
}
private int judgmentIsStockUp(Long reservationId,Long stockListId, DistributionParcelListEntity distributionParcelListEntity, Long warehouseId,String cargoNumber) {
List<DistributionReservationStocklistEntity> distributionReservationStocklistEntities = distributionReservationMapper.selectStockListByReservationId(reservationId);
if (Func.isNotEmpty(distributionReservationStocklistEntities)){
List<Long> stockListIds = distributionReservationStocklistEntities.stream().map(DistributionReservationStocklistEntity::getStocklistId).collect(Collectors.toList());
//查询库存品信息
List<Long> stockListIds = distributionReservationStocklistEntities.stream().map(DistributionReservationStocklistEntity::getStocklistId).collect(Collectors.toList());
List<DistributionStockListEntity> stockListEntityList = distributionStockListService.list(Wrappers.<DistributionStockListEntity>query().lambda()
.in(DistributionStockListEntity::getId, stockListId)
.in(DistributionStockListEntity::getId, stockListIds)
.eq(DistributionStockListEntity::getWarehouseId, warehouseId)
.eq(DistributionStockListEntity::getCargoNumber, cargoNumber)
);
//判断该库存品包件是否属于计划库存品的物料
//首先判断包件的物料和此计划中的物料是否一致
// if (!stockListEntityList.getCargoNumber().equals(distributionParcelListEntity.getMaterialCode())){
// return 1;
// }
// //查看是否和当前页的计划批次一致
// if (!stockListEntityList.getIncomingBatch().equals(distributionParcelListEntity.getOrderCode())){
// //查看计划下是否存在该包件对应批次的计划
// List<DistributionReservationStocklistEntity> reservationStocklistEntityList = distributionReservationMapper.selectStockListByReservationIdAndCargoNumber(reservationId, cargoNumber, stockListId);
// if (Func.isNotEmpty(reservationStocklistEntityList)){
// List<Long> stockListIds = reservationStocklistEntityList.stream().map(DistributionReservationStocklistEntity::getStocklistId).collect(Collectors.toList());
// List<DistributionStockListEntity> distributionStockListEntities = distributionStockListService.listByIds(stockListIds);
// boolean isHave = distributionStockListEntities.stream().map(DistributionStockListEntity::getIncomingBatch).allMatch(s -> s.contains(distributionParcelListEntity.getOrderCode()));
// if (isHave){
// return 3;
// }
// }else {
// return 2;
// }
// }
boolean isHave = stockListEntityList.stream().map(DistributionStockListEntity::getCargoNumber).anyMatch(s -> s.contains(distributionParcelListEntity.getMaterialCode()));
if (!isHave){
//判断包件是否属于计划物料信息
return 1;
}
//判断该库存品包件是否属于计划的批次
boolean isHaveIncomingBatch = stockListEntityList.stream().map(DistributionStockListEntity::getIncomingBatch).anyMatch(s -> s.contains( distributionParcelListEntity.getOrderCode()));
if (!isHaveIncomingBatch){
//判断计划下是否还存在哟该物料的库存品
List<DistributionStockListEntity> distributionStockListEntities = distributionStockListService.list(Wrappers.<DistributionStockListEntity>query().lambda()
.in(DistributionStockListEntity::getId, stockListId)
.eq(DistributionStockListEntity::getWarehouseId, warehouseId)
.eq(DistributionStockListEntity::getCargoNumber, cargoNumber)
);
boolean isOther = distributionStockListEntities.stream().map(DistributionStockListEntity::getCargoNumber).anyMatch(s -> s.contains(distributionParcelListEntity.getMaterialCode()));
if (isOther){
//是否是计划下同物料的库存品
return 3;
}else {
//不属于计划中同物料的库存品
return 2;
}
return 2;
}
}
return 4;
return 3;
}
/**
@ -805,9 +814,144 @@ public class DistributionStockupAppController extends BladeController {
@ApiOperation(value = "修改批次", notes = "传入stockupDTO")
// 修改预约备货信息 需要传入修改的包条
public R updateStockup(@RequestBody StockupDTO stockupDTO) {
List<DistributionReservationStocklistEntity> distributionReservationStocklistEntities = distributionReservationMapper.selectStockListByReservationId(stockupDTO.getReservationId());
//当前预约是否存在该批次库存品计划
// if (stockupDTO.getStockListId().equals(stockupDTO.getNewStockListId())){
// if (Func.isNotEmpty(distributionReservationStocklistEntities)){
// boolean isAdd = distributionReservationStocklistEntities.stream().map(DistributionReservationStocklistEntity::getStocklistId).anyMatch(s -> s.equals(stockupDTO.getStockListId()));
// //扣减对应的库存品信息
//// DistributionStockListEntity newStockListEntity = distributionStockListService.getById(stockupDTO.getStockListId());
// if (!isAdd){
// ///先进行对应的扣减
// //查询该预约该物料的库存品信息
// List<DistributionReservationStocklistEntity> reservationStocklistEntities = distributionReservationMapper.selectInventoryListByIdAndMateriel(stockupDTO.getReservationId(),stockupDTO.getCargoNumber());
// //可能会出现同一物料不同批次的库存品
// List<DistributionReservationStocklistEntity> reservationStockList = reservationStocklistEntities.stream().filter(drs -> drs.getReservationNum() > 0 && drs.getRealityNum() < drs.getReservationNum()).collect(Collectors.toList());
// if (Func.isNotEmpty(reservationStockList)){
// DistributionReservationStocklistEntity oldReservationStocklistEntity = reservationStockList.get(0);
// //扣减计划数量
// oldReservationStocklistEntity.setReservationNum(oldReservationStocklistEntity.getReservationNum() - 1);
// distributionReservationStocklistService.updateById(oldReservationStocklistEntity);
//
// //维护对应的库存品包件
// List<DisStockListDetailEntity> stockListDetailEntities = disStockListDetailService.list(Wrappers.<DisStockListDetailEntity>query().lambda()
// .eq(DisStockListDetailEntity::getReservationId, oldReservationStocklistEntity.getReservationId())
// .eq(DisStockListDetailEntity::getStockListId, oldReservationStocklistEntity.getStocklistId())
// .ne(DisStockListDetailEntity::getStockPackageStatus, ReservationPackageStatusConstant.quxiao.getValue())
// );
//
// DistributionStockListEntity oldStockListEntity = distributionStockListService.getById(oldReservationStocklistEntity.getStocklistId());
// oldStockListEntity.setQuantityOccupied(oldStockListEntity.getQuantityOccupied() - 1);
// distributionStockListService.updateById(oldStockListEntity);
//
// //对指定库存品包件进行库存品ID修改
// DisStockListDetailEntity disStockListDetailEntity = stockListDetailEntities.stream().filter(sd -> Func.isEmpty(sd.getStockPackageCode())).collect(Collectors.toList()).get(0);
// if (Func.isNotEmpty(disStockListDetailEntity)){
// disStockListDetailEntity.setStockListId(stockupDTO.getStockListId());
// disStockListDetailService.updateById(disStockListDetailEntity);
// }
// //维护对应库存品的冻结数量
// DistributionStockListEntity newStockListEntity = distributionStockListService.getById(stockupDTO.getStockListId());
// newStockListEntity.setQuantityOccupied(oldStockListEntity.getQuantityOccupied() + 1);
// distributionStockListService.updateById(newStockListEntity);
// }
//
// // 增加实际扫描的包件对应的库存品信息 增加在预约库存品中间表上
// DistributionReservationStocklistEntity reservationStocklistEntity = new DistributionReservationStocklistEntity();
// reservationStocklistEntity.setReservationId(stockupDTO.getReservationId());
// reservationStocklistEntity.setReservationNum(1);
// reservationStocklistEntity.setLoadingStatus("10");
// reservationStocklistEntity.setSigningStatus("10");
// reservationStocklistEntity.setStockListStatus("3");
// DistributionStockListEntity stockListEntity = distributionStockListService.getById(stockupDTO.getStockListId());
// if(ObjectUtils.isNotNull(stockListEntity)){
// reservationStocklistEntity.setStocklistId(stockListEntity.getId());
// reservationStocklistEntity.setUnit(stockListEntity.getCargoUnit());
// reservationStocklistEntity.setRealityNum(0);
// }
// distributionReservationStocklistService.save(reservationStocklistEntity);
//
// }else {
// //扣减该物料的计划库存品
// List<DistributionReservationStocklistEntity> reservationStocklistEntityList = distributionReservationMapper.selectStockListByReservationIdAndCargoNumber(stockupDTO.getReservationId(), stockupDTO.getCargoNumber(), stockupDTO.getStockListId());
// List<DistributionReservationStocklistEntity> oldReservationStockList = reservationStocklistEntityList.stream().filter(rs -> rs.getReservationNum() > 0 && rs.getRealityNum() < rs.getReservationNum()).collect(Collectors.toList());
// if (Func.isNotEmpty(oldReservationStockList)){
// //对老的计划数量进行减少
// DistributionReservationStocklistEntity reservationStocklistEntity = oldReservationStockList.get(0);
// reservationStocklistEntity.setReservationNum(reservationStocklistEntity.getReservationNum() - 1);
// distributionReservationStocklistService.updateById(reservationStocklistEntity);
//
//
// //维护对应库存品的冻结数量
// DistributionStockListEntity oldStockListEntity = distributionStockListService.getById(reservationStocklistEntity.getStocklistId());
// oldStockListEntity.setQuantityOccupied(oldStockListEntity.getQuantityOccupied() - 1);
// distributionStockListService.updateById(oldStockListEntity);
//
// //维护对应的库存品包件
// List<DisStockListDetailEntity> stockListDetailEntities = disStockListDetailService.list(Wrappers.<DisStockListDetailEntity>query().lambda()
// .eq(DisStockListDetailEntity::getReservationId, reservationStocklistEntity.getReservationId())
// .eq(DisStockListDetailEntity::getStockListId, reservationStocklistEntity.getStocklistId())
// .ne(DisStockListDetailEntity::getStockPackageStatus, ReservationPackageStatusConstant.quxiao.getValue())
// );
//
// //对指定库存品包件进行库存品ID修改
// DisStockListDetailEntity disStockListDetailEntity = stockListDetailEntities.stream().filter(sd -> Func.isEmpty(sd.getStockPackageCode())).collect(Collectors.toList()).get(0);
// if (Func.isNotEmpty(disStockListDetailEntity)){
// disStockListDetailEntity.setStockListId(stockupDTO.getStockListId());
// disStockListDetailService.updateById(disStockListDetailEntity);
// distributionReservationStocklistService.updateById(reservationStocklistEntity);
// }
//
// //新的数量进行增加
// DistributionReservationStocklistEntity stocklistEntity = distributionReservationStocklistService.getOne(Wrappers.<DistributionReservationStocklistEntity>query().lambda()
// .eq(DistributionReservationStocklistEntity::getReservationId, stockupDTO.getReservationId())
// .eq(DistributionReservationStocklistEntity::getStocklistId, stockupDTO.getStockListId())
// .ne(DistributionReservationStocklistEntity::getStockListStatus, ReservationOrderStatusConstant.quxiao.getValue())
// );
//
// stocklistEntity
// .setReservationNum(stocklistEntity.getReservationNum() + 1);
// distributionReservationStocklistService.updateById(stocklistEntity);
//
// //维护对应库存品的冻结数量
// DistributionStockListEntity newStockListEntity = distributionStockListService.getById(stockupDTO.getStockListId());
// newStockListEntity.setQuantityOccupied(oldStockListEntity.getQuantityOccupied() + 1);
// distributionStockListService.updateById(newStockListEntity);
//
//
//
//
// }
//
//
//// List<DistributionReservationStocklistEntity> reservationStocklistEntities = stockListMap.get(stockupDTO.getStockListId());
//// DistributionReservationStocklistEntity reservationStocklistEntity = reservationStocklistEntities.get(0);
//// reservationStocklistEntity.setReservationNum(reservationStocklistEntity.getReservationNum() + 1);
//// distributionReservationStocklistService.updateById(reservationStocklistEntity);
//// if (newStockListEntity.getQuantityOccupied() +1 +newStockListEntity.getQuantityOccupied() <= newStockListEntity.getQuantityStock()){
//// newStockListEntity.setQuantityOccupied(newStockListEntity.getQuantityStock() + 1);
//// }
//// //修改对应库存品的冻结数量
//// //查询出原来计划的库存品进行扣减
//// List<DistributionReservationStocklistEntity> distributionReservationStocklistEntityList = distributionReservationMapper.selectStockListByReservationIdAndCargoNumber(stockupDTO.getReservationId(),stockupDTO.getCargoNumber(),stockupDTO.getStockListId());
//// //过滤备货未完成的计划进行数量扣减
//// DistributionReservationStocklistEntity reservationStocklist = distributionReservationStocklistEntityList.stream().filter(drs -> drs.getReservationNum() > 0 && drs.getRealityNum() < drs.getReservationNum()).collect(Collectors.toList()).get(0);
//// reservationStocklist.setReservationNum(reservationStocklist.getReservationNum() - 1);
//// distributionReservationStocklistService.updateById(reservationStocklist);
////
//// //维护库存品对应数量
//// DistributionStockListEntity stockListEntity = distributionStockListService.getById(reservationStocklist.getStocklistId());
//// stockListEntity.setQuantityOccupied(stockListEntity.getQuantityOccupied() + 1);
//// distributionStockListService.updateById(stockListEntity);
//// //存在 进行新增计划
// }
// //这里扣减原来的需要排除备货完成的
// }
// }
if (Func.isNotEmpty(distributionReservationStocklistEntities)){
boolean isAdd = distributionReservationStocklistEntities.stream().map(DistributionReservationStocklistEntity::getStocklistId).anyMatch(s -> s.equals(stockupDTO.getStockListId()));
//扣减对应的库存品信息
// DistributionStockListEntity newStockListEntity = distributionStockListService.getById(stockupDTO.getStockListId());
@ -842,10 +986,9 @@ public class DistributionStockupAppController extends BladeController {
}
//维护对应库存品的冻结数量
DistributionStockListEntity newStockListEntity = distributionStockListService.getById(stockupDTO.getStockListId());
newStockListEntity.setQuantityOccupied(oldStockListEntity.getQuantityOccupied() + 1);
newStockListEntity.setQuantityOccupied(newStockListEntity.getQuantityOccupied() + 1);
distributionStockListService.updateById(newStockListEntity);
}
// 增加实际扫描的包件对应的库存品信息 增加在预约库存品中间表上
DistributionReservationStocklistEntity reservationStocklistEntity = new DistributionReservationStocklistEntity();
reservationStocklistEntity.setReservationId(stockupDTO.getReservationId());
@ -861,85 +1004,57 @@ public class DistributionStockupAppController extends BladeController {
}
distributionReservationStocklistService.save(reservationStocklistEntity);
}else {
//扣减该物料的计划库存品
List<DistributionReservationStocklistEntity> reservationStocklistEntityList = distributionReservationMapper.selectStockListByReservationIdAndCargoNumber(stockupDTO.getReservationId(), stockupDTO.getCargoNumber(), stockupDTO.getStockListId());
List<DistributionReservationStocklistEntity> oldReservationStockList = reservationStocklistEntityList.stream().filter(rs -> rs.getReservationNum() > 0 && rs.getRealityNum() < rs.getReservationNum()).collect(Collectors.toList());
if (Func.isNotEmpty(oldReservationStockList)){
//对老的计划数量进行减少
DistributionReservationStocklistEntity reservationStocklistEntity = oldReservationStockList.get(0);
reservationStocklistEntity.setReservationNum(reservationStocklistEntity.getReservationNum() - 1);
distributionReservationStocklistService.updateById(reservationStocklistEntity);
//维护对应库存品的冻结数量
DistributionStockListEntity oldStockListEntity = distributionStockListService.getById(reservationStocklistEntity.getStocklistId());
oldStockListEntity.setQuantityOccupied(oldStockListEntity.getQuantityOccupied() - 1);
distributionStockListService.updateById(oldStockListEntity);
//维护对应的库存品包件
List<DisStockListDetailEntity> stockListDetailEntities = disStockListDetailService.list(Wrappers.<DisStockListDetailEntity>query().lambda()
.eq(DisStockListDetailEntity::getReservationId, reservationStocklistEntity.getReservationId())
.eq(DisStockListDetailEntity::getStockListId, reservationStocklistEntity.getStocklistId())
.ne(DisStockListDetailEntity::getStockPackageStatus, ReservationPackageStatusConstant.quxiao.getValue())
);
//对指定库存品包件进行库存品ID修改
DisStockListDetailEntity disStockListDetailEntity = stockListDetailEntities.stream().filter(sd -> Func.isEmpty(sd.getStockPackageCode())).collect(Collectors.toList()).get(0);
if (Func.isNotEmpty(disStockListDetailEntity)){
disStockListDetailEntity.setStockListId(stockupDTO.getStockListId());
disStockListDetailService.updateById(disStockListDetailEntity);
distributionReservationStocklistService.updateById(reservationStocklistEntity);
}
//新的数量进行增加
DistributionReservationStocklistEntity stocklistEntity = distributionReservationStocklistService.getOne(Wrappers.<DistributionReservationStocklistEntity>query().lambda()
.eq(DistributionReservationStocklistEntity::getReservationId, stockupDTO.getReservationId())
.eq(DistributionReservationStocklistEntity::getStocklistId, stockupDTO.getStockListId())
.ne(DistributionReservationStocklistEntity::getStockListStatus, ReservationOrderStatusConstant.quxiao.getValue())
);
stocklistEntity
.setReservationNum(stocklistEntity.getReservationNum() + 1);
distributionReservationStocklistService.updateById(stocklistEntity);
//维护对应库存品的冻结数量
DistributionStockListEntity newStockListEntity = distributionStockListService.getById(stockupDTO.getStockListId());
newStockListEntity.setQuantityOccupied(oldStockListEntity.getQuantityOccupied() + 1);
distributionStockListService.updateById(newStockListEntity);
}
// List<DistributionReservationStocklistEntity> reservationStocklistEntities = stockListMap.get(stockupDTO.getStockListId());
// DistributionReservationStocklistEntity reservationStocklistEntity = reservationStocklistEntities.get(0);
// reservationStocklistEntity.setReservationNum(reservationStocklistEntity.getReservationNum() + 1);
// distributionReservationStocklistService.updateById(reservationStocklistEntity);
// if (newStockListEntity.getQuantityOccupied() +1 +newStockListEntity.getQuantityOccupied() <= newStockListEntity.getQuantityStock()){
// newStockListEntity.setQuantityOccupied(newStockListEntity.getQuantityStock() + 1);
// }
// //修改对应库存品的冻结数量
// //查询出原来计划的库存品进行扣减
// List<DistributionReservationStocklistEntity> distributionReservationStocklistEntityList = distributionReservationMapper.selectStockListByReservationIdAndCargoNumber(stockupDTO.getReservationId(),stockupDTO.getCargoNumber(),stockupDTO.getStockListId());
// //过滤备货未完成的计划进行数量扣减
// DistributionReservationStocklistEntity reservationStocklist = distributionReservationStocklistEntityList.stream().filter(drs -> drs.getReservationNum() > 0 && drs.getRealityNum() < drs.getReservationNum()).collect(Collectors.toList()).get(0);
// reservationStocklist.setReservationNum(reservationStocklist.getReservationNum() - 1);
// distributionReservationStocklistService.updateById(reservationStocklist);
//
// //维护库存品对应数量
// DistributionStockListEntity stockListEntity = distributionStockListService.getById(reservationStocklist.getStocklistId());
// stockListEntity.setQuantityOccupied(stockListEntity.getQuantityOccupied() + 1);
// distributionStockListService.updateById(stockListEntity);
// //存在 进行新增计划
}
//这里扣减原来的需要排除备货完成的
// else {
// //扣减该物料的计划库存品
// List<DistributionReservationStocklistEntity> reservationStocklistEntityList = distributionReservationMapper.selectStockListByReservationIdAndCargoNumber(stockupDTO.getReservationId(), stockupDTO.getCargoNumber(), stockupDTO.getStockListId());
// List<DistributionReservationStocklistEntity> oldReservationStockList = reservationStocklistEntityList.stream().filter(rs -> rs.getReservationNum() > 0 && rs.getRealityNum() < rs.getReservationNum()).collect(Collectors.toList());
// if (Func.isNotEmpty(oldReservationStockList)){
// //对老的计划数量进行减少
// DistributionReservationStocklistEntity reservationStocklistEntity = oldReservationStockList.get(0);
// reservationStocklistEntity.setReservationNum(reservationStocklistEntity.getReservationNum() - 1);
// distributionReservationStocklistService.updateById(reservationStocklistEntity);
//
//
// //维护对应库存品的冻结数量
// DistributionStockListEntity oldStockListEntity = distributionStockListService.getById(reservationStocklistEntity.getStocklistId());
// oldStockListEntity.setQuantityOccupied(oldStockListEntity.getQuantityOccupied() - 1);
// distributionStockListService.updateById(oldStockListEntity);
//
// //维护对应的库存品包件
// List<DisStockListDetailEntity> stockListDetailEntities = disStockListDetailService.list(Wrappers.<DisStockListDetailEntity>query().lambda()
// .eq(DisStockListDetailEntity::getReservationId, reservationStocklistEntity.getReservationId())
// .eq(DisStockListDetailEntity::getStockListId, reservationStocklistEntity.getStocklistId())
// .ne(DisStockListDetailEntity::getStockPackageStatus, ReservationPackageStatusConstant.quxiao.getValue())
// );
//
// //对指定库存品包件进行库存品ID修改
// DisStockListDetailEntity disStockListDetailEntity = stockListDetailEntities.stream().filter(sd -> Func.isEmpty(sd.getStockPackageCode())).collect(Collectors.toList()).get(0);
// if (Func.isNotEmpty(disStockListDetailEntity)){
// disStockListDetailEntity.setStockListId(stockupDTO.getStockListId());
// disStockListDetailService.updateById(disStockListDetailEntity);
// distributionReservationStocklistService.updateById(reservationStocklistEntity);
// }
//
// //新的数量进行增加
// DistributionReservationStocklistEntity stocklistEntity = distributionReservationStocklistService.getOne(Wrappers.<DistributionReservationStocklistEntity>query().lambda()
// .eq(DistributionReservationStocklistEntity::getReservationId, stockupDTO.getReservationId())
// .eq(DistributionReservationStocklistEntity::getStocklistId, stockupDTO.getStockListId())
// .ne(DistributionReservationStocklistEntity::getStockListStatus, ReservationOrderStatusConstant.quxiao.getValue())
// );
//
// stocklistEntity
// .setReservationNum(stocklistEntity.getReservationNum() + 1);
// distributionReservationStocklistService.updateById(stocklistEntity);
//
// //维护对应库存品的冻结数量
// DistributionStockListEntity newStockListEntity = distributionStockListService.getById(stockupDTO.getStockListId());
// newStockListEntity.setQuantityOccupied(oldStockListEntity.getQuantityOccupied() + 1);
// distributionStockListService.updateById(newStockListEntity);
// }
// }
}
// 默认 计划数量和实际数量为0
return R.success("操作成功");
}

130
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml

@ -298,78 +298,78 @@
</select>
<select id="selectStockupStockListNew" resultType="com.logpm.distribution.vo.DistributionStockupStockListVO">
<!-- SELECT-->
<!--&lt;!&ndash; ldslNew.id AS stockListId,&ndash;&gt;-->
<!-- ldslNew.sku AS sku,-->
<!-- ldslNew.cargo_number AS cargoNumber,-->
<!-- ldslNew.description_goods AS materialName,-->
<!-- ldslNew.cargo_norms AS cargoNorms,-->
<!-- ldslNew.cargo_unit AS cargoUnit,-->
<!-- ldslNew.tray_name AS trayName,-->
<!-- ldslNew.unpack AS unpack,-->
<!-- ldslNew.source_type AS sourceType,-->
<!-- count(ldss.id) AS realNum,-->
<!--&lt;!&ndash; t.deliveryDetailsId AS deliveryDetailsId,&ndash;&gt;-->
<!-- t.reservation_num as planNum,-->
<!-- (-->
<!-- select GROUP_CONCAT( DISTINCT (allocation_id)) from logpm_warehouse_updown_goods where association_value =ldslNew.cargo_number or association_value in (-->
<!-- SELECT order_package_code from logpm_distribution_parcel_list where conditions=2 and material_code=ldslNew.cargo_number)-->
<!-- ) as allocations-->
<!-- FROM-->
<!-- (-->
<!-- SELECT-->
<!-- ldsl.cargo_number,-->
<!-- ldsl.description_goods,-->
<!-- ldsl.id,-->
<!-- ldrs.id as deliveryDetailsId,-->
<!-- ldrs.reservation_num-->
<!-- FROM-->
<!-- logpm_distribution_reservation_stocklist ldrs-->
<!-- LEFT JOIN logpm_distribution_stock_list ldsl ON ldrs.stocklist_id = ldsl.id-->
<!-- WHERE-->
<!-- ldrs.reservation_id = #{reservationId}-->
<!-- ) t-->
<!-- LEFT JOIN logpm_distribution_stock_list ldslNew ON t.cargo_number = ldslNew.cargo_number-->
<!-- LEFT JOIN logpm_distribution_stock ldss ON ldss.stock_list_id = t.id where ldslNew.is_deleted = 0-->
SELECT
ldsl.sku AS sku,
ldsl.cargo_number AS cargoNumber,
ldsl.description_goods AS materialName,
ldsl.cargo_norms AS cargoNorms,
ldsl.cargo_unit AS cargoUnit,
ldsl.tray_name AS trayName,
ldsl.unpack AS unpack,
ldsl.source_type AS sourceType,
ldrs.stocklist_id AS stockListId,
ldrs.reservation_num AS planNum,
(SELECT COUNT(ldss.id) FROM logpm_distribution_stock AS ldss WHERE ldss.stock_list_id = ldsl.id ) AS realNum,
CASE
ldsl.source_type
WHEN 1 THEN
<!-- ldslNew.id AS stockListId,-->
ldslNew.sku AS sku,
ldslNew.cargo_number AS cargoNumber,
ldslNew.description_goods AS materialName,
ldslNew.cargo_norms AS cargoNorms,
ldslNew.cargo_unit AS cargoUnit,
ldslNew.tray_name AS trayName,
ldslNew.unpack AS unpack,
ldslNew.source_type AS sourceType,
count(ldss.id) AS realNum,
<!-- t.deliveryDetailsId AS deliveryDetailsId,-->
t.reservation_num as planNum,
(
SELECT
group_concat( DISTINCT lwug.allocation_id ) AS allocations
select GROUP_CONCAT( DISTINCT (allocation_id)) from logpm_warehouse_updown_goods where association_value =ldslNew.cargo_number or association_value in (
SELECT order_package_code from logpm_distribution_parcel_list where conditions=2 and material_code=ldslNew.cargo_number)
) as allocations
FROM
logpm_distribution_stock_list ldslnew
LEFT JOIN logpm_distribution_parcel_list ldpl ON ldpl.order_code = ldslnew.incoming_batch
AND ldpl.material_id = ldslnew.material_id
AND ldpl.conditions = '2'
LEFT JOIN logpm_warehouse_updown_goods lwug ON lwug.association_value = ldpl.order_package_code
WHERE
ldslnew.id = ldsl.id AND lwug.association_type = '3'
)
WHEN 2 THEN
( SELECT group_concat( DISTINCT lwug.allocation_id ) AS allocations FROM logpm_warehouse_updown_goods lwug WHERE lwug.association_id = ldsl.material_id AND lwug.association_type = '4')
END allocations
(
SELECT
ldsl.cargo_number,
ldsl.description_goods,
ldsl.id,
ldrs.id as deliveryDetailsId,
ldrs.reservation_num
FROM
logpm_distribution_reservation_stocklist ldrs
LEFT JOIN logpm_distribution_stock_list ldsl ON ldrs.stocklist_id = ldsl.id
LEFT JOIN logpm_distribution_stock ldss ON ldss.stock_list_id = ldsl.id
WHERE
ldrs.reservation_id =#{reservationId}
ldrs.reservation_id = #{reservationId}
) t
LEFT JOIN logpm_distribution_stock_list ldslNew ON t.cargo_number = ldslNew.cargo_number
LEFT JOIN logpm_distribution_stock ldss ON ldss.stock_list_id = t.id where ldslNew.is_deleted = 0
<!-- SELECT-->
<!-- ldsl.sku AS sku,-->
<!-- ldsl.cargo_number AS cargoNumber,-->
<!-- ldsl.description_goods AS materialName,-->
<!-- ldsl.cargo_norms AS cargoNorms,-->
<!-- ldsl.cargo_unit AS cargoUnit,-->
<!-- ldsl.tray_name AS trayName,-->
<!-- ldsl.unpack AS unpack,-->
<!-- ldsl.source_type AS sourceType,-->
<!-- ldrs.stocklist_id AS stockListId,-->
<!-- ldrs.reservation_num AS planNum,-->
<!-- (SELECT COUNT(ldss.id) FROM logpm_distribution_stock AS ldss WHERE ldss.stock_list_id = ldsl.id ) AS realNum,-->
<!-- CASE-->
<!-- ldsl.source_type-->
<!-- WHEN 1 THEN-->
<!-- (-->
<!-- SELECT-->
<!-- group_concat( DISTINCT lwug.allocation_id ) AS allocations-->
<!-- FROM-->
<!-- logpm_distribution_stock_list ldslnew-->
<!-- LEFT JOIN logpm_distribution_parcel_list ldpl ON ldpl.order_code = ldslnew.incoming_batch-->
<!-- AND ldpl.material_id = ldslnew.material_id-->
<!-- AND ldpl.conditions = '2'-->
<!-- LEFT JOIN logpm_warehouse_updown_goods lwug ON lwug.association_value = ldpl.order_package_code-->
<!-- WHERE-->
<!-- ldslnew.id = ldsl.id AND lwug.association_type = '3'-->
<!-- )-->
<!-- WHEN 2 THEN-->
<!-- ( SELECT group_concat( DISTINCT lwug.allocation_id ) AS allocations FROM logpm_warehouse_updown_goods lwug WHERE lwug.association_id = ldsl.material_id AND lwug.association_type = '4')-->
<!-- END allocations-->
<!-- FROM-->
<!-- logpm_distribution_reservation_stocklist ldrs-->
<!-- LEFT JOIN logpm_distribution_stock_list ldsl ON ldrs.stocklist_id = ldsl.id-->
<!-- LEFT JOIN logpm_distribution_stock ldss ON ldss.stock_list_id = ldsl.id-->
<!-- WHERE-->
<!-- ldrs.reservation_id =#{reservationId}-->
</select>
<select id="selectOrderNumByReservationId" resultType="Integer">

2
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java

@ -906,7 +906,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
loadingNum.getAndAdd(inventoryLoadingNum);
}
StringBuilder str = new StringBuilder();
str.append("装车").append(loadingNum.get() + "件");
str.append("装车").append(loadingNum.get() + "件");
if (abnormalLoadingNum.get() > 0) {
str.append("异常").append(abnormalLoadingNum.get() + "件");
}

8
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java

@ -397,6 +397,14 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
} else if (Func.isEmpty(collect)) {
//这里就需要对该包件信息是否属于该配送计划进行判定。如果属于该配送计划则是串货。不是那么则需要提示是否异常签收或者返回的操作
//查询配送计划中是否存在该包件
DistributionParcelListEntity one = distributionParcelListService.getOne(Wrappers.<DistributionParcelListEntity>query().lambda()
.eq(DistributionParcelListEntity::getOrderPackageCode, distrilbutionloadingscanDTO.getBarcode())
.eq(DistributionParcelListEntity::getWarehouseId, myCurrentWarehouse.getId())
);
if (Func.isNotEmpty(one) && one.getConditions() == 2){
log.error("#####################此包件不是定制品", one.getConditions());
return Resp.scanFail("此包件不是定制品", "此包件不是定制品");
}
List<DistributionParcelListEntity> parcelListEntities = distributionDeliveryListMapper.selectPackageListByDeliveryListId(distrilbutionloadingscanDTO.getDeliveryId());
//该货物是否属于该计划
List<DistributionParcelListEntity> distributionParcelListEntities = parcelListEntities.stream().filter(p -> p.getOrderPackageCode().equals(distrilbutionloadingscanDTO.getBarcode())).collect(Collectors.toList());

24
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java

@ -2220,6 +2220,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
DisStockOrdercodeRecoEntity ordercodeRecoEntity = new DisStockOrdercodeRecoEntity();
DisStockOrdercodeRecoEntity one = disStockOrdercodeRecoService.getOne(Wrappers.<DisStockOrdercodeRecoEntity>query().lambda()
.eq(DisStockOrdercodeRecoEntity::getCode, stockupDTO.getPacketBarCode())
.eq(DisStockOrdercodeRecoEntity::getIsDeleted, 0)
);
if (ObjectUtils.isNotNull(one) && one.getCodeStatus().equals("1")) {
return 8;
@ -2926,6 +2927,10 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
*/
@Override
public R handlingPackages(StockupDTO stockupDTO) {
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if (Func.isEmpty(myCurrentWarehouse)){
return R.data(403,"未授权!!!");
}
//查询包件是不是属于该货位
WarehouseUpdownGoodsEntity warehouseUpdownGoods = new WarehouseUpdownGoodsEntity();
warehouseUpdownGoods.setAllocationId(stockupDTO.getAllocationId());
@ -2944,7 +2949,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
}
DistributionStockListEntity distributionStockListEntity = distributionStockListMapper.selectOne(Wrappers.<DistributionStockListEntity>query().lambda()
.eq(DistributionStockListEntity::getIncomingBatch, byId.getOrderCode())
.eq(DistributionStockListEntity::getWarehouseId,stockupDTO.getWarehouseId())
.eq(DistributionStockListEntity::getWarehouseId,myCurrentWarehouse.getId())
);
if(ObjectUtils.isNull(distributionStockListEntity)){
return R.fail("该包件不是库存品!");
@ -2959,13 +2964,13 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
}
Optional<DistributionReservationStocklistEntity> first = list.stream().filter(i -> i.getStocklistId().equals(distributionStockListEntity.getId())).findFirst();
if(first.isPresent()){
if(!first.isPresent()){
//没有一样的库存品数据
return R.fail("没有一样的库存品数据");
}
//判断数量是否可以直接备货
DistributionReservationStocklistEntity reservationStocklistEntity1 = first.get();
if(reservationStocklistEntity1.getRealityNum() > reservationStocklistEntity1.getReservationNum()){
if(reservationStocklistEntity1.getRealityNum() < reservationStocklistEntity1.getReservationNum()){
return R.success("可以直接备货!");
}
List<DistributionReservationStocklistEntity> keYi = new ArrayList<>(); //可以操作的库存品
@ -2974,7 +2979,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
DistributionStockListEntity distributionStockListEntity1 = distributionStockListMapper.selectById(i.getStocklistId());
if(distributionStockListEntity1.getDescriptionGoods().equals(distributionStockListEntity.getDescriptionGoods())
&& distributionStockListEntity1.getCargoNumber().equals(distributionStockListEntity.getCargoNumber())
&& i.getRealityNum() > i.getReservationNum() ){
&& i.getRealityNum() < i.getReservationNum() ){
keYi.add(i);
}
});
@ -2990,7 +2995,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
);
//修改可以修改的库存平
Optional<DistributionReservationStocklistEntity> collect2 = keYi.stream().filter(i -> i.getStocklistId().equals(distributionStockListEntities.get(0).getId())).findFirst();
if(!collect2.isPresent()){
if(collect2.isPresent()){
DistributionReservationStocklistEntity distributionReservationStocklistEntity = collect2.get();
Integer reservationNum = distributionReservationStocklistEntity.getReservationNum() - 1;
@ -3033,9 +3038,16 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
//回复冻结数量
DistributionStockListEntity distributionStockList = new DistributionStockListEntity();
distributionStockList.setId(distributionReservationStocklistEntity.getStocklistId());
distributionStockList.setQuantityStock(distributionStockListEntity.getQuantityStock() + 1);
distributionStockList.setQuantityOccupied(distributionStockListEntity.getQuantityOccupied() -1);
distributionStockListMapper.updateById(distributionStockList);
//扣减新添加库存品数
DistributionStockListEntity newDistributionStockList = new DistributionStockListEntity();
newDistributionStockList.setId(reservationStocklistEntity1.getStocklistId());
newDistributionStockList.setQuantityOccupied(distributionStockListEntity.getQuantityOccupied() + 1);
distributionStockListMapper.updateById(newDistributionStockList);
}
return R.success("成功!!");
}

Loading…
Cancel
Save