DutyMapper.xml备忘

前端之家收集整理的这篇文章主要介绍了DutyMapper.xml备忘前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
xml:
<?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.sunny.dao.duty.DutyMapper" >
  <resultMap id="BaseResultMap" type="com.sunny.model.duty.Duty" >
    <id column="DUTY_ID" property="dutyId" jdbcType="INTEGER" />
    <result column="DSCD" property="dscd" jdbcType="CHAR" />
    <result column="UNIT_ID" property="unitId" jdbcType="INTEGER" />
    <result column="YEAR" property="year" jdbcType="CHAR" />
    <result column="MONTH" property="month" jdbcType="CHAR" />
    <result column="DAY" property="day" jdbcType="CHAR" />
    <result column="DAY0" property="day0" jdbcType="CHAR" />
    <result column="WEEK_DAY" property="weekDay" jdbcType="CHAR" />
    <result column="MORNING_PEOPLE_IDS" property="morningPeopleIds" jdbcType="VARCHAR" />
    <result column="MORNING_PEOPLE_NAMES" property="morningPeopleNames" jdbcType="VARCHAR" />
    <result column="AFTERNOON_PEOPLE_IDS" property="afternoonPeopleIds" jdbcType="VARCHAR" />
    <result column="AFTERNOON_PEOPLE_NAMES" property="afternoonPeopleNames" jdbcType="VARCHAR" />
    <result column="EVENING_PEOPLE_IDS" property="eveningPeopleIds" jdbcType="VARCHAR" />
    <result column="EVENING_PEOPLE_NAMES" property="eveningPeopleNames" jdbcType="VARCHAR" />
    <result column="LEADER_IDS" property="leaderIds" jdbcType="VARCHAR" />
    <result column="LEADER_NAMES" property="leaderNames" jdbcType="VARCHAR" />
    <result column="FLAG" property="flag" jdbcType="INTEGER" />
    <result column="REMARK" property="remark" jdbcType="VARCHAR" />
  </resultMap>
  <resultMap id="onHashMap_1" type="java.util.HashMap">
    <result column="DSCD" property="dscd" jdbcType="CHAR" />
    <result column="UNIT_ID" property="unitId" jdbcType="INTEGER" />
    <result column="YEAR" property="year" jdbcType="CHAR" />
    <result column="MONTH" property="month" jdbcType="CHAR" />
    <result column="FLAG" property="flag" jdbcType="INTEGER" />
    <result column="FLAGNAME" property="flagName" jdbcType="VARCHAR" />
    <result column="DSNM" property="dsnm" jdbcType="CHAR" />
    <result column="UNIT_NAME" property="unitName" jdbcType="VARCHAR" />
  </resultMap>
  <resultMap id="onHashMap_2" type="java.util.HashMap">
    <result column="mName" property="mName" jdbcType="VARCHAR" />
    <result column="mContact" property="mContact" jdbcType="VARCHAR" />
    <result column="mEmail" property="mEmail" jdbcType="VARCHAR" />
    <result column="m2Name" property="m2Name" jdbcType="VARCHAR" />
    <result column="m2Contact" property="m2Contact" jdbcType="VARCHAR" />
    <result column="m2Email" property="m2Email" jdbcType="VARCHAR" />
    <result column="aName" property="aName" jdbcType="VARCHAR" />
    <result column="aContact" property="aContact" jdbcType="VARCHAR" />
    <result column="aEmail" property="aEmail" jdbcType="VARCHAR" />
    <result column="a2Name" property="a2Name" jdbcType="VARCHAR" />
    <result column="a2Contact" property="a2Contact" jdbcType="VARCHAR" />
    <result column="a2Email" property="a2Email" jdbcType="VARCHAR" />
    <result column="eName" property="eName" jdbcType="VARCHAR" />
    <result column="eContact" property="eContact" jdbcType="VARCHAR" />
    <result column="eEmail" property="eEmail" jdbcType="VARCHAR" />
    <result column="e2Name" property="e2Name" jdbcType="VARCHAR" />
    <result column="e2Contact" property="e2Contact" jdbcType="VARCHAR" />
    <result column="e2Email" property="e2Email" jdbcType="VARCHAR" />
    <result column="lName" property="lName" jdbcType="VARCHAR" />
    <result column="lContact" property="lContact" jdbcType="VARCHAR" />
    <result column="lEmail" property="lEmail" jdbcType="VARCHAR" />
    <result column="l2Name" property="l2Name" jdbcType="VARCHAR" />
    <result column="l2Contact" property="l2Contact" jdbcType="VARCHAR" />
    <result column="l2Email" property="l2Email" jdbcType="VARCHAR" />
    <result column="WEEK_DAY" property="weekDay" jdbcType="CHAR" />
    <result column="FLAG" property="flag" jdbcType="INTEGER" />
    <result column="DAY0" property="day0" jdbcType="CHAR" />
    <result column="DAY" property="day" jdbcType="CHAR" />
    <result column="MORNING_PEOPLE_NAMES" property="morningPeopleNames" jdbcType="VARCHAR" />
    <result column="AFTERNOON_PEOPLE_NAMES" property="afternoonPeopleNames" jdbcType="VARCHAR" />
    <result column="EVENING_PEOPLE_NAMES" property="eveningPeopleNames" jdbcType="VARCHAR" />
    <result column="LEADER_NAMES" property="leaderNames" jdbcType="VARCHAR" />
  </resultMap>
   <resultMap id="onHashMap_3" type="java.util.HashMap">
    <result column="RN" property="rn" jdbcType="INTEGER" />
    <result column="WEEK_DAY" property="weekDay" jdbcType="CHAR" />
    <result column="FLAG" property="flag" jdbcType="INTEGER" />
     <result column="FLAG" property="flagName" jdbcType="VARCHAR" />
    <result column="DAY0" property="day0" jdbcType="CHAR" />
    <result column="DAY" property="day" jdbcType="CHAR" />
    <result column="MORNING_PEOPLE_NAMES" property="morningPeopleNames" jdbcType="VARCHAR" />
    <result column="AFTERNOON_PEOPLE_NAMES" property="afternoonPeopleNames" jdbcType="VARCHAR" />
    <result column="EVENING_PEOPLE_NAMES" property="eveningPeopleNames" jdbcType="VARCHAR" />
    <result column="LEADER_NAMES" property="leaderNames" jdbcType="VARCHAR" />
  </resultMap>
    <resultMap id="onHashMap_4" type="java.util.HashMap">
      <result column="PERSON_NAME" property="personName" jdbcType="VARCHAR" />
      <result column="DAY0" property="day0" jdbcType="CHAR" />
      <result column="WEEK_DAY" property="weekDay" jdbcType="CHAR" />
      <result column="MORNING_PEOPLE_IDS" property="morningPeopleIds" jdbcType="VARCHAR" />
      <result column="MORNING_PEOPLE_NAMES" property="morningPeopleNames" jdbcType="VARCHAR" />
      <result column="AFTERNOON_PEOPLE_IDS" property="afternoonPeopleIds" jdbcType="VARCHAR" />
      <result column="AFTERNOON_PEOPLE_NAMES" property="afternoonPeopleNames" jdbcType="VARCHAR" />
      <result column="EVENING_PEOPLE_IDS" property="eveningPeopleIds" jdbcType="VARCHAR" />
      <result column="EVENING_PEOPLE_NAMES" property="eveningPeopleNames" jdbcType="VARCHAR" />
      <result column="LEADER_IDS" property="leaderIds" jdbcType="VARCHAR" />
      <result column="LEADER_NAMES" property="leaderNames" jdbcType="VARCHAR" />
      <result column="flagName" property="flagName" jdbcType="VARCHAR" />
  </resultMap>
  <resultMap id="onHashMap_5" type="java.util.HashMap">
    <result column="mName" property="mName" jdbcType="VARCHAR" />
    <result column="mContact" property="mContact" jdbcType="VARCHAR" />
    <result column="mEmail" property="mEmail" jdbcType="VARCHAR" />
    <result column="m2Name" property="m2Name" jdbcType="VARCHAR" />
    <result column="m2Contact" property="m2Contact" jdbcType="VARCHAR" />
    <result column="m2Email" property="m2Email" jdbcType="VARCHAR" />
    <result column="aName" property="aName" jdbcType="VARCHAR" />
    <result column="aContact" property="aContact" jdbcType="VARCHAR" />
    <result column="aEmail" property="aEmail" jdbcType="VARCHAR" />
    <result column="a2Name" property="a2Name" jdbcType="VARCHAR" />
    <result column="a2Contact" property="a2Contact" jdbcType="VARCHAR" />
    <result column="a2Email" property="a2Email" jdbcType="VARCHAR" />
    <result column="eName" property="eName" jdbcType="VARCHAR" />
    <result column="eContact" property="eContact" jdbcType="VARCHAR" />
    <result column="eEmail" property="eEmail" jdbcType="VARCHAR" />
    <result column="e2Name" property="e2Name" jdbcType="VARCHAR" />
    <result column="e2Contact" property="e2Contact" jdbcType="VARCHAR" />
    <result column="e2Email" property="e2Email" jdbcType="VARCHAR" />
    <result column="lName" property="lName" jdbcType="VARCHAR" />
    <result column="lContact" property="lContact" jdbcType="VARCHAR" />
    <result column="lEmail" property="lEmail" jdbcType="VARCHAR" />
    <result column="l2Name" property="l2Name" jdbcType="VARCHAR" />
    <result column="l2Contact" property="l2Contact" jdbcType="VARCHAR" />
    <result column="l2Email" property="l2Email" jdbcType="VARCHAR" />
    <result column="MORNING_PEOPLE_IDS" property="morningPeopleIds" jdbcType="VARCHAR" />
    <result column="AFTERNOON_PEOPLE_IDS" property="afternoonPeopleIds" jdbcType="VARCHAR" />
    <result column="EVENING_PEOPLE_IDS" property="eveningPeopleIds" jdbcType="VARCHAR" />
    <result column="LEADER_IDS" property="leaderIds" jdbcType="VARCHAR" />
    <result column="WEEK_DAY" property="weekDay" jdbcType="CHAR" />
    <result column="FLAG" property="flag" jdbcType="INTEGER" />
    <result column="DAY0" property="day0" jdbcType="CHAR" />
    <result column="DAY" property="day" jdbcType="CHAR" />
    <result column="MORNING_PEOPLE_NAMES" property="morningPeopleNames" jdbcType="VARCHAR" />
    <result column="AFTERNOON_PEOPLE_NAMES" property="afternoonPeopleNames" jdbcType="VARCHAR" />
    <result column="EVENING_PEOPLE_NAMES" property="eveningPeopleNames" jdbcType="VARCHAR" />
    <result column="LEADER_NAMES" property="leaderNames" jdbcType="VARCHAR" />
  </resultMap>
  <sql id="Base_Column_List" >
    DUTY_ID,DSCD,UNIT_ID,YEAR,MONTH,DAY,DAY0,WEEK_DAY,MORNING_PEOPLE_IDS,MORNING_PEOPLE_NAMES,AFTERNOON_PEOPLE_IDS,AFTERNOON_PEOPLE_NAMES,EVENING_PEOPLE_IDS,EVENING_PEOPLE_NAMES,LEADER_IDS,LEADER_NAMES,FLAG,REMARK
  </sql>
  
  <!-- 按条件查找某天的值班信息 -->
