Browse Source

修复市配查看包件

master
汤建军 10 months ago
parent
commit
5f15fbfa74
  1. 3
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionDeliveryListClient.java
  2. 10
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionDeliveryListClient.java
  3. 6
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml
  4. 15
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java
  5. 102
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java

3
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionDeliveryListClient.java

@ -131,6 +131,9 @@ public interface IDistributionDeliveryListClient {
@GetMapping(TOP+"/pushNotification") @GetMapping(TOP+"/pushNotification")
void pushNotification(@RequestParam("warehouseIds")String warehouseIds,@RequestParam("reservationCode")String reservationCode); void pushNotification(@RequestParam("warehouseIds")String warehouseIds,@RequestParam("reservationCode")String reservationCode);
@GetMapping(TOP+"/mallClientSignfor")
void mallClientSignfor(@RequestParam("trainNumber")String trainNumber,@RequestParam("warehouseId")Long warehouseId,@RequestParam("orderPackageCode")String orderPackageCode);
// /** // /**
// * 根据配送任务ID查询配送司机信息 // * 根据配送任务ID查询配送司机信息

10
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionDeliveryListClient.java

@ -126,4 +126,14 @@ public class DistributionDeliveryListClient implements IDistributionDeliveryList
} }
/**
* @param
*/
@Override
public void mallClientSignfor(String trainNumber,Long warehouseId,String orderPackageCode) {
distributionDeliveryListService.mallClientSignfor(trainNumber,warehouseId,orderPackageCode);
}
} }

6
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml

