evo-Financial-pc/evo-admin/target/classes/mapper/personnelMatters/RzBusinessTripDetailMapper.xml
2025-05-04 11:02:42 +08:00

108 lines
5.4 KiB
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.evo.personnelMatters.mapper.RzBusinessTripDetailMapper">
<resultMap type="RzBusinessTripDetail" id="RzTripDetailResult">
<result property="id" column="id" />
<result property="tripId" column="trip_id" />
<result property="name" column="name" />
<result property="tripStartTime" column="trip_start_time" />
<result property="tripEndTime" column="trip_end_time" />
<result property="tripDay" column="trip_day" />
<result property="overDays" column="over_days" />
<result property="remark" column="remark" />
<result property="delFlag" column="del_flag" />
<result property="createTime" column="create_time" />
<result property="createBy" column="create_by" />
<result property="updateTime" column="update_time" />
<result property="updateBy" column="update_by" />
</resultMap>
<sql id="selectRzTripDetailVo">
select id, trip_id, name, trip_start_time, trip_end_time, trip_day,over_days, remark, del_flag, create_time, create_by, update_time, update_by from rz_business_trip_detail
</sql>
<select id="selectRzTripDetailList" parameterType="RzBusinessTripDetail" resultMap="RzTripDetailResult">
<include refid="selectRzTripDetailVo"/>
<where>
del_flag = '0'
<if test="tripId != null "> and trip_id = #{tripId}</if>
<if test="name != null and name != ''"> and name like concat('%', #{name}, '%')</if>
</where>
</select>
<select id="selectRzTripDetailById" parameterType="Long" resultMap="RzTripDetailResult">
<include refid="selectRzTripDetailVo"/>
where id = #{id}
</select>
<insert id="insertRzTripDetail" parameterType="RzBusinessTripDetail" useGeneratedKeys="true" keyProperty="id">
insert into rz_business_trip_detail
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="tripId != null">trip_id,</if>
<if test="name != null">name,</if>
<if test="tripStartTime != null">trip_start_time,</if>
<if test="tripEndTime != null">trip_end_time,</if>
<if test="tripDay != null">trip_day,</if>
<if test="overDays != null">over_days,</if>
<if test="remark != null">remark,</if>
<if test="delFlag != null and delFlag != ''">del_flag,</if>
<if test="createTime != null">create_time,</if>
<if test="createBy != null">create_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="updateBy != null">update_by,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="tripId != null">#{tripId},</if>
<if test="name != null">#{name},</if>
<if test="tripStartTime != null">#{tripStartTime},</if>
<if test="tripEndTime != null">#{tripEndTime},</if>
<if test="tripDay != null">#{tripDay},</if>
<if test="overDays != null">#{overDays},</if>
<if test="remark != null">#{remark},</if>
<if test="delFlag != null and delFlag != ''">#{delFlag},</if>
<if test="createTime != null">#{createTime},</if>
<if test="createBy != null">#{createBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="updateBy != null">#{updateBy},</if>
</trim>
</insert>
<update id="updateRzTripDetail" parameterType="RzBusinessTripDetail">
update rz_business_trip_detail
<trim prefix="SET" suffixOverrides=",">
<if test="tripId != null">trip_id = #{tripId},</if>
<if test="name != null">name = #{name},</if>
<if test="tripStartTime != null">trip_start_time = #{tripStartTime},</if>
<if test="tripEndTime != null">trip_end_time = #{tripEndTime},</if>
<if test="tripDay != null">trip_day = #{tripDay},</if>
<if test="overDays != null">over_days = #{overDays},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="delFlag != null and delFlag != ''">del_flag = #{delFlag},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
</trim>
where id = #{id}
</update>
<!-- 根据出差主键查询出差详情 -->
<select id="selectRzLeaveDetailByTripId" parameterType="Long" resultMap="RzTripDetailResult">
<include refid="selectRzTripDetailVo"/>
where del_flag = '0' and trip_id = #{tripId}
</select>
<!-- 根据部门和姓名查询最后一次出差时间 -->
<select id="selectRzLeaveDetailByName" resultMap="RzTripDetailResult">
select d.*
from rz_business_trip b,rz_business_trip_detail d
where b.id = d.trip_id and b.dept_id = #{deptId} and b.name = #{name} and DATE_FORMAT( b.trip_date, '%Y%m' ) = DATE_FORMAT(Now() , '%Y%m' ) and b.del_flag = '0'
order by d.trip_start_time desc
limit 1;
</select>
</mapper>