Browse Source

拆包产物调整

pull/1/head
汤建军 1 year ago
parent
commit
dee9149387
  1. 8
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionDeliveryListController.java
  2. 6
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionSignforService.java
  3. 203
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java
  4. 1
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockListServiceImpl.java

8
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionDeliveryListController.java

@ -500,6 +500,14 @@ public class DistributionDeliveryListController extends BladeController {
return r;
}
@PostMapping("/deliverySingleZeroPackage")
@ApiOperationSupport(order = 2)
@ApiOperation(value = "PC签收包件")
public R deliverySingleZeroPackage(@Valid @RequestBody DistrilbutionAppsignforDTO distrilbutionloadingscanDTO) {
R r = distributionSignforService.deliverySingleZeroPackage(distrilbutionloadingscanDTO);
return r;
}
@PostMapping("/deliveryZeroPackage")
@ApiOperationSupport(order = 2)
@ApiOperation(value = "PC签收包件")

6
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionSignforService.java

@ -299,4 +299,10 @@ public interface IDistributionSignforService extends BaseService<DistributionSig
*/
R signforZeroPC(DistrilbutionAppsignforDTO distrilbutionloadingscanDTO);
/**
* 零担配送单个签收
* @param distrilbutionloadingscanDTO
* @return
*/
R deliverySingleZeroPackage(DistrilbutionAppsignforDTO distrilbutionloadingscanDTO);
}

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

