Browse Source

复核维护配送状态

pull/5/head
汤建军 1 year ago
parent
commit
d716f53ee9
  1. 8
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.java
  2. 5
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml
  3. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.xml
  4. 37
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java
  5. 6
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java

8
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.java

@ -486,4 +486,12 @@ public interface DistributionDeliveryListMapper extends BaseMapper<DistributionD
Map<String, Object> selectDeliveryDriverInfo(@Param("deliveryId")Long deliveryId);
Integer selectOrderNumByDeliveryId(@Param("deliveryId")Long deliveryId);
/**
* 查询配送对应的签收信息
* @param deliveryId
* @return
*/
List<DistributionSignforEntity> selectSignforByDeliveryId(@Param("deliveryId")Long deliveryId);
}

5
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml

@ -2028,5 +2028,10 @@
AND reservation_num > 0
AND stock_article_status IN ('1','3')
</select>
<select id="selectSignforByDeliveryId"
resultType="com.logpm.distribution.entity.DistributionSignforEntity">
SELECT * FROM logpm_distribution_signfor AS lds LEFT JOIN logpm_distribution_reservation AS ldr
WHERE lds.delivery_id = #{deliveryId} AND (ldr.reservation_num + ldr.reservation_stock_list_num) > 0
</select>
</mapper>

2
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.xml

@ -530,7 +530,7 @@
<select id="selectStockupClientInfo" resultType="com.logpm.distribution.vo.DistributionStockupListVO">
select DISTINCT ldr.consignee customer,
lds.stockup_status stockupStatus,
ldr.stock_status stockStatus,
ldsi.stock_status stockStatus,
lds.type_service typeService,
ldr.mall_name mallName,
(

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

@ -74,6 +74,7 @@ import org.springblade.common.constant.order.OrderStatusConstant;
import org.springblade.common.constant.orderpackage.*;
import org.springblade.common.constant.printTemplate.PrintTemplateStatusConstant;
import org.springblade.common.constant.reservation.*;
import org.springblade.common.constant.signing.SignforDriverSigningStatusConstant;
import org.springblade.common.constant.signing.SignforStatusConstant;
import org.springblade.common.constant.stockup.StockAssignStatusConstant;
import org.springblade.common.constant.stockup.StockupStatusConstant;
@ -7079,22 +7080,21 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
// List<DistributionSignforEntity> list = distributionSignforService.list(Wrappers.<DistributionSignforEntity>query().lambda()
// .eq(DistributionSignforEntity::getDeliveryId, deliveryId)
// );
List<DistributionReservationEntity> distributionReservationEntities = baseMapper.selectReservationByDeliveryListId(deliveryId);
// List<DistributionReservationEntity> distributionReservationEntities = baseMapper.selectReservationByDeliveryListId(deliveryId);
//查询客户列表
if (Func.isNotEmpty(distributionReservationEntities)){
log.info(">>>>>>>>>>>>>>> 维护配送车次客户数量:{}",distributionReservationEntities.size());
boolean flag = distributionReservationEntities.stream().allMatch(a -> ReservationSigningStatusConstant.yiqianshou.getValue().equals(a.getSigningStatus()));
log.info(">>>>>>>>>>>>>>> 客户是否完全签收 代码执行 list:{}",flag);
if (flag) {
deliveryListEntity.setDeliveryStatus(DeliveryStatusConstant.yiwancheng.getValue());
}
}else {
//查询不出此配送任务存在预约信息,进行配送车次取消
this.cancelDelivery(deliveryListEntity.getId());
log.info(deliveryListEntity.getTrainNumber()+">>>>>>>>>>>>>>> 取消全部配送信息:{}",deliveryId);
log.info(">>>>>>>>>>>>>>> 进行配送车次任务取消",deliveryId);
}
// if (Func.isNotEmpty(distributionReservationEntities)){
// log.info(">>>>>>>>>>>>>>> 维护配送车次客户数量:{}",distributionReservationEntities.size());
// boolean flag = distributionReservationEntities.stream().allMatch(a -> ReservationSigningStatusConstant.yiqianshou.getValue().equals(a.getSigningStatus()));
// log.info(">>>>>>>>>>>>>>> 客户是否完全签收 代码执行 list:{}",flag);
// if (flag) {
// deliveryListEntity.setDeliveryStatus(DeliveryStatusConstant.yiwancheng.getValue());
// }
// }else {
// //查询不出此配送任务存在预约信息,进行配送车次取消
// this.cancelDelivery(deliveryListEntity.getId());
// log.info(deliveryListEntity.getTrainNumber()+">>>>>>>>>>>>>>> 取消全部配送信息:{}",deliveryId);
// log.info(">>>>>>>>>>>>>>> 进行配送车次任务取消",deliveryId);
// }
// if (list.size()>0) {
@ -7108,7 +7108,12 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
// }else {
// log.error(method + "查询配送单签收信息错误,deliveryId:{}", deliveryId);
// }
//查询配送内有效的客户信息
List<DistributionSignforEntity> signforEntities = baseMapper.selectSignforByDeliveryId(deliveryId);
boolean flag = signforEntities.stream().allMatch(s -> SignforStatusConstant.yiqianshou.getValue().equals(s.getSigningStatus()));
if (flag){
deliveryListEntity.setDeliveryStatus(DeliveryStatusConstant.yiwancheng.getValue());
}
this.updateById(deliveryListEntity);
}
}

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

@ -1179,6 +1179,12 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
StringBuilder driverNames = new StringBuilder();
//查询根据预约ID查询这些预约的备货状态
List<DistributionReservationEntity> reservationEntityList = baseMapper.selectList(Wrappers.<DistributionReservationEntity>query().lambda().in(DistributionReservationEntity::getId, ids));
//判断是否存在预约进行了配送任务的提交
boolean match = reservationEntityList.stream().anyMatch(r -> ReservationStatusConstant.daipeisong.getValue().equals(r.getReservationStatus()));
if (match){
String collect = reservationEntityList.stream().filter(r -> ReservationStatusConstant.daipeisong.getValue().equals(r.getReservationStatus())).map(DistributionReservationEntity::getReservationCode).collect(Collectors.joining(","));
return R.fail(collect+"已进行配送 请移除");
}
boolean flag = reservationEntityList.stream().anyMatch(s -> s.getStockupStatus().equals(ReservationStockupStatusConstant.weibeihuo.getValue()));
DistributionStockupEntity stockupEntity = null;
if (flag) {

Loading…
Cancel
Save