|
|
@@ -1,13 +1,10 @@
|
|
|
package com.sckw.transport.handler;
|
|
|
|
|
|
|
|
|
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.sckw.core.common.enums.enums.ErrorCodeEnum;
|
|
|
import com.sckw.core.exception.BusinessPlatfromException;
|
|
|
-import com.sckw.core.model.constant.Global;
|
|
|
import com.sckw.core.model.enums.CarWaybillV1Enum;
|
|
|
import com.sckw.core.utils.DateUtils;
|
|
|
-import com.sckw.core.web.context.LoginUserHolder;
|
|
|
import com.sckw.fleet.api.RemoteFleetService;
|
|
|
import com.sckw.fleet.api.model.vo.DriverConductRulesVO;
|
|
|
import com.sckw.order.api.model.OrderDetailVo;
|
|
|
@@ -28,7 +25,6 @@ import org.springframework.stereotype.Service;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.util.Date;
|
|
|
import java.util.Objects;
|
|
|
-import java.util.Optional;
|
|
|
|
|
|
/**
|
|
|
* Author: donglang
|
|
|
@@ -152,12 +148,10 @@ public class CancelHandler extends AbstractWaybillOrderHandler<WaybillOrderCance
|
|
|
*/
|
|
|
@Override
|
|
|
protected void calculateAutoDispatchScore(WaybillOrderCancelParam param, KwtWaybillOrder waybillOrder) {
|
|
|
-// if (true) {
|
|
|
-// //先不执行自动派单逻辑
|
|
|
-// return;
|
|
|
-// }
|
|
|
+ //供应商
|
|
|
+ Long supEntId = getSupplierId(waybillOrder);
|
|
|
// 获取司机行为规则配置
|
|
|
- DriverConductRulesVO driverRulesVO = getDriverConductRulesByEntId(waybillOrder.getEntId());
|
|
|
+ DriverConductRulesVO driverRulesVO = getDriverConductRulesByEntId(supEntId);
|
|
|
//分数
|
|
|
Integer cancelOrderScore = driverRulesVO.getIllegalCancelOrderScore();
|
|
|
//分钟数
|
|
|
@@ -168,10 +162,10 @@ public class CancelHandler extends AbstractWaybillOrderHandler<WaybillOrderCance
|
|
|
}
|
|
|
//司机接单时间
|
|
|
KwtWaybillOrderNode takingOrderNodes = getNodesByOrderId(waybillOrder.getId(), CarWaybillV1Enum.PENDING_VEHICLE.getCode());
|
|
|
- Date takingOrderTime = takingOrderNodes.getCreateTime() != null ? takingOrderNodes.getCreateTime() : null;
|
|
|
+ Date takingOrderTime = takingOrderNodes.getCreateTime();
|
|
|
//司机取消接单时间
|
|
|
KwtWaybillOrderNode cancelNode = getNodesByOrderId(waybillOrder.getId(), CarWaybillV1Enum.CANCELLED.getCode());
|
|
|
- Date cancelNodeTime = cancelNode.getCreateTime() != null ? cancelNode.getCreateTime() : null;
|
|
|
+ Date cancelNodeTime = cancelNode.getCreateTime();
|
|
|
|
|
|
// 计算两个时间的分钟差
|
|
|
Long timeDiffMinutes = DateUtils.calculateTimeDiffMinutes(takingOrderTime, cancelNodeTime);
|
|
|
@@ -179,12 +173,10 @@ public class CancelHandler extends AbstractWaybillOrderHandler<WaybillOrderCance
|
|
|
log.info("【司机违规取消运单】超时!司机违规取消运单分钟数限制:" + cancelOrderMinutes + "分钟,实际:" + timeDiffMinutes + "分钟");
|
|
|
//1、更新司机分数(减分)
|
|
|
cancelOrderScore = -Math.abs(cancelOrderScore);
|
|
|
- Long supEntId = getSupplierId(waybillOrder);
|
|
|
updateDriverScore(supEntId, waybillOrder.getEntId(), waybillOrder.getDriverId(), cancelOrderScore, "司机违规取消运单");
|
|
|
|
|
|
//2、更新企业分数(减分)
|
|
|
updateLogEntScore(waybillOrder, supEntId, cancelOrderScore, "司机违规取消运单");
|
|
|
-
|
|
|
}
|
|
|
|
|
|
}
|