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