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

    <resultMap id="BaseResultMap" type="cn.timer.api.bean.xcgl.XcglAssoGsjsmx" >
                <result column="Id" property="id" />
                <result column="user_num" property="userNum" />
                <result column="user_name" property="userName" />
                <result column="salary_month" property="salaryMonth" />
                <result column="tax_month" property="taxMonth" />
                <result column="thmonth_personal" property="thmonthPersonal" />
                <result column="cum_zljy" property="cumZljy" />
                <result column="cum_zfdklx" property="cumZfdklx" />
                <result column="cum_zfzj" property="cumZfzj" />
                <result column="cum_sylr" property="cumSylr" />
                <result column="cum_jxjy" property="cumJxjy" />
                <result column="cum_zxfjkc" property="cumZxfjkc" />
                <result column="tax_type" property="taxType" />
                <result column="current_income" property="currentIncome" />
                <result column="current_special_deduction" property="currentSpecialDeduction" />
                <result column="cum_sre" property="cumSre" />
                <result column="cum_jcfy" property="cumJcfy" />
                <result column="cum_zxkc" property="cumZxkc" />
                <result column="cum_qtkc" property="cumQtkc" />
                <result column="cum_ynssde" property="cumYnssde" />
                <result column="tax_rate" property="taxRate" />
                <result column="quick_calculation_deduction" property="quickCalculationDeduction" />
                <result column="cum_ynse" property="cumYnse" />
                <result column="cum_yyjse" property="cumYyjse" />
                <result column="cum_ybtse" property="cumYbtse" />
                <result column="qyid" property="qyid" />
    </resultMap>
    
    <resultMap id="BaseXcglAssoGsjsmxDto" type="cn.timer.api.dto.xcgl.XcglAssoGsjsmxDto" >
    			<result column="phone" property="phone" />
                <result column="emp_num" property="userNum" />
                <result column="emp_name" property="userName" />
                <result column="salary_month" property="salaryMonth" />
                <result column="tax_month" property="taxMonth" />
                <result column="thmonth_personal" property="thmonthPersonal" />
                <result column="cum_zljy" property="cumZljy" />
                <result column="cum_zfdklx" property="cumZfdklx" />
                <result column="cum_zfzj" property="cumZfzj" />
                <result column="cum_sylr" property="cumSylr" />
                <result column="cum_jxjy" property="cumJxjy" />
                <result column="cum_zxfjkc" property="cumZxfjkc" />
                <result column="tax_type" property="taxType" />
                <result column="current_income" property="currentIncome" />
                <result column="current_special_deduction" property="currentSpecialDeduction" />
                <result column="cum_sre" property="cumSre" />
                <result column="cum_jcfy" property="cumJcfy" />
                <result column="cum_zxkc" property="cumZxkc" />
                <result column="cum_qtkc" property="cumQtkc" />
                <result column="cum_ynssde" property="cumYnssde" />
                <result column="tax_rate" property="taxRate" />
                <result column="quick_calculation_deduction" property="quickCalculationDeduction" />
                <result column="cum_ynse" property="cumYnse" />
                <result column="cum_yyjse" property="cumYyjse" />
                <result column="cum_ybtse" property="cumYbtse" />
                <result column="qyid" property="qyid" />
    </resultMap>

    <!-- 分页 -->
    <select id="listPageCount" resultType="java.lang.Integer">
        select count(*)
        from yggl_main_emp emp
        where emp.org_code = #{param.orgcode}
        <if test="param.status != null and param.status.size() >0" >
            and emp.job_status in
            <foreach collection="param.status" open="(" close=")" separator="," index="i" item="item">
                #{item, jdbcType=INTEGER}
            </foreach>
        </if>
        <if test="param.text != ''" >
            and (emp.`name` like CONCAT('%',#{param.text},'%') or emp.emp_num = #{param.text})
        </if>
    </select>
	<select id="listPage" resultMap="BaseXcglAssoGsjsmxDto">
        select emp.phone, emp.emp_num, emp.name as emp_name, gs.*
        from (select emp.phone, emp.emp_num, emp.name
        from yggl_main_emp emp
        where emp.org_code = #{param.orgcode}
        <if test="param.status != null and param.status.size() >0" >
            and emp.job_status in
            <foreach collection="param.status" open="(" close=")" separator="," index="i" item="item">
                #{item, jdbcType=INTEGER}
            </foreach>
        </if>
        <if test="param.text != ''" >
            and (emp.`name` like CONCAT('%',#{param.text},'%') or emp.emp_num = #{param.text})
        </if>
            limit #{param.offset}, #{param.totalPage}) emp
        LEFT JOIN xcgl_asso_gsjsmx gs on emp.emp_num = gs.user_num and gs.qyid = #{param.orgcode}
        <if test="param.datetime != ''" >
			and gs.salary_month = #{param.datetime}
		</if>
	</select>

    <select id="SelectIndividualincomedetailsAll" resultMap="BaseXcglAssoGsjsmxDto">
        select emp.phone, emp.emp_num, emp.name as emp_name,gs.*
        from (select emp.phone, emp.emp_num, emp.name
        from yggl_main_emp emp
        where emp.org_code = #{param.orgcode}
        <if test="param.status != null and param.status.size() >0" >
            and emp.job_status in
            <foreach collection="param.status" open="(" close=")" separator="," index="i" item="item">
                #{item, jdbcType=INTEGER}
            </foreach>
        </if>
        <if test="param.text != ''" >
            and (emp.`name` like CONCAT('%',#{param.text},'%') or emp.emp_num = #{param.text})
        </if>
        ) emp
        LEFT JOIN xcgl_asso_gsjsmx gs on emp.emp_num = gs.user_num and gs.qyid = #{param.orgcode}
        <if test="param.datetime != ''" >
            and gs.salary_month = #{param.datetime}
        </if>
    </select>
	
	<select id="Allyearround" resultMap="BaseResultMap">
		select * from xcgl_asso_gsjsmx gs
			where 1=1
			and SUBSTR(gs.salary_month,1,4) = #{year}
			and gs.user_num = #{usernum}
			and gs.qyid = #{qyid}
	</select>
	
</mapper>