<insert id="insertBatch" parameterType="java.util.List" useGeneratedKeys="false" flushCache="false">
INSERT INTO CMF_INV_BILLING_DETAIL
(
ID,
REGION_ID,
KP_RQ,
CHECK_DESK_ID,
CHECK_DESK_NAME,
COUNTY_ID,
INVOICE_ID,
FP_DM,
FP_HM,
OPEN_TYPE,
AMOUNT_NO,
TAX_FEE,
AMOUNT,
BUSI_TYPE,
INVOICE_TYPE,
BUYER_TAX_ID,
BUYER_TAX_NAME,
EXPENSE_NAME,
INVOICE_NOTES,
STAFF_NAME,
OPEN_STAFF_NAME,
INVOICE_STATE,
RED_CATEGORIES_DESC,
RED_SPECIFIC_DESC,
UPDATE_DATE,
YEAR,
MONTH
)
SELECT
CMF_INV_BILLING_DETAIL_S.NEXTVAL AS ID, A.*
FROM
(
<foreach collection="list" item="item" index="index" separator="union all" >
select
#{item.regionId,jdbcType=VARCHAR},
#{item.kpRq,jdbcType=DATE},
#{item.checkDeskId,jdbcType=DECIMAL},
#{item.checkDeskName,jdbcType=VARCHAR},
#{item.countyId,jdbcType=VARCHAR},
#{item.invoiceId, jdbcType=DECIMAL},
#{item.fpDm,jdbcType=VARCHAR},
#{item.fpHm,jdbcType=VARCHAR},
#{item.openType,jdbcType=VARCHAR},
#{item.amountNo,jdbcType=VARCHAR},
#{item.taxFee,jdbcType=DECIMAL},
#{item.amount,jdbcType=DECIMAL},
#{item.busiType,jdbcType=VARCHAR},
#{item.invoiceType,jdbcType=VARCHAR},
#{item.buyerTaxId,jdbcType=VARCHAR},
#{item.buyerTaxName, jdbcType=VARCHAR},
#{item.expenseName,jdbcType=VARCHAR},
#{item.invoiceNotes, jdbcType=VARCHAR},
#{item.staffName, jdbcType=VARCHAR},
#{item.openStaffName,jdbcType=VARCHAR},
#{item.invoiceState, jdbcType=VARCHAR},
#{item.redCategoriesDesc,jdbcType=VARCHAR},
#{item.redSpecificDesc,jdbcType=VARCHAR},
#{item.updateDate,jdbcType=DATE},
#{item.year,jdbcType=VARCHAR},
#{item.month,jdbcType=VARCHAR}
from dual
</foreach>
)A
</insert>
<update id="updateBatch" parameterType="java.util.ArrayList">
<foreach collection="list" item="record" index="index" open="begin" close=";end;" separator=";">
<![CDATA[ UPDATE CMF_INV_BILLING_DETAIL ]]>
<trim prefix="SET" suffixOverrides=",">
<!-- <if test="null != record.shareStatus and '' != record.shareStatus "> -->
<![CDATA[ OBJECT_VERSION_NUMBER = #{record.objectVersionNumber ,jdbcType=DECIMAL} ,]]>
<![CDATA[ LAST_UPDATE_DATE = CURRENT_TIMESTAMP ,]]>
<![CDATA[ REGION_ID = #{record.regionId ,jdbcType=VARCHAR } ,]]>
<![CDATA[ KP_RQ = #{record.kpRq ,jdbcType=DATE } ,]]>
<![CDATA[ CHECK_DESK_ID = #{record.checkDeskId ,jdbcType=DECIMAL } ,]]>
<![CDATA[ CHECK_DESK_NAME = #{record.checkDeskName ,jdbcType=VARCHAR } ,]]>
<![CDATA[ COUNTY_ID = #{record.countyId ,jdbcType=VARCHAR } ,]]>
<![CDATA[ INVOICE_ID = #{record.invoiceId ,jdbcType=DECIMAL } ,]]>
<![CDATA[ FP_DM = #{record.fpDm ,jdbcType=VARCHAR } ,]]>
<![CDATA[ FP_HM = #{record.fpHm ,jdbcType=VARCHAR } ,]]>
<![CDATA[ OPEN_TYPE = #{record.openType ,jdbcType=VARCHAR } ,]]>
<![CDATA[ AMOUNT_NO = #{record.amountNo ,jdbcType=VARCHAR } ,]]>
<![CDATA[ TAX_FEE = #{record.taxFee ,jdbcType=DECIMAL } ,]]>
<![CDATA[ AMOUNT = #{record.amount ,jdbcType=DECIMAL } ,]]>
<![CDATA[ BUSI_TYPE = #{record.busiType ,jdbcType=VARCHAR } ,]]>
<![CDATA[ INVOICE_TYPE = #{record.invoiceType ,jdbcType=VARCHAR } ,]]>
<![CDATA[ BUYER_TAX_ID = #{record.buyerTaxId ,jdbcType=VARCHAR } ,]]>
<![CDATA[ BUYER_TAX_NAME = #{record.buyerTaxName ,jdbcType=VARCHAR } ,]]>
<![CDATA[ EXPENSE_NAME = #{record.expenseName ,jdbcType=VARCHAR } ,]]>
<![CDATA[ INVOICE_NOTES = #{record.invoiceNotes ,jdbcType=VARCHAR } ,]]>
<![CDATA[ STAFF_NAME = #{record.staffName ,jdbcType=VARCHAR } ,]]>
<![CDATA[ OPEN_STAFF_NAME = #{record.openStaffName ,jdbcType=VARCHAR } ,]]>
<![CDATA[ INVOICE_STATE = #{record.invoiceState ,jdbcType=VARCHAR } ,]]>
<![CDATA[ RED_CATEGORIES_DESC = #{record.redCategoriesDesc ,jdbcType=VARCHAR } ,]]>
<![CDATA[ RED_SPECIFIC_DESC = #{record.redSpecificDesc ,jdbcType=VARCHAR } ,]]>
<![CDATA[ UPDATE_DATE = #{record.updateDate ,jdbcType=DATE } ,]]>
<![CDATA[ YEAR = #{record.year ,jdbcType=VARCHAR } ,]]>
<![CDATA[ MONTH = #{record.month ,jdbcType=VARCHAR } ,]]>
<!-- </if> -->
</trim>
<trim prefix="WHERE" prefixOverrides="AND">
<!-- <if test="null != record.id and '' != record.id"> -->
<![CDATA[ AND ID = #{record.id} ]]>
<!-- </if> -->
</trim>
</foreach>
</update>