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.
		
		
		
		
		
			
		
			
				
					
					
						
							352 lines
						
					
					
						
							12 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							352 lines
						
					
					
						
							12 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.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} | |
|         <if test="gridList != null and gridList.size() > 0"> | |
|         <foreach collection="gridList" item="gridId" index="index"> | |
|             AND GRID_ID != #{gridId} | |
|         </foreach> | |
|         </if> | |
|         GROUP BY | |
|             ORG_ID, ISSUE_STATUS | |
|     </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} | |
|         <if test="gridList != null and gridList.size() > 0"> | |
|         <foreach collection="gridList" item="gridId" index="index"> | |
|             AND i.GRID_ID != #{gridId} | |
|         </foreach> | |
|         </if> | |
|                 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} | |
|         <if test="gridList != null and gridList.size() > 0"> | |
|         <foreach collection="gridList" item="gridId" index="index"> | |
|             AND GRID_ID != #{gridId} | |
|         </foreach> | |
|         </if> | |
|         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} | |
|         <if test="gridList != null and gridList.size() > 0"> | |
|         <foreach collection="gridList" item="gridId" index="index"> | |
|             AND GRID_ID != #{gridId} | |
|         </foreach> | |
|         </if> | |
|         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  AND ipr.DEL_FLAG = '0') | |
|         WHERE | |
|               i.DEL_FLAG = '0' | |
|             AND i.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> | |
|     <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, | |
|             RESOLVE_TYPE as resolveType, | |
|             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> | |
| 
 | |
|     <!-- 查询议题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, | |
|             ip.created_time as createTime, | |
|             (case when i.RESOLVE_TYPE = 'resolved' then 'closed_resolved' | |
|               when i.RESOLVE_TYPE = 'unresolved' then 'closed_unresolved' | |
|               else ip.ISSUE_STATUS end ) AS actionCode | |
|         FROM | |
|             issue_process ip | |
|             LEFT JOIN issue i ON i.id = ip.issue_id | |
|         WHERE | |
|             i.DEL_FLAG = '0' | |
|             AND ip.DEL_FLAG = '0' | |
|             AND i.CUSTOMER_ID = #{customerId} | |
|             AND DATE_FORMAT(ip.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} | |
|     </select> | |
| 
 | |
| 
 | |
|     <select id="selectCategory" resultType="com.epmet.dto.issue.IssueProjectCategoryDictDTO"> | |
|         SELECT | |
|         a.ID, | |
|         IF(a.CATEGORY_TYPE = '2',concat(b.CATEGORY_NAME,'-',a.CATEGORY_NAME),a.CATEGORY_NAME) as categoryName, | |
|         a.category_code as categoryCode | |
|         FROM issue_project_category_dict a | |
|         LEFT JOIN issue_project_category_dict b on a.pid = b.id and a.customer_id = b.customer_id | |
|         WHERE a.DEL_FLAG = '0' | |
|         AND a.CUSTOMER_ID = #{customerId} | |
|         <foreach collection="ids" item="id" open="AND (" separator=" OR " close=")"> | |
|             a.id = #{id} | |
|         </foreach> | |
|         order by a.category_type,a.sort | |
|     </select> | |
|     <select id="getIssueTotalList" resultType="com.epmet.dto.issue.IssueDTO"> | |
|         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 | |
|     </select> | |
| 
 | |
|     <select id="selectProjectByGrids" resultType="java.lang.String"> | |
|         SELECT DISTINCT | |
|         ipr.project_id | |
|         FROM | |
|         issue_project_relation ipr | |
|         INNER JOIN issue i ON ipr.issue_id = i.id | |
|         WHERE 1=1 | |
|         <foreach collection="gridIds" item="id" open="AND (" separator=" OR " close=")"> | |
|             i.grid_id = #{id} | |
|         </foreach> | |
|     </select> | |
| 
 | |
| </mapper> |