车辆三检分流程查询

This commit is contained in:
2026-05-26 16:24:12 +08:00
parent 159d2d97df
commit faecd5586b
6 changed files with 230 additions and 0 deletions

View File

@@ -2,6 +2,7 @@ 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.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;
@@ -54,6 +55,15 @@ public class HotVehicleThreeInspectController extends BaseController {
return hotVehicleThreeInspectService.queryPageList(bo, pageQuery); return hotVehicleThreeInspectService.queryPageList(bo, pageQuery);
} }
/**
* 查询车辆三检流程列表
*/
@GetMapping("/listProcess")
@Operation(summary = "分页查询车辆三检流程列表")
public TableDataInfo<HotVehicleThreeInspectProcessVo> listProcess(HotVehicleThreeInspectBo bo, PageQuery pageQuery) {
return hotVehicleThreeInspectService.queryProcessPageList(bo, pageQuery);
}
/** /**
* 查询可进行三检的车辆列表 * 查询可进行三检的车辆列表
*/ */

View File

@@ -0,0 +1,80 @@
package com.hotwj.platform.config.vehicleThreeInspect.domain.vo;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 车辆三检流程列表视图对象
*
* @author shihongwei
* @date 2025-12-29
*/
@Data
public class HotVehicleThreeInspectProcessVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 三检流程ID
*/
private Long inspectId;
/**
* 公司ID
*/
private Long companyId;
/**
* 车辆ID
*/
private Long vehicleId;
/**
* 车牌号
*/
private String plateNumber;
/**
* 检查者姓名
*/
private String driverName;
/**
* 流程开始时间
*/
private Date startTime;
/**
* 流程结束时间
*/
private Date endTime;
/**
* 流程时间展示
*/
private String inspectTime;
/**
* 完成状态
*/
private String completeStatus;
/**
* 是否已完成
*/
private Boolean completed;
/**
* 审核完成状态
*/
private String auditCompleteStatus;
/**
* 是否完成审核
*/
private Boolean auditCompleted;
}

View File

@@ -2,8 +2,10 @@ 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.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.HotVehicleThreeInspectVo; import com.hotwj.platform.config.vehicleThreeInspect.domain.vo.HotVehicleThreeInspectVo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
@@ -27,4 +29,16 @@ public interface HotVehicleThreeInspectMapper extends BaseMapperPlus<HotVehicleT
*/ */
List<HotVehicleThreeInspectPrintVo> selectPrintList(@Param("bo") HotVehicleThreeInspectBo bo); List<HotVehicleThreeInspectPrintVo> selectPrintList(@Param("bo") HotVehicleThreeInspectBo bo);
/**
* 分页查询车辆三检流程列表
*
* @param page 分页参数
* @param bo 查询条件
* @return 流程分页列表
*/
Page<HotVehicleThreeInspectProcessVo> queryProcessPageList(
Page<HotVehicleThreeInspectProcessVo> page,
@Param("bo") HotVehicleThreeInspectBo bo
);
} }

View File

