<?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="cn.timer.api.dao.kqmk.KqglAssoLeaveBalanceMapper"> <resultMap id="BaseResultMap" type="cn.timer.api.bean.kqmk.KqglAssoLeaveBalance" > <id column="id" property="id" /> <result column="leave_rules_id" property="leaveRulesId" /> <result column="userid" property="userid" /> <result column="modify_action" property="modifyAction" /> <result column="balance_days" property="balanceDays" /> <result column="reason" property="reason" /> <result column="modify_userid" property="modifyUserid" /> <result column="modify_timer" property="modifyTimer" /> <result column="modify_number" property="modifyNumber" /> <result column="org_code" property="orgCode" /> <result column="is_automatic" property="isAutomatic" /> </resultMap> <resultMap id="LeaveBalanceMap" type="cn.timer.api.dto.kqmk.EmployeeLeaveBalanceDto" > <result column="empnum" property="empnum" /> <result column="empname" property="empname" /> <result column="department" property="department" /> <result column="rztime" property="rztime" /> <result column="orgcode" property="orgcode" /> <result column="turnover_status" property="turnover_status" /> <collection property="balanceTo" ofType="cn.timer.api.dto.kqmk.BalanceSheetDataDto"> <result column="leaverulesid" property="leaverulesid"/> <result column="balancedays" property="balancedays"/> </collection> </resultMap> <resultMap id="JiaqibalanceMap" type="cn.timer.api.dto.kqmk.JiaqibalanceDto" > <result column="userid" property="userid" /> <result column="balancedays" property="balancedays" /> </resultMap> <resultMap id="AdditionalMap" type="cn.timer.api.dto.kqmk.AdditionalDto" > <result column="empnum" property="empnum" /> <result column="empname" property="empname" /> <result column="phone" property="phone" /> <result column="department" property="department" /> <result column="position" property="position" /> </resultMap> <sql id="Base_Column_List"> id, leave_rules_id, userid, modify_action, balance_days, reason, modify_userid, modify_timer, modify_number, org_code, is_automatic </sql> <sql id="Base_Column_List_Alias"> id KqglAssoLeaveBalance_id, leave_rules_id KqglAssoLeaveBalance_leave_rules_id, userid KqglAssoLeaveBalance_userid, modify_action KqglAssoLeaveBalance_modify_action, balance_days KqglAssoLeaveBalance_balance_days, reason KqglAssoLeaveBalance_reason, modify_userid KqglAssoLeaveBalance_modify_userid, modify_timer KqglAssoLeaveBalance_modify_timer, modify_number KqglAssoLeaveBalance_modify_number, org_code KqglAssoLeaveBalance_org_code, is_automatic KqglAssoLeaveBalance_is_automatic </sql> <select id="selectPageByQueryLeaveBalance" resultMap="LeaveBalanceMap"> SELECT emp.emp_num as empnum, emp.`name` as empname, emp.org_code as orgcode, IFNULL(c.name,'') as department, IFNULL(emp.rz_time,'') as rztime, IFNULL((select em.job_status from yggl_main_lzb em where em.emp_num = emp.emp_num and em.org_code = emp.org_code),0) as turnover_status from yggl_main_emp emp LEFT JOIN zzgl_bmgw_m as gw on gw.id = emp.bmgw_id LEFT JOIN zzgl_bmgw_m as c ON c.id = gw.up_id where emp.org_code = #{param.orgCode} <if test="param.query != null and param.query != ''"> and ( emp.`name` like CONCAT('%',#{param.query},'%') or emp.emp_num like CONCAT('%',#{param.query},'%') or c.name like CONCAT('%',#{param.query},'%')) </if> <if test="param.deptid != null and param.deptid != ''"> and c.id in (select m.id from zzgl_bmgw_m m where m.up_id = #{param.deptid}) or (c.id =#{param.deptid}) </if> <if test="param.turnover_status == 0"> and emp.emp_num not in (select em.emp_num from yggl_main_lzb em where em.org_code = #{param.orgCode} and em.job_status = 3) </if> <if test="param.turnover_status == 1"> UNION SELECT emp.emp_num AS empnum, emp.`name` AS empname, emp.org_code AS orgcode, IFNULL(c. NAME, '') AS department, IFNULL(emp.rz_time, '') AS rztime, IFNULL(emp.job_status,0) as turnover_status FROM yggl_main_lzb emp LEFT JOIN zzgl_bmgw_m AS gw ON gw.id = emp.bmgw_id LEFT JOIN zzgl_bmgw_m AS c ON c.id = gw.up_id WHERE emp.job_status = 3 <if test="param.query != null and param.query != ''"> and ( emp.`name` like CONCAT('%',#{param.query},'%') or emp.emp_num like CONCAT('%',#{param.query},'%') or c.name like CONCAT('%',#{param.query},'%')) </if> <if test="param.deptid != null and param.deptid != ''"> and c.id in (select m.id from zzgl_bmgw_m m where m.up_id = #{param.deptid}) or (c.id =#{param.deptid}) </if> and emp.org_code = #{param.orgCode} </if> <!--and c.id = #{param.deptid} ORDER BY emp.emp_num DESC LEFT JOIN kqgl_asso_leave_employee_balance as yz on yz.userid = emp.emp_num yz.leave_rules_id as leaverulesid, yz.balance_days as balancedays--> </select> <select id="selectAdditional" resultMap="AdditionalMap"> SELECT emp.emp_num as empnum, emp.`name` as empname, IFNULL(c.name,'') as department, gw.`name` as position from yggl_main_emp emp LEFT JOIN zzgl_bmgw_m as gw on gw.id = emp.bmgw_id LEFT JOIN zzgl_bmgw_m as c ON c.id = gw.up_id where emp.org_code = #{orgcode} and emp.emp_num = #{empnum} </select> <select id="selectAdditionalList" resultMap="AdditionalMap"> SELECT emp.emp_num as empnum, emp.`name` as empname, emp.phone, IFNULL(c.name,null) as department, IFNULL(gw.`name`,null) as position from yggl_main_emp emp LEFT JOIN zzgl_bmgw_m as gw on gw.id = emp.bmgw_id LEFT JOIN zzgl_bmgw_m as c ON c.id = gw.up_id where emp.org_code = #{orgcode} <!-- and emp.emp_num = 100083 --> <!-- and emp.job_status != 3 --> </select> <select id="RealTimeUpdate" resultMap="AdditionalMap"> SELECT emp.emp_num as empnum, emp.`name` as empname, emp.phone, IFNULL(c.name,null) as department, IFNULL(gw.`name`,null) as position from yggl_main_emp emp LEFT JOIN kqgl_asso_yhkqz as yhkqz on yhkqz.userid = emp.emp_num LEFT JOIN zzgl_bmgw_m as gw on gw.id = emp.bmgw_id LEFT JOIN zzgl_bmgw_m as c ON c.id = gw.up_id where emp.org_code = #{orgcode} and yhkqz.kqzid = #{kqzid} and emp.job_status != 3; </select> <select id="selectAdditionalByempnum" resultMap="AdditionalMap"> SELECT emp.emp_num as empnum, emp.`name` as empname, emp.phone, IFNULL(c.name,null) as department, IFNULL(gw.`name`,null) as position from yggl_main_emp emp LEFT JOIN zzgl_bmgw_m as gw on gw.id = emp.bmgw_id LEFT JOIN zzgl_bmgw_m as c ON c.id = gw.up_id where emp.org_code = #{orgcode} and emp.job_status != 3 and emp.emp_num = #{empnum} </select> <!-- <select id="selectleavebalanceList" resultMap="JiaqibalanceMap"> select bal.userid,SUM(bal.balance_days) as balancedays from kqgl_asso_leave_balance bal where bal.leave_rules_id = #{leaverulesid} and bal.userid = #{userid} GROUP BY bal.userid </select> --> <select id="Sumbalancedays" resultType="java.lang.Double"> select SUM(ba.balance_days) from kqgl_asso_leave_balance ba where ba.userid = #{userid} and ba.org_code = #{orgcode} and ba.leave_rules_id = #{leaverulesid} </select> <!-- <insert id="insert" useGeneratedKeys="true" keyColumn="id" parameterType="cn.timer.api.bean.kqmk.KqglAssoLeaveBalance"> INSERT INTO kqgl_asso_leave_balance <trim prefix="(" suffix=")" suffixOverrides=","> <if test ='null != leaveRulesId'> leave_rules_id, </if> <if test ='null != userid'> userid, </if> <if test ='null != modifyAction'> modify_action, </if> <if test ='null != balanceDays'> balance_days, </if> <if test ='null != reason'> reason, </if> <if test ='null != modifyUserid'> modify_userid, </if> <if test ='null != modifyTimer'> modify_timer, </if> <if test ='null != modifyNumber'> modify_number, </if> <if test ='null != orgCode'> org_code, </if> <if test ='null != isAutomatic'> is_automatic </if> </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test ='null != leaveRulesId'> #{leaveRulesId}, </if> <if test ='null != userid'> #{userid}, </if> <if test ='null != modifyAction'> #{modifyAction}, </if> <if test ='null != balanceDays'> #{balanceDays}, </if> <if test ='null != reason'> #{reason}, </if> <if test ='null != modifyUserid'> #{modifyUserid}, </if> <if test ='null != modifyTimer'> #{modifyTimer}, </if> <if test ='null != modifyNumber'> #{modifyNumber}, </if> <if test ='null != orgCode'> #{orgCode}, </if> <if test ='null != isAutomatic'> #{isAutomatic} </if> </trim> </insert> <delete id="delete" > DELETE FROM kqgl_asso_leave_balance WHERE id = #{id} </delete> <update id="update" parameterType="cn.timer.api.bean.kqmk.KqglAssoLeaveBalance"> UPDATE kqgl_asso_leave_balance <set> <if test ='null != leaveRulesId'>leave_rules_id = #{leaveRulesId},</if> <if test ='null != userid'>userid = #{userid},</if> <if test ='null != modifyAction'>modify_action = #{modifyAction},</if> <if test ='null != balanceDays'>balance_days = #{balanceDays},</if> <if test ='null != reason'>reason = #{reason},</if> <if test ='null != modifyUserid'>modify_userid = #{modifyUserid},</if> <if test ='null != modifyTimer'>modify_timer = #{modifyTimer},</if> <if test ='null != modifyNumber'>modify_number = #{modifyNumber},</if> <if test ='null != orgCode'>org_code = #{orgCode},</if> <if test ='null != isAutomatic'>is_automatic = #{isAutomatic}</if> </set> WHERE id = #{id} </update> <select id="load" resultMap="BaseResultMap"> SELECT <include refid="Base_Column_List" /> FROM kqgl_asso_leave_balance WHERE id = #{id} </select> <select id="pageList" resultMap="BaseResultMap"> SELECT <include refid="Base_Column_List" /> FROM kqgl_asso_leave_balance LIMIT #{offset}, #{pageSize} </select> <select id="pageListCount" resultType="java.lang.Integer"> SELECT count(1) FROM kqgl_asso_leave_balance </select> --> </mapper>