<?xml version="1.0" encoding="UTF-8"?>

<!--
  ~
  ~      Copyright (c) 2018-2025, lengleng All rights reserved.
  ~
  ~  Redistribution and use in source and binary forms, with or without
  ~  modification, are permitted provided that the following conditions are met:
  ~
  ~ Redistributions of source code must retain the above copyright notice,
  ~  this list of conditions and the following disclaimer.
  ~  Redistributions in binary form must reproduce the above copyright
  ~  notice, this list of conditions and the following disclaimer in the
  ~  documentation and/or other materials provided with the distribution.
  ~  Neither the name of the yifu4cloud.com developer nor the names of its
  ~  contributors may be used to endorse or promote products derived from
  ~  this software without specific prior written permission.
  ~  Author: lengleng (wangiegie@gmail.com)
  ~
  -->

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.yifu.cloud.plus.v1.yifu.salary.mapper.TStatisticsTaxSalaryMapper">

  <resultMap id="tStatisticsTaxSalaryMap" type="com.yifu.cloud.plus.v1.yifu.salary.entity.TStatisticsTaxSalary">
    <id property="id" column="id"/>
    <result property="invoiceTitle" column="INVOICE_TITLE"/>
    <result property="settleDepartId" column="SETTLE_DEPART_ID"/>
    <result property="settleDepartNo" column="SETTLE_DEPART_NO"/>
    <result property="settleDepartName" column="SETTLE_DEPART_NAME"/>
    <result property="declareMonth" column="DECLARE_MONTH"/>
    <result property="empId" column="EMP_ID"/>
    <result property="empName" column="EMP_NAME"/>
    <result property="empIdcard" column="EMP_IDCARD"/>
    <result property="costReduction" column="cost_reduction"/>
    <result property="childEduinfoMoney" column="child_eduInfo_money"/>
    <result property="housingRentalinfoMoney" column="housing_rentalInfo_money"/>
    <result property="housingLoanInterestExpenseMoney" column="housing_loan_Interest_expense_money"/>
    <result property="supportElderlyExpenseMoney" column="support_elderly_expense_money"/>
    <result property="continuingEducationExpenseMoney" column="continuing_education_expense_money"/>
    <result property="realSalary" column="REAL_SALARY"/>
    <result property="personalPensionMoney" column="PERSONAL_PENSION_MONEY"/>
    <result property="personalMedicalMoney" column="PERSONAL_MEDICAL_MONEY"/>
    <result property="personalUnemploymentMoney" column="PERSONAL_UNEMPLOYMENT_MONEY"/>
    <result property="personalSocial" column="PERSONAL_SOCIAL"/>
    <result property="personalFund" column="PERSONAL_FUND"/>
    <result property="enterpriseAnnuity" column="enterprise_annuity"/>
    <result property="taxable" column="taxable"/>
    <result property="taxFee" column="tax_fee"/>
    <result property="quickDeducation" column="QUICK_DEDUCATION"/>
    <result property="salaryTax" column="salary_tax"/>
    <result property="unitId" column="UNIT_ID"/>
    <result property="unitNo" column="UNIT_NO"/>
    <result property="unitName" column="UNIT_NAME"/>
    <result property="specialDeduMoney" column="SPECIAL_DEDU_MONEY"/>
    <result property="sumBabyMoney" column="sum_baby_money"/>
  </resultMap>
    <sql id="Base_Column_List">
                a.id,
                a.INVOICE_TITLE,
                a.SETTLE_DEPART_ID,
                a.SETTLE_DEPART_NO,
                a.SETTLE_DEPART_NAME,
                a.DECLARE_MONTH,
                a.EMP_ID,
                a.EMP_NAME,
                a.EMP_IDCARD,
                a.cost_reduction,
                a.child_eduInfo_money,
                a.housing_rentalInfo_money,
                a.housing_loan_Interest_expense_money,
                a.support_elderly_expense_money,
                a.continuing_education_expense_money,
                a.REAL_SALARY,
                a.PERSONAL_PENSION_MONEY,
                a.PERSONAL_MEDICAL_MONEY,
                a.PERSONAL_UNEMPLOYMENT_MONEY,
                a.PERSONAL_SOCIAL,
                a.PERSONAL_FUND,
                a.enterprise_annuity,
                a.taxable,
                a.tax_fee,
                a.QUICK_DEDUCATION,
                a.salary_tax,
                a.UNIT_ID,
                a.UNIT_NO,
                a.UNIT_NAME,
                a.SPECIAL_DEDU_MONEY,
                a.sum_baby_money
    </sql>
    <sql id="tStatisticsTaxSalary_where">
        <if test="tStatisticsTaxSalary != null">
                    <if test="tStatisticsTaxSalary.id != null and tStatisticsTaxSalary.id.trim() != ''">
                        AND a.id = #{tStatisticsTaxSalary.id}
                    </if>
                    <if test="tStatisticsTaxSalary.invoiceTitle != null and tStatisticsTaxSalary.invoiceTitle.trim() != ''">
                        AND a.INVOICE_TITLE = #{tStatisticsTaxSalary.invoiceTitle}
                    </if>
                    <if test="tStatisticsTaxSalary.settleDepartId != null and tStatisticsTaxSalary.settleDepartId.trim() != ''">
                        AND a.SETTLE_DEPART_ID = #{tStatisticsTaxSalary.settleDepartId}
                    </if>
                    <if test="tStatisticsTaxSalary.settleDepartNo != null and tStatisticsTaxSalary.settleDepartNo.trim() != ''">
                        AND a.SETTLE_DEPART_NO = #{tStatisticsTaxSalary.settleDepartNo}
                    </if>
                    <if test="tStatisticsTaxSalary.settleDepartName != null and tStatisticsTaxSalary.settleDepartName.trim() != ''">
                        AND a.SETTLE_DEPART_NAME = #{tStatisticsTaxSalary.settleDepartName}
                    </if>
                    <if test="tStatisticsTaxSalary.declareMonth != null and tStatisticsTaxSalary.declareMonth.trim() != ''">
                        AND a.DECLARE_MONTH = #{tStatisticsTaxSalary.declareMonth}
                    </if>
                    <if test="tStatisticsTaxSalary.empId != null and tStatisticsTaxSalary.empId.trim() != ''">
                        AND a.EMP_ID = #{tStatisticsTaxSalary.empId}
                    </if>
                    <if test="tStatisticsTaxSalary.empName != null and tStatisticsTaxSalary.empName.trim() != ''">
                        AND a.EMP_NAME = #{tStatisticsTaxSalary.empName}
                    </if>
                    <if test="tStatisticsTaxSalary.empIdcard != null and tStatisticsTaxSalary.empIdcard.trim() != ''">
                        AND a.EMP_IDCARD = #{tStatisticsTaxSalary.empIdcard}
                    </if>
                    <if test="tStatisticsTaxSalary.costReduction != null">
                        AND a.cost_reduction = #{tStatisticsTaxSalary.costReduction}
                    </if>
                    <if test="tStatisticsTaxSalary.childEduinfoMoney != null">
                        AND a.child_eduInfo_money = #{tStatisticsTaxSalary.childEduinfoMoney}
                    </if>
                    <if test="tStatisticsTaxSalary.housingRentalinfoMoney != null">
                        AND a.housing_rentalInfo_money = #{tStatisticsTaxSalary.housingRentalinfoMoney}
                    </if>
                    <if test="tStatisticsTaxSalary.housingLoanInterestExpenseMoney != null">
                        AND a.housing_loan_Interest_expense_money = #{tStatisticsTaxSalary.housingLoanInterestExpenseMoney}
                    </if>
                    <if test="tStatisticsTaxSalary.supportElderlyExpenseMoney != null">
                        AND a.support_elderly_expense_money = #{tStatisticsTaxSalary.supportElderlyExpenseMoney}
                    </if>
                    <if test="tStatisticsTaxSalary.continuingEducationExpenseMoney != null">
                        AND a.continuing_education_expense_money = #{tStatisticsTaxSalary.continuingEducationExpenseMoney}
                    </if>
                    <if test="tStatisticsTaxSalary.realSalary != null">
                        AND a.REAL_SALARY = #{tStatisticsTaxSalary.realSalary}
                    </if>
                    <if test="tStatisticsTaxSalary.personalPensionMoney != null">
                        AND a.PERSONAL_PENSION_MONEY = #{tStatisticsTaxSalary.personalPensionMoney}
                    </if>
                    <if test="tStatisticsTaxSalary.personalMedicalMoney != null">
                        AND a.PERSONAL_MEDICAL_MONEY = #{tStatisticsTaxSalary.personalMedicalMoney}
                    </if>
                    <if test="tStatisticsTaxSalary.personalUnemploymentMoney != null">
                        AND a.PERSONAL_UNEMPLOYMENT_MONEY = #{tStatisticsTaxSalary.personalUnemploymentMoney}
                    </if>
                    <if test="tStatisticsTaxSalary.personalSocial != null">
                        AND a.PERSONAL_SOCIAL = #{tStatisticsTaxSalary.personalSocial}
                    </if>
                    <if test="tStatisticsTaxSalary.personalFund != null">
                        AND a.PERSONAL_FUND = #{tStatisticsTaxSalary.personalFund}
                    </if>
                    <if test="tStatisticsTaxSalary.enterpriseAnnuity != null">
                        AND a.enterprise_annuity = #{tStatisticsTaxSalary.enterpriseAnnuity}
                    </if>
                    <if test="tStatisticsTaxSalary.taxable != null">
                        AND a.taxable = #{tStatisticsTaxSalary.taxable}
                    </if>
                    <if test="tStatisticsTaxSalary.taxFee != null">
                        AND a.tax_fee = #{tStatisticsTaxSalary.taxFee}
                    </if>
                    <if test="tStatisticsTaxSalary.quickDeducation != null">
                        AND a.QUICK_DEDUCATION = #{tStatisticsTaxSalary.quickDeducation}
                    </if>
                    <if test="tStatisticsTaxSalary.salaryTax != null">
                        AND a.salary_tax = #{tStatisticsTaxSalary.salaryTax}
                    </if>
                    <if test="tStatisticsTaxSalary.unitId != null and tStatisticsTaxSalary.unitId.trim() != ''">
                        AND a.UNIT_ID = #{tStatisticsTaxSalary.unitId}
                    </if>
                    <if test="tStatisticsTaxSalary.unitNo != null and tStatisticsTaxSalary.unitNo.trim() != ''">
                        AND a.UNIT_NO = #{tStatisticsTaxSalary.unitNo}
                    </if>
                    <if test="tStatisticsTaxSalary.unitName != null and tStatisticsTaxSalary.unitName.trim() != ''">
                        AND a.UNIT_NAME = #{tStatisticsTaxSalary.unitName}
                    </if>
                    <if test="tStatisticsTaxSalary.specialDeduMoney != null">
                        AND a.SPECIAL_DEDU_MONEY = #{tStatisticsTaxSalary.specialDeduMoney}
                    </if>
                    <if test="tStatisticsTaxSalary.sumBabyMoney != null">
                        AND a.sum_baby_money = #{tStatisticsTaxSalary.sumBabyMoney}
                    </if>
        </if>
    </sql>
    <!--tStatisticsTaxSalary简单分页查询-->
    <select id="getTStatisticsTaxSalaryPage" resultMap="tStatisticsTaxSalaryMap">
        SELECT
        <include refid="Base_Column_List"/>
        FROM t_statistics_tax_salary a
        <where>
            1=1
            <include refid="tStatisticsTaxSalary_where"/>
        </where>
    </select>
</mapper>