@@ -2,6 +2,7 @@ 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.vo.HotVehicleThreeInspectProcessVo;
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;
@@ -43,6 +44,15 @@ public interface IHotVehicleThreeInspectService {
*/ */
TableDataInfo<HotVehicleThreeInspectVo> queryPageList(HotVehicleThreeInspectBo bo, PageQuery pageQuery); TableDataInfo<HotVehicleThreeInspectVo> queryPageList(HotVehicleThreeInspectBo bo, PageQuery pageQuery);
/**
* 分页查询车辆三检流程列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 车辆三检流程分页列表
*/
TableDataInfo<HotVehicleThreeInspectProcessVo> queryProcessPageList(HotVehicleThreeInspectBo bo, PageQuery pageQuery);
/** /**
* 查询符合条件的车辆三检列表 * 查询符合条件的车辆三检列表
* *

View File

@@ -8,6 +8,7 @@ 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.vo.HotVehicleThreeInspectProcessVo;
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;
@@ -145,6 +146,19 @@ public class HotVehicleThreeInspectServiceImpl implements IHotVehicleThreeInspec
return TableDataInfo.build(result); return TableDataInfo.build(result);
} }
/**
* 分页查询车辆三检流程列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 车辆三检流程分页列表
*/
@Override
public TableDataInfo<HotVehicleThreeInspectProcessVo> queryProcessPageList(HotVehicleThreeInspectBo bo, PageQuery pageQuery) {
Page<HotVehicleThreeInspectProcessVo> result = baseMapper.queryProcessPageList(pageQuery.build(), bo);
return TableDataInfo.build(result);
}
/** /**
* 查询符合条件的车辆三检列表 * 查询符合条件的车辆三检列表
* *

View File

@@ -4,6 +4,108 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hotwj.platform.config.vehicleThreeInspect.mapper.HotVehicleThreeInspectMapper"> <mapper namespace="com.hotwj.platform.config.vehicleThreeInspect.mapper.HotVehicleThreeInspectMapper">
<select id="queryProcessPageList"
resultType="com.hotwj.platform.config.vehicleThreeInspect.domain.vo.HotVehicleThreeInspectProcessVo">
SELECT
t.inspect_id AS inspectId,
MAX(t.company_id) AS companyId,
MAX(t.vehicle_id) AS vehicleId,
MAX(v.plate_number) AS plateNumber,
MAX(t.driver_name) AS driverName,
MIN(t.inspect_time) AS startTime,
MAX(t.inspect_time) AS endTime,
CASE
WHEN SUM(CASE WHEN t.inspect_phase = 3 THEN 1 ELSE 0 END) > 0 THEN
CASE
WHEN MIN(t.inspect_time) = MAX(t.inspect_time)
THEN DATE_FORMAT(MIN(t.inspect_time), '%Y-%m-%d %H:%i:%s')
ELSE CONCAT(
DATE_FORMAT(MIN(t.inspect_time), '%Y-%m-%d %H:%i:%s'),
' ~ ',
DATE_FORMAT(MAX(t.inspect_time), '%Y-%m-%d %H:%i:%s')
)
END
ELSE
CASE
WHEN MIN(t.inspect_time) = MAX(t.inspect_time)
THEN DATE_FORMAT(MIN(t.inspect_time), '%Y-%m-%d %H:%i:%s')
ELSE CONCAT(
DATE_FORMAT(MIN(t.inspect_time), '%Y-%m-%d %H:%i:%s'),
' ~ ',
DATE_FORMAT(MAX(t.inspect_time), '%Y-%m-%d %H:%i:%s')
)
END
END AS inspectTime,
CASE
WHEN SUM(CASE WHEN t.inspect_phase = 3 THEN 1 ELSE 0 END) > 0 THEN '已完成'
ELSE '未完成'
END AS completeStatus,
CASE
WHEN SUM(CASE WHEN t.inspect_phase = 3 THEN 1 ELSE 0 END) > 0 THEN 1
ELSE 0
END AS completed,
CASE
WHEN COUNT(DISTINCT CASE WHEN t.flow_status = 'APPROVED' THEN t.inspect_phase END) = 3
THEN '已完成审核'
ELSE '未审核'
END AS auditCompleteStatus,
CASE
WHEN COUNT(DISTINCT CASE WHEN t.flow_status = 'APPROVED' THEN t.inspect_phase END) = 3
THEN 1
ELSE 0
END AS auditCompleted
FROM hot_vehicle_three_inspect t
LEFT JOIN hot_vehicle v ON t.vehicle_id = v.id
<where>
t.is_deleted = 0
AND t.inspect_id IS NOT NULL
<if test="bo.companyId != null">
AND t.company_id = #{bo.companyId}
</if>
<if test="bo.vehicleId != null">
AND t.vehicle_id = #{bo.vehicleId}
</if>
<if test="bo.driverId != null and bo.driverId != ''">
AND t.driver_id = #{bo.driverId}
</if>
<if test="bo.driverName != null and bo.driverName != ''">
AND t.driver_name LIKE CONCAT('%', #{bo.driverName}, '%')
</if>
<if test="bo.inspectId != null">
AND t.inspect_id = #{bo.inspectId}
</if>
<if test="bo.params != null and bo.params.beginTime != null and bo.params.beginTime != '' and bo.params.endTime != null and bo.params.endTime != ''">
AND EXISTS (
SELECT 1
FROM hot_vehicle_three_inspect t2
WHERE t2.inspect_id = t.inspect_id
AND t2.is_deleted = 0
AND t2.inspect_time BETWEEN #{bo.params.beginTime} AND #{bo.params.endTime}
)
</if>
<if test="bo.params != null and bo.params.beginTime != null and bo.params.beginTime != '' and (bo.params.endTime == null or bo.params.endTime == '')">
AND EXISTS (
SELECT 1
FROM hot_vehicle_three_inspect t2
WHERE t2.inspect_id = t.inspect_id
AND t2.is_deleted = 0
AND t2.inspect_time <![CDATA[>=]]> #{bo.params.beginTime}
)
</if>
<if test="bo.params != null and (bo.params.beginTime == null or bo.params.beginTime == '') and bo.params.endTime != null and bo.params.endTime != ''">
AND EXISTS (
SELECT 1
FROM hot_vehicle_three_inspect t2
WHERE t2.inspect_id = t.inspect_id
AND t2.is_deleted = 0
AND t2.inspect_time <![CDATA[<=]]> #{bo.params.endTime}
)
</if>
</where>
GROUP BY t.inspect_id
ORDER BY IFNULL(MAX(t.inspect_time), MAX(t.create_time)) DESC, MAX(t.create_time) DESC
</select>
<select id="selectPrintList" <select id="selectPrintList"
resultType="com.hotwj.platform.config.vehicleThreeInspect.domain.vo.HotVehicleThreeInspectPrintVo"> resultType="com.hotwj.platform.config.vehicleThreeInspect.domain.vo.HotVehicleThreeInspectPrintVo">
WITH base AS ( WITH base AS (