safety-eval-service/safety-eval-infrastructure/src/main/resources/mapper/EvalProjectMapper.xml

64 lines
2.5 KiB
XML
Raw Normal View History

2026-07-21 19:02:09 +08:00
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.qinan.safetyeval.infrastructure.mapper.EvalProjectMapper">
<!-- 项目进度管理分页查询(关联 eval_customer 获取客户名称;进度状态/剩余天数由业务代码计算) -->
<select id="selectProgressPage"
resultType="org.qinan.safetyeval.client.co.institution.EvalProjectProgressCO">
SELECT
p.id,
p.project_no,
p.project_name,
c.customer_name,
p.customer_contact_name,
p.project_leader_name,
p.plan_end_date
FROM eval_project p
LEFT JOIN eval_customer c
ON c.id = p.customer_id
AND c.delete_enum = 'false'
WHERE p.delete_enum = 'false'
<if test="query.orgId != null">
AND p.org_id = #{query.orgId}
</if>
<if test="query.projectName != null and query.projectName != ''">
AND p.project_name LIKE CONCAT('%', #{query.projectName}, '%')
</if>
<if test="query.customerName != null and query.customerName != ''">
AND c.customer_name LIKE CONCAT('%', #{query.customerName}, '%')
</if>
<if test="query.progressStatus != null and query.progressStatus == 'DELAY'">
AND p.plan_end_date &lt; CURDATE()
</if>
<if test="query.progressStatus != null and query.progressStatus == 'NEAR'">
AND p.plan_end_date &gt;= CURDATE()
AND p.plan_end_date &lt;= DATE_ADD(CURDATE(), INTERVAL 3 DAY)
</if>
<if test="query.progressStatus != null and query.progressStatus == 'NORMAL'">
AND p.plan_end_date &gt; DATE_ADD(CURDATE(), INTERVAL 3 DAY)
</if>
ORDER BY p.id DESC
</select>
2026-07-22 09:27:59 +08:00
<!-- 风险预警管理分页查询(暂只查项目编号、项目/客户、责任人) -->
<select id="selectRiskWarningPage"
resultType="org.qinan.safetyeval.client.co.institution.RiskWarningCO">
SELECT
p.id,
p.project_no,
p.project_name,
c.customer_name,
p.project_leader_name AS responsible_person
FROM eval_project p
LEFT JOIN eval_customer c
ON c.id = p.customer_id
AND c.delete_enum = 'false'
WHERE p.delete_enum = 'false'
<if test="query.orgId != null">
AND p.org_id = #{query.orgId}
</if>
ORDER BY p.id DESC
</select>
2026-07-21 19:02:09 +08:00
</mapper>