72 lines
2.9 KiB
XML
72 lines
2.9 KiB
XML
<?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 获取客户名称;进度状态/剩余天数由业务代码计算) -->
|
|
<resultMap id="EvalProjectProgressCOMap"
|
|
type="org.qinan.safetyeval.client.co.institution.EvalProjectProgressCO"
|
|
autoMapping="true">
|
|
<result property="projectNode" column="project_node"
|
|
typeHandler="org.qinan.safetyeval.infrastructure.handler.ProjectNodeListTypeHandler"/>
|
|
</resultMap>
|
|
|
|
<select id="selectProgressPage"
|
|
resultMap="EvalProjectProgressCOMap">
|
|
SELECT
|
|
p.id,
|
|
p.project_no,
|
|
p.project_name,
|
|
c.customer_name,
|
|
p.customer_contact_name,
|
|
p.project_leader_name,
|
|
p.plan_end_date,
|
|
p.project_node
|
|
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 < CURDATE()
|
|
</if>
|
|
<if test="query.progressStatus != null and query.progressStatus == 'NEAR'">
|
|
AND p.plan_end_date >= CURDATE()
|
|
AND p.plan_end_date <= DATE_ADD(CURDATE(), INTERVAL 3 DAY)
|
|
</if>
|
|
<if test="query.progressStatus != null and query.progressStatus == 'NORMAL'">
|
|
AND p.plan_end_date > DATE_ADD(CURDATE(), INTERVAL 3 DAY)
|
|
</if>
|
|
ORDER BY p.id DESC
|
|
</select>
|
|
|
|
<!-- 风险预警管理分页查询(暂只查项目编号、项目/客户、责任人) -->
|
|
<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>
|
|
|
|
</mapper>
|