<?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.sunmnet.prison.supervised.dao.patrol.ChangePatrolGroupRecordMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.sunmnet.prison.supervised.entity.model.vo.patrol.PatrolGroupChangeRecordVo">
<id column="id" property="id" />
<result column="patrol_group_name" property="patrolGroupName" />
<result column="patrol_shift_id" property="patrolShiftId" />
<result column="policeman" property="policeman" />
<result column="change_time" property="changeTime" />
<result column="operator" property="operator"/>
<result column="operator_time" property="operatorTime"/>
<collection property="patrolGroupPersonnelList" select="getPersonnels" column="id"/>
<collection property="PatrolUpdataRecordList" select="getPersonnelsUpdataRecord" column="id"/>
</resultMap>
<resultMap id="personnelMap" type="com.sunmnet.prison.supervised.entity.model.po.patrol.PatrolGroupPersonnel">
<id column="tpg_id" property="tpgId" />
<result column="criminal_code" property="criminalCode" />
<result column="criminal_name" property="criminalName" />
</resultMap>
<resultMap id="PersonnelsUpdataRecord" type="com.sunmnet.prison.supervised.entity.model.po.patrol.PatrolUpdataRecord">
<id column="pgp_id" property="pgpId" />
<result column="criminal_code_after" property="criminalCodeAfter" />
<result column="criminal_name_after" property="criminalNameAfter" />
</resultMap>
<select id="getPersonnels" resultMap="personnelMap">
SELECT
criminal_code,
criminal_name
FROM
t_criminal_patrol_group_personnel WHERE tpg_id = #{id}
<!-- WHERE
<if test="list != null and list.size()>0''">
<foreach collection="list" index="index" item="patrolGroupPersonnelList" open="(" separator="," close=")">
#{patrolGroupPersonnelList.id}
</foreach>
</if>-->
</select>
<select id="getPersonnelsUpdataRecord" resultMap="PersonnelsUpdataRecord">
SELECT
criminal_code_after,
criminal_name_after
FROM
t_criminal_patrol_update_record WHERE pgp_id = #{id}
ORDER BY change_time desc
</select>
<!--巡更组变动记录查询-->
<select id="queryChangeRecord" resultMap="BaseResultMap">
SELECT
t1.id,
t1.patrol_group_name,
t1.policeman,
t1.criminal_group,
t1.change_time,
t3.creat_time,
t3.patrol_site,
t3.patrol_start_day,
t3.patrol_end_day,
t3.patrol_start_time,
t3.patrol_end_time
FROM t_criminal_patrol_group t1
LEFT JOIN t_criminal_patrol_info t3 ON t1.patrol_shift_id = t3.id
<where>
<if test="patrolGroupName != null and patrolGroupName != ''">
t1.patrol_group_name like CONCAT('%',#{patrolGroupName},'%')
</if>
<if test="criminalGroup != null and criminalGroup != ''">
AND criminal_group like CONCAT('%',#{criminalGroup},'%')
</if>
<if test="patrolSite != null and patrolSite != ''">
AND t3.patrol_site like CONCAT('%',#{patrolSite},'%')
</if>
<if test="patrolStartDay != null">
AND t3.patrol_start_day >= #{patrolStartDay}
</if>
<if test="patrolEndDay != null">
AND t3.patrol_end_day <= #{patrolEndDay}
</if>
</where>
ORDER BY t1.change_time desc
</select>
</mapper>```