Browse Source

Merge remote-tracking branch 'origin/dev' into dev

master
pref_mail@163.com 9 months ago
parent
commit
8d79e74426
  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. 4
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryInfoMapper.xml
  4. 6
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml
  5. 15
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java
  6. 110
      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")
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查询配送司机信息

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);
}
}

4
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryInfoMapper.xml

@ -394,7 +394,9 @@
ldrs.stock_article_status stockArticleState,
( select sum(loaded_nub) FROM
logpm_distribution_loadscan AS ldl
WHERE ldl.order_id=ldrs.stock_article_id and ldl.scan_status != 1 and ldl.reservation_id = lds.reservation_id
WHERE ldl.order_id=ldrs.stock_article_id
and ldl.scan_status != 1
and ldl.reservation_id = lds.reservation_id
) AS loadingNumber,
( select count(*) FROM
logpm_distribution_stock AS lstock

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

@ -1091,8 +1091,10 @@
FROM
logpm_distribution_parcel_list AS ldpl
WHERE
ldpl.order_package_reservation_status = 10 and ldpl.order_package_freeze_status = 10 AND
ldpl.order_package_loading_status = 10 AND order_package_status IN (10,20)
ldpl.order_package_reservation_status = 10
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.conditions !=2
<if test="param.waybillNumber != null and 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-查看配送包条明细
*
* @param page
* @param
* @param distributionAppDeliveryListDTO
* @return
*/
@ -220,7 +220,7 @@ public interface IDistributionDeliveryListService extends BaseService<Distributi
/**
* 查询库存品包件信息
* @param page
* @param distributionDeliveryInfoDTO
* @param
* @return
*/
List<DistributionReservationStocklistVO> selectDistributionDeliveryinventory(IPage<Object> page, Map<String,Object> distributionInventoryDTO);
@ -398,7 +398,7 @@ public interface IDistributionDeliveryListService extends BaseService<Distributi
/**
* 查询商配计划订单是否可以移除
* @param deliveryId
* @param orderId
* @param
* @return
*/
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);
@ -455,6 +455,13 @@ public interface IDistributionDeliveryListService extends BaseService<Distributi
*/
R cancelStart(DistrilbutionloadingscanDTO distrilbutionloadingscanDTO);
/**
* 商家端进行签收
* @param trainNumber
* @param warehouseId
* @param orderPackageCode
*/
void mallClientSignfor(String trainNumber, Long warehouseId, String orderPackageCode);
/**

110
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()));
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()));
if (Func.isEmpty(parcelListEntity)) {
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()));
//存在多个,操作人指定具体客户即可
if ( reservationEntities.size() == 1 && flag) {
if (reservationEntities.size() == 1 && flag) {
return R.fail(5000, "异常装车");
} else {
if (flag){
if (reservationEntities.isEmpty()){
if (flag) {
if (reservationEntities.isEmpty()) {
return Resp.scanFail("请指定客户进行异常装车", "请指定客户进行异常装车");
}
}else {
} else {
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());
//查询是否满足商配异常装车
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, "异常装车");
}else {
if (flag){
if (reservationEntities.isEmpty()){
} else {
if (flag) {
if (reservationEntities.isEmpty()) {
return Resp.scanFail("请指定客户进行异常装车", "请指定客户进行异常装车");
}
}else {
} else {
return Resp.scanFail("窜货", "窜货");
}
@ -3300,6 +3300,9 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
distributionReservationPackageService.updateById(reservationPackageEntity);
//取消包件的预约状态,并且进行整个订单的状态修改
DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(reservationPackageEntity.getParceListId());
if (OrderPackageLoadingStatusConstant.yizhuangche.getValue().equals(parcelListEntity.getOrderPackageLoadingStatus())) {
throw new RuntimeException(parcelListEntity.getOrderPackageCode() + "完成装车,请滞留取消");
}
parcelListEntity.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.daiyuyue.getValue());
distributionParcelListService.updateById(parcelListEntity);
if (Func.isNotEmpty(bladeRedis.get("warehouseId:" + myCurrentWarehouse.getId() + "orderCode:" + parcelListEntity.getOrderCode()))) {
@ -4068,7 +4071,9 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
return null;
}
IPage<DistributionParcelListVO> parcelListVOIPage = new Page<>();
List<DistributionLoadscanEntity> loadscanEntities = distributionLoadscanMapper.selectList(Wrappers.<DistributionLoadscanEntity>query().lambda().eq(DistributionLoadscanEntity::getDeliveryId, deliveryId).ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()));
List<DistributionLoadscanEntity> loadscanEntities = distributionLoadscanMapper.selectList(Wrappers.<DistributionLoadscanEntity>query().lambda()
.eq(DistributionLoadscanEntity::getDeliveryId, deliveryId)
.ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()));
Map<Long, DistributionLoadscanEntity> loadingDataMap = null;
if (Func.isNotEmpty(loadscanEntities)) {
loadingDataMap = loadscanEntities.stream().collect(Collectors.toMap(DistributionLoadscanEntity::getPackageId, Function.identity(), (k1, k2) -> k2));
@ -6050,7 +6055,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
aaa.add(js);
//对滞留包件进行签收信息数量减少
distributionSignforMapper.deductionLoadingPacjageNum(reservationId,deliveryId,1);
// distributionSignforMapper.deductionLoadingPacjageNum(reservationId,deliveryId,1);
}
if (!aaa.isEmpty()) {
@ -7010,7 +7015,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
.ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())
);
if (Func.isNotEmpty(loadscanEntityList)) {
return false;
return false;
}
return true;
}
@ -7221,10 +7226,77 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
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
@Transactional
public void maintenanceDeliveryInfo(Long deliveryId) {
log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> deliveryId {}",deliveryId);
log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> deliveryId {}", deliveryId);
if (Objects.isNull(deliveryId)) {
throw new IllegalArgumentException("deliveryId 不能为空");
}
@ -7286,7 +7358,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
deliveryListEntity.setDeliveryStatus(isAllSignforCompleted(deliveryListEntity.getId())
? DeliveryStatusConstant.yiwancheng.getValue()
: DeliveryStatusConstant.peisongzhong.getValue());
log.info(">>>>> deliveryListEntity deliveryStatus :{}",deliveryListEntity.getDeliveryStatus());
log.info(">>>>> deliveryListEntity deliveryStatus :{}", deliveryListEntity.getDeliveryStatus());
}
@ -7299,8 +7371,8 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
private void updateDeliveryListEntity(DistributionDeliveryListEntity deliveryListEntity, DistributionDeliveryListEntity old) {
log.info(">>>>>> update deliveryListEntity {}",deliveryListEntity);
log.info(">>>>>> update old {}",old);
log.info(">>>>>> update deliveryListEntity {}", deliveryListEntity);
log.info(">>>>>> update old {}", old);
// 判断传入的对象是否是否为null
if (Objects.isNull(deliveryListEntity)) {
throw new IllegalArgumentException("deliveryListEntity 不能为空");
@ -7310,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);
return ;
return;
}

Loading…
Cancel
Save