|
|
|
<?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.topic.TopicDao">
|
|
|
|
|
|
|
|
<resultMap id="groupTopic" type="com.epmet.dto.topic.result.ResiGroupTopicResultDTO">
|
|
|
|
<id property="groupId" column="groupId" />
|
|
|
|
<result property="gridId" column="GRID_ID" />
|
|
|
|
<result property="customerId" column="CUSTOMER_ID" />
|
|
|
|
<result property="groupName" column="GROUP_NAME" />
|
|
|
|
<collection property="topics" ofType="com.epmet.dto.topic.result.ResiTopicResultDTO">
|
|
|
|
<id property="topicId" column="topicId" />
|
|
|
|
<id property="status" column="STATUS"/>
|
|
|
|
<id property="shiftIssue" column="SHIFT_ISSUE" />
|
|
|
|
<id property="incrFlag" column="incrFlag" />
|
|
|
|
</collection>
|
|
|
|
</resultMap>
|
|
|
|
|
|
|
|
<!-- 将组按照网格Id排序,并取出组Id、话题Id等相关信息,incrFlag代表是否是在当日创建 -->
|
|
|
|
<select id="selectGroupOrderByGrid" resultMap="groupTopic">
|
|
|
|
SELECT
|
|
|
|
groupp.ID AS groupId,
|
|
|
|
groupp.GRID_ID,
|
|
|
|
groupp.CUSTOMER_ID ,
|
|
|
|
groupp.GROUP_NAME,
|
|
|
|
|
|
|
|
topic.ID AS topicID,
|
|
|
|
topic.STATUS,
|
|
|
|
topic.SHIFT_ISSUE,
|
|
|
|
<choose>
|
|
|
|
<when test="null != targetDate">
|
|
|
|
(CASE WHEN
|
|
|
|
|
|
|
|
topic.CREATED_TIME <![CDATA[>=]]> #{targetDate} AND topic.CREATED_TIME <![CDATA[<]]> DATE_SUB( #{targetDate}, INTERVAL - 1 DAY)
|
|
|
|
THEN '1'
|
|
|
|
ELSE '0' END ) AS incrFlag
|
|
|
|
|
|
|
|
</when>
|
|
|
|
<otherwise>
|
|
|
|
(CASE WHEN
|
|
|
|
topic.CREATED_TIME <![CDATA[<]]> CURDATE( ) AND topic.CREATED_TIME <![CDATA[>=]]> DATE_SUB( CURDATE( ), INTERVAL 1 DAY )
|
|
|
|
THEN '1'
|
|
|
|
ELSE '0' END ) AS incrFlag
|
|
|
|
</otherwise>
|
|
|
|
</choose>
|
|
|
|
|
|
|
|
FROM RESI_GROUP groupp LEFT JOIN RESI_TOPIC topic ON groupp.ID = topic.GROUP_ID AND topic.DEL_FLAG = '0'
|
|
|
|
WHERE groupp.DEL_FLAG = '0'
|
|
|
|
<if test='null != customerId and "" != customerId'>
|
|
|
|
AND groupp.CUSTOMER_ID = #{customerId}
|
|
|
|
</if>
|
|
|
|
ORDER BY groupp.GRID_ID
|
|
|
|
</select>
|
|
|
|
|
|
|
|
<!-- 查询话题的操作记录,如果返回结果中没有对应Id的话题说明当日话题没有操作记录 -->
|
|
|
|
<select id="selectTopicOperationRecord" resultType="com.epmet.dto.topic.result.ResiTopicOperationResultDTO">
|
|
|
|
SELECT
|
|
|
|
TOPIC_ID ,
|
|
|
|
OPERATION_TYPE AS status,
|
|
|
|
date_format(CREATED_TIME,'%Y-%m-%d') AS createdTime
|
|
|
|
FROM RESI_TOPIC_OPERATION operation
|
|
|
|
WHERE operation.DEL_FLAG = '0'
|
|
|
|
<choose>
|
|
|
|
<when test="null != targetDate">
|
|
|
|
AND CREATED_TIME <![CDATA[>=]]> #{targetDate} AND CREATED_TIME <![CDATA[<]]> DATE_SUB( #{targetDate}, INTERVAL - 1 DAY)
|
|
|
|
</when>
|
|
|
|
<otherwise>
|
|
|
|
AND CREATED_TIME <![CDATA[<]]> CURDATE( ) AND CREATED_TIME <![CDATA[>=]]> DATE_SUB( CURDATE( ), INTERVAL 1 DAY )
|
|
|
|
</otherwise>
|
|
|
|
</choose>
|
|
|
|
|
|
|
|
order by TOPIC_ID
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- 将组按照网格Id排序,并取出组Id、话题Id等相关信息,incrFlag代表是否是在当日创建 -->
|
|
|
|
<select id="selectGroupOrderByGridBetweenTimeRange" resultMap="groupTopic">
|
|
|
|
SELECT
|
|
|
|
groupp.ID AS groupId,
|
|
|
|
groupp.GRID_ID,
|
|
|
|
groupp.CUSTOMER_ID ,
|
|
|
|
groupp.GROUP_NAME,
|
|
|
|
|
|
|
|
topic.ID AS topicID,
|
|
|
|
topic.STATUS,
|
|
|
|
topic.SHIFT_ISSUE,
|
|
|
|
|
|
|
|
(CASE WHEN
|
|
|
|
topic.CREATED_TIME <![CDATA[>=]]> #{startDate} AND topic.CREATED_TIME <![CDATA[<]]> DATE_SUB( #{endDate}, INTERVAL - 1 DAY)
|
|
|
|
THEN '1'
|
|
|
|
ELSE '0' END ) AS incrFlag
|
|
|
|
|
|
|
|
FROM RESI_GROUP groupp LEFT JOIN RESI_TOPIC topic ON groupp.ID = topic.GROUP_ID AND topic.DEL_FLAG = '0'
|
|
|
|
WHERE groupp.DEL_FLAG = '0'
|
|
|
|
<if test='null != customerId and "" != customerId'>
|
|
|
|
AND groupp.CUSTOMER_ID = #{customerId}
|
|
|
|
</if>
|
|
|
|
ORDER BY groupp.GRID_ID
|
|
|
|
</select>
|
|
|
|
|
|
|
|
<!-- 查询话题的操作记录,如果返回结果中没有对应Id的话题说明当日话题没有操作记录 -->
|
|
|
|
<select id="selectTopicOperationRecordBetweenTimeRange" resultType="com.epmet.dto.topic.result.ResiTopicOperationResultDTO">
|
|
|
|
SELECT
|
|
|
|
TOPIC_ID ,
|
|
|
|
OPERATION_TYPE AS status,
|
|
|
|
date_format(CREATED_TIME,'%Y-%m-%d') AS createdTime
|
|
|
|
FROM RESI_TOPIC_OPERATION operation
|
|
|
|
WHERE operation.DEL_FLAG = '0'
|
|
|
|
AND
|
|
|
|
CREATED_TIME <![CDATA[>=]]> #{startDate} AND CREATED_TIME <![CDATA[<]]> DATE_SUB( #{endDate}, INTERVAL - 1 DAY)
|
|
|
|
|
|
|
|
order by TOPIC_ID
|
|
|
|
</select>
|
|
|
|
|
|
|
|
</mapper>
|