<select id="getTodayDutyInfo" resultMap="onHashMap_5">
	select 
	m1.person_name as mName,m1.contact as mContact,m1.email as mEmail,m2.person_name as m2Name,m2.contact as m2Contact,m2.email as m2Email,a1.person_name as aName,a1.contact as aContact,a1.email as aEmail,a2.person_name as a2Name,a2.contact as a2Contact,a2.email as a2Email,e1.person_name as eName,e1.contact as eContact,e1.email as eEmail,e2.person_name as e2Name,e2.contact as e2Contact,e2.email as e2Email,l1.person_name as lName,l1.contact as lContact,l1.email as lEmail,l2.person_name as l2Name,l2.contact as l2Contact,l2.email as l2Email,t.morning_people_ids,t.afternoon_people_ids,t.evening_people_ids,t.leader_ids,t.week_day,t.flag,case when t.flag=1 then '普通班' when t.flag=2 then '加强班' else '' end flagName,t.day0,t.day,t.morning_people_names,t.afternoon_people_names,t.evening_people_names,t.leader_names
	 from(
	select
	substr(a.morning_people_ids,instr(a.morning_people_ids,',1,1)-1) as mId,substr(a.morning_people_ids,1)+1) as m2Id,substr(a.afternoon_people_ids,instr(a.afternoon_people_ids,1)-1) as aId,1)+1) as a2Id,substr(a.evening_people_ids,instr(a.evening_people_ids,1)-1) as eId,1)+1) as e2Id,substr(a.leader_ids,instr(a.leader_ids,1)-1) as lId,1)+1) as l2Id,a.*
	from tb_duty a 
	) t,tb_duty_person_info m1,tb_duty_person_info m2,tb_duty_person_info a1,tb_duty_person_info a2,tb_duty_person_info e1,tb_duty_person_info e2,tb_duty_person_info l1,tb_duty_person_info l2
	where 1=1 
	and
	nvl2(t.mId,t.mId,t.m2Id)=m1.person_id 
	and t.m2Id=m2.person_id 
	and
	nvl2(t.aId,t.aId,t.a2Id)=a1.person_id 
	and t.a2Id=a2.person_id 
	and
	nvl2(t.eId,t.eId,t.e2Id)=e1.person_id 
	and t.e2Id=e2.person_id 
	and
	nvl2(t.lId,t.lId,t.l2Id)=l1.person_id 
	and t.l2Id=l2.person_id 
	<if test="dscdStr!='' and dscdStr!=null" >
	    and t.DSCD=#{dscdStr,jdbcType=CHAR}
	</if>
	<if test="unitIdInt!=null" >
	    and t.UNIT_ID=#{unitIdInt,jdbcType=INTEGER}
	</if>
	<if test="day0Str!='' and day0Str!=null" >
	    and t.DAY0=#{day0Str,jdbcType=CHAR}
	</if>
	<if test="flagInt != null " >
		and t.FLAG=#{flagInt,jdbcType=INTEGER}
	</if>
	order by t.day0			
</select>
    
    <!-- 值班个人查询 -->
    <select id="selectPersonalDutyList" resultMap="onHashMap_4">
    select b.person_name,a.day0,a.week_day,a.morning_people_ids,a.morning_people_names,a.afternoon_people_ids,a.afternoon_people_names,a.evening_people_ids,a.evening_people_names,a.leader_ids,a.leader_names,case when a.flag=1 then '普通班' when a.flag=2 then '加强班' else '' end flagName
 from tb_duty a,tb_duty_person_info b
where 1=1
<if test="dscd !='' and dscd != null " >
    and a.dscd=#{dscd,jdbcType=CHAR}
</if>
<if test="unitId != null " >
    and a.unit_id=#{unitId,jdbcType=INTEGER}
</if>
<if test="year !='' and year != null " >
    and a.year=#{year,jdbcType=CHAR}
</if>
<if test="month !='' and month != null " >
    and a.month=#{month,jdbcType=CHAR}
</if>
and (
substr(a.morning_people_ids,1)-1)=#{personId,jdbcType=CHAR} or 
substr(a.morning_people_ids,1)+1)=#{personId,jdbcType=CHAR} or
substr(a.afternoon_people_ids,jdbcType=CHAR} or 
substr(a.afternoon_people_ids,jdbcType=CHAR} or
substr(a.evening_people_ids,jdbcType=CHAR} or 
substr(a.evening_people_ids,jdbcType=CHAR} or
substr(a.leader_ids,jdbcType=CHAR} or 
substr(a.leader_ids,jdbcType=CHAR}
) and b.person_id=#{personId,jdbcType=CHAR}
order by day0 asc    
    
    </select>
    <!-- 前一个月的后10条值班记录 -->
     <select id="selectPreDutyList" resultMap="onHashMap_3">
