UPDATE public.batch_tbcr_inner_delng SET ${compareKey} = ${makeCompareKey} WHERE sys_se = #{sysSe} and accnut_ym = #{accnutYm} and cpr_code = #{cprCode} and partn_cpr = #{partnCpr} and ${item} UPDATE public.batch_tbcr_inner_delng SET mtch_sys = 'AUTO', ${item.matchingType} = #{item.matchingTypeVal}, ${item.matchingTypeName} = #{item.matchingTypeNameVal}, ${item.matchingNumber} = #{item.matchingNumberVal} WHERE sys_se = #{item.sys_se} and accnut_ym = #{item.accnut_ym} and sn = #{item.sn} DELETE FROM tbcr_transaction_history WHERE cons_group = #{sysSe} and account_period = #{accnutYm} INSERT INTO tbcr_transaction_history ( session_id, cons_group, ledger, account_period, seq, tran_type, own_comp, own_comp_name, tran_comp, tran_comp_name, comp_acct_code, comp_acct_name, comp_prod_code, recon_key, tran_date, tran_currency, tran_amt, book_amt, group_amt, book_cost, document_no, remark, cons_acct_code, cons_acct_name, prod_code, adjust_type, adjust_remark, if_account_period, if_comp_code, if_file_id, if_source, equal_check, cons_own_comp, cons_tran_comp, invoice_no, lc_no, bl_no, own_biz_no, partner_biz_no, acct_date, matching_cause, match_key, creation_div_code, cost_mat_key ) values ( #{item.SESSION_ID}, #{item.CONS_GROUP}, #{item.LEDGER}, #{item.ACCOUNT_PERIOD}, #{item.SEQ}, #{item.TRAN_TYPE}, #{item.OWN_COMP}, #{item.OWN_COMP_NAME}, #{item.TRAN_COMP}, #{item.TRAN_COMP_NAME}, #{item.COMP_ACCT_CODE}, #{item.COMP_ACCT_NAME}, #{item.COMP_PROD_CODE}, #{item.RECON_KEY}, #{item.TRAN_DATE}, #{item.TRAN_CURRENCY}, #{item.TRAN_AMT}, #{item.BOOK_AMT}, #{item.GROUP_AMT}, #{item.BOOK_COST}, #{item.DOCUMENT_NO}, #{item.REMARK}, #{item.CONS_ACCT_CODE}, #{item.CONS_ACCT_NAME}, #{item.PROD_CODE}, #{item.ADJUST_TYPE}, #{item.ADJUST_REMARK}, #{item.IF_ACCOUNT_PERIOD}, #{item.IF_COMP_CODE}, #{item.IF_FILE_ID}, #{item.IF_SOURCE}, #{item.EQUAL_CHECK}, #{item.CONS_OWN_COMP}, #{item.CONS_TRAN_COMP}, #{item.INVOICE_NO}, #{item.LC_NO}, #{item.BL_NO}, #{item.OWN_BIZ_NO}, #{item.PARTNER_BIZ_NO}, #{item.ACCT_DATE}, #{item.MATCHING_CAUSE}, #{item.MATCH_KEY}, #{item.CREATION_DIV_CODE}, #{item.COST_MAT_KEY} ) DELETE FROM batch_tbcr_inner_delng WHERE sys_se = #{sysSe} and accnut_ym = #{accnutYm} INSERT INTO batch_tbcr_inner_delng ( sys_se , accnut_ym , sn , dta_ty , cpr_code , cpr_nm , partn_cpr , partn_cpr_nm , cpr_acnt_code , cpr_acnt_nm , cnnc_acnt_code , cnnc_acnt_nm , delng_de , elcty_de , chit_no , cmpnsp_ky , ext_key1 , ext_key2 , ext_key3 , ext_key4 , ext_key5 , delng_crncy , delng_amt , acntbk_amt , group_amt , suply_amount , sumry , org_mtch_ty , org_mtch_ky , new_mtch_ty , new_mtch_ky , compare_ky , mtch_ty , mtch_ty_nm , mtch_ky ) SELECT cons_group , account_period , seq , tran_type , own_comp , own_comp_name , tran_comp , tran_comp_name , comp_acct_code , comp_acct_name , cons_acct_code , cons_acct_name , tran_date , acct_date , document_no , recon_key , null , invoice_no , lc_no , bl_no , null , tran_currency , tran_amt , book_amt , group_amt , book_cost , remark , matching_cause , match_key , null , null , null , null , null , null FROM tbcr_transaction_history WHERE cons_group = #{sysSe} and account_period = #{accnutYm} and ${item} DELETE FROM batch_tbcr_inner_delng_ai WHERE sys_se = #{sysSe} and accnut_ym = #{accnutYm} INSERT INTO batch_tbcr_inner_delng_ai ( sys_se , accnut_ym , sn , ai_key1 , ai_key2 , ai_key3 , ai_key4 , ai_key5 , ai_key6 , ai_key7 , ai_key8 , ai_key9 , ai_key10 ) SELECT cons_group , account_period , seq , regexp_replace(document_no, '[^0-9a-zA-Z]', '',1,0) as ai_key1 , regexp_replace(recon_key, '[^0-9a-zA-Z]', '',1,0) as ai_key2 , '' as ai_key3 , '' as ai_key4 , '' as ai_key5 , '' as ai_key6 , '' as ai_key7 , '' as ai_key8 , '' as ai_key9 , '' as ai_key10 FROM tbcr_transaction_history WHERE cons_group = #{sysSe} and account_period = #{accnutYm} update batch_tbcr_inner_delng set new_mtch_ty = null, new_mtch_ky = null where sys_se = #{sysSe} AND accnut_ym = #{accnutYm} merge into batch_tbcr_inner_delng m using ( select sys_se, accnut_ym, sn, org_mtch_ty, org_mtch_ky, mtch_ty as new_mtch_ty, mtch_ky, DENSE_RANK() over (order by mtch_ty , mtch_ky , case when dta_ty in ('11','21','31','33','35','37','41') then cpr_code else partn_cpr end , case when dta_ty in ('11','21','31','33','35','37','41') then partn_cpr else cpr_code end ) AS new_mtch_ky from batch_tbcr_inner_delng where sys_se = #{sysSe} AND accnut_ym = #{accnutYm} AND mtch_ty is not null ) t on m.sys_se = t.sys_se and m.accnut_ym = t.accnut_ym and m.sn = t.sn when matched then update set new_mtch_ty = t.new_mtch_ty, new_mtch_ky = t.new_mtch_ky UPDATE public.batch_tbcr_inner_delng SET mtch_sys = #{item.mtch_sys}, mtch_ty = #{item.mtch_ty}, mtch_ty_nm = #{item.mtch_ty_nm}, mtch_ky = #{item.mtch_ky} WHERE sys_se = #{item.sys_se} and accnut_ym = #{item.accnut_ym} and sn = #{item.sn} INSERT INTO public.batch_user_job_status ( user_job_group, user_job_id, user_job_name, start_time, status ) VALUES ( #{user_job_group}, #{user_job_id}, #{user_job_name}, now(), 'Started' ) UPDATE public.batch_user_job_status SET end_time = now(), status = 'Finished', exit_code = #{exit_code}, exit_message = #{exit_message} WHERE user_job_id = #{user_job_id}