<?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.TStatisticsCurrentReportMapper"> <resultMap id="tStatisticsCurrentReportMap" type="com.yifu.cloud.plus.v1.yifu.salary.entity.TStatisticsCurrentReport"> <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="personalProvidentFee" column="PERSONAL_PROVIDENT_FEE"/> <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"/> <result property="sumPrivatePension" column="SUM_PRIVATE_PENSION"/> <result property="isNewEmployee" column="IS_NEW_EMPLOYEE"/> <result property="createMonth" column="CREATE_MONTH"/> <result property="empPhone" column="EMP_PHONE"/> </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_PROVIDENT_FEE, 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, a.SUM_PRIVATE_PENSION, a.IS_NEW_EMPLOYEE, a.CREATE_MONTH, a.EMP_PHONE </sql> <sql id="tStatisticsCurrentReport_where"> <if test="tStatisticsCurrentReport != null"> <if test="tStatisticsCurrentReport.id != null and tStatisticsCurrentReport.id.trim() != ''"> AND a.id = #{tStatisticsCurrentReport.id} </if> <if test="tStatisticsCurrentReport.invoiceTitle != null and tStatisticsCurrentReport.invoiceTitle.trim() != ''"> AND a.INVOICE_TITLE = #{tStatisticsCurrentReport.invoiceTitle} </if> <if test="tStatisticsCurrentReport.settleDepartId != null and tStatisticsCurrentReport.settleDepartId.trim() != ''"> AND a.SETTLE_DEPART_ID = #{tStatisticsCurrentReport.settleDepartId} </if> <if test="tStatisticsCurrentReport.settleDepartNo != null and tStatisticsCurrentReport.settleDepartNo.trim() != ''"> AND a.SETTLE_DEPART_NO = #{tStatisticsCurrentReport.settleDepartNo} </if> <if test="tStatisticsCurrentReport.settleDepartName != null and tStatisticsCurrentReport.settleDepartName.trim() != ''"> AND a.SETTLE_DEPART_NAME = #{tStatisticsCurrentReport.settleDepartName} </if> <if test="tStatisticsCurrentReport.declareMonth != null and tStatisticsCurrentReport.declareMonth.trim() != ''"> AND a.declare_MONTH = #{tStatisticsCurrentReport.declareMonth} </if> <if test="tStatisticsCurrentReport.empId != null and tStatisticsCurrentReport.empId.trim() != ''"> AND a.EMP_ID = #{tStatisticsCurrentReport.empId} </if> <if test="tStatisticsCurrentReport.empName != null and tStatisticsCurrentReport.empName.trim() != ''"> AND a.EMP_NAME = #{tStatisticsCurrentReport.empName} </if> <if test="tStatisticsCurrentReport.empIdcard != null and tStatisticsCurrentReport.empIdcard.trim() != ''"> AND a.EMP_IDCARD = #{tStatisticsCurrentReport.empIdcard} </if> <if test="tStatisticsCurrentReport.costReduction != null"> AND a.cost_reduction = #{tStatisticsCurrentReport.costReduction} </if> <if test="tStatisticsCurrentReport.childEduinfoMoney != null"> AND a.child_eduInfo_money = #{tStatisticsCurrentReport.childEduinfoMoney} </if> <if test="tStatisticsCurrentReport.housingRentalinfoMoney != null"> AND a.housing_rentalInfo_money = #{tStatisticsCurrentReport.housingRentalinfoMoney} </if> <if test="tStatisticsCurrentReport.housingLoanInterestExpenseMoney != null"> AND a.housing_loan_Interest_expense_money = #{tStatisticsCurrentReport.housingLoanInterestExpenseMoney} </if> <if test="tStatisticsCurrentReport.supportElderlyExpenseMoney != null"> AND a.support_elderly_expense_money = #{tStatisticsCurrentReport.supportElderlyExpenseMoney} </if> <if test="tStatisticsCurrentReport.continuingEducationExpenseMoney != null"> AND a.continuing_education_expense_money = #{tStatisticsCurrentReport.continuingEducationExpenseMoney} </if> <if test="tStatisticsCurrentReport.realSalary != null"> AND a.REAL_SALARY = #{tStatisticsCurrentReport.realSalary} </if> <if test="tStatisticsCurrentReport.personalPensionMoney != null"> AND a.PERSONAL_PENSION_MONEY = #{tStatisticsCurrentReport.personalPensionMoney} </if> <if test="tStatisticsCurrentReport.personalMedicalMoney != null"> AND a.PERSONAL_MEDICAL_MONEY = #{tStatisticsCurrentReport.personalMedicalMoney} </if> <if test="tStatisticsCurrentReport.personalUnemploymentMoney != null"> AND a.PERSONAL_UNEMPLOYMENT_MONEY = #{tStatisticsCurrentReport.personalUnemploymentMoney} </if> <if test="tStatisticsCurrentReport.personalSocial != null"> AND a.PERSONAL_SOCIAL = #{tStatisticsCurrentReport.personalSocial} </if> <if test="tStatisticsCurrentReport.personalProvidentFee != null"> AND a.PERSONAL_PROVIDENT_FEE = #{tStatisticsCurrentReport.personalProvidentFee} </if> <if test="tStatisticsCurrentReport.enterpriseAnnuity != null"> AND a.enterprise_annuity = #{tStatisticsCurrentReport.enterpriseAnnuity} </if> <if test="tStatisticsCurrentReport.taxable != null"> AND a.taxable = #{tStatisticsCurrentReport.taxable} </if> <if test="tStatisticsCurrentReport.taxFee != null"> AND a.tax_fee = #{tStatisticsCurrentReport.taxFee} </if> <if test="tStatisticsCurrentReport.quickDeducation != null"> AND a.QUICK_DEDUCATION = #{tStatisticsCurrentReport.quickDeducation} </if> <if test="tStatisticsCurrentReport.salaryTax != null"> AND a.salary_tax = #{tStatisticsCurrentReport.salaryTax} </if> <if test="tStatisticsCurrentReport.unitId != null and tStatisticsCurrentReport.unitId.trim() != ''"> AND a.UNIT_ID = #{tStatisticsCurrentReport.unitId} </if> <if test="tStatisticsCurrentReport.unitNo != null and tStatisticsCurrentReport.unitNo.trim() != ''"> AND a.UNIT_NO = #{tStatisticsCurrentReport.unitNo} </if> <if test="tStatisticsCurrentReport.unitName != null and tStatisticsCurrentReport.unitName.trim() != ''"> AND a.UNIT_NAME = #{tStatisticsCurrentReport.unitName} </if> <if test="tStatisticsCurrentReport.specialDeduMoney != null"> AND a.SPECIAL_DEDU_MONEY = #{tStatisticsCurrentReport.specialDeduMoney} </if> <if test="tStatisticsCurrentReport.sumBabyMoney != null"> AND a.sum_baby_money = #{tStatisticsCurrentReport.sumBabyMoney} </if> <if test="tStatisticsCurrentReport.sumPrivatePension != null"> AND a.SUM_PRIVATE_PENSION = #{tStatisticsCurrentReport.sumPrivatePension} </if> </if> </sql> <!--tStatisticsCurrentReport简单分页查询--> <select id="getTStatisticsCurrentReportPage" resultMap="tStatisticsCurrentReportMap"> SELECT <include refid="Base_Column_List"/> FROM t_statistics_current_report a <where> 1=1 <include refid="tStatisticsCurrentReport_where"/> </where> order by a.DECLARE_MONTH desc </select> <!-- 本期申报 --> <insert id="insertStatisticsCurrentReport"> insert into t_statistics_current_report ( select concat(s.id,#{declareMonth}) id, s.INVOICE_TITLE, s.SETTLE_DEPART_ID, s.SETTLE_DEPART_NO, s.SETTLE_DEPART_NAME, s.DECLARE_MONTH, s.EMP_ID, if(s.EMP_NAME REGEXP '[0-9]',REPLACE(s.EMP_NAME,right(s.EMP_NAME,4),''),s.EMP_NAME) EMP_NAME, s.EMP_IDCARD, s.cost_reduction, s.child_eduInfo_money, s.housing_rentalInfo_money, s.housing_loan_Interest_expense_money, s.support_elderly_expense_money, s.continuing_education_expense_money, s.REAL_SALARY - ifnull(m.all_income,0) REAL_SALARY, s.PERSONAL_PENSION_MONEY - ifnull(m.PERSONAL_PENSION_MONEY,0) PERSONAL_PENSION_MONEY, s.PERSONAL_MEDICAL_MONEY - ifnull(m.PERSONAL_MEDICAL_MONEY,0) PERSONAL_MEDICAL_MONEY, s.PERSONAL_UNEMPLOYMENT_MONEY - ifnull(m.PERSONAL_UNEMPLOYMENT_MONEY,0) PERSONAL_UNEMPLOYMENT_MONEY, s.PERSONAL_SOCIAL, s.PERSONAL_FUND - ifnull(m.PERSONAL_PROVIDENT_FEE,0) PERSONAL_PROVIDENT_FEE, s.enterprise_annuity - ifnull(m.enterprise_annuity,0) enterprise_annuity, s.taxable, s.tax_fee, s.QUICK_DEDUCATION, s.salary_tax - ifnull(m.all_tax_prepaid,0) - ifnull(m.all_tax_payable,0) salary_tax, s.UNIT_ID, s.UNIT_NO, s.UNIT_NAME, s.SPECIAL_DEDU_MONEY, s.sum_baby_money, s.SUM_PRIVATE_PENSION, if (#{lastMonth} = s.CREATE_MONTH,1,0) IS_NEW_EMPLOYEE, s.CREATE_MONTH, s.EMP_PHONE from t_statistics_tax_salary s left join ( select m.INVOICE_TITLE,m.EMP_IDCARD, sum(ifnull(m.PERSONAL_PENSION_MONEY,0)) PERSONAL_PENSION_MONEY, sum(ifnull(m.PERSONAL_MEDICAL_MONEY,0)) PERSONAL_MEDICAL_MONEY, sum(ifnull(m.PERSONAL_UNEMPLOYMENT_MONEY,0)) PERSONAL_UNEMPLOYMENT_MONEY, sum(ifnull(m.PERSONAL_PROVIDENT_FEE,0)) PERSONAL_PROVIDENT_FEE, sum(ifnull(m.enterprise_annuity,0)) enterprise_annuity, sum(if(m.declare_MONTH = #{lastTwoMonth},all_income,0)) all_income, sum(if(m.declare_MONTH = #{lastTwoMonth},all_tax_prepaid,0)) all_tax_prepaid, sum(if(m.declare_MONTH = #{lastTwoMonth},all_tax_payable,0)) all_tax_payable from t_statistics_current_report_market m where m.declare_MONTH <![CDATA[<=]]> #{lastTwoMonth} and m.declare_MONTH like '${lastTwoYear}%' GROUP BY m.EMP_IDCARD,m.INVOICE_TITLE ) m on m.EMP_IDCARD=s.EMP_IDCARD and m.INVOICE_TITLE = s.INVOICE_TITLE left join t_statistics_declarer d on d.EMP_IDCARD=s.EMP_IDCARD and d.DECLARE_UNIT=s.INVOICE_TITLE and d.OCCUPATION_TYPE='0' and d.DECLARE_MONTH=#{declareMonth} where s.DECLARE_MONTH = #{declareMonth} and (d.id is null or d.IS_DECLARE = '0') ) </insert> <!-- 删除-按申报月份 --> <delete id="deleteByYearMonth"> DELETE FROM t_statistics_current_report WHERE DECLARE_MONTH = #{yearMonth} </delete> <!--导出--> <select id="getCurrentReportExport" resultMap="tStatisticsCurrentReportMap" parameterType="com.yifu.cloud.plus.v1.yifu.salary.vo.TStatisticsCurrentReportSearchVo"> SELECT 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_PROVIDENT_FEE, 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, a.SUM_PRIVATE_PENSION, if(a.IS_NEW_EMPLOYEE ='0','否','是') IS_NEW_EMPLOYEE, a.CREATE_MONTH, a.EMP_PHONE FROM t_statistics_current_report a <where> 1=1 <include refid="tStatisticsCurrentReport_where"/> </where> order by a.DECLARE_MONTH desc <if test="tStatisticsCurrentReport != null"> <if test="tStatisticsCurrentReport.limitStart != null"> limit #{tStatisticsCurrentReport.limitStart},#{tStatisticsCurrentReport.limitEnd} </if> </if> </select> </mapper>