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.
80 lines
3.4 KiB
80 lines
3.4 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.IcEventDao">
|
|
|
|
|
|
|
|
<resultMap id="icEventMap" type="com.epmet.dto.result.IcEventListResultDTO">
|
|
<id property="eventId" column="id"/>
|
|
<result property="gridId" column="grid_id"/>
|
|
<result property="sourceType" column="source_type" />
|
|
<result property="address" column="address" />
|
|
<result property="name" column="name" />
|
|
<result property="mobile" column="mobile" />
|
|
<result property="satisfaction" column="satisfaction" />
|
|
<result property="satisfactionName" column="satisfaction" />
|
|
<result property="createdTime" column="created_time" />
|
|
<result property="status" column="status" />
|
|
<result property="createdUserId" column="created_by" />
|
|
<collection property="attachmentList" ofType="com.epmet.dto.result.IcEventListResultDTO$Attachment">
|
|
<result column="icEventAttachmentId"/><!-- 附件表ID,如果附件url和type一样会被去重 加上id就可以了 -->
|
|
<result column="url" property="url"/>
|
|
<result column="type" property="type"/>
|
|
<result column="duration" property="duration"/>
|
|
</collection>
|
|
</resultMap>
|
|
|
|
<select id="icEventList" parameterType="map" resultMap="icEventMap">
|
|
SELECT
|
|
ie.id eventId,
|
|
ie.grid_id gridId,
|
|
ie.event_content eventContent,
|
|
ie.source_type sourceType,
|
|
ie.address address,
|
|
ie.`name` name,
|
|
ie.mobile mobile,
|
|
ie.satisfaction satisfaction,
|
|
IF(ie.satisfaction = 'bad','不满意',IF (ie.satisfaction = 'good','基本满意',IF (ie.satisfaction = 'perfect','非常满意',''))) satisfactionName,
|
|
ie.created_time createdTime,
|
|
ie.`status` status,
|
|
ie.created_by createdUserId,
|
|
rea.attachment_url as img_url,
|
|
rea.id AS iceventattachmentid,
|
|
rea.attachment_url AS url,
|
|
rea.attachment_type AS type,
|
|
rea.duration AS duration
|
|
FROM
|
|
ic_event ie
|
|
LEFT JOIN ic_event_attachment rea ON(ie.id = rea.ic_event_id AND rea.del_flag = '0')
|
|
WHERE
|
|
ie.del_flag = '0'
|
|
<if test="gridId != null and gridId != '' ">
|
|
AND ie.grid_id = #{gridId}
|
|
</if>
|
|
<if test="sourceType != null and sourceType != '' ">
|
|
AND ie.source_type = #{sourceType}
|
|
</if>
|
|
<if test="eventContent != null and eventContent != '' ">
|
|
AND ie.event_content LIKE CONCAT('%', #{eventContent}, '%')
|
|
</if>
|
|
<if test="name != null and name != '' ">
|
|
AND ie.`name` LIKE CONCAT('%', #{name}, '%')
|
|
</if>
|
|
<if test="mobile != null and mobile != '' ">
|
|
AND ie.mobile = #{mobile}
|
|
</if>
|
|
<if test="startTime != null and startTime != '' ">
|
|
AND DATE_FORMAT(ie.created_time,"%Y-%m-%d %H:%i") <![CDATA[>=]]> #{startTime}
|
|
</if>
|
|
<if test="endTime != null and endTime != '' ">
|
|
AND DATE_FORMAT(ie.created_time,"%Y-%m-%d %H:%i") <![CDATA[<=]]> #{endTime}
|
|
</if>
|
|
<if test="status != null and status != '' ">
|
|
AND ie.`status` = #{status}
|
|
</if>
|
|
order by ie.latest_operated_time desc, rea.sort asc
|
|
</select>
|
|
|
|
|
|
</mapper>
|