Compare commits

...

2 Commits

Author SHA1 Message Date
799d919575 Merge remote-tracking branch 'origin/main' 2026-05-24 16:19:27 +08:00
b8970a2c88 1000076、1000075 2026-05-24 16:19:20 +08:00
3 changed files with 39 additions and 11 deletions

View File

@@ -76,6 +76,15 @@ public interface IHotVehicleThreeInspectService {
*/ */
void validateNoUnfinishedProcess(String vehicleId, String actionMessage); void validateNoUnfinishedProcess(String vehicleId, String actionMessage);
/**
* 校验车辆当前不存在影响默认车辆切换的未完成三检流程。
* 切换默认车辆时仅要求最新一条三检记录已到收车检查阶段,不区分审核结果。
*
* @param vehicleId 车辆ID
* @param actionMessage 失败提示文案
*/
void validateNoUnfinishedSwitchVehicleProcess(String vehicleId, String actionMessage);
/** /**
* 修改车辆三检 * 修改车辆三检
* *

View File

@@ -68,13 +68,7 @@ public class HotVehicleThreeInspectServiceImpl implements IHotVehicleThreeInspec
if (parsedVehicleId == null) { if (parsedVehicleId == null) {
return false; return false;
} }
HotVehicleThreeInspect latestInspect = baseMapper.selectOne( HotVehicleThreeInspect latestInspect = selectLatestInspect(parsedVehicleId);
Wrappers.<HotVehicleThreeInspect>lambdaQuery()
.eq(HotVehicleThreeInspect::getVehicleId, parsedVehicleId)
.eq(HotVehicleThreeInspect::getIsDeleted, 0L)
.orderByDesc(HotVehicleThreeInspect::getCreateTime)
.last("LIMIT 1")
);
if (latestInspect == null) { if (latestInspect == null) {
return false; return false;
} }
@@ -91,6 +85,21 @@ public class HotVehicleThreeInspectServiceImpl implements IHotVehicleThreeInspec
} }
} }
@Override
public void validateNoUnfinishedSwitchVehicleProcess(String vehicleId, String actionMessage) {
Long parsedVehicleId = parseVehicleId(vehicleId);
if (parsedVehicleId == null) {
return;
}
HotVehicleThreeInspect latestInspect = selectLatestInspect(parsedVehicleId);
if (latestInspect == null) {
return;
}
if (!Long.valueOf(3L).equals(latestInspect.getInspectPhase())) {
throw new ServiceException(actionMessage);
}
}
/** /**
* 查询车辆三检 * 查询车辆三检
* *
@@ -472,9 +481,9 @@ public class HotVehicleThreeInspectServiceImpl implements IHotVehicleThreeInspec
return; return;
} }
bo.setRejectReason(StringUtils.trimToNull(bo.getRejectReason())); bo.setRejectReason(StringUtils.trimToNull(bo.getRejectReason()));
if (StringUtils.isBlank(bo.getRejectReason())) { // if (StringUtils.isBlank(bo.getRejectReason())) {
throw new ServiceException("审核不通过时,不通过原因不能为空"); // throw new ServiceException("审核不通过时,不通过原因不能为空");
} // }
} }
private void validateAuditTimeNotBeforeInspectTime(HotVehicleThreeInspectBo bo, HotVehicleThreeInspect current) { private void validateAuditTimeNotBeforeInspectTime(HotVehicleThreeInspectBo bo, HotVehicleThreeInspect current) {
@@ -511,4 +520,14 @@ public class HotVehicleThreeInspectServiceImpl implements IHotVehicleThreeInspec
} }
return Long.valueOf(vehicleId); return Long.valueOf(vehicleId);
} }
private HotVehicleThreeInspect selectLatestInspect(Long vehicleId) {
return baseMapper.selectOne(
Wrappers.<HotVehicleThreeInspect>lambdaQuery()
.eq(HotVehicleThreeInspect::getVehicleId, vehicleId)
.eq(HotVehicleThreeInspect::getIsDeleted, 0L)
.orderByDesc(HotVehicleThreeInspect::getCreateTime)
.last("LIMIT 1")
);
}
} }

View File

@@ -1004,7 +1004,7 @@ public class HotDriverServiceImpl implements IHotDriverService {
throw new ServiceException("当前默认车辆不存在,不能切换"); throw new ServiceException("当前默认车辆不存在,不能切换");
} }
hotVehicleThreeInspectService.validateNoUnfinishedProcess(driver.getVehicleId(), "当前车辆三检流程未完成,不可切换车辆"); hotVehicleThreeInspectService.validateNoUnfinishedSwitchVehicleProcess(driver.getVehicleId(), "当前车辆三检流程未完成,不可切换车辆");
HotVehicle targetVehicle = vehicleMapper.selectOne(Wrappers.<HotVehicle>lambdaQuery() HotVehicle targetVehicle = vehicleMapper.selectOne(Wrappers.<HotVehicle>lambdaQuery()
.eq(HotVehicle::getId, targetVehicleId) .eq(HotVehicle::getId, targetVehicleId)