zhangback
2025-11-18 4636b03d801662db1b8712d7a9ae9105462eca37
tms/src/main/java/com/ruoyi/tms/service/impl/TmsTripServiceImpl.java
@@ -11,9 +11,7 @@
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.tms.domain.TmsDispatchOrder;
import com.ruoyi.tms.domain.TmsDriver;
import com.ruoyi.tms.domain.TmsDriverDispatch;
import com.ruoyi.tms.domain.*;
import com.ruoyi.tms.mapper.TmsDispatchOrderMapper;
import com.ruoyi.tms.mapper.TmsDriverDispatchMapper;
import com.ruoyi.tms.mapper.TmsDriverMapper;
@@ -30,7 +28,6 @@
import com.ruoyi.common.core.service.BaseService;
import com.ruoyi.tms.mapper.TmsTripMapper;
import com.ruoyi.tms.domain.TmsTrip;
import com.ruoyi.tms.service.ITmsTripService;
import com.ruoyi.common.core.text.Convert;
@@ -58,6 +55,9 @@
    @Resource
    private TmsDriverMapper tmsDriverMapper;
    @Autowired
    private TmsVehicleServiceImpl tmsVehicleServiceImpl;
    /**
     * 查询行程
     *
@@ -166,19 +166,19 @@
            throw new RuntimeException("调度单数据状态异常");
        }
        tmsDispatchOrderMapper.update(
                null,
                new LambdaUpdateWrapper<TmsDispatchOrder>()
                        .eq(TmsDispatchOrder::getId, dispatchOrderId)
                        .set(TmsDispatchOrder::getStatus, 2)
                        .set(TmsDispatchOrder::getMainDriverId, null)
                        .set(TmsDispatchOrder::getMainDriverName, null)
                        .set(TmsDispatchOrder::getVehicleId, null)
                        .set(TmsDispatchOrder::getLicensePlate, null)
        );
        tmsDriverDispatchMapper.update(
                null,
                new LambdaUpdateWrapper<TmsDriverDispatch>()
                        .eq(TmsDriverDispatch::getDispatchId, dispatchOrderId)
                        .eq(TmsDriverDispatch::getDriverId, tmsTrip.getDriverId())
                        .eq(TmsDriverDispatch::getDriverId, tmsDispatchOrder.getMainDriverId())
                        .set(TmsDriverDispatch::getStatus, 3)
        );
        tmsTrip.setDriverName(tmsDispatchOrder.getMainDriverName());
@@ -201,22 +201,35 @@
        }
        Integer driverId = tmsTrip.getDriverId();
        TmsDriver tmsDriver = tmsDriverMapper.selectTmsDriverById(driverId);
        TmsDriverDispatch driverDispatch = tmsDriverDispatchMapper.selectOne(new LambdaUpdateWrapper<TmsDriverDispatch>()
                .eq(TmsDriverDispatch::getDispatchId, dispatchOrderId)
                .eq(TmsDriverDispatch::getDriverId, driverId)
                .eq(TmsDriverDispatch::getStatus, 2)
        );
        if (driverDispatch == null){
            throw new RuntimeException("未找到关联数据");
        }
        TmsVehicle tmsVehicle = tmsVehicleServiceImpl.selectTmsVehicleById(driverDispatch.getDriverId());
        tmsDispatchOrderMapper.update(
                null,
                new LambdaUpdateWrapper<TmsDispatchOrder>()
                        .eq(TmsDispatchOrder::getId, dispatchOrderId)
                        .set(TmsDispatchOrder::getMainDriverId, tmsDriver.getId())
                        .set(TmsDispatchOrder::getMainDriverName, tmsDriver.getDriverName())
                        .set(TmsDispatchOrder::getVehicleId, tmsVehicle.getId())
                        .set(TmsDispatchOrder::getLicensePlate, tmsVehicle.getLicensePlate())
        );
        TmsDriverDispatch tmsDriverDispatch = new TmsDriverDispatch();
        tmsDriverDispatch.setDispatchId(dispatchOrderId);
        tmsDriverDispatch.setDriverId(driverId);
        tmsDriverDispatch.setStatus(4);
        tmsDriverDispatchMapper.update(
                new LambdaUpdateWrapper<TmsDriverDispatch>()
                        .eq(TmsDriverDispatch::getDispatchId, dispatchOrderId)
                        .eq(TmsDriverDispatch::getDriverId, tmsTrip.getDriverId())
                        .set(TmsDriverDispatch::getStatus, 4)
        );
        tmsTrip.setVehicleId(tmsDispatchOrder.getVehicleId());
        tmsTrip.setVehicleNumber(tmsDispatchOrder.getLicensePlate());
        tmsDriverDispatchMapper.insertTmsDriverDispatch(tmsDriverDispatch);
        tmsTrip.setDriverName(tmsDriver.getDriverName());
        tmsTrip.setCreateBy(SecurityUtils.getUsername());
        tmsTrip.setCreateTime(DateUtils.getNowDate());