| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- <?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.repair.mapper.RepairUserMapper">
- <resultMap type="com.repair.model.vo.RepairUserVo" id="repairUserPageMap">
- <result property="id" column="id"/>
- <result property="cardNumber" column="card_number"/>
- <result property="userName" column="user_name"/>
- <result property="userPhone" column="user_phone"/>
- <result property="teamId" column="team_id"/>
- <result property="teamName" column="team_name"/>
- <result property="schoolId" column="school_id"/>
- <result property="schoolName" column="school_name"/>
- <result property="userZzid" column="user_zzid"/>
- <result property="userZzname" column="user_zzname"/>
- <result property="buildId" column="build_id"/>
- <result property="buildName" column="build_name"/>
- <result property="articleId" column="article_id"/>
- <result property="articleName" column="article_name"/>
- <result property="workType" column="work_type"/>
- <result property="workTypeName" column="work_type_name"/>
- <result property="acceptanceTime" column="acceptance_assess_time"/>
- <result property="maintenanceTime" column="maintenance_assess_time"/>
- </resultMap>
- <select id="queryUserPageList" resultType="com.repair.model.vo.RepairUserVo" resultMap="repairUserPageMap">
- select ru.card_number,ru.acceptance_assess_time,ru.maintenance_assess_time,ru.id,ru.article_id,(select GROUP_CONCAT(name) from repair_article_type where find_in_set(id,ru.article_id)) as article_name,ru.user_name, ru.user_phone, ru.team_id, case ru.team_id when 0 then '校方人员' else '第三方人员' end as team_name, ru.school_id,ra.name as school_name,
- ru.user_zzid,case ru.user_zzid when 3 then '后勤人员' else '维修师傅' end as user_zzname,ru.build_id,(select GROUP_CONCAT(name) from repair_area where find_in_set(id,ru.build_id)) as build_name,ru.work_type,rwt.name as work_type_name from repair_user ru
- left join repair_area ra on ra.id = ru.school_id and ra.deleted = 0
- left join repair_work_type rwt on rwt.id = ru.work_type and ra.deleted = 0
- <where>
- and ru.deleted = 0 and (ru.user_zzid = 1 or ru.user_zzid = 2 or ru.user_zzid = 3)
- <if test="schoolId != null and schoolId != ''">
- and ru.school_id = ${schoolId}
- </if>
- <if test="teamId != null and teamId != ''">
- and ru.team_id = ${teamId}
- </if>
- <if test="keyWord != null and keyWord != ''">
- and (ru.user_name like '%' #{keyWord} '%' or ru.user_phone like '%' #{keyWord} '%')
- </if>
- </where>
- </select>
- <resultMap type="com.repair.model.vo.RepairLogisticsVo" id="repairLogisticsMap">
- <result property="id" column="id"/>
- </resultMap>
- <select id="queryLogisticsList" resultType="com.repair.model.vo.RepairLogisticsVo" resultMap="repairLogisticsMap">
- select id from repair_user ru
- where EXISTS (select id from repair_record where deleted = 0 and id = #{recordId} and school_id = ru.school_id)
- and ru.user_zzid = 3 and ru.deleted = 0
- </select>
- <resultMap type="com.repair.model.vo.UserDataVo" id="userDataMap">
- <result property="id" column="id"/>
- <result property="state" column="state"/>
- <result property="shiftId" column="shift_id"/>
- <result property="userName" column="user_name"/>
- <result property="userPhone" column="user_phone"/>
- <result property="startDate" column="start_date"/>
- <result property="articleId" column="article_id"/>
- <result property="acceptanceAssessTime" column="acceptance_assess_time"/>
- <result property="maintenanceAssessTime" column="maintenance_assess_time"/>
- </resultMap>
- <select id="queryUserData" resultType="com.repair.model.vo.UserDataVo" resultMap="userDataMap">
- select ru.user_phone,ru.acceptance_assess_time,ru.maintenance_assess_time,ru.state,ru.id,ru.user_name,rcs.start_date,rcs.shift_id,GROUP_CONCAT(rat.id) as article_id from repair_user ru
- left join repair_classes_settings rcs on rcs.deleted = 0 and rcs.user_id = #{userId} and start_date = #{dateNow}
- left join repair_article_type rat on rat.deleted = 0 and ( FIND_IN_SET(rat.id,ru.article_id) or FIND_IN_SET(rat.parent_id,ru.article_id))
- where ru.id = #{userId} and ru.deleted = 0
- </select>
- <resultMap type="com.repair.model.vo.CollaboratorVo" id="collaboratorMap">
- <result property="id" column="id"/>
- <result property="userName" column="user_name"/>
- <result property="userPhone" column="user_phone"/>
- <result property="workTypeName" column="work_type_name"/>
- <result property="state" column="state"/>
- </resultMap>
- <select id="queryCollaborator" resultType="com.repair.model.vo.CollaboratorVo" resultMap="collaboratorMap">
- select ru.id,ru.user_name,ru.user_phone,rwt.name as work_type_name,ru.state
- from repair_user ru
- left join repair_work_type rwt on rwt.deleted = 0 and rwt.id = ru.work_type
- <where>
- and ru.deleted = 0 and (ru.user_zzid = 1 or ru.user_zzid = 2)
- <if test="userId != null and userId != ''">
- and ru.id != #{userId}
- </if>
- <if test="schoolId != null and schoolId != ''">
- and ru.school_id = #{schoolId}
- </if>
- <if test="keyWord != null and keyWord != ''">
- and (ru.user_name like '%' #{keyWord} '%' or ru.user_phone like '%' #{keyWord} '%' or rwt.name like '%' #{keyWord} '%')
- </if>
- </where>
- </select>
- <resultMap type="com.repair.model.vo.AddressBookVo" id="addressBookMap">
- <result property="id" column="id"/>
- <result property="teamId" column="team_id"/>
- <result property="userName" column="user_name"/>
- <result property="userPhone" column="user_phone"/>
- <result property="workType" column="work_type"/>
- <result property="workTypeName" column="work_type_name"/>
- <result property="state" column="state"/>
- <result property="acceptanceTime" column="acceptance_assess_time"/>
- <result property="maintenanceTime" column="maintenance_assess_time"/>
- </resultMap>
- <select id="queryAddressBook" resultType="com.repair.model.vo.AddressBookVo" resultMap="addressBookMap">
- select ru.team_id,ru.id,ru.user_name,ru.user_phone,ru.work_type,rwt.name as work_type_name,ru.state,ru.state,ru.acceptance_assess_time,ru.maintenance_assess_time
- from repair_user ru
- left join repair_work_type rwt on rwt.deleted = 0 and rwt.id = ru.work_type
- <where>
- and ru.deleted = 0 and (ru.user_zzid = 1 or ru.user_zzid = 2)
- <if test="userId != null and userId != ''">
- and ru.id != #{userId}
- </if>
- <if test="schoolId != null and schoolId != ''">
- and ru.school_id = #{schoolId}
- </if>
- <if test="keyWord != null and keyWord != ''">
- and (ru.user_name like '%' #{keyWord} '%' or ru.user_phone like '%' #{keyWord} '%' or rwt.name like '%' #{keyWord} '%')
- </if>
- </where>
- </select>
- <resultMap type="com.repair.model.vo.AutoDispatchUserVo" id="AutoDispatchUserMap">
- <result property="id" column="id"/>
- <result property="rdrCount" column="rdr_count"/>
- <result property="buildId" column="build_id"/>
- <result property="userName" column="user_name"/>
- <result property="userPhone" column="user_phone"/>
- <result property="acceptanceTime" column="acceptance_assess_time"/>
- <result property="maintenanceTime" column="maintenance_assess_time"/>
- <result property="startDate" column="start_date"/>
- <result property="shiftId" column="shift_id"/>
- <result property="articleId" column="article_id"/>
- </resultMap>
- <select id="autoDispatchUser" resultType="com.repair.model.vo.AutoDispatchUserVo" resultMap="AutoDispatchUserMap">
- select * from (
- select count(rdr.id) as rdr_count,ru.build_id,ru.user_phone,ru.acceptance_assess_time,ru.maintenance_assess_time,ru.id,ru.user_name,rcs.start_date,rcs.shift_id,GROUP_CONCAT(rat.id) as article_id from repair_user ru
- inner join repair_classes_settings rcs on rcs.deleted = 0 and rcs.user_id = ru.id and start_date = #{dateNow}
- left join repair_article_type rat on rat.deleted = 0 and (FIND_IN_SET(rat.id,ru.article_id) or FIND_IN_SET(rat.parent_id,ru.article_id))
- left join repair_dispatch_record rdr on rdr.deleted = 0 and rdr.is_lose_efficacy = 0 and rdr.assigned_time like '%' #{dateNow} '%' and rdr.users_id = ru.id
- where ru.school_id = #{schoolId} and ru.deleted = 0 and (ru.user_zzid = 1 or ru.user_zzid = 2) and ru.state = 1
- group by ru.id) t where FIND_IN_SET(${articleId},t.article_id) and FIND_IN_SET(${buildId},t.build_id)
- order by t.rdr_count
- </select>
- </mapper>
|