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.
90 lines
4.1 KiB
90 lines
4.1 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.PatrolRoutineWorkDao">
|
|
|
|
<resultMap type="com.epmet.entity.PatrolRoutineWorkEntity" id="patrolRoutineWorkMap">
|
|
<result property="id" column="ID"/>
|
|
<result property="customerId" column="CUSTOMER_ID"/>
|
|
<result property="gridId" column="GRID_ID"/>
|
|
<result property="pids" column="PIDS"/>
|
|
<result property="userId" column="USER_ID"/>
|
|
<result property="title" column="TITLE"/>
|
|
<result property="happenTime" column="HAPPEN_TIME"/>
|
|
<result property="isNormal" column="IS_NORMAL"/>
|
|
<result property="workContent" column="WORK_CONTENT"/>
|
|
<result property="longitude" column="LONGITUDE"/>
|
|
<result property="latitude" column="LATITUDE"/>
|
|
<result property="delFlag" column="DEL_FLAG"/>
|
|
<result property="revision" column="REVISION"/>
|
|
<result property="createdBy" column="CREATED_BY"/>
|
|
<result property="createdTime" column="CREATED_TIME"/>
|
|
<result property="updatedBy" column="UPDATED_BY"/>
|
|
<result property="updatedTime" column="UPDATED_TIME"/>
|
|
</resultMap>
|
|
<!--支持多级分类哈-->
|
|
<select id="selectList" resultType="com.epmet.dto.result.PatrolRoutineWorkResult">
|
|
SELECT
|
|
m.*,
|
|
prwt.WORK_TYPE_CODE AS workTypeSecondCode,
|
|
substring_index(prwt.ALL_P_CODE,':',1) AS workTypeFirstCode
|
|
FROM epmet_user.patrol_routine_work m
|
|
LEFT JOIN patrol_routine_work_type prwt ON m.ID = prwt.ROUTINE_WORK_ID
|
|
WHERE
|
|
m.CUSTOMER_ID = #{customerId}
|
|
<if test="id != null and id != ''">
|
|
AND m.ID = #{id}
|
|
</if>
|
|
AND m.DEL_FLAG = '0'
|
|
</select>
|
|
|
|
<resultMap id="pcWorkListMap" type="com.epmet.dto.result.PcWorkListResultDTO$PcWorkListResult">
|
|
<result property="title" column="title"/>
|
|
<result property="isNormal" column="isNormal"/>
|
|
<result property="happenAddress" column="happenAddress"/>
|
|
<result property="happenTime" column="happenTime"/>
|
|
<result property="staffId" column="staffId"/>
|
|
<result property="gridId" column="gridId"/>
|
|
<result property="createdTime" column="createdTime"/>
|
|
<result property="workContent" column="workContent"/>
|
|
<result property="staffName" column="staffName"/>
|
|
<collection property="workTypeCode" ofType="java.lang.String" select="pcWorkTypeCodeList" column="wid">
|
|
<result column="workTypeCode"/>
|
|
</collection>
|
|
</resultMap>
|
|
<select id="pcWorkList" resultMap="pcWorkListMap">
|
|
SELECT
|
|
w.ID AS wid,
|
|
w.TITLE as title,
|
|
(CASE WHEN w.IS_NORMAL = 1 THEN '有' ELSE '无' END) AS isNormal,
|
|
w.ADDRESS AS happenAddress,
|
|
w.HAPPEN_TIME AS happenTime,
|
|
w.USER_ID AS staffId,
|
|
w.GRID_ID AS gridId,
|
|
DATE_FORMAT(w.CREATED_TIME,'%Y-%m-%d %H:%i:%s') AS createdTime,
|
|
w.WORK_CONTENT AS workContent,
|
|
s.REAL_NAME AS staffName
|
|
FROM patrol_routine_work w
|
|
INNER JOIN customer_staff s ON (s.USER_ID = w.USER_ID AND s.DEL_FLAG = 0)
|
|
WHERE w.DEL_FLAG = 0
|
|
<if test="staffId != null and staffId != '' ">
|
|
AND w.USER_ID = #{staffId}
|
|
</if>
|
|
<if test='orgType == "grid" '>
|
|
AND w.GRID_ID = #{orgId}
|
|
</if>
|
|
<if test='orgType == "agency" '>
|
|
AND w.PIDS LIKE CONCAT('%',#{orgId},'%')
|
|
</if>
|
|
AND DATE_FORMAT(w.CREATED_TIME,'%Y%m%d') <![CDATA[ <= ]]> #{endTime}
|
|
<if test="startTime != '' and startTime != null">
|
|
AND DATE_FORMAT(w.CREATED_TIME,'%Y%m%d') >= #{startTime}
|
|
</if>
|
|
ORDER BY w.CREATED_TIME DESC
|
|
</select>
|
|
<select id="pcWorkTypeCodeList" resultType="java.lang.String">
|
|
SELECT WORK_TYPE_CODE AS workTypeCode FROM patrol_routine_work_type WHERE DEL_FLAG = 0 AND ROUTINE_WORK_ID = #{wid}
|
|
</select>
|
|
|
|
|
|
</mapper>
|
|
|