@ -890,21 +890,9 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
String driverPhone = "";
String vehicleNub = "";
Long loadingId = null;
List<DistributionDeliverySelfVO> deliverySelfInfo = distributionDeliverySelfMapper.getDeliverySelfInfo(deliveryListEntity.getId());
//查询该车次负责司机
if ("1".equals(deliveryListEntity.getKind())){
//自主配送
List<DistributionDeliverySelfVO> deliverySelfInfo = distributionDeliverySelfMapper.getDeliverySelfInfo(deliveryListEntity.getId());
driverPhone = deliverySelfInfo.stream().filter(f -> 2 == f.getIsMaster()).map(DistributionDeliverySelfVO::getDriverPhone).collect(Collectors.joining(","));
driverName = deliverySelfInfo.stream().filter(f -> 2 == f.getIsMaster()).map(DistributionDeliverySelfVO::getDriverName).collect(Collectors.joining(","));
vehicleNub = deliverySelfInfo.stream().filter(f -> 2 == f.getIsMaster()).map(DistributionDeliverySelfVO::getVehicleNub).collect(Collectors.joining(","));
List<Long> collect = deliverySelfInfo.stream().filter(f -> 2 == f.getIsMaster()).map(DistributionDeliverySelfVO::getId).collect(Collectors.toList());
loadingId = collect.get(0);
}else if ("2".equals(deliveryListEntity.getKind())){
//外协
}else {
log.error(method+"配送司机异常:{}",distrilbutionloadingscanDTO.getDeliveryId());
return R.fail("请联系管理员");
}
for (DistributionReservationZeroPackageEntity reservationZeroPackageEntity : reservationZeroPackageEntities) {
//查询订单
@ -927,6 +915,19 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
.ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())
);
if (Func.isEmpty(loadscanEntity)){
if ("1".equals(deliveryListEntity.getKind())){
//自主配送
driverPhone = deliverySelfInfo.stream().filter(f -> 2 == f.getIsMaster()).map(DistributionDeliverySelfVO::getDriverPhone).collect(Collectors.joining(","));
driverName = deliverySelfInfo.stream().filter(f -> 2 == f.getIsMaster()).map(DistributionDeliverySelfVO::getDriverName).collect(Collectors.joining(","));
vehicleNub = deliverySelfInfo.stream().filter(f -> 2 == f.getIsMaster()).map(DistributionDeliverySelfVO::getVehicleNub).collect(Collectors.joining(","));
List<Long> collect = deliverySelfInfo.stream().filter(f -> 2 == f.getIsMaster()).map(DistributionDeliverySelfVO::getId).collect(Collectors.toList());
loadingId = collect.get(0);
}else if ("2".equals(deliveryListEntity.getKind())){
//外协
}else {
log.error(method+"配送司机异常:{}",distrilbutionloadingscanDTO.getDeliveryId());
return R.fail("请联系管理员");
}
a = distributionParcelNumberEntity.getHandQuantity() - reservationZeroPackageEntity.getQuantity();
b = distributionParcelNumberEntity.getSigninQuantity() + reservationZeroPackageEntity.getQuantity();
c = distributionParcelNumberEntity.getOutboundQuantity() + reservationZeroPackageEntity.getQuantity();
@ -997,7 +998,6 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
distributionParcelNumberEntity.setSigninQuantity(b);
distributionParcelNumberEntity.setOutboundQuantity(c);
distributionParcelNumberEntity.setDeliveryQuantity(d);
}
distributionParcelListService.maintenanceZeroPackageInfo(distributionParcelNumberEntity.getParcelListId(),stockArticleEntity.getWarehouseId());
@ -1013,6 +1013,179 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
return R.success("操作成功");
}
/**
* @param distrilbutionloadingscanDTO
* @return
*/
@Override
public R deliverySingleZeroPackage(DistrilbutionAppsignforDTO distrilbutionloadingscanDTO) {
String method = "#############DistributionSignforServiceImpl.deliverySingleZeroPackage";
if (Func.isEmpty(distrilbutionloadingscanDTO.getZeroPackageIds())){
log.error(method+"参数异常,zeroPackageIds为空");
return R.fail("请联系管理员");
}
if (Func.isEmpty(distrilbutionloadingscanDTO.getReservationId())){
log.error(method+"参数异常,ReservationId为空");
return R.fail("请联系管理员");
}
//查询订单
DistributionStockArticleEntity stockArticleEntity = distributionStockArticleService.getById(reservationZeroPackageEntity.getStockArticleId());
String zeroPackageIds = distrilbutionloadingscanDTO.getZeroPackageIds();
Long reservationId = distrilbutionloadingscanDTO.getReservationId();
BladeUser user = AuthUtil.getUser();
//查询零担计划
DistributionReservationZeroPackageEntity reservationZeroPackageEntities = distributionReservationZeroPackageService.getOne(Wrappers.<DistributionReservationZeroPackageEntity>query().lambda()
.eq(DistributionReservationZeroPackageEntity::getReservationId, reservationId)
.eq(DistributionReservationZeroPackageEntity::getParcelListId, zeroPackageIds)
.ne(DistributionReservationZeroPackageEntity::getParcelListId, ReservationPackageStatusConstant.quxiao.getValue())
);
if (Func.isEmpty(reservationZeroPackageEntities)){
log.error(method+"预约单异常reservationId:{}",reservationId);
return R.fail("请联系管理员");
}
DistributionDeliveryListEntity deliveryListEntity = distributionDeliveryListService.getById(distrilbutionloadingscanDTO.getDeliveryId());
if (Func.isEmpty(deliveryListEntity)){
log.error(method+"配送单异常deliveryId:{}",distrilbutionloadingscanDTO.getDeliveryId());
return R.fail("请联系管理员");
}
List<DistributionParcelNumberDTO> parcelListDTOS = distrilbutionloadingscanDTO.getParcelListDTOS();
if (parcelListDTOS.size()>1 || parcelListDTOS.size() == 0){
log.error(method+"提交零担订单错误:{}",distrilbutionloadingscanDTO.getDeliveryId());
return R.fail("请联系管理员");
}
DistributionParcelNumberDTO distributionParcelNumberDTO = parcelListDTOS.get(0);
if (distributionParcelNumberDTO.getNumber() > reservationZeroPackageEntities.getQuantity()){
//超过计划数
log.error(method+"签收零担订单数量超过计划数错误:{}",distributionParcelNumberDTO.getParcelListId());
return R.fail("请联系管理员");
}
//查询零担包件详情
DistributionParcelNumberEntity distributionParcelNumberEntity = distributionParcelNumberService.getOne(Wrappers.<DistributionParcelNumberEntity>query().lambda()
.eq(DistributionParcelNumberEntity::getParcelListId, reservationZeroPackageEntities.getParcelListId())
);
//进行签收数据补录或者修改
//查询是否存在签收装车信息
DistributionLoadscanEntity loadscanEntity = distributionLoadscanService.getOne(Wrappers.<DistributionLoadscanEntity>query().lambda()
.eq(DistributionLoadscanEntity::getReservationId, reservationId)
.eq(DistributionLoadscanEntity::getPackageId, zeroPackageIds)
.ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())
);
String driverName = "";
String driverPhone = "";
String vehicleNub = "";
Long loadingId = null;
//查询该车次负责司机
List<DistributionDeliverySelfVO> deliverySelfInfo = distributionDeliverySelfMapper.getDeliverySelfInfo(deliveryListEntity.getId());
//在库数
int a =0;
//签收数
int b =0;
//出库数
int c =0;
//冻结数
int d =0;
if (Func.isEmpty(loadscanEntity)){
if ("1".equals(deliveryListEntity.getKind())){
//自主配送
driverPhone = deliverySelfInfo.stream().filter(f -> 2 == f.getIsMaster()).map(DistributionDeliverySelfVO::getDriverPhone).collect(Collectors.joining(","));
driverName = deliverySelfInfo.stream().filter(f -> 2 == f.getIsMaster()).map(DistributionDeliverySelfVO::getDriverName).collect(Collectors.joining(","));
vehicleNub = deliverySelfInfo.stream().filter(f -> 2 == f.getIsMaster()).map(DistributionDeliverySelfVO::getVehicleNub).collect(Collectors.joining(","));
List<Long> collect = deliverySelfInfo.stream().filter(f -> 2 == f.getIsMaster()).map(DistributionDeliverySelfVO::getId).collect(Collectors.toList());
loadingId = collect.get(0);
}else if ("2".equals(deliveryListEntity.getKind())){
//外协
}else {
log.error(method+"配送司机异常:{}",distrilbutionloadingscanDTO.getDeliveryId());
return R.fail("请联系管理员");
}
a = distributionParcelNumberDTO.getHandQuantity() - reservationZeroPackageEntities.getQuantity();
b = distributionParcelNumberDTO.getSigninQuantity() + reservationZeroPackageEntities.getQuantity();
c = distributionParcelNumberDTO.getOutboundQuantity() + reservationZeroPackageEntities.getQuantity();
d = distributionParcelNumberDTO.getDeliveryQuantity() - reservationZeroPackageEntities.getQuantity();
//未进行装车操作
DistributionLoadscanEntity unLoadscanEntity = new DistributionLoadscanEntity();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.sss");
unLoadscanEntity.setScanStatus(LoadingStatusConstant.buluzhuangche.getValue());
unLoadscanEntity.setIsInsert(2);
unLoadscanEntity.setLoadingId(loadingId.toString());
unLoadscanEntity.setOrderId(reservationZeroPackageEntities.getStockArticleId());
unLoadscanEntity.setPackageId(reservationZeroPackageEntities.getParcelListId());
unLoadscanEntity.setReservationId(reservationId);
unLoadscanEntity.setIsSignfor(1);
unLoadscanEntity.setDeliveryId(distrilbutionloadingscanDTO.getDeliveryId());
unLoadscanEntity.setScanUser(user.getNickName());
unLoadscanEntity.setIsAbnormalSigning(1);
unLoadscanEntity.setIsAbnormalLoading(1);
unLoadscanEntity.setIsZero(1);
unLoadscanEntity.setTrainNumber(deliveryListEntity.getTrainNumber());
unLoadscanEntity.setVehicleId(deliveryListEntity.getVehicleId());
unLoadscanEntity.setVehicleName(vehicleNub);
unLoadscanEntity.setDriverId(deliveryListEntity.getDriverId());
unLoadscanEntity.setDriverName(driverName);
unLoadscanEntity.setDriverPhone(driverPhone);
unLoadscanEntity.setLoadingId(driverPhone);
unLoadscanEntity.setScanType(LoadingStatusConstant.buluzhuangche.getValue());
unLoadscanEntity.setScanTime(simpleDateFormat.format(new Date()));
unLoadscanEntity.setSigningTime(simpleDateFormat.format(new Date(System.currentTimeMillis() + (6 * 1000))));
unLoadscanEntity.setSignforState(LoadScanSigningStatusConstant.yiqianshou.getValue());
unLoadscanEntity.setSigningUserId(user.getUserId());
unLoadscanEntity.setSigningUser(user.getNickName());
unLoadscanEntity.setIsSignfor(2);
unLoadscanEntity.setSignforState(2);
// loadscanEntity.setSigningTime(new Date().toString());
unLoadscanEntity.setReceivedQuantity(reservationZeroPackageEntities.getQuantity());
unLoadscanEntity.setLoadedNub(reservationZeroPackageEntities.getQuantity());
unLoadscanEntity.setPackageNub(reservationZeroPackageEntities.getQuantity());
unLoadscanEntity.setOneClick(1);
unLoadscanEntity.setOneQclick(1);
unLoadscanEntity.setMsg("文员进行零担订单装车和签收补录");
distributionLoadscanService.save(unLoadscanEntity);
//更新装车和签收数量
Integer i = distributionSignforMapper.updateSignforByReservationId(unLoadscanEntity.getDeliveryId(), unLoadscanEntity.getReservationId(), unLoadscanEntity.getReceivedQuantity());
//更新装车时间
Integer j = distributionDeliveryListMapper.updateloadingTimeById(distrilbutionloadingscanDTO.getDeliveryId());
//更新零担包件的数量
distributionParcelNumberEntity.setHandQuantity(a);
distributionParcelNumberEntity.setSigninQuantity(b);
distributionParcelNumberEntity.setOutboundQuantity(c);
distributionParcelNumberEntity.setDeliveryQuantity(d);
}else {
a = distributionParcelNumberEntity.getHandQuantity() + loadscanEntity.getLoadedNub() - reservationZeroPackageEntities.getQuantity();
b = distributionParcelNumberEntity.getSigninQuantity() - loadscanEntity.getReceivedQuantity() + reservationZeroPackageEntities.getQuantity();
c = distributionParcelNumberEntity.getOutboundQuantity() - loadscanEntity.getReceivedQuantity() + reservationZeroPackageEntities.getQuantity();
d = distributionParcelNumberEntity.getDeliveryQuantity() + loadscanEntity.getReceivedQuantity() - reservationZeroPackageEntities.getQuantity();
//存在装车操作
loadscanEntity.setSigningUser(user.getNickName());
loadscanEntity.setIsSignfor(2);
loadscanEntity.setSignforState(LoadScanSigningStatusConstant.yiqianshou.getValue());
// loadscanEntity.setSigningTime(new Date().toString());
loadscanEntity.setReceivedQuantity(reservationZeroPackageEntities.getQuantity());
loadscanEntity.setLoadedNub(reservationZeroPackageEntities.getQuantity());
loadscanEntity.setPackageNub(reservationZeroPackageEntities.getQuantity());
loadscanEntity.setMsg("文员进行签收补录");
distributionLoadscanService.updateById(loadscanEntity);
distributionParcelNumberEntity.setHandQuantity(a);
distributionParcelNumberEntity.setSigninQuantity(b);
distributionParcelNumberEntity.setOutboundQuantity(c);
distributionParcelNumberEntity.setDeliveryQuantity(d);
}
distributionParcelListService.maintenanceZeroPackageInfo(distributionParcelNumberEntity.getParcelListId(),p.getWarehouseId());
distributionParcelNumberService.updateById(distributionParcelNumberEntity);
//维护订单
distributionStockArticleService.maintenanceOrderInfo(stockArticleEntity.getOrderCode(),stockArticleEntity.getWarehouseId());
//维护配送单信息
deliveryListEntity.setDeliveryStatus(DeliveryStatusConstant.peisongzhong.getValue());
distributionDeliveryListService.updateById(deliveryListEntity);
//维护客户状态
distributionAsyncService.maintenanceOrderStatus();
return R.success("操作成功");
;
}
private List<DeliveryNodeVo> handleStockUp(DistributionStockupEntity distributionStockupEntity) {
List<DeliveryNodeVo> nodeVos = new ArrayList<>();
try {

1
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockListServiceImpl.java

@ -314,6 +314,7 @@ public class DistributionStockListServiceImpl extends BaseServiceImpl<Distributi
distributionStockListEntity.setUnpackingQuantity(0);
distributionStockListEntity.setOutboundQuantity(0);
distributionStockListEntity.setMaterialId(aLong);
distributionStockListEntity.setSourceType("2");
distributionStockListEntity.setCargoUnit(DictBizCache.getValue(DictBizConstant.LOGPM_UNIT, distributionStockListDTO.getCargoUnit()));
distributionStockListEntity.setDescriptionGoods(distributionStockListDTO.getMaterialIdName());
distributionStockListEntity.setCargoNumber(distributionStockListDTO.getCargoNumber());

Loading…
Cancel
Save