AO2011导入国库集中支付系统3.0的辅助账
目前我省财政系统总预算软件已经升级至3.0,笔者在此分享一下导入该软件辅助账的过程,和大家共同研究。
该系统的收支明细使用了辅助核算,所以如果只导入科目表、余额表和凭证表,只能看到收支的最顶级科目,而无法看到收支明细账,所以必须再导入另外三张表:辅助信息表,辅助余额表和辅助凭证表。
首先将用到的表从ORACLE导入SQL SERVER2008R2,此过程在此就不演示了,需要的表:ELE_ACCOUNTANT_SUBJECT(科目表), GL_REMAIN(余额表),GL_VOUCHER(凭证主表),GL_VOUCHER_DETAIL(凭证子表)。
接下来整理表:
一、科目表
select distinct CHR_CODE 科目编码,CHR_NAME 科目名称,IS_DEBIT 余额方向
into 科目表2015
from dbo.ELE_ACCOUNTANT_SUBJECT
where SET_YEAR='2015' and is_deleted=0 and SUBJECT_KIND=0
and ST_ID like '{802AD1C3-0F37-4A88-BACF-E7959D5446AB}'
order by CHR_CODE
--SET_YEAR年份/is_deleted是否删除/SUBJECT_KIND科目类型/ST_ID账套号
--余额表明细
select AS_CODE 科目编码,BALANCE 年初余额
into yeb
from dbo.GL_REMAIN
where SET_YEAR='2015' and ST_ID like '{802AD1C3-0F37-4A88-BACF-E7959D5446AB}'
order by AS_CODE
--将余额表按科目编码进行汇总求和
select 科目编码,SUM(年初余额) 年初余额
into yeb_1
from yeb
group by 科目编码
--查看余额表有几级科目
select distinct LEN(科目编码) from yeb_1
--以下操作是将下级科目求和汇总成上级科目并插入到余额表中
--末级长度为九的下级科目求和汇总成上级科目
insert into yeb_1
select LEFT(科目编码,7) 科目编码,SUM(年初余额) 年初余额
from yeb_1
where LEN(科目编码)=9
group by left(科目编码,7)
--末级长度为七的下级科目求和汇总成上级科目
insert into yeb_1
select LEFT(科目编码,5) 科目编码,SUM(年初余额) 年初余额
from yeb_1
where LEN(科目编码)=7
group by left(科目编码,5)
--末级长度为五的下级科目求和汇总成上级科目
insert into yeb_1
select LEFT(科目编码,3) 科目编码,SUM(年初余额) 年初余额
from yeb_1
where LEN(科目编码)=5
group by left(科目编码,3)
--余额表汇总
select a.科目编码,a.科目名称,a.余额方向,年初余额=case
when 年初余额 is null then 0
else 年初余额
end
into 余额表2015
from kmb ajoin yeb_1 b on a.科目编码=b.科目编码
--凭证主表
select VOUCHER_ID,VOU_DATE 凭证日期,VOUCHER_NO 凭证流水号
into pz_zb
from GL_VOUCHER
where SET_YEAR='2015' and ST_ID like '{802AD1C3-0F37-4A88-BACF-E7959D5446AB}'
order by VOU_DATE,VOUCHER_NO
--SET_YEAR年份/ST_ID账套号
--凭证表明细
select VOUCHER_ID,VOUCHER_DETAIL_ID,AS_CODE 科目编码,AS_NAME 科目名称, remark 摘要,DEB_MONEY 借方金额,CRE_MONEY 贷方金额,EN_CODE 单位编码,EN_NAME 单位名称,预算编码=case
when IN_BS_CODE is not null
then IN_BS_CODE
w