weaver-hrm-salary/src/com/engine/salary/mapper/siaccount/SIAccountDetailTempMapper.xml

294 lines
12 KiB
XML

<?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="com.engine.salary.mapper.siaccount.SIAccountDetailTempMapper">
<resultMap id="BaseResultMap" type="com.engine.salary.entity.siaccount.po.InsuranceAccountDetailTempPO">
<result column="id" property="id"/>
<result column="employee_id" property="employeeId"/>
<result column="bill_month" property="billMonth"/>
<result column="bill_status" property="billStatus"/>
<result column="payment_status" property="paymentStatus"/>
<result column="supplementary_month" property="supplementaryMonth"/>
<result column="supplementary_projects" property="supplementaryProjects"/>
<result column="resource_from" property="resourceFrom"/>
<result column="social_pay_org" property="socialPayOrg"/>
<result column="social_account" property="socialAccount"/>
<result column="fund_pay_org" property="fundPayOrg"/>
<result column="fund_account" property="fundAccount"/>
<result column="supplement_fund_account" property="supplementFundAccount"/>
<result column="other_pay_org" property="otherPayOrg"/>
<result column="social_scheme_id" property="socialSchemeId"/>
<result column="social_payment_base_string" property="socialPaymentBaseString"/>
<result column="fund_scheme_id" property="fundSchemeId"/>
<result column="fund_payment_base_string" property="fundPaymentBaseString"/>
<result column="other_scheme_id" property="otherSchemeId"/>
<result column="other_payment_base_string" property="otherPaymentBaseString"/>
<result column="social_per_json" property="socialPerJson"/>
<result column="social_per_sum" property="socialPerSum"/>
<result column="fund_per_json" property="fundPerJson"/>
<result column="fund_per_sum" property="fundPerSum"/>
<result column="other_per_json" property="otherPerJson"/>
<result column="other_per_sum" property="otherPerSum"/>
<result column="per_sum" property="perSum"/>
<result column="social_com_json" property="socialComJson"/>
<result column="social_com_sum" property="socialComSum"/>
<result column="fund_com_json" property="fundComJson"/>
<result column="fund_com_sum" property="fundComSum"/>
<result column="other_com_json" property="otherComJson"/>
<result column="other_com_sum" property="otherComSum"/>
<result column="com_sum" property="comSum"/>
<result column="social_sum" property="socialSum"/>
<result column="fund_sum" property="fundSum"/>
<result column="other_sum" property="otherSum"/>
<result column="total" property="total"/>
<result column="creator" property="creator"/>
<result column="delete_type" property="deleteType"/>
<result column="create_time" property="createTime"/>
<result column="update_time" property="updateTime"/>
<result column="tenant_key" property="tenantKey"/>
</resultMap>
<!-- 表字段 -->
<sql id="baseColumns">
t.id
, t.employee_id
, t.bill_month
, t.bill_status
, t.payment_status
, t.supplementary_month
, t.supplementary_projects
, t.resource_from
, t.social_pay_org
, t.social_account
, t.fund_pay_org
, t.fund_account
, t.supplement_fund_account
, t.other_pay_org
, t.social_scheme_id
, t.social_payment_base_string
, t.fund_scheme_id
, t.fund_payment_base_string
, t.other_scheme_id
, t.other_payment_base_string
, t.social_per_json
, t.social_per_sum
, t.fund_per_json
, t.fund_per_sum
, t.other_per_json
, t.other_per_sum
, t.per_sum
, t.social_com_json
, t.social_com_sum
, t.fund_com_json
, t.fund_com_sum
, t.other_com_json
, t.other_com_sum
, t.com_sum
, t.social_sum
, t.fund_sum
, t.other_sum
, t.total
, t.creator
, t.delete_type
, t.create_time
, t.update_time
, t.tenant_key
</sql>
<!-- 批量删除 -->
<delete id="batchDelAccountTempDetails">
UPDATE hrsa_bill_detail_temp
SET delete_type = 1
WHERE delete_type = 0
AND bill_month = #{billMonth}
AND employee_id IN
<foreach collection="employeeIds" open="(" item="employeeId" separator="," close=")">
#{employeeId}
</foreach>
</delete>
<insert id="batchSaveAccountTempDetails">
INSERT INTO hrsa_bill_detail_temp
(employee_id,bill_month,bill_status,payment_status,supplementary_month,supplementary_projects,resource_from,social_pay_org,social_account,fund_pay_org,
fund_account,supplement_fund_account,other_pay_org,social_scheme_id,social_payment_base_string,fund_scheme_id,fund_payment_base_string,other_scheme_id,other_payment_base_string,social_per_json,
social_per_sum,fund_per_json,fund_per_sum,other_per_json,other_per_sum,per_sum,social_com_json,social_com_sum,fund_com_json,
fund_com_sum,other_com_json,other_com_sum,com_sum,social_sum,fund_sum,other_sum,total,creator,delete_type,create_time,update_time.tenant_key)
VALUES
<foreach collection="accounts" item="item" separator=",">
(
#{item.employeeId},
#{item.billMonth},
#{item.billStatus},
#{item.paymentStatus},
#{item.supplementaryMonth},
#{item.supplementaryProjects},
#{item.resourceFrom},
#{item.socialPayOrg},
#{item.socialAccount},
#{item.fundPayOrg},
#{item.fundAccount}
#{item.supplementFundAccount}
#{item.otherPayOrg}
#{item.socialSchemeId}
#{item.socialPaymentBaseString}
#{item.fundSchemeId}
#{item.fundPaymentBaseString}
#{item.otherSchemeId}
#{item.otherPaymentBaseString}
#{item.socialPerJson}
#{item.socialPerSum}
#{item.fundPerJson}
#{item.fundPerSum}
#{item.otherPerJson}
#{item.otherPerSum}
#{item.perSum}
#{item.socialComJson}
#{item.socialComSum}
#{item.fundComJson}
#{item.fundComSum}
#{item.otherComJson}
#{item.otherComSum}
#{item.comSum}
#{item.socialSum}
#{item.fundSum}
#{item.otherSum}
#{item.total}
#{item.creator}
#{item.deleteType}
#{item.createTime}
#{item.updateTime}
#{item.tenantKey}
)
</foreach>
</insert>
<insert id="batchSaveAccountTempDetails" databaseId="oracle">
INSERT INTO hrsa_bill_detail_temp
(employee_id,bill_month,bill_status,payment_status,supplementary_month,supplementary_projects,resource_from,social_pay_org,social_account,fund_pay_org,
fund_account,supplement_fund_account,other_pay_org,social_scheme_id,social_payment_base_string,fund_scheme_id,fund_payment_base_string,other_scheme_id,other_payment_base_string,social_per_json,
social_per_sum,fund_per_json,fund_per_sum,other_per_json,other_per_sum,per_sum,social_com_json,social_com_sum,fund_com_json,
fund_com_sum,other_com_json,other_com_sum,com_sum,social_sum,fund_sum,other_sum,total,creator,delete_type,create_time,update_time.tenant_key)
<foreach collection="accounts" item="item" separator="union all">
select
#{item.employeeId},
#{item.billMonth},
#{item.billStatus},
#{item.paymentStatus},
#{item.supplementaryMonth},
#{item.supplementaryProjects},
#{item.resourceFrom},
#{item.socialPayOrg},
#{item.socialAccount},
#{item.fundPayOrg},
#{item.fundAccount}
#{item.supplementFundAccount}
#{item.otherPayOrg}
#{item.socialSchemeId}
#{item.socialPaymentBaseString}
#{item.fundSchemeId}
#{item.fundPaymentBaseString}
#{item.otherSchemeId}
#{item.otherPaymentBaseString}
#{item.socialPerJson}
#{item.socialPerSum}
#{item.fundPerJson}
#{item.fundPerSum}
#{item.otherPerJson}
#{item.otherPerSum}
#{item.perSum}
#{item.socialComJson}
#{item.socialComSum}
#{item.fundComJson}
#{item.fundComSum}
#{item.otherComJson}
#{item.otherComSum}
#{item.comSum}
#{item.socialSum}
#{item.fundSum}
#{item.otherSum}
#{item.total}
#{item.creator}
#{item.deleteType}
#{item.createTime}
#{item.updateTime}
#{item.tenantKey}
from dual
</foreach>
</insert>
<insert id="batchSaveAccountTempDetails" databaseId="sqlserver">
<foreach collection="accounts" item="item" separator=";">
INSERT INTO hrsa_bill_detail_temp
(employee_id,bill_month,bill_status,payment_status,supplementary_month,supplementary_projects,resource_from,social_pay_org,social_account,fund_pay_org,
fund_account,supplement_fund_account,other_pay_org,social_scheme_id,social_payment_base_string,fund_scheme_id,fund_payment_base_string,other_scheme_id,other_payment_base_string,social_per_json,
social_per_sum,fund_per_json,fund_per_sum,other_per_json,other_per_sum,per_sum,social_com_json,social_com_sum,fund_com_json,
fund_com_sum,other_com_json,other_com_sum,com_sum,social_sum,fund_sum,other_sum,total,creator,delete_type,create_time,update_time.tenant_key)
VALUES
(
#{item.employeeId},
#{item.billMonth},
#{item.billStatus},
#{item.paymentStatus},
#{item.supplementaryMonth},
#{item.supplementaryProjects},
#{item.resourceFrom},
#{item.socialPayOrg},
#{item.socialAccount},
#{item.fundPayOrg},
#{item.fundAccount}
#{item.supplementFundAccount}
#{item.otherPayOrg}
#{item.socialSchemeId}
#{item.socialPaymentBaseString}
#{item.fundSchemeId}
#{item.fundPaymentBaseString}
#{item.otherSchemeId}
#{item.otherPaymentBaseString}
#{item.socialPerJson}
#{item.socialPerSum}
#{item.fundPerJson}
#{item.fundPerSum}
#{item.otherPerJson}
#{item.otherPerSum}
#{item.perSum}
#{item.socialComJson}
#{item.socialComSum}
#{item.fundComJson}
#{item.fundComSum}
#{item.otherComJson}
#{item.otherComSum}
#{item.comSum}
#{item.socialSum}
#{item.fundSum}
#{item.otherSum}
#{item.total}
#{item.creator}
#{item.deleteType}
#{item.createTime}
#{item.updateTime}
#{item.tenantKey}
)
</foreach>
</insert>
<select id="getListByEmployeeIdsAndBillMonth" resultMap="BaseResultMap">
SELECT
<include refid="baseColumns"/>
FROM
hrsa_bill_detail_temp t
WHERE t.delete_type = 0
AND t.bill_month = #{billMonth}
<if test="employeeIds != null and employeeIds.size()>0">
AND t.employee_id IN
<foreach collection="employeeIds" open="(" item="employeeId" separator="," close=")">
#{employeeId}
</foreach>
</if>
</select>
</mapper>