select s.*  from(
select
rownum rn,t.leader_names
from tb_duty t
where 1=1 
<if test="dscd !='' and dscd != null " >
			    and t.dscd=#{dscd,jdbcType=CHAR}
			</if>
			<if test="unitId != null " >
			    and t.unit_id=#{unitId,jdbcType=INTEGER}
			</if>
			<if test="day0 !='' and day0 != null " >
			    and to_char(to_date(t.day0,'yyyy-mm-dd'),'yyyy-mm')=#{day0,jdbcType=CHAR}
			</if>
			<if test="flag != null " >
			    and t.flag=#{flag,jdbcType=INTEGER}
			</if>
order by t.duty_id
) s 
<![CDATA[
where s.rn>((
]]>
select count(*) from tb_duty p
where 1=1 
<if test="dscd !='' and dscd != null " >
			    and p.dscd=#{dscd,jdbcType=CHAR}
			</if>
			<if test="unitId != null " >
			    and p.unit_id=#{unitId,jdbcType=INTEGER}
			</if>
			<if test="day0 !='' and day0 != null " >
			    and to_char(to_date(p.day0,jdbcType=CHAR}
			</if>
			<if test="flag != null " >
			    and p.flag=#{flag,jdbcType=INTEGER}
			</if>
)-10)
     </select>
     <!-- 后一个月的前10条值班记录 -->
     <select id="selectNextDutyList" resultMap="onHashMap_3">
select s.*  from(
select
rownum rn,jdbcType=INTEGER}
			</if>
<![CDATA[
and rownum<11			
order by t.duty_id
) s 

where s.rn>0
   ]]>  
     </select>
    <!-- 按条件查找今日值班 -->
   <select id="selectTodayDutyList" resultMap="onHashMap_2">
