车辆三检

This commit is contained in:
2026-05-27 11:51:40 +08:00
parent 436f1ab5a3
commit cea67f5e43
8 changed files with 224 additions and 0 deletions

View File

@@ -3,6 +3,9 @@ package com.hotwj.platform.config.vehicleThreeInspect.controller;
import com.hotwj.platform.config.vehicleThreeInspect.domain.bo.HotVehicleThreeInspectBo; import com.hotwj.platform.config.vehicleThreeInspect.domain.bo.HotVehicleThreeInspectBo;
import com.hotwj.platform.config.vehicleThreeInspect.domain.bo.HotVehicleThreeInspectBatchAuditBo; import com.hotwj.platform.config.vehicleThreeInspect.domain.bo.HotVehicleThreeInspectBatchAuditBo;
import com.hotwj.platform.config.vehicleThreeInspect.domain.vo.HotVehicleThreeInspectProcessVo; import com.hotwj.platform.config.vehicleThreeInspect.domain.vo.HotVehicleThreeInspectProcessVo;
import com.hotwj.platform.config.vehicleThreeInspect.domain.bo.HotVehicleThreeInspectVehicleQueryBo;
import com.hotwj.platform.config.vehicleThreeInspect.domain.vo.HotVehicleThreeInspectReceivedVehicleVo;
import com.hotwj.platform.config.vehicleThreeInspect.domain.vo.HotVehicleThreeInspectUnreceivedVehicleVo;
import com.hotwj.platform.config.vehicleThreeInspect.domain.vo.HotVehicleThreeInspectVo; import com.hotwj.platform.config.vehicleThreeInspect.domain.vo.HotVehicleThreeInspectVo;
import com.hotwj.platform.config.vehicleThreeInspect.service.IHotVehicleThreeInspectPrintService; import com.hotwj.platform.config.vehicleThreeInspect.service.IHotVehicleThreeInspectPrintService;
import com.hotwj.platform.config.vehicleThreeInspect.service.IHotVehicleThreeInspectService; import com.hotwj.platform.config.vehicleThreeInspect.service.IHotVehicleThreeInspectService;
@@ -73,6 +76,24 @@ public class HotVehicleThreeInspectController extends BaseController {
return R.ok(hotVehicleThreeInspectService.queryAvailableVehicles(companyId)); return R.ok(hotVehicleThreeInspectService.queryAvailableVehicles(companyId));
} }
/**
* 查询所有三检未收车的车辆列表
*/
@GetMapping("/unreceivedVehicles")
@Operation(summary = "查询所有三检还未收车的车辆列表")
public R<List<HotVehicleThreeInspectUnreceivedVehicleVo>> queryUnreceivedVehicles(HotVehicleThreeInspectVehicleQueryBo bo) {
return R.ok(hotVehicleThreeInspectService.queryUnreceivedVehicles(bo));
}
/**
* 查询所有三检已收车的车辆列表
*/
@GetMapping("/receivedVehicles")
@Operation(summary = "查询所有三检已收车的车辆列表")
public R<List<HotVehicleThreeInspectReceivedVehicleVo>> queryReceivedVehicles(HotVehicleThreeInspectVehicleQueryBo bo) {
return R.ok(hotVehicleThreeInspectService.queryReceivedVehicles(bo));
}
/** /**
* 导出车辆三检列表 * 导出车辆三检列表
*/ */

View File

@@ -0,0 +1,26 @@
package com.hotwj.platform.config.vehicleThreeInspect.domain.bo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.mybatis.core.domain.BaseEntity;
/**
* 车辆三检车辆列表查询对象
*
* @author shihongwei
* @date 2026-05-27
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class HotVehicleThreeInspectVehicleQueryBo extends BaseEntity {
/**
* 企业ID
*/
private Long companyId;
/**
* 车牌号
*/
private String plateNumber;
}

View File

