You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
150 lines
4.8 KiB
150 lines
4.8 KiB
<?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="com.epmet.dao.project.ProjectDao">
|
|
|
|
<select id="selectProjectList" resultType="com.epmet.entity.project.ProjectEntity">
|
|
SELECT
|
|
*
|
|
FROM
|
|
project
|
|
WHERE
|
|
del_flag = '0'
|
|
AND customer_id = #{customerId}
|
|
AND status = #{status}
|
|
<![CDATA[AND DATE_FORMAT(created_time, "%Y-%m-%d") <= DATE_FORMAT(#{createdTime}, "%Y-%m-%d")]]>
|
|
ORDER BY created_time DESC
|
|
</select>
|
|
<select id="selectAgencyClosedProjectTotal" resultType="com.epmet.dto.project.ProjectAgencyDTO">
|
|
SELECT
|
|
AGENCY_ID AS "agencyId",
|
|
ORG_ID_PATH AS "pIds",
|
|
CLOSED_STATUS AS "status",
|
|
COUNT(ID) AS "count"
|
|
FROM project
|
|
WHERE
|
|
DEL_FLAG = '0'
|
|
AND ORIGIN = 'issue'
|
|
AND STATUS = 'closed'
|
|
AND CUSTOMER_ID = #{customerId}
|
|
AND DATE_FORMAT(UPDATED_TIME, '%Y-%m-%d') <![CDATA[ <= ]]> #{date}
|
|
GROUP BY
|
|
AGENCY_ID, CLOSED_STATUS
|
|
</select>
|
|
|
|
<select id="selectAgencyClosedProjectInc" resultType="com.epmet.dto.project.ProjectAgencyDTO">
|
|
SELECT
|
|
AGENCY_ID AS "agencyId",
|
|
ORG_ID_PATH AS "pIds",
|
|
CLOSED_STATUS AS "status",
|
|
COUNT(ID) AS "count"
|
|
FROM project
|
|
WHERE
|
|
DEL_FLAG = '0'
|
|
AND ORIGIN = 'issue'
|
|
AND STATUS = 'closed'
|
|
AND CUSTOMER_ID = #{customerId}
|
|
AND DATE_FORMAT(UPDATED_TIME, '%Y-%m-%d') = #{date}
|
|
GROUP BY
|
|
AGENCY_ID, CLOSED_STATUS
|
|
</select>
|
|
<select id="selectGridClosedProjectTotal" resultType="com.epmet.dto.project.ProjectGridDTO">
|
|
SELECT
|
|
ID AS "projectId",
|
|
AGENCY_ID AS "agencyId",
|
|
ORIGIN_ID AS "issueId",
|
|
CLOSED_STATUS AS "status"
|
|
FROM project
|
|
WHERE
|
|
DEL_FLAG = '0'
|
|
AND ORIGIN = 'issue'
|
|
AND STATUS = 'closed'
|
|
AND CUSTOMER_ID = #{customerId}
|
|
AND DATE_FORMAT(UPDATED_TIME, '%Y-%m-%d') <![CDATA[ <= ]]> #{date}
|
|
</select>
|
|
<select id="selectGridClosedProjectInc" resultType="com.epmet.dto.project.ProjectGridDTO">
|
|
SELECT
|
|
ID AS "projectId",
|
|
AGENCY_ID AS "agencyId",
|
|
ORIGIN_ID AS "issueId",
|
|
CLOSED_STATUS AS "status"
|
|
FROM project
|
|
WHERE
|
|
DEL_FLAG = '0'
|
|
AND ORIGIN = 'issue'
|
|
AND STATUS = 'closed'
|
|
AND CUSTOMER_ID = #{customerId}
|
|
AND DATE_FORMAT(UPDATED_TIME, '%Y-%m-%d') = #{date}
|
|
</select>
|
|
<select id="selectProjectInfo" resultType="com.epmet.dto.ProjectDTO">
|
|
SELECT
|
|
ID,
|
|
CUSTOMER_ID,
|
|
AGENCY_ID,
|
|
ORIGIN_ID,
|
|
STATUS,
|
|
CLOSED_STATUS,
|
|
ORG_ID_PATH,
|
|
CREATED_TIME,
|
|
UPDATED_TIME
|
|
FROM project
|
|
WHERE
|
|
DEL_FLAG = '0'
|
|
AND ORIGIN = 'issue'
|
|
AND CUSTOMER_ID = #{customerId}
|
|
<if test="date != null and date.trim() != ''">
|
|
AND DATE_FORMAT(CREATED_TIME, '%Y%m%d') = #{date}
|
|
</if>
|
|
</select>
|
|
<select id="selectParameterValueByKey" resultType="java.lang.String">
|
|
select
|
|
PARAMETER_VALUE
|
|
from
|
|
customer_project_parameter
|
|
where DEL_FLAG = '0'
|
|
and CUSTOMER_ID = #{customerId}
|
|
and PARAMETER_KEY ='detention_days'
|
|
</select>
|
|
|
|
|
|
<select id="selectOvertimeProjectIds" resultType="string">
|
|
SELECT
|
|
DISTINCT
|
|
project.ID
|
|
FROM
|
|
project project
|
|
WHERE
|
|
project.del_flag = '0'
|
|
AND project.customer_id = #{customerId}
|
|
<if test="null != exclude and exclude.size() > 0">
|
|
<foreach collection="exclude" item="id" open="AND ( " separator=" OR " close=" ) ">
|
|
project.ID <![CDATA[ <> ]]> #{id}
|
|
</foreach>
|
|
</if>
|
|
AND EXISTS (
|
|
SELECT
|
|
stff.ID
|
|
FROM
|
|
project_staff stff
|
|
LEFT JOIN project_org_relation period ON stff.ID = period.PROJECT_STAFF_ID
|
|
AND period.DEL_FLAG = '0'
|
|
WHERE
|
|
stff.DEL_FLAG = '0'
|
|
AND stff.CUSTOMER_ID = #{customerId}
|
|
AND project.ID = stff.PROJECT_ID
|
|
AND ABS(
|
|
TIMESTAMPDIFF(
|
|
DAY,
|
|
period.INFORMED_DATE,
|
|
IF
|
|
(
|
|
period.HANDLED_DATE IS NULL,
|
|
IF
|
|
( project.`STATUS` = 'closed', project.UPDATED_TIME, NOW( ) ),
|
|
period.HANDLED_DATE
|
|
)
|
|
)
|
|
) > #{value}
|
|
)
|
|
</select>
|
|
</mapper>
|