select 
m1.person_name as mName,t.leader_names
 from(
select
substr(a.morning_people_ids,a.*
from tb_duty a 
) t,tb_duty_person_info l2
where 1=1 
and
nvl2(t.mId,t.m2Id)=m1.person_id 
and t.m2Id=m2.person_id 
and
nvl2(t.aId,t.a2Id)=a1.person_id 
and t.a2Id=a2.person_id 
and
nvl2(t.eId,t.e2Id)=e1.person_id 
and t.e2Id=e2.person_id 
and
nvl2(t.lId,t.l2Id)=l1.person_id 
and t.l2Id=l2.person_id 
			<if test="dscd !='' and dscd != null " >
			    and t.dscd=#{dscd,jdbcType=INTEGER}
			</if>
order by t.day0			
  </select>
    
    
   <select id="selectByUnitIdAndYear" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
    select 
    <include refid="Base_Column_List" />
    from TB_DUTY
    where 1=1
    <if test="unitId != null " >
    and unit_id=#{unitId,jdbcType=INTEGER}
    </if>
     <if test="year != null " >
    and year=#{year,jdbcType=INTEGER}
    </if>
  </select>
  <!-- 根据unitId和year查找记录集 -->
   <select id="selectListByConditions" resultMap="BaseResultMap">
    select 
    <include refid="Base_Column_List" />
    from TB_DUTY
    where 1=1
    <if test="dscd!='' and dscd!=null" >
	     and dscd=${dscd}
	</if>
	<if test="unitId!=null" >
	     and unit_id=${unitId}
	</if>
	<if test="year!='' and year!=null" >
	    and year=${year}
	</if>
	<if test="month!='' and month!=null" >
	    and month=${month}
	</if>
	<if test="flag!=null" >
	    and flag=${flag}
	</if>
  </select>
  <!-- 批量新增 -->
  <insert id="addMonthDutyIntoDB" parameterType="java.util.List">
     insert into TB_DUTY select SEQ_TB_DUTY.nextval,A.* from(
    <foreach collection="list" item="item" index="index" separator="union">  
      SELECT  #{item.dscd},#{item.unitId},#{item.year},#{item.month},#{item.day},trim(#{item.weekDay}),#{item.morningPeopleIds},#{item.morningPeopleNames},#{item.afternoonPeopleIds},#{item.afternoonPeopleNames},#{item.eveningPeopleIds},#{item.eveningPeopleNames},#{item.leaderIds},#{item.leaderNames},#{item.flag},#{item.remark},#{item.day0} FROM DUAL
    </foreach> 
    ) A 
  </insert>
  <!-- 按条件统计月度排班 -->
   <select id="getDutyByCondition" resultMap="onHashMap_1">
			select a.dscd,a.unit_id,a.year,a.month,a.flag,case when a.flag=1 then '普通班' when a.flag=2 then '加强班' else '' end flagName,ltrim(rtrim(b.dsnm)) as dsnm,c.unit_name
			from tb_duty a
			left join tb_code_area_info b
			on a.dscd=b.dscd
			left join tb_unit_info c
			on a.unit_id=c.unit_id
			where 1=1 
			<if test="dscd !='' and dscd != null " >
			    and a.dscd=#{dscd,jdbcType=CHAR}
			</if>
			<if test="unitId != null " >
			    and a.unit_id=#{unitId,jdbcType=INTEGER}
			</if>
			<if test="year != null " >
			    and a.year=#{year,jdbcType=INTEGER}
			</if>
			<if test="month != null " >
			    and a.month=#{month,jdbcType=INTEGER}
			</if>
			<if test="flag != null " >
			    and a.flag=#{flag,jdbcType=INTEGER}
			</if>
			group by a.dscd,b.dsnm,c.unit_name,a.flag
			order by a.year desc,to_number(a.month) desc
  </select>
  <!-- 重复保存月度排班检查 -->
   <select id="selectRecordExists" resultType="java.lang.Integer" >
			select count(*) from tb_duty where 1=1
			<if test="dscd!='' and dscd!=null" >
			    and dscd=${dscd}
			</if>
			<if test="unitId!=null" >
			    and unit_id=${unitId}
			</if>
			<if test="year!='' and year!=null" >
			    and year=${year}
			</if>
			<if test="month!='' and month!=null" >
			    and month=${month}
			</if>
			<if test="flag!=null" >
			    and flag=${flag}
			</if>
  </select>
  <!-- 单个删除值班表 -->
  <delete id="delById">
  delete from tb_duty where 1=1
<if test="dscd !='' and dscd != null " >
			    and dscd=#{dscd,jdbcType=CHAR}
			</if>
			<if test="unitId != null " >
			    and unit_id=#{unitId,jdbcType=INTEGER}
			</if>
			<if test="year != null " >
			    and year=#{year,jdbcType=INTEGER}
			</if>
			<if test="month != null " >
			    and month=#{month,jdbcType=INTEGER}
			</if>
 <if test="flag != null " >
and flag=#{flag,jdbcType=INTEGER}
 </if>
  
  </delete>
    
  <!-- 批量删除值班表(多条件) -->
 <delete id="delMultiByIds2" parameterType="java.util.List"> 
  delete from tb_duty A
  where exists 
  ( 
   select 1 from(
    <foreach collection="list" item="item" index="index" separator="union all">  
     select  B.* from tb_duty B where 1=1 and  B.dscd=${item.dscd} and B.unit_id=${item.unitId} and 
      B.year=${item.year} and B.month=${item.month} and B.flag=${item.flag} 
    </foreach>
    )S where  A.duty_id=S.duty_id
  )
</delete>
 <!--批量修改值班表(多条件) -->
  <update id="updateByMultiConditions" parameterType="java.util.List">   
    <foreach collection="list" item="item" index="index" open="begin" close="; end;" separator=";"> 
     update TB_DUTY 
     <set>
      <if test="item.morningPeopleIds != null and item.morningPeopleIds != '' " >
     MORNING_PEOPLE_IDS=#{item.morningPeopleIds,jdbcType=VARCHAR},</if>
      <if test="item.morningPeopleNames != null and item.morningPeopleNames != '' " >
     MORNING_PEOPLE_NAMES=#{item.morningPeopleNames,</if> 
      <if test="item.afternoonPeopleIds != null and item.afternoonPeopleIds != '' " >
     AFTERNOON_PEOPLE_IDS=#{item.afternoonPeopleIds,</if>
      <if test="item.afternoonPeopleNames != null and item.afternoonPeopleNames != '' " >
     AFTERNOON_PEOPLE_NAMES=#{item.afternoonPeopleNames,</if> 
      <if test="item.eveningPeopleIds != null and item.eveningPeopleIds != '' " >
     EVENING_PEOPLE_IDS=#{item.eveningPeopleIds,</if>
      <if test="item.eveningPeopleNames != null and item.eveningPeopleNames != '' " >
     EVENING_PEOPLE_NAMES=#{item.eveningPeopleNames,</if>
      <if test="item.leaderIds != null and item.leaderIds != '' " >  
     LEADER_IDS=#{item.leaderIds,</if>
     <if test="item.leaderNames != null and item.leaderNames != '' " >
     LEADER_NAMES=#{item.leaderNames,</if>
     </set> 
     where DUTY_ID=#{item.dutyId,jdbcType=INTEGER}
    </foreach>
</update>
 
  <!-- 以下是自动生成sql -->
  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
    select 
    <include refid="Base_Column_List" />
    from TB_DUTY
    where DUTY_ID = #{dutyId,jdbcType=INTEGER}
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
    delete from TB_DUTY
    where DUTY_ID = #{dutyId,jdbcType=INTEGER}
  </delete>
  <insert id="insert" parameterType="com.sunny.model.duty.Duty" >
    insert into TB_DUTY (DUTY_ID,REMARK)
    values (SEQ_TB_DUTY.nextval,#{dscd,jdbcType=CHAR},#{unitId,jdbcType=INTEGER},#{year,#{month,#{day,#{day0,#{weekDay,#{morningPeopleIds,#{morningPeopleNames,#{afternoonPeopleIds,#{afternoonPeopleNames,#{eveningPeopleIds,#{eveningPeopleNames,#{leaderIds,#{leaderNames,#{flag,#{remark,jdbcType=VARCHAR})
  </insert>
  <insert id="insertSelective" parameterType="com.sunny.model.duty.Duty" >
    insert into TB_DUTY
    <trim prefix="(" suffix=")" suffixOverrides="," >
      <if test="dutyId != null" >
        DUTY_ID,</if>
      <if test="dscd != null" >
        DSCD,</if>
      <if test="unitId != null" >
        UNIT_ID,</if>
      <if test="year != null" >
        YEAR,</if>
      <if test="month != null" >
        MONTH,</if>
      <if test="day != null" >
        DAY,</if>
        <if test="day0 != null" >
        DAY0,</if>
      <if test="weekDay != null" >
        WEEK_DAY,</if>
      <if test="morningPeopleIds != null" >
        MORNING_PEOPLE_IDS,</if>
      <if test="morningPeopleNames != null" >
        MORNING_PEOPLE_NAMES,</if>
      <if test="afternoonPeopleIds != null" >
        AFTERNOON_PEOPLE_IDS,</if>
      <if test="afternoonPeopleNames != null" >
        AFTERNOON_PEOPLE_NAMES,</if>
      <if test="eveningPeopleIds != null" >
        EVENING_PEOPLE_IDS,</if>
      <if test="eveningPeopleNames != null" >
        EVENING_PEOPLE_NAMES,</if>
      <if test="leaderIds != null" >
        LEADER_IDS,</if>
      <if test="leaderNames != null" >
        LEADER_NAMES,</if>
      <if test="flag != null" >
        FLAG,</if>
      <if test="remark != null" >
        REMARK,</if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides="," >
      <if test="dutyId != null" >
        SEQ_TB_DUTY.nextval,</if>
      <if test="dscd != null" >
        #{dscd,</if>
      <if test="unitId != null" >
        #{unitId,</if>
      <if test="year != null" >
        #{year,</if>
      <if test="month != null" >
        #{month,</if>
      <if test="day != null" >
        #{day,</if>
        <if test="day0 != null" >
        #{day0,</if>
      <if test="weekDay != null" >
        #{weekDay,</if>
      <if test="morningPeopleIds != null" >
        #{morningPeopleIds,</if>
      <if test="morningPeopleNames != null" >
        #{morningPeopleNames,</if>
      <if test="afternoonPeopleIds != null" >
        #{afternoonPeopleIds,</if>
      <if test="afternoonPeopleNames != null" >
        #{afternoonPeopleNames,</if>
      <if test="eveningPeopleIds != null" >
        #{eveningPeopleIds,</if>
      <if test="eveningPeopleNames != null" >
        #{eveningPeopleNames,</if>
      <if test="leaderIds != null" >
        #{leaderIds,</if>
      <if test="leaderNames != null" >
        #{leaderNames,</if>
      <if test="flag != null" >
        #{flag,</if>
      <if test="remark != null" >
        #{remark,</if>
    </trim>
  </insert>
  <update id="updateByPrimaryKeySelective" parameterType="com.sunny.model.duty.Duty" >
    update TB_DUTY
    <set >
      <if test="dscd != null" >
        DSCD = #{dscd,</if>
      <if test="unitId != null" >
        UNIT_ID = #{unitId,</if>
      <if test="year != null" >
        YEAR = #{year,</if>
      <if test="month != null" >
        MONTH = #{month,</if>
      <if test="day != null" >
        DAY = #{day,</if>
        <if test="day0 != null" >
        DAY0 = #{day0,</if>
      <if test="weekDay != null" >
        WEEK_DAY = #{weekDay,</if>
      <if test="morningPeopleIds != null" >
        MORNING_PEOPLE_IDS = #{morningPeopleIds,</if>
      <if test="morningPeopleNames != null" >
        MORNING_PEOPLE_NAMES = #{morningPeopleNames,</if>
      <if test="afternoonPeopleIds != null" >
        AFTERNOON_PEOPLE_IDS = #{afternoonPeopleIds,</if>
      <if test="afternoonPeopleNames != null" >
        AFTERNOON_PEOPLE_NAMES = #{afternoonPeopleNames,</if>
      <if test="eveningPeopleIds != null" >
        EVENING_PEOPLE_IDS = #{eveningPeopleIds,</if>
      <if test="eveningPeopleNames != null" >
        EVENING_PEOPLE_NAMES = #{eveningPeopleNames,</if>
      <if test="leaderIds != null" >
        LEADER_IDS = #{leaderIds,</if>
      <if test="leaderNames != null" >
        LEADER_NAMES = #{leaderNames,</if>
      <if test="flag != null" >
        FLAG = #{flag,</if>
      <if test="remark != null" >
        REMARK = #{remark,</if>
    </set>
    where DUTY_ID = #{dutyId,jdbcType=INTEGER}
  </update>
  <update id="updateByPrimaryKey" parameterType="com.sunny.model.duty.Duty" >
    update TB_DUTY
    set DSCD = #{dscd,UNIT_ID = #{unitId,YEAR = #{year,MONTH = #{month,DAY = #{day,DAY0 = #{day0,WEEK_DAY = #{weekDay,MORNING_PEOPLE_IDS = #{morningPeopleIds,MORNING_PEOPLE_NAMES = #{morningPeopleNames,AFTERNOON_PEOPLE_IDS = #{afternoonPeopleIds,AFTERNOON_PEOPLE_NAMES = #{afternoonPeopleNames,EVENING_PEOPLE_IDS = #{eveningPeopleIds,EVENING_PEOPLE_NAMES = #{eveningPeopleNames,LEADER_IDS = #{leaderIds,LEADER_NAMES = #{leaderNames,FLAG = #{flag,REMARK = #{remark,jdbcType=VARCHAR}
    where DUTY_ID = #{dutyId,jdbcType=INTEGER}
  </update>
</mapper>


Mapper:

package com.sunny.dao.duty;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.sunny.model.duty.Duty;

public interface DutyMapper {
    int deleteByPrimaryKey(@Param(value="dutyId")Integer dutyId);

    int insert(Duty record);

    int insertSelective(Duty record);

    Duty selectByPrimaryKey(@Param(value="dutyId")Integer dutyId);

    int updateByPrimaryKeySelective(Duty record);

    int updateByPrimaryKey(Duty record);
    //以下是自定义的
    //
    List<Duty> selectByUnitIdAndYear(@Param(value="unitId")Integer unitId,@Param(value="year")Integer year);
    //
    List<Duty> selectListByConditions(@Param(value="dscd")String dscd,@Param(value="unitId")Integer unitId,@Param(value="year")String year,@Param(value="month")String month,@Param(value="flag")Integer flag);
    //
    int addMonthDutyIntoDB(@Param(value="list")List<Duty> list);
    //
    List<Map<String,Object>> getDutyByCondition(@Param(value="dscd")String dscd,@Param(value="year")Integer year,@Param(value="month")Integer month,@Param(value="flag")Integer flag);
    //
    int delById(@Param(value="dscd")String dscd,@Param(value="flag")Integer flag);
    //
    int delMultiByIds2(List<Duty> list);
    //
    int selectRecordExists(@Param(value="dscd")String dscd,@Param(value="flag")Integer flag);
    //
    int updateByMultiConditions(@Param(value="list")List<Duty>  list);
    
    //
    List<Map<String,Object>> selectTodayDutyList(@Param(value="dscd")String dscd,@Param(value="day0")String day0,@Param(value="flag")Integer flag);
    //
    List<Map<String,Object>> getTodayDutyInfo(@Param(value="dscdStr")String dscd,@Param(value="unitIdInt")Integer unitId,@Param(value="day0Str")String day0,@Param(value="flagInt")Integer flag);
    
    //
    List<Map<String,Object>> selectPreDutyList(@Param(value="dscd")String dscd,@Param(value="flag")Integer flag);
    
    //
    List<Map<String,Object>> selectNextDutyList(@Param(value="dscd")String dscd,Object>> selectPersonalDutyList(@Param(value="dscd")String dscd,@Param(value="personId")String personId);
    
}

猜你在找的XML相关文章