提交 9372637c authored 作者: 李瑞鑫's avatar 李瑞鑫

Merge branch 'v19.6_carrier_optimization_20240717' into test

# Conflicts: # performance-web/src/main/java/com/clx/performance/dao/OrderGoodsDao.java # performance-web/src/main/java/com/clx/performance/dao/impl/OrderGoodsDaoImpl.java # performance-web/src/main/java/com/clx/performance/listener/OrderChildDtsListener.java
......@@ -109,7 +109,6 @@ public interface OrderGoodsDao extends BaseDao<OrderGoodsMapper, OrderGoods, Int
void batchCancelOrderGoods(List<CancelOrderGoodsWeightDTO> cancelOrderGoodsWeight);
void updateAlreadyLoadWeight(BigDecimal alreadyLoadWeight, String orderGoodsNo);
List<OrderGoods> listAfterCreatedByOrderNo(String orderNo);
}
......@@ -306,10 +306,7 @@ public class OrderGoodsDaoImpl extends BaseDaoImpl<OrderGoodsMapper, OrderGoods,
baseMapper.batchCancelOrderGoods(cancelOrderGoodsWeight);
}
@Override
public void updateAlreadyLoadWeight(BigDecimal alreadyLoadWeight, String orderGoodsNo) {
baseMapper.updateAlreadyLoadWeight(alreadyLoadWeight,orderGoodsNo);
}
@Override
public List<OrderGoods> listAfterCreatedByOrderNo(String orderNo) {
......
......@@ -20,10 +20,14 @@ import com.clx.performance.dto.dts.DataTransportDTO;
import com.clx.performance.enums.DtsOperationTypeEnum;
import com.clx.performance.enums.OrderChildEnum;
import com.clx.performance.enums.OrderChildPoundAuditEnum;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.event.OrderChildCancelEvent;
import com.clx.performance.extranal.user.DriverService;
import com.clx.performance.model.OrderChild;
import com.clx.performance.model.OrderChildImage;
import com.clx.performance.model.OrderGoods;
import com.clx.performance.model.OrderGoods;
import com.clx.performance.service.LastTruckService;
import com.clx.user.feign.TruckFeign;
import com.clx.performance.struct.OrderChildStruct;
......@@ -273,19 +277,38 @@ public class OrderChildDtsListener {
* @param after
*/
private void afterLogicalProcessing(OrderChild before,OrderChild after){
BigDecimal loadNet = after.getLoadNet();//装车净重
BigDecimal beforeLoadNet = before.getLoadNet();//变化前装车净重
BigDecimal afterLoadNet = after.getLoadNet();//变化后装车净重
Integer status = after.getStatus();
String orderGoodsNo = after.getOrderGoodsNo();//货单号
log.info("装车净重:{},货单号:{}",loadNet,orderGoodsNo);
if(Objects.nonNull(loadNet) &&
(Objects.equals(after.getStatus(),OrderChildEnum.Status.LOAD.getCode())
|| OrderChildEnum.DTS_LISTEN_CANCEL_lIST.contains(after.getStatus()))) {//装车吨数不为空处理
if (OrderChildEnum.DTS_LISTEN_CANCEL_lIST.contains(after.getStatus())) {
log.info("之前装车净重:{},之后装车净重:{},运单状态:{},货单号:{}",beforeLoadNet,afterLoadNet,status,orderGoodsNo);
OrderGoods orderGoods = orderGoodsDao.getByOrderGoodsNo(orderGoodsNo)
.orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);//货单详情查询
BigDecimal loadNet = BigDecimal.ZERO;//定义实际装车吨数
if(Objects.nonNull(afterLoadNet) && Objects.equals(after.getStatus(),OrderChildEnum.Status.LOAD.getCode())){//第一次装车
loadNet = afterLoadNet;
}else if(Objects.nonNull(afterLoadNet) && OrderChildEnum.DTS_LISTEN_CANCEL_lIST.contains(after.getStatus())){//装车后取消
//运单取消,货单装车吨数需要减掉
loadNet = loadNet.negate();
}
orderGoodsDao.updateAlreadyLoadWeight(loadNet, orderGoodsNo);
loadNet = afterLoadNet.negate();
}else if(Objects.nonNull(before.getLoadNet()) && Objects.equals(before.getLoadNet(),after.getLoadNet())){//修改装车吨数
loadNet = afterLoadNet.subtract(beforeLoadNet);
}else{
return;
}
//货单已经装车吨数
BigDecimal alreadyLoadWeight = orderGoods.getAlreadyLoadWeight() == null? BigDecimal.ZERO:orderGoods.getAlreadyLoadWeight();
alreadyLoadWeight = alreadyLoadWeight.add(loadNet);
//更新货单已经装车吨数
OrderGoods og = new OrderGoods();
og.setId(orderGoods.getId());
og.setAlreadyLoadWeight(alreadyLoadWeight);
orderGoodsDao.updateEntityByKey(og);
}
//同步履约进度表-----运单部分
......
......@@ -108,7 +108,4 @@ public interface OrderGoodsMapper extends BaseMapper<OrderGoods> {
void batchCancelOrderGoods(List<CancelOrderGoodsWeightDTO> cancelOrderGoodsWeight);
@UpdateProvider(type = OrderGoodsSqlProvider.class, method = "updateAlreadyLoadWeight")
void updateAlreadyLoadWeight(@Param(value = "alreadyLoadWeight") BigDecimal alreadyLoadWeight,@Param(value = "orderGoodsNo") String orderGoodsNo);
}
......@@ -379,16 +379,4 @@ public class OrderGoodsSqlProvider {
}
public String updateAlreadyLoadWeight(@Param(value = "alreadyLoadWeight") BigDecimal alreadyLoadWeight,@Param(value = "orderGoodsNo") String orderGoodsNo){
String sql = new SQL() {{
UPDATE("order_goods")
.SET("already_load_weight = IFNULL(already_load_weight,0) + #{alreadyLoadWeight}")
.WHERE("order_goods_no = #{orderGoodsNo}");
}}.toString();
return sql;
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论