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.

289 lines
9.7 KiB

5 years ago
<?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.issue.StatsIssueDao">
<select id="selectAgencyIssueTotal" resultType="com.epmet.dto.issue.IssueAgencyDTO">
SELECT ORG_ID AS "agencyId",
ORG_ID_PATH AS "pIds",
ISSUE_STATUS AS "status",
COUNT(ID) AS "count"
FROM
issue
WHERE
DEL_FLAG = '0'
AND CUSTOMER_ID = #{customerId}
AND DATE(UPDATED_TIME) <![CDATA[ <= ]]> #{date}
GROUP BY
ORG_ID, ISSUE_STATUS
5 years ago
</select>
<select id="selectAgencyIssueInc" resultType="com.epmet.dto.issue.IssueAgencyDTO">
SELECT
*
FROM
(
SELECT
i.ORG_ID AS "agencyId",
i.ORG_ID_PATH AS "pIds",
ip.ISSUE_STATUS AS "status",
COUNT( ip.ID ) AS "count"
FROM
issue i
INNER JOIN issue_process ip ON i.ID = ip.ISSUE_ID
AND ip.DEL_FLAG = '0'
WHERE
i.DEL_FLAG = '0'
AND i.CUSTOMER_ID = #{customerId}
AND DATE(ip.CREATED_TIME) = #{date}
GROUP BY
i.ORG_ID,
ip.ISSUE_STATUS
) a
ORDER BY
agencyId
</select>
<select id="selectAgencyClosedIssueTotal" resultType="com.epmet.dto.issue.IssueAgencyDTO">
SELECT
ORG_ID AS "agencyId",
ORG_ID_PATH AS "pIds",
RESOLVE_TYPE AS "status",
COUNT( ID ) AS "count"
FROM
issue
WHERE
DEL_FLAG = '0'
AND ISSUE_STATUS = 'closed'
AND CUSTOMER_ID = #{customerId}
AND DATE(UPDATED_TIME) <![CDATA[ <= ]]> #{date}
GROUP BY
ORG_ID,
RESOLVE_TYPE
</select>
<select id="selectAgencyClosedIssueInc" resultType="com.epmet.dto.issue.IssueAgencyDTO">
SELECT
ORG_ID AS "agencyId",
ORG_ID_PATH AS "pIds",
RESOLVE_TYPE AS "status",
COUNT( ID ) AS "count"
FROM
issue
WHERE
DEL_FLAG = '0'
AND ISSUE_STATUS = 'closed'
AND CUSTOMER_ID = #{customerId}
AND DATE(UPDATED_TIME) = #{date}
GROUP BY
ORG_ID,
RESOLVE_TYPE
</select>
<select id="selectGridIssueTotal" resultType="com.epmet.dto.issue.IssueGridDTO">
SELECT ORG_ID AS "agencyId",
GRID_ID AS "gridId",
ISSUE_STATUS AS "status",
COUNT(ID) AS "count"
FROM
issue
WHERE
DEL_FLAG = '0'
AND CUSTOMER_ID = #{customerId}
AND DATE(CREATED_TIME) <![CDATA[ <= ]]> #{date}
GROUP BY
ORG_ID, GRID_ID, ISSUE_STATUS
</select>
<select id="selectGridIssueInc" resultType="com.epmet.dto.issue.IssueGridDTO">
SELECT
*
FROM
(
SELECT
i.ORG_ID AS "agencyId",
i.GRID_ID AS "gridId",
ip.ISSUE_STATUS AS "status",
COUNT( ip.ID ) AS "count"
FROM
issue i
INNER JOIN issue_process ip ON i.ID = ip.ISSUE_ID
AND ip.DEL_FLAG = '0'
WHERE
i.DEL_FLAG = '0'
AND i.CUSTOMER_ID = #{customerId}
AND DATE(ip.CREATED_TIME) = #{date}
GROUP BY
i.ORG_ID,
i.GRID_ID,
ip.ISSUE_STATUS
) a
ORDER BY
agencyId
</select>
<select id="selectGridClosedIssueTotal" resultType="com.epmet.dto.issue.IssueGridDTO">
SELECT
ORG_ID AS "agencyId",
GRID_ID AS "gridId",
RESOLVE_TYPE AS "status",
COUNT( ID ) AS "count"
FROM
issue
WHERE
DEL_FLAG = '0'
AND ISSUE_STATUS = 'closed'
AND CUSTOMER_ID = #{customerId}
AND DATE(UPDATED_TIME) <![CDATA[ <= ]]> #{date}
GROUP BY
ORG_ID,
GRID_ID,
RESOLVE_TYPE
</select>
<select id="selectGridClosedIssueInc" resultType="com.epmet.dto.issue.IssueGridDTO">
SELECT
ORG_ID AS "agencyId",
GRID_ID AS "gridId",
RESOLVE_TYPE AS "status",
COUNT( ID ) AS "count"
FROM
issue
WHERE
DEL_FLAG = '0'
AND ISSUE_STATUS = 'closed'
AND CUSTOMER_ID = #{customerId}
AND DATE(UPDATED_TIME) = #{date}
GROUP BY
ORG_ID,
GRID_ID,
RESOLVE_TYPE
</select>
<select id="selectIssueProjectList" resultType="com.epmet.dto.issue.IssueProjectDTO">
SELECT
i.ID AS "issueId",
ipr.PROJECT_ID AS "projectId",
i.GRID_ID AS "gridId"
FROM
issue i
INNER JOIN issue_project_relation ipr ON i.ID = ipr.ISSUE_ID
WHERE
i.DEL_FLAG = '0'
AND ipr.DEL_FLAG = '0'
AND CUSTOMER_ID = #{customerId}
</select>
<select id="selectGridProjectList" resultType="com.epmet.entity.issue.IssueEntity">
SELECT
i.id AS "id",
i.grid_id AS "gridId",
i.org_id AS "orgId",
ipr.project_id AS "projectId"
FROM
issue i
INNER JOIN issue_project_relation ipr ON i.id = ipr.issue_id
WHERE
i.del_flag = '0'
AND ipr.del_flag = '0'
AND i.customer_id = #{customerId}
<![CDATA[AND DATE_FORMAT(ipr.created_time, "%Y-%m-%d") <= DATE_FORMAT(#{createdTime}, "%Y-%m-%d")]]>
</select>
5 years ago
<select id="selectIssueInfoByIds" resultType="com.epmet.dto.issue.IssueDTO" parameterType="java.util.List">
SELECT
ID,
ISSUE_STATUS,
SOURCE_TYPE,
SOURCE_ID,
CLOSE_REASON,
RESOLVE_TYPE,
ISSUE_TITLE,
CUSTOMER_ID,
GRID_ID,
ORG_ID_PATH,
ORG_ID,
CREATED_BY
FROM
issue
WHERE
DEL_FLAG = '0'
AND SOURCE_TYPE = 'resi_topic'
<foreach collection="ids" item="item" open="AND( " separator=" OR " index="index" close=")">
ID = #{item}
</foreach>
</select>
<!-- 查询议题信息【根据客户,dateId 】 -->
<select id="selectIssueInfo" resultType="com.epmet.dto.extract.result.IssueInfoResultDTO">
SELECT
ID AS issueId,
ISSUE_STATUS,
SOURCE_ID AS topicId,
CUSTOMER_ID,
GRID_ID,
ORG_ID AS agencyId,
CREATED_BY AS userId
FROM issue
WHERE
DEL_FLAG = '0'
AND customer_id = #{customerId}
AND DATE_FORMAT( CREATED_TIME, '%Y%m%d' ) = #{dateId}
</select>
5 years ago
<!-- 查询议题process信息 -->
<select id="selectIssueProcessInfo" resultType="com.epmet.dto.extract.result.IssueProcessInfoResultDTO">
SELECT
i.GRID_ID AS gridId,
i.ORG_ID AS agencyId,
i.CUSTOMER_ID AS customerId,
ip.ISSUE_ID AS issueId,
ip.CREATED_BY AS userId,
5 years ago
(case when i.RESOLVE_TYPE = 'resolved' then 'closed_resolved'
when i.RESOLVE_TYPE = 'unresolved' then 'closed_unresolved'
else i.ISSUE_STATUS end ) AS actionCode
5 years ago
FROM
issue_process ip
5 years ago
LEFT JOIN issue i ON i.id = ip.issue_id
5 years ago
WHERE
i.DEL_FLAG = '0'
5 years ago
AND ip.DEL_FLAG = '0'
AND i.CUSTOMER_ID = #{customerId}
AND DATE_FORMAT(i.CREATED_TIME,'%Y%m%d') = #{dateId}
</select>
<!-- 查询议题满意度评价信息 -->
<select id="selectIssueSatisfactionInfo" resultType="com.epmet.dto.extract.result.SatisfactionInfoResultDTO">
SELECT
isd.ISSUE_ID AS issueId,
( CASE WHEN isd.SATISFACTION = 'bad' THEN 'evaluste_bad'
WHEN isd.SATISFACTION = 'good' THEN 'evaluste_good'
WHEN isd.SATISFACTION = 'perfect' THEN 'evaluste_perfect'
ELSE '' END ) AS actionCode,
isd.CREATED_BY AS userId,
i.GRID_ID AS gridId,
i.ORG_ID AS agencyId,
i.CUSTOMER_ID AS customerId
FROM
issue_satisfaction_detail isd
LEFT JOIN issue i ON i.id = isd.issue_id
WHERE
isd.del_flag = '0'
AND i.del_flag = '0'
AND i.CUSTOMER_ID = #{customerId}
AND DATE_FORMAT(isd.CREATED_TIME,'%Y%m%d') = #{dateId}
</select>
<!-- 查询议题支持反对信息 -->
<select id="selectIssueVoteInfo" resultType="com.epmet.dto.extract.result.SatisfactionInfoResultDTO">
SELECT
ivd.ISSUE_ID AS issueId,
( CASE WHEN ivd.ATTITUDE = 'support' THEN 'vote_support'
WHEN ivd.ATTITUDE = 'opposition' THEN 'vote_opposition'
ELSE '' END ) AS actionCode,
ivd.CREATED_BY AS userId,
i.GRID_ID AS gridId,
i.ORG_ID AS agencyId,
i.CUSTOMER_ID AS customerId
FROM
issue_vote_detail ivd
LEFT JOIN issue i ON i.id = ivd.issue_id
WHERE
ivd.del_flag = '0'
AND i.del_flag = '0'
AND i.CUSTOMER_ID = #{customerId}
AND DATE_FORMAT(ivd.CREATED_TIME,'%Y%m%d') = #{dateId}
5 years ago
</select>
5 years ago
</mapper>