@@ -0,0 +1,29 @@
package com.hotwj.platform.config.vehicleThreeInspect.domain.vo;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 车辆三检已收车车辆列表视图对象
*
* @author shihongwei
* @date 2026-05-27
*/
@Data
public class HotVehicleThreeInspectReceivedVehicleVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 车牌号
*/
private String plateNumber;
/**
* 车辆类型
*/
private String vehicleType;
}

View File

@@ -0,0 +1,34 @@
package com.hotwj.platform.config.vehicleThreeInspect.domain.vo;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 车辆三检未收车车辆列表视图对象
*
* @author shihongwei
* @date 2026-05-27
*/
@Data
public class HotVehicleThreeInspectUnreceivedVehicleVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 车牌号
*/
private String plateNumber;
/**
* 审核人
*/
private String auditorName;
/**
* 车辆类型
*/
private String vehicleType;
}

View File

@@ -2,8 +2,11 @@ package com.hotwj.platform.config.vehicleThreeInspect.mapper;
import com.hotwj.platform.config.vehicleThreeInspect.domain.HotVehicleThreeInspect; import com.hotwj.platform.config.vehicleThreeInspect.domain.HotVehicleThreeInspect;
import com.hotwj.platform.config.vehicleThreeInspect.domain.bo.HotVehicleThreeInspectBo; import com.hotwj.platform.config.vehicleThreeInspect.domain.bo.HotVehicleThreeInspectBo;
import com.hotwj.platform.config.vehicleThreeInspect.domain.bo.HotVehicleThreeInspectVehicleQueryBo;
import com.hotwj.platform.config.vehicleThreeInspect.domain.vo.HotVehicleThreeInspectProcessVo; import com.hotwj.platform.config.vehicleThreeInspect.domain.vo.HotVehicleThreeInspectProcessVo;
import com.hotwj.platform.config.vehicleThreeInspect.domain.vo.HotVehicleThreeInspectPrintVo; import com.hotwj.platform.config.vehicleThreeInspect.domain.vo.HotVehicleThreeInspectPrintVo;
import com.hotwj.platform.config.vehicleThreeInspect.domain.vo.HotVehicleThreeInspectReceivedVehicleVo;
import com.hotwj.platform.config.vehicleThreeInspect.domain.vo.HotVehicleThreeInspectUnreceivedVehicleVo;
import com.hotwj.platform.config.vehicleThreeInspect.domain.vo.HotVehicleThreeInspectVo; import com.hotwj.platform.config.vehicleThreeInspect.domain.vo.HotVehicleThreeInspectVo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@@ -41,4 +44,20 @@ public interface HotVehicleThreeInspectMapper extends BaseMapperPlus<HotVehicleT
@Param("bo") HotVehicleThreeInspectBo bo @Param("bo") HotVehicleThreeInspectBo bo
); );
/**
* 查询所有三检未收车的车辆列表
*
* @param bo 查询条件
* @return 未收车车辆列表
*/
List<HotVehicleThreeInspectUnreceivedVehicleVo> queryUnreceivedVehicles(@Param("bo") HotVehicleThreeInspectVehicleQueryBo bo);
/**
* 查询所有三检已收车的车辆列表
*
* @param bo 查询条件
* @return 已收车车辆列表
*/
List<HotVehicleThreeInspectReceivedVehicleVo> queryReceivedVehicles(@Param("bo") HotVehicleThreeInspectVehicleQueryBo bo);
} }

View File

