insert into cw_gl_voucher(PK_VOUCHER, PK_GLORGBOOK, PK_VOUCHERTY, PK_SYSTEM, VOUCHERTYPE, ABSTRACTS,
PK_PREPARED, PREPAREDATE, ISAUDIT, PK_AUDIT, AUDITDATE, ISSIGN, PK_SIGN, SIGNDATE,
VOUCHERNO, ISMODIFY, YEAR, PERIOD, TEMPSAVE, TOTALDEBIT, TOTALCREDIT, OCC_DATE,USE_STATE,
CREATE_USER, CREATE_TIME, UPDATE_USER, UPDATE_TIME, REMARK)
SELECT concat('HS',a.ID), #{glorgbookCode,jdbcType=VARCHAR}, '2', '02',
'1' AS VOUCHERTYPE,
CASE WHEN a.VC_IMPORT_DESCRIBE IS NULL THEN q.ABSTRACTS else a.VC_IMPORT_DESCRIBE end ABSTRACTS,
#{userId,jdbcType=VARCHAR},
#{newPreparedate,jdbcType=DATE}
PREPAREDDATE
,
null,null,null,null,null,null,
VOUCHER_ID, '1', FISCAL_YEAR,
#{period,jdbcType=VARCHAR}, '0',
q.PRIMARY_DEBIT_AMOUNT, q.PRIMARY_DEBIT_AMOUNT, PREPAREDDATE as OCC_DATE,
case when a.DR='0' then '1' else '0' end DR, NULL, now(), NULL, NULL, NULL
FROM cw_hs_outcw_voucher a
INNER JOIN ( SELECT b.L_MAINID,b.ABSTRACTS, sum( cast( PRIMARY_DEBIT_AMOUNT AS DECIMAL (20, 2))) AS PRIMARY_DEBIT_AMOUNT, sum( cast( PRIMARY_CREDIT_AMOUNT AS DECIMAL (20, 2))) AS PRIMARY_CREDIT_AMOUNT
FROM cw_hs_outcw_vouchers b LEFT JOIN ( SELECT DISTINCT L_MAINID FROM cw_hs_outcw_vouchers c
INNER JOIN ( SELECT distinct SUB_CODE_V FROM cw_hs_subcodemap WHERE IMPORT_FLAG="2"
and PRODUCT_ID in
#{item.productId,jdbcType=VARCHAR}
) f ON c.ACCOUNT_CODE = f.SUB_CODE_V ) e
ON e.L_MAINID = b.L_MAINID WHERE e.L_MAINID IS NULL GROUP BY b.L_MAINID ) q
ON a.ID = q.L_MAINID
where a.L_ZTBH in
#{item,jdbcType=VARCHAR}
= #{beginDate,jdbcType=VARCHAR} ]]>
insert into cw_gl_detail(PK_DETAIL,PK_GLORGBOOK, PK_VOUCHER,PREPAREDATE, DETAILINDEX, ABSTRACTS, PK_ACCSUBJ, SUBJCODE, SUBJNAME, PK_CURRTYPE,
DEBITAMOUNT, CREDITAMOUNT, LOCALDEBITAMOUNT, LOCALCREDITAMOUNT, ASSID, QTY, USE_STATE,
CREATE_USER, CREATE_TIME, UPDATE_USER, UPDATE_TIME, REMARK)
select MD5(uuid()),#{glorgbookCode,jdbcType=VARCHAR} PK_GLORGBOOK,concat('HS',q.L_MAINID),
#{newPreparedate,jdbcType=DATE}
c.PREPAREDDATE
,
ENTRY_ID, ABSTRACTS, t.PK_ACCSUBJ,t.SUBJCODE,t.SUBJNAME,q.CURRENCY,
PRIMARY_DEBIT_AMOUNT,PRIMARY_CREDIT_AMOUNT, NATURAL_DEBIT_CURRENCY, NATURAL_CREDIT_CURRENCY,
case when q.L_ZQNM is not null then MD5(uuid()) else null end ASSID,
DEBIT_QUANTITY, case when DR='0' then '1' else '0' end DR,null,now(),null,null,q.L_ZQNM
from cw_hs_outcw_vouchers q
left join (select distinct L_MAINID from cw_hs_outcw_vouchers a inner join (select distinct SUB_CODE_V from cw_hs_subcodemap where IMPORT_FLAG="2"
and PRODUCT_ID in
#{item.productId,jdbcType=VARCHAR}
) b
on a.ACCOUNT_CODE=b.SUB_CODE_V) x on q.L_MAINID = x.L_MAINID
inner join (select ID ,PREPAREDDATE from cw_hs_outcw_voucher where L_ZTBH in
#{item,jdbcType=VARCHAR}
= #{beginDate,jdbcType=VARCHAR} ]]>
) c on c.ID=q.L_MAINID
left join (select distinct PK_ACCSUBJ,SUBJCODE,SUBJNAME,SUB_CODE_V from cw_hs_subcodemap t left join cw_bd_accsubj s on t.SUB_CODE=s.SUBJCODE
where IMPORT_FLAG = "1" and s.PK_SUBJSCHEME=(SELECT PK_SUBJSCHEME FROM cw_bd_subjscheme WHERE ENABLESTATE='1') and PRODUCT_ID in
#{item.productId,jdbcType=VARCHAR}
) t on t.SUB_CODE_V=q.ACCOUNT_CODE
where x.L_MAINID is null
insert into cw_gl_freevalue (PK_FREEVALUE, ASSID, CHECKTYPE, CHECKVALUE, VALUECODE, VALUENAME, DEBITAMOUNT, CREDITAMOUNT,PK_SYSTEM, USE_STATE,CREATE_TIME)
select a.PK_FREEVALUE,a.ASSID ,a.CHECKTYPE,b.L_ZQNM, b.L_ZQNM,concat(b.VC_ZQDM, '_', b.VC_ZQJC),a.LOCALDEBITAMOUNT,a.LOCALCREDITAMOUNT,'02' PK_SYSTEM ,'1' USE_STATE,now() CREATE_TIME from
(
select MD5(uuid()) PK_FREEVALUE ,ASSID,'2019032120300101100012' as CHECKTYPE ,REMARK as CHECKVALUE,LOCALDEBITAMOUNT,LOCALCREDITAMOUNT from cw_gl_detail d
inner join ( select PK_VOUCHER from cw_gl_voucher where pk_glorgbook=#{glorgbookCode,jdbcType=VARCHAR} and
=#{beginDate,jdbcType=VARCHAR} and OCC_DATE<=#{endDate,jdbcType=VARCHAR} and pk_system='02']]> )c on c.PK_VOUCHER=d.PK_VOUCHER
where d.REMARK is not null
)a
left join cw_hs_outcw_zqxx b on a.CHECKVALUE=L_ZQNM
delete from cw_gl_voucher where pk_glorgbook=#{glorgbookCode,jdbcType=VARCHAR} and PERIOD = #{period,jdbcType=VARCHAR} and
=#{beginDate,jdbcType=VARCHAR} and OCC_DATE<=#{endDate,jdbcType=VARCHAR} and pk_system='02']]>
delete a from cw_gl_detail a inner join (select pk_voucher from cw_gl_voucher where pk_glorgbook=#{glorgbookCode,jdbcType=VARCHAR} and PERIOD = #{period,jdbcType=VARCHAR} and
=#{beginDate,jdbcType=VARCHAR} and OCC_DATE<=#{endDate,jdbcType=VARCHAR} and pk_system='02']]>) b
on a.pk_voucher=b.pk_voucher
delete a from cw_gl_freevalue a inner join ( select assid from cw_gl_detail where pk_voucher in(select pk_voucher from cw_gl_voucher where pk_glorgbook=#{glorgbookCode,jdbcType=VARCHAR} and
PERIOD = #{period,jdbcType=VARCHAR} and =#{beginDate,jdbcType=VARCHAR} and OCC_DATE<=#{endDate,jdbcType=VARCHAR} and pk_system='02']]>)) b
on a.assid =b.assid