XcglAssoGztztMapper.xml 5.66 KB
Newer Older
yuquan.zhu committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
<?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.xcgl.XcglAssoGztztMapper">

    <resultMap id="BaseResultMap" type="cn.timer.api.bean.xcgl.XcglAssoGztzt" >
                <id column="id" property="id" />
                <result column="userid" property="userid" />
                <result column="xzyf" property="xzyf" />
                <result column="fs_type" property="fsType" />
                <result column="ck_type" property="ckType" />
                <result column="qr_type" property="qrType" />
                <result column="fkyj" property="fkyj" />
                <result column="yhqm" property="yhqm" />
                <result column="qyid" property="qyid" />
                <result column="gztszid" property="gztszid" />
mobh committed
17
				<result column="sfgz" property="sfgz" />
ilal committed
18
				<result column="xzzid" property="xzzid" />
yuquan.zhu committed
19 20 21 22 23 24 25 26 27
    </resultMap>
    
    <resultMap id="PayslipDetailsMap" type="cn.timer.api.dto.xcgl.PayslipDetailsDto" >
                <result column="id" property="id" />
                <result column="empname" property="empname" />
                <result column="empjobstatus" property="empjobstatus" />
                <result column="fstype" property="fstype" />
                <result column="cktype" property="cktype" />
                <result column="qrtype" property="qrtype" />
mobh committed
28
				<result column="sfgz" property="sfgz" />
yuquan.zhu committed
29 30 31 32 33 34 35 36 37 38 39 40 41 42
                <result column="dept" property="dept" />
                <result column="post" property="post" />
    </resultMap>

    <sql id="Base_Column_List">
                id,
                userid,
                xzyf,
                fs_type,
                ck_type,
                qr_type,
                fkyj,
                yhqm,
                qyid,
mobh committed
43 44
                gztszid,
                sfgz
yuquan.zhu committed
45 46 47 48 49 50 51 52 53
    </sql>
    
    <sql id="Base_Column_List_Alias">
                id XcglAssoGztzt_id,
                userid XcglAssoGztzt_userid,
                xzyf XcglAssoGztzt_xzyf,
                fs_type XcglAssoGztzt_fs_type,
                ck_type XcglAssoGztzt_ck_type,
                qr_type XcglAssoGztzt_qr_type,
mobh committed
54
                sfgz XcglAssoGztzt_sfgz,
yuquan.zhu committed
55 56 57 58 59 60
                fkyj XcglAssoGztzt_fkyj,
                yhqm XcglAssoGztzt_yhqm,
                qyid XcglAssoGztzt_qyid,
                gztszid XcglAssoGztzt_gztszid
    </sql>
    
mobh committed
61
    <select id="payslipSearch" resultMap="PayslipDetailsMap">
yuquan.zhu committed
62 63
	    	select emp.`name` as empname,
				case emp.job_status 
tangzhaoqian committed
64 65
					when 0 then '试用'
					when 1 then '正式'
yuquan.zhu committed
66 67 68 69 70 71
					when 2 then '离职中'
					else '已离职' end as empjobstatus,
			      gztzt.fs_type as fstype,
						gztzt.ck_type as cktype,
						gztzt.qr_type as qrtype,
						gztzt.id,
mobh committed
72
						gztzt.sfgz,
yuquan.zhu committed
73 74 75
						bmgw.dept,
			 			bmgw.post
					from xcgl_asso_gztzt gztzt
mobh committed
76
		LEFT JOIN yggl_main_emp as emp on emp.emp_num = gztzt.userid and emp.org_code = #{orgcode}
yuquan.zhu committed
77 78 79 80
		LEFT JOIN (select m.name as post,um.name as dept,m.id as mid
						 from zzgl_bmgw_m m 
						 left join zzgl_bmgw_m um on um.id = m.up_id  
					) as bmgw on bmgw.mid = emp.bmgw_id
mobh committed
81
		<if test="xzzid != null">
mobh committed
82
			LEFT JOIN xcgl_asso_xzury xzury ON xzury.userid = emp.emp_num and xzury.xzzid = #{xzzid}
mobh committed
83 84 85 86 87
		</if>
		where gztzt.qyid = #{orgcode}
		<if test="gztszid != null"> and gztzt.gztszid = #{gztszid} </if>
		<if test="fsType != null"> and gztzt.fs_type = #{fsType} </if>
		<if test="qrType != null"> and gztzt.qr_type = #{qrType} </if>
ilal committed
88
		<if test="xzzid != null"> and gztzt.xzzid = #{xzzid} </if>
mobh committed
89 90 91
		<if test="text != null and text != ''" >
			and (emp.`name` like CONCAT('%',#{text},'%') or emp.emp_num = #{text})
		</if>
yuquan.zhu committed
92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
    </select>
    
    <delete id="deletexcglassogztzt" >
        DELETE FROM xcgl_asso_gztzt
        WHERE gztszid = #{gztszid}
    </delete>
    
    <delete id="deletegztztByxzzid" >
		    delete from xcgl_asso_gztzt
		where gztszid in (
		select gztsz.id from xcgl_asso_gztsz gztsz
		where gztsz.xzzid = #{xzzid})
	</delete>

	<insert id="insertxcglassogztztList" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id" >
mobh committed
107
	    insert into xcgl_asso_gztzt (userid,xzyf,fs_type,ck_type,qr_type,fkyj,yhqm,qyid,gztszid,sfgz)
yuquan.zhu committed
108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130
	    <foreach collection="list" item="item" index="index" open="values " close="" separator=",">
	   	(
	      <if test="item.userid != null" >
	        #{item.userid,jdbcType=INTEGER},
	      </if>
	      <if test="item.xzyf != null" >
	        #{item.xzyf,jdbcType=VARCHAR},
	      </if>
	      <if test="item.fsType != null" >
	        #{item.fsType,jdbcType=INTEGER},
	      </if>
	      <if test="item.ckType != null" >
	        #{item.ckType,jdbcType=INTEGER},
	      </if>
	      <if test="item.qrType != null" >
	        #{item.qrType,jdbcType=INTEGER},
	      </if>
	      <if test="item.fkyj != null" >
	        #{item.fkyj,jdbcType=VARCHAR},
	      </if>
	      <if test="item.yhqm != null" >
	        #{item.yhqm,jdbcType=VARCHAR},
	      </if>
mobh committed
131 132 133
			<if test="item.sfgz != null" >
				#{item.sfgz,jdbcType=DOUBLE},
			</if>
yuquan.zhu committed
134 135 136 137 138 139 140 141 142 143
	      <if test="item.qyid != null" >
	        #{item.qyid,jdbcType=INTEGER},
	      </if>
	      <if test="item.gztszid != null" >
	        #{item.gztszid,jdbcType=INTEGER}
	      </if>
	      )
	    </foreach>
  	 </insert>

mobh committed
144 145 146 147 148
	<!-- 发送工资条 操作 -->
	<update id="payslipSend" parameterType="java.lang.Integer">
		UPDATE xcgl_asso_gztzt SET fs_type = #{fsType}
		WHERE id = #{id}
	</update>
mobh committed
149 150 151 152 153 154 155 156 157 158

	<!-- 发送工资条 批量发送 -->
	<update id="payslipSendBatch">
		UPDATE xcgl_asso_gztzt SET fs_type = 1
		WHERE fs_type in (0, 2)
			AND id in
				<foreach collection="ids" index="index" item="item" open="(" separator="," close=")">
					#{item}
				</foreach>
	</update>
yuquan.zhu committed
159
</mapper>