@@ -2,7 +2,10 @@ package com.hotwj.platform.config.vehicleThreeInspect.service;
import com.hotwj.platform.config.vehicleThreeInspect.domain.bo.HotVehicleThreeInspectBo; import com.hotwj.platform.config.vehicleThreeInspect.domain.bo.HotVehicleThreeInspectBo;
import com.hotwj.platform.config.vehicleThreeInspect.domain.bo.HotVehicleThreeInspectBatchAuditBo; import com.hotwj.platform.config.vehicleThreeInspect.domain.bo.HotVehicleThreeInspectBatchAuditBo;
import com.hotwj.platform.config.vehicleThreeInspect.domain.bo.HotVehicleThreeInspectVehicleQueryBo;
import com.hotwj.platform.config.vehicleThreeInspect.domain.vo.HotVehicleThreeInspectProcessVo; import com.hotwj.platform.config.vehicleThreeInspect.domain.vo.HotVehicleThreeInspectProcessVo;
import com.hotwj.platform.config.vehicleThreeInspect.domain.vo.HotVehicleThreeInspectReceivedVehicleVo;
import com.hotwj.platform.config.vehicleThreeInspect.domain.vo.HotVehicleThreeInspectUnreceivedVehicleVo;
import com.hotwj.platform.config.vehicleThreeInspect.domain.vo.HotVehicleThreeInspectVo; import com.hotwj.platform.config.vehicleThreeInspect.domain.vo.HotVehicleThreeInspectVo;
import com.hotwj.platform.resourceManagement.vehicleManagement.domain.vo.HotVehicleVo; import com.hotwj.platform.resourceManagement.vehicleManagement.domain.vo.HotVehicleVo;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
@@ -27,6 +30,22 @@ public interface IHotVehicleThreeInspectService {
*/ */
List<HotVehicleVo> queryAvailableVehicles(Long companyId); List<HotVehicleVo> queryAvailableVehicles(Long companyId);
/**
* 查询所有三检未收车的车辆列表
*
* @param bo 查询条件
* @return 未收车车辆列表
*/
List<HotVehicleThreeInspectUnreceivedVehicleVo> queryUnreceivedVehicles(HotVehicleThreeInspectVehicleQueryBo bo);
/**
* 查询所有三检已收车的车辆列表
*
* @param bo 查询条件
* @return 已收车车辆列表
*/
List<HotVehicleThreeInspectReceivedVehicleVo> queryReceivedVehicles(HotVehicleThreeInspectVehicleQueryBo bo);
/** /**
* 查询车辆三检 * 查询车辆三检
* *

View File

@@ -8,7 +8,10 @@ import com.hotwj.platform.common.helper.DriverLoginContextHelper;
import com.hotwj.platform.config.vehicleThreeInspect.domain.HotVehicleThreeInspect; import com.hotwj.platform.config.vehicleThreeInspect.domain.HotVehicleThreeInspect;
import com.hotwj.platform.config.vehicleThreeInspect.domain.bo.HotVehicleThreeInspectBatchAuditBo; import com.hotwj.platform.config.vehicleThreeInspect.domain.bo.HotVehicleThreeInspectBatchAuditBo;
import com.hotwj.platform.config.vehicleThreeInspect.domain.bo.HotVehicleThreeInspectBo; import com.hotwj.platform.config.vehicleThreeInspect.domain.bo.HotVehicleThreeInspectBo;
import com.hotwj.platform.config.vehicleThreeInspect.domain.bo.HotVehicleThreeInspectVehicleQueryBo;
import com.hotwj.platform.config.vehicleThreeInspect.domain.vo.HotVehicleThreeInspectProcessVo; import com.hotwj.platform.config.vehicleThreeInspect.domain.vo.HotVehicleThreeInspectProcessVo;
import com.hotwj.platform.config.vehicleThreeInspect.domain.vo.HotVehicleThreeInspectReceivedVehicleVo;
import com.hotwj.platform.config.vehicleThreeInspect.domain.vo.HotVehicleThreeInspectUnreceivedVehicleVo;
import com.hotwj.platform.config.vehicleThreeInspect.domain.vo.HotVehicleThreeInspectVo; import com.hotwj.platform.config.vehicleThreeInspect.domain.vo.HotVehicleThreeInspectVo;
import com.hotwj.platform.config.vehicleThreeInspectConfig.domain.HotVehicleThreeInspectConfig; import com.hotwj.platform.config.vehicleThreeInspectConfig.domain.HotVehicleThreeInspectConfig;
import com.hotwj.platform.config.vehicleThreeInspectConfig.mapper.HotVehicleThreeInspectConfigMapper; import com.hotwj.platform.config.vehicleThreeInspectConfig.mapper.HotVehicleThreeInspectConfigMapper;
@@ -70,6 +73,16 @@ public class HotVehicleThreeInspectServiceImpl implements IHotVehicleThreeInspec
return hotVehicleMapper.selectAvailableForThreeInspect(companyId); return hotVehicleMapper.selectAvailableForThreeInspect(companyId);
} }
@Override
public List<HotVehicleThreeInspectUnreceivedVehicleVo> queryUnreceivedVehicles(HotVehicleThreeInspectVehicleQueryBo bo) {
return baseMapper.queryUnreceivedVehicles(bo);
}
@Override
public List<HotVehicleThreeInspectReceivedVehicleVo> queryReceivedVehicles(HotVehicleThreeInspectVehicleQueryBo bo) {
return baseMapper.queryReceivedVehicles(bo);
}
@Override @Override
public boolean hasUnfinishedProcess(String vehicleId) { public boolean hasUnfinishedProcess(String vehicleId) {
Long parsedVehicleId = parseVehicleId(vehicleId); Long parsedVehicleId = parseVehicleId(vehicleId);

View File

@@ -175,4 +175,67 @@
ORDER BY MAX(create_time) DESC ORDER BY MAX(create_time) DESC
</select> </select>
<select id="queryUnreceivedVehicles"
resultType="com.hotwj.platform.config.vehicleThreeInspect.domain.vo.HotVehicleThreeInspectUnreceivedVehicleVo">
SELECT
v.plate_number AS plateNumber,
t.auditor_name AS auditorName,
v.vehicle_type AS vehicleType
FROM hot_vehicle_three_inspect t
LEFT JOIN hot_vehicle v ON t.vehicle_id = v.id
<where>
t.is_deleted = 0
AND v.is_deleted = 0
AND t.inspect_phase <![CDATA[<>]]> 3
AND NOT EXISTS (
SELECT 1
FROM hot_vehicle_three_inspect t2
WHERE t2.vehicle_id = t.vehicle_id
AND t2.is_deleted = 0
AND (
t2.create_time > t.create_time
OR (t2.create_time = t.create_time AND t2.id > t.id)
)
)
<if test="bo.companyId != null">
AND t.company_id = #{bo.companyId}
</if>
<if test="bo.plateNumber != null and bo.plateNumber != ''">
AND v.plate_number LIKE CONCAT('%', #{bo.plateNumber}, '%')
</if>
</where>
ORDER BY IFNULL(t.inspect_time, t.create_time) DESC, t.create_time DESC, t.id DESC
</select>
<select id="queryReceivedVehicles"
resultType="com.hotwj.platform.config.vehicleThreeInspect.domain.vo.HotVehicleThreeInspectReceivedVehicleVo">
SELECT
v.plate_number AS plateNumber,
v.vehicle_type AS vehicleType
FROM hot_vehicle_three_inspect t
LEFT JOIN hot_vehicle v ON t.vehicle_id = v.id
<where>
t.is_deleted = 0
AND v.is_deleted = 0
AND t.inspect_phase = 3
AND NOT EXISTS (
SELECT 1
FROM hot_vehicle_three_inspect t2
WHERE t2.vehicle_id = t.vehicle_id
AND t2.is_deleted = 0
AND (
t2.create_time > t.create_time
OR (t2.create_time = t.create_time AND t2.id > t.id)
)
)
<if test="bo.companyId != null">
AND t.company_id = #{bo.companyId}
</if>
<if test="bo.plateNumber != null and bo.plateNumber != ''">
AND v.plate_number LIKE CONCAT('%', #{bo.plateNumber}, '%')
</if>
</where>
ORDER BY IFNULL(t.inspect_time, t.create_time) DESC, t.create_time DESC, t.id DESC
</select>
</mapper> </mapper>