@ -1091,8 +1091,10 @@
FROM FROM
logpm_distribution_parcel_list AS ldpl logpm_distribution_parcel_list AS ldpl
WHERE WHERE
ldpl.order_package_reservation_status = 10 and ldpl.order_package_freeze_status = 10 AND ldpl.order_package_reservation_status = 10
ldpl.order_package_loading_status = 10 AND order_package_status IN (10,20) and ldpl.conditions != 2
and ldpl.order_package_freeze_status = 10
AND ldpl.order_package_loading_status = 10 AND order_package_status IN (10,20)
and ldpl.stock_article_id = #{param.id} and ldpl.warehouse_id = #{warehouseId} and ldpl.stock_article_id = #{param.id} and ldpl.warehouse_id = #{warehouseId}
<if test="param.waybillNumber != null and param.waybillNumber != ''"> <if test="param.waybillNumber != null and param.waybillNumber != ''">
and ldpl.waybill_number like concat('%',#{param.waybillNumber},'%') and ldpl.waybill_number like concat('%',#{param.waybillNumber},'%')

15
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java

@ -138,7 +138,7 @@ public interface IDistributionDeliveryListService extends BaseService<Distributi
/** /**
* App-查看配送包条明细 * App-查看配送包条明细
* *
* @param page * @param
* @param distributionAppDeliveryListDTO * @param distributionAppDeliveryListDTO
* @return * @return
*/ */
@ -220,7 +220,7 @@ public interface IDistributionDeliveryListService extends BaseService<Distributi
/** /**
* 查询库存品包件信息 * 查询库存品包件信息
* @param page * @param page
* @param distributionDeliveryInfoDTO * @param
* @return * @return
*/ */
List<DistributionReservationStocklistVO> selectDistributionDeliveryinventory(IPage<Object> page, Map<String,Object> distributionInventoryDTO); List<DistributionReservationStocklistVO> selectDistributionDeliveryinventory(IPage<Object> page, Map<String,Object> distributionInventoryDTO);
@ -398,7 +398,7 @@ public interface IDistributionDeliveryListService extends BaseService<Distributi
/** /**
* 查询商配计划订单是否可以移除 * 查询商配计划订单是否可以移除
* @param deliveryId * @param deliveryId
* @param orderId * @param
* @return * @return
*/ */
boolean judgmentOrderRemove(Long deliveryId, String orderIds); boolean judgmentOrderRemove(Long deliveryId, String orderIds);
@ -444,7 +444,7 @@ public interface IDistributionDeliveryListService extends BaseService<Distributi
/** /**
* 推送老系统 * 推送老系统
* @param params * @param
*/ */
void pushNotification(String warehouseIds , String reservationCode); void pushNotification(String warehouseIds , String reservationCode);
@ -455,6 +455,13 @@ public interface IDistributionDeliveryListService extends BaseService<Distributi
*/ */
R cancelStart(DistrilbutionloadingscanDTO distrilbutionloadingscanDTO); R cancelStart(DistrilbutionloadingscanDTO distrilbutionloadingscanDTO);
/**
* 商家端进行签收
* @param trainNumber
* @param warehouseId
* @param orderPackageCode
*/
void mallClientSignfor(String trainNumber, Long warehouseId, String orderPackageCode);
/** /**

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

@ -783,7 +783,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
//查找出该包件信息 //查找出该包件信息
DistributionParcelListEntity parcelListEntity = distributionParcelListService.getOne(Wrappers.<DistributionParcelListEntity>query().lambda().eq(DistributionParcelListEntity::getOrderPackageCode, distrilbutionloadingscanDTO.getBarcode()).eq(DistributionParcelListEntity::getWarehouseId, myCurrentWarehouse.getId())); DistributionParcelListEntity parcelListEntity = distributionParcelListService.getOne(Wrappers.<DistributionParcelListEntity>query().lambda().eq(DistributionParcelListEntity::getOrderPackageCode, distrilbutionloadingscanDTO.getBarcode()).eq(DistributionParcelListEntity::getWarehouseId, myCurrentWarehouse.getId()));
List<DistributionReservationEntity> reservationEntityList = distributionDeliveryListMapper.selectReservationByDeliveryListId(distrilbutionloadingscanDTO.getDeliveryId()); List<DistributionReservationEntity> reservationEntityList = distributionDeliveryListMapper.selectReservationByDeliveryListId(distrilbutionloadingscanDTO.getDeliveryId());
if (!reservationEntityList.isEmpty()){ if (!reservationEntityList.isEmpty()) {
boolean shangpeiFlag = reservationEntityList.stream().allMatch(r -> r.getDeliveryType().equals(DistributionTypeConstant.shipie.getValue())); boolean shangpeiFlag = reservationEntityList.stream().allMatch(r -> r.getDeliveryType().equals(DistributionTypeConstant.shipie.getValue()));
if (Func.isEmpty(parcelListEntity)) { if (Func.isEmpty(parcelListEntity)) {
return Resp.scanFail("无包件信息", "无包件信息"); return Resp.scanFail("无包件信息", "无包件信息");
@ -795,14 +795,14 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
boolean flag = reservationEntityList.stream().anyMatch(r -> Func.isNotEmpty(r.getConsignee()) && r.getConsignee().equals(stockArticleEntity.getCustomerName()) && r.getDeliveryAddress().equals(stockArticleEntity.getCustomerAddress()) && r.getDeliveryPhone().equals(stockArticleEntity.getCustomerTelephone()) && r.getMallName().equals(stockArticleEntity.getMallName()) && r.getId().equals(distrilbutionloadingscanDTO.getReservationId())); boolean flag = reservationEntityList.stream().anyMatch(r -> Func.isNotEmpty(r.getConsignee()) && r.getConsignee().equals(stockArticleEntity.getCustomerName()) && r.getDeliveryAddress().equals(stockArticleEntity.getCustomerAddress()) && r.getDeliveryPhone().equals(stockArticleEntity.getCustomerTelephone()) && r.getMallName().equals(stockArticleEntity.getMallName()) && r.getId().equals(distrilbutionloadingscanDTO.getReservationId()));
//存在多个,操作人指定具体客户即可 //存在多个,操作人指定具体客户即可
if ( reservationEntities.size() == 1 && flag) { if (reservationEntities.size() == 1 && flag) {
return R.fail(5000, "异常装车"); return R.fail(5000, "异常装车");
} else { } else {
if (flag){ if (flag) {
if (reservationEntities.isEmpty()){ if (reservationEntities.isEmpty()) {
return Resp.scanFail("请指定客户进行异常装车", "请指定客户进行异常装车"); return Resp.scanFail("请指定客户进行异常装车", "请指定客户进行异常装车");
} }
}else { } else {
return Resp.scanFail("窜货", "窜货"); return Resp.scanFail("窜货", "窜货");
} }
} }
@ -812,15 +812,15 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
List<DistributionReservationEntity> reservationEntities = reservationEntityList.stream().filter(r -> r.getReceivingUnit().equals(stockArticleEntity.getConsigneeUnit()) && r.getMallName().equals(stockArticleEntity.getMallName()) && r.getId().equals(distrilbutionloadingscanDTO.getReservationId())).collect(Collectors.toList()); List<DistributionReservationEntity> reservationEntities = reservationEntityList.stream().filter(r -> r.getReceivingUnit().equals(stockArticleEntity.getConsigneeUnit()) && r.getMallName().equals(stockArticleEntity.getMallName()) && r.getId().equals(distrilbutionloadingscanDTO.getReservationId())).collect(Collectors.toList());
//查询是否满足商配异常装车 //查询是否满足商配异常装车
boolean flag = reservationEntityList.stream().anyMatch(r -> r.getReceivingUnit().equals(stockArticleEntity.getConsigneeUnit()) && r.getMallName().equals(stockArticleEntity.getMallName())); boolean flag = reservationEntityList.stream().anyMatch(r -> r.getReceivingUnit().equals(stockArticleEntity.getConsigneeUnit()) && r.getMallName().equals(stockArticleEntity.getMallName()));
if (reservationEntities.size() == 1 && flag){ if (reservationEntities.size() == 1 && flag) {
return R.fail(5000, "异常装车"); return R.fail(5000, "异常装车");
}else { } else {
if (flag){ if (flag) {
if (reservationEntities.isEmpty()){ if (reservationEntities.isEmpty()) {
return Resp.scanFail("请指定客户进行异常装车", "请指定客户进行异常装车"); return Resp.scanFail("请指定客户进行异常装车", "请指定客户进行异常装车");
} }
}else { } else {
return Resp.scanFail("窜货", "窜货"); return Resp.scanFail("窜货", "窜货");
} }
@ -3300,6 +3300,9 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
distributionReservationPackageService.updateById(reservationPackageEntity); distributionReservationPackageService.updateById(reservationPackageEntity);
//取消包件的预约状态,并且进行整个订单的状态修改 //取消包件的预约状态,并且进行整个订单的状态修改
DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(reservationPackageEntity.getParceListId()); DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(reservationPackageEntity.getParceListId());
if (OrderPackageLoadingStatusConstant.yizhuangche.getValue().equals(parcelListEntity.getOrderPackageLoadingStatus())) {
throw new RuntimeException(parcelListEntity.getOrderPackageCode() + "完成装车,请滞留取消");
}
parcelListEntity.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.daiyuyue.getValue()); parcelListEntity.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.daiyuyue.getValue());
distributionParcelListService.updateById(parcelListEntity); distributionParcelListService.updateById(parcelListEntity);
if (Func.isNotEmpty(bladeRedis.get("warehouseId:" + myCurrentWarehouse.getId() + "orderCode:" + parcelListEntity.getOrderCode()))) { if (Func.isNotEmpty(bladeRedis.get("warehouseId:" + myCurrentWarehouse.getId() + "orderCode:" + parcelListEntity.getOrderCode()))) {
@ -7223,10 +7226,77 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
return R.success("取消发车成功"); return R.success("取消发车成功");
} }
@Override
public void mallClientSignfor(String trainNumber, Long warehouseId, String orderPackageCode) {
//查询包件是否合法
DistributionParcelListEntity packageObj = distributionParcelListService.getOne(Wrappers.<DistributionParcelListEntity>query().lambda()
.eq(DistributionParcelListEntity::getOrderPackageCode, orderPackageCode)
.eq(DistributionParcelListEntity::getWarehouseId, warehouseId)
);
if (Func.isEmpty(packageObj)) {
//系统无编码
}
//查询配送计划
DistributionDeliveryListEntity deliveryListEntity = this.getOne(Wrappers.<DistributionDeliveryListEntity>query().lambda()
.eq(DistributionDeliveryListEntity::getTrainNumber, trainNumber)
.eq(DistributionDeliveryListEntity::getWarehouseId, warehouseId)
);
if (Func.isEmpty(deliveryListEntity)) {
//配送计划查询错误
}
//查询签收信息
List<DistributionSignforEntity> signforEntityList = distributionSignforService.list(Wrappers.<DistributionSignforEntity>query().lambda()
.eq(DistributionSignforEntity::getDeliveryId, deliveryListEntity.getId())
);
if (!signforEntityList.isEmpty()) {
List<Long> reservationIds = signforEntityList.stream().map(DistributionSignforEntity::getReservationId).collect(Collectors.toList());
List<DistributionReservationPackageEntity> reservationPackageEntityList = distributionReservationPackageService.list(Wrappers.<DistributionReservationPackageEntity>query().lambda()
.in(DistributionReservationPackageEntity::getReservationId, reservationIds)
.ne(DistributionReservationPackageEntity::getPacketBarStatus, ReservationPackageStatusConstant.quxiao.getValue())
);
if (!reservationPackageEntityList.isEmpty()) {
boolean flag = reservationPackageEntityList.stream().anyMatch(rp -> orderPackageCode.equals(rp.getPacketBarCode()));
if (flag) {
//存在计划中,进行是否装车判断然后完成签收扫描闭环
List<DistributionReservationPackageEntity> rpList = reservationPackageEntityList.stream().filter(rp -> orderPackageCode.equals(rp.getPacketBarCode())).collect(Collectors.toList());
if (rpList.size() == 1) {
DistributionLoadscanEntity loadscanEntity = distributionLoadscanService.getOne(Wrappers.<DistributionLoadscanEntity>query().lambda()
.eq(DistributionLoadscanEntity::getReservationId, rpList.get(0).getReservationId())
.eq(DistributionLoadscanEntity::getOrderPackageCode, rpList.get(0).getPacketBarCode())
.eq(DistributionLoadscanEntity::getWarehouseId, warehouseId)
);
if (Func.isEmpty(loadscanEntity)) {
//存在装车数据
} else {
//不存在装车数据进行补录
}
//进行包件状态维护
//维护订单
}
} else {
//异常签收判定
//成功 -- 进行异常签收
//失败 -- 无法进行异常签收
}
}
}
}
@Override @Override
@Transactional @Transactional
public void maintenanceDeliveryInfo(Long deliveryId) { public void maintenanceDeliveryInfo(Long deliveryId) {
log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> deliveryId {}",deliveryId); log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> deliveryId {}", deliveryId);
if (Objects.isNull(deliveryId)) { if (Objects.isNull(deliveryId)) {
throw new IllegalArgumentException("deliveryId 不能为空"); throw new IllegalArgumentException("deliveryId 不能为空");
} }
@ -7288,7 +7358,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
deliveryListEntity.setDeliveryStatus(isAllSignforCompleted(deliveryListEntity.getId()) deliveryListEntity.setDeliveryStatus(isAllSignforCompleted(deliveryListEntity.getId())
? DeliveryStatusConstant.yiwancheng.getValue() ? DeliveryStatusConstant.yiwancheng.getValue()
: DeliveryStatusConstant.peisongzhong.getValue()); : DeliveryStatusConstant.peisongzhong.getValue());
log.info(">>>>> deliveryListEntity deliveryStatus :{}",deliveryListEntity.getDeliveryStatus()); log.info(">>>>> deliveryListEntity deliveryStatus :{}", deliveryListEntity.getDeliveryStatus());
} }
@ -7301,8 +7371,8 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
private void updateDeliveryListEntity(DistributionDeliveryListEntity deliveryListEntity, DistributionDeliveryListEntity old) { private void updateDeliveryListEntity(DistributionDeliveryListEntity deliveryListEntity, DistributionDeliveryListEntity old) {
log.info(">>>>>> update deliveryListEntity {}",deliveryListEntity); log.info(">>>>>> update deliveryListEntity {}", deliveryListEntity);
log.info(">>>>>> update old {}",old); log.info(">>>>>> update old {}", old);
// 判断传入的对象是否是否为null // 判断传入的对象是否是否为null
if (Objects.isNull(deliveryListEntity)) { if (Objects.isNull(deliveryListEntity)) {
throw new IllegalArgumentException("deliveryListEntity 不能为空"); throw new IllegalArgumentException("deliveryListEntity 不能为空");
@ -7312,9 +7382,9 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
} }
if(old.getDeliveryStatus()==null|| old.getDeliveryListLoadingStatus()==null){ if (old.getDeliveryStatus() == null || old.getDeliveryListLoadingStatus() == null) {
updateById(deliveryListEntity); updateById(deliveryListEntity);
return ; return;
} }

Loading…
Cancel
Save