<?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.XcglAdminXzzMapper">

    <resultMap id="BaseResultMap" type="cn.timer.api.bean.xcgl.XcglAdminXzz" >
                <id column="id" property="id" />
                <result column="name" property="name" />
                <result column="payperiod" property="payperiod" />
                <result column="paydayperiod" property="paydayperiod" />
                <result column="payrollcycle" property="payrollcycle" />
                <result column="addtime" property="addtime" />
                <result column="adduserid" property="adduserid" />
                <result column="deletestate" property="deletestate" />
                <result column="countstate" property="countstate" />
                <result column="qyid" property="qyid" />
                <result column="pxfs" property="pxfs" />
                <result column="monthtime" property="monthtime" />
                <result column="xzyf" property="xzyf" />
                
                <result column="is_xzgz" property="isXzgz" />
                <result column="is_xzsd" property="isXzsd" />
    </resultMap>
    
    <resultMap id="PayrollExceptionDtoMap" type="cn.timer.api.dto.xcgl.PayrollExceptionDto" >
                <result column="userid" property="userid" />
                <result column="xzyf" property="xzyf" />
    </resultMap>

    <sql id="Base_Column_List">
                id,
                name,
                payperiod,
                paydayperiod,
                payrollcycle,
                addtime,
                adduserid,
                deletestate,
                countstate,
                qyid,
                pxfs
    </sql>
    
    <sql id="Base_Column_List_Alias">
                id XcglAdminXzz_id,
                name XcglAdminXzz_name,
                payperiod XcglAdminXzz_payperiod,
                paydayperiod XcglAdminXzz_paydayperiod,
                payrollcycle XcglAdminXzz_payrollcycle,
                addtime XcglAdminXzz_addtime,
                adduserid XcglAdminXzz_adduserid,
                deletestate XcglAdminXzz_deletestate,
                countstate XcglAdminXzz_countstate,
                qyid XcglAdminXzz_qyid,
                pxfs XcglAdminXzz_pxfs
                
    </sql>

	
	<select id="PayrollException" resultMap="PayrollExceptionDtoMap">
			select xzs.userid,
					xzs.xzyf
				from xcgl_admin_xzz xzz
			LEFT JOIN xcgl_asso_xzury as xzury on xzury.xzzid = xzz.id
			LEFT JOIN (select xzb.userid,xzb.xzyf from xcgl_asso_xzb xzb
					where xzb.qyid = #{qyid} and xzb.xzyf != ''
					GROUP BY xzb.userid,xzb.xzyf) as xzs on xzs.userid = xzury.userid
			where xzz.qyid = #{qyid}
			and xzz.id = #{id}
			and xzs.xzyf = #{xzyf}
	</select>

    <!-- <insert id="insert" parameterType="cn.timer.api.bean.xcgl.XcglAdminXzz" useGeneratedKeys="true" keyProperty="id">
        INSERT INTO xcgl_admin_xzz
        <trim prefix="(" suffix=")" suffixOverrides=",">
                        <if test ='null != name'>
                        name,
                        </if>
                        <if test ='null != payperiod'>
                        payperiod,
                        </if>
                        <if test ='null != paydayperiod'>
                        paydayperiod,
                        </if>
                        <if test ='null != payrollcycle'>
                        payrollcycle,
                        </if>
                        <if test ='null != addtime'>
                        addtime,
                        </if>
                        <if test ='null != adduserid'>
                        adduserid,
                        </if>
                        <if test ='null != deletestate'>
                        deletestate,
                        </if>
                        <if test ='null != countstate'>
                        countstate,
                        </if>
                        <if test ='null != qyid'>
                        qyid,
                        </if>
                        <if test ='null != pxfs'>
                        pxfs,
                        </if>
                        <if test ='null != monthtime'>
                        monthtime
                        </if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
                        <if test ='null != name'>
                        #{name},
                        </if>
                        <if test ='null != payperiod'>
                        #{payperiod},
                        </if>
                        <if test ='null != paydayperiod'>
                        #{paydayperiod},
                        </if>
                        <if test ='null != payrollcycle'>
                        #{payrollcycle},
                        </if>
                        <if test ='null != addtime'>
                        #{addtime},
                        </if>
                        <if test ='null != adduserid'>
                        #{adduserid},
                        </if>
                        <if test ='null != deletestate'>
                        #{deletestate},
                        </if>
                        <if test ='null != countstate'>
                        #{countstate},
                        </if>
                        <if test ='null != qyid'>
                        #{qyid},
                        </if>
                        <if test ='null != pxfs'>
                        #{pxfs},
                        </if>
                        <if test ='null != monthtime'>
                        #{monthtime}
                        </if>
        </trim>
    </insert>

    <delete id="delete" >
        DELETE FROM xcgl_admin_xzz
        WHERE id = #{id}
    </delete>

    <update id="update" parameterType="cn.timer.api.bean.xcgl.XcglAdminXzz">
        UPDATE xcgl_admin_xzz
        <set>
                    <if test ='null != name'>name = #{name},</if>
                    <if test ='null != payperiod'>payperiod = #{payperiod},</if>
                    <if test ='null != paydayperiod'>paydayperiod = #{paydayperiod},</if>
                    <if test ='null != payrollcycle'>payrollcycle = #{payrollcycle},</if>
                    <if test ='null != addtime'>addtime = #{addtime},</if>
                    <if test ='null != adduserid'>adduserid = #{adduserid},</if>
                    <if test ='null != deletestate'>deletestate = #{deletestate},</if>
                    <if test ='null != countstate'>countstate = #{countstate},</if>
                    <if test ='null != qyid'>qyid = #{qyid},</if>
                    <if test ='null != pxfs'>pxfs = #{pxfs},</if>
                    <if test ='null != monthtime'>monthtime = #{monthtime}</if>
        </set>
        WHERE id = #{id}
    </update>


    <select id="load" resultMap="BaseResultMap">
        SELECT <include refid="Base_Column_List" />
        FROM xcgl_admin_xzz
        WHERE id = #{id}
    </select>

    <select id="pageList" resultMap="BaseResultMap">
        SELECT <include refid="Base_Column_List" />
        FROM xcgl_admin_xzz
        LIMIT #{offset}, #{pageSize}
    </select>

    <select id="pageListCount" resultType="java.lang.Integer">
        SELECT count(1)
        FROM xcgl_admin_xzz
    </select> -->


</mapper>