杨宁
摘 要:目前大多数系统的开发都会涉及流程模块。文章结合三项制度改革平台中的法制审核流程模块,详细介绍一个流程模块的开发过程,从需求分析到数据库设计、网页设计,再到流程实现,对系统流程模块开发具有一定的参考意义。
关键词:三项制度;系统开发;流程;数据库;网页;审核
中图分类号:TP39文献标识码:A文章编号:2095-1302(2019)03-00-04
0 引 言
2017年1月19日,国务院办公厅公开发布《国务院办公厅关于印发推行行政执法公示制度执法全过程记录制度重大执法决定法制审核制度试点工作方案的通知》(国办发〔2017〕14号),推行行政执法公示制度、执法全过程记录制度、重大执法决定法制审核制度(以下统称三项制度)是党的十八届四中全会部署的重要改革任务,对于促进严格规范公正文明执法,保障与监督行政机关有效履行职责,维护人民群众合法权益具有重要意义。同年5月,税务总局发布《税务系统推行行政执法公示制度执法全过程记录制度重大执法决定法制审核制度试点方案》(税总发〔2017〕58号印发),在贵州以贵安新区及毕节市为试点推动三项制度改革。本文根据文件要求,设计并开发了三项制度改革平台。
1 三项制度重大执法决定法制审核需求分析
贵州省地方税务局税三项制度改革平台由贵州省地方税务局统一规划、部署,根据三项制度改革内容进行功能划分,包括税务行政执法公示、税务执法全过程记录、重大税收执法决定审核三大模块,以推进三项制度改革工作实施、落实,打造阳光税务,推进依法治税。本文项目的目的是建设并逐步完善一套全面的税收执法规范平台,规范执法流程,不断提高执法人员管理水平,提升税收治理能力,打造规范税务、法治税务、阳光税务。
贵州省地税三项制度改革项目将实现如下目标:
(1)打造以门户网站、税企平台为主体,以办税场所触摸屏、电子屏、终端查询系统等为载体,以新媒体手机APP、微信公众号为补充的多渠道公示平台,实现政务公开、办税公开。
(2)开发满足公示应用需要的集成应用管理模块,构建规范合法的事前、事中、事后公示流程。根据公示内容、公示范围实现不同渠道公示,打造阳光税务品牌形象。
(3)依托核心征管流程,开发满足执法全过程记录的功能模块,实现行政许可、行政征收、行政检查、行政处罚、行政强制等执法过程与结果的全过程电子文档、音视频、照片等资料归档,实施税收执法全过程归档资料的分级分类管理,通过规范执法行为,打造规范税务品牌形象。
(4)重塑流程再造,开发重大税收执法决定法制审核电子一体化管理功能模块,实现对各级税务机关在依法作出行政许可、行政征收、行政检查、行政处罚等重大税收执法决定之前,由其负责法制工作的机构或指定机构对其合法性、适当性进行审核的行为。通过该功能模块提升税务机关依法治税的水平,打造法治税务品牌形象。
重大法制审核流程控制图如图1所示。
法制审核从发起环节开始,通过查询从金三系统[1]抓取并处理后的数据,开始进行法制审核。根据操作人员在每个状态不同的选择,流程流转到不同环节,可以为直线流程,也可以存在环状子流程。若在复核环节提请部门有异议,提出意见后,则流程转向之前进行过的法制审核环节,重新进行法制审核;若流程未结束,且在某个环节有异议,认为上一环节信息填写不完整,则可回退至上一环节,补充完整信息。
部分环节需进行文书打印,若需补打,则可在流程查询环节查询出事务从开始到当前状态各个环节的信息、文书,从而进行补打。
2 重大法制审核流程控制设计
2.1 类的设计
根据业务需求,无论是否为代码表,设计的每张表中必须有主键。数据库需要用主键表明数据是唯一的,可用Oracle自带的函数sys_guid()[2]生成主键ID,也可新建序列或自定义函数来创建,一般采用sys_guid()生成32位字符。另外,大多数表还必须包含标志字段,用来判定数据是否有效。
表的设计分为流程表[3]与业务表[4]两大类。其中,流程表是与流程流转从开始到结束相关的表,业务表是在流程流转过程中所涉及业务相关的表。一些表中除了存储有自己的主键外,还必须存储其他表的主键[5],用于与其他表相关联。
2.1.1 流程表设计
本文项目主要有流程表、流程明细表、状态表及状态流转表。
流程表记录一条已经开始的事务当前流转到的状态,流程明细表记录一条事务从开始到当前状态的流程记录。这两张表之间的关系是1∶N,流程表的主键是流程明细表的外键。状态表记录业务流程中涉及的状态,并保存对应的页面链接。状态流转表中的数据记录流程表中上一状态与下一状態之间的关联。
流程表中的字段必须包含当前状态相关信息,即当前状态、当前状态名称、当前操作员代码、当前操作员名称、当前操作员所属部门编码、当前操作员所属部门名称、当前状态标记,也必须包含上一状态代码、上一状态名称、上一状态操作员代码、上一状态操作员名称、上一状态操作员所属部门编码、上一状态操作员所属部门名称字段,目的是使当前状态与上一状态关联起来,方便后面查找信息。最后还必须定义当前状态发生时间、当前状态实际结束时间、当前状态应该结束时间(当前状态发生时间加上当前状态完成时限)。通过应该结束时间与实际结束时间的比较,可实现对税务工作人员完成工作情况的考核。
设计流程表的目的是使流程相关信息一目了然。登录系统后,首页一般显示待办事项,其中显示的数据是流程表中未办结的事务。待办事务中清楚地展示事务当前所处流程的状态以及当前操作员,如果需要还可展示上一状态、上一操作员等上一流程状态相关信息。重大法制审核流程图[6]如
图2所示。待办事项图如图3所示。
点击“处理”跳到具体的业务操作页面,在此页面点击从表可展示流程明细相关信息。流程明细查看页面如图4所示。
2.1.2 业务表设计
根据业务需求设计业务表。
首先要有数据,数据来源于金税三期系统,建立JOB每半个小时调取数据的存储过程,通过dblink[7]从金税三期系统中抓取满足规定条件的数据,条件中加上限制日期可加快查询速度。将数据基本信息存储在待发起清单ta_fzsh_dfqqd中,随后定时更新表中发起人员、审核层级、纳税人所属省市区县等信息。
其次,每个业务都要有自己的主表,用于存储业务相关信息,主表中还需要存储流程表主键[8],用来与流程表相关联,一般还需存储当前状态。其余与主表相关联的业务表还需要存储主表的主键、流程表主键,复核异议书等各种文书表。
再者,设计相对应的代码表及对应的基本表,如审核内容代码表、审核内容表等。
最后,理清各业务表之间的联系[9]。例如:流程中多个环节可上传附件;法制审核环节存储附件的表与主表的关系就是N∶1的关系,即主表中1条数据对应附件表中零条或多条数据。业务表类图如图5所示。
2.2 数据处理
系统中对表进行必要的初始化后,其余对表中数据的各种处理操作一般都通过存储过程[10]实现。
纳税人流程更新中的部分代码实现如下:
--將文书中的字段存入ta_nsrlcmx,在每次调用此过程后需要时书写
SELECT DQZT,DQZTMC,SYZT,SYZTMC
INTO V_DQZT,V_DQZTMC,V_SYZT,V_SYZTMC FROM DM_ZTLZB WHERE XH = P_NEXT_LZXH;
SELECT WCSX,SXYM INTO V_WCSX,V_SXYM FROM DM_ZT WHERE ZTDM = V_DQZT;
SELECT A.DQCZYBM,A.DQCZYMC,A.DQCZYSSBMBM,A.DQCZYSSBMMC INTO V_SYCZYBM,V_SYCZYMC,V_SYCZYSSBMBM,V_SYCZYSSBMMC
FROM TA_NSRLC A WHERE ID = P_ID;
SELECT SWRYXM INTO V_DQCZYMC
FROM LOGIN.DM_GY_SWRY
WHERE SWRY_DM = P_NEXTCZYBM;
SELECT SWJG_DM,SWJGMC
INTO V_DQCZYSSBMBM,V_DQCZYSSBMMC
FROM LOGIN.DM_GY_SWJG
WHERE SWJG_DM = P_NEXTCZYBMBM;
IF V_DQZTMC LIKE'%结束%'THEN
V_SXYM:='';
ELSE
SELECT SXYM INTO V_SXYM FROM DM_ZT WHERE ZTDM= V_DQZT;
END IF;
SELECT A.DQCZYBM,A.DQCZYMC,A.DQCZYSSBMBM,A.DQCZYSSBMMC INTO V_SYCZYBM,V_SYCZYMC,V_SYCZYSSBMBM,V_SYCZYSSBMMC
FROM TA_NSRLC A WHERE ID = P_ID;
--由于rac节点不同,导致生成的xlbm大小混乱,即max(xlbm)不一定是最新一条数据
--AND XLBM = (SELECT MAX(XLBM) FROM TA_NSRLCMX WHERE ID = V_ID);
UPDATE TA_NSRLCMX
SET DQZTBJ = '1',DQZTSJJSSJ = SYSDATE
WHERE ID = P_ID AND DQZTFSSJ =
(SELECT MAX(DQZTFSSJ) FROM TA_NSRLCMX WHERE ID = P_ID);
根据传入的参数值取出相应的数据,赋值给对应的字段,根据业务需求更新纳税人流程表中的相关字段,并将纳税人流程表中的数据插入到纳税人流程明细表中。
2.3 业务数据逻辑处理
重大税收法制审核流程从发起开始,数据从待发起清单读取,发起后将待发起清单中刚刚发起的数据打上已发起标记,下次不会查出此条数据,避免重复发起。同时,向主要业务表、流程表中插入1条数据,向流程明细表中插入2条数据,分别为当前状态发起与任务提取的数据。
流程流转至下一状态任务提取,在任务提取环节,更新相关联业务表、流程表、流程明细表,并向流程明细表中插入1条数据,数据从流程表中读取。
后面状态对数据表的操作与任务提取环节操作类似,某些业务或需向其他业务表中插入数据。
网页中还涉及打印页面,文书编号表是用来存储文书字轨的代码表,第一次文号置1,后面提取文号均在税、字、年相同的情况下每次提取最大值,在最大值的基础上加上1就是新文号,再将新值更新到数据库中。
2.4 设计网页
结合需求设计出网页样式,继而实现代码,网页样式如图6所示。
在信息填写页面至少包含两个按钮:其中一个为保存按钮,保存填写的相关信息,流程不会流转掉,每次更新业务表中的相关数据或向其他业务表中新插入1条数据;另一个为提交按钮,用于改变流程状态,流程会流转掉,每次改变流程表中当前状态相关的信息,改成下一状态,流程明细表中上条数据的当前状态标记改为1(结束),然后还需新插入1条数据。当然,也可根据业务需求在两个按钮对应的事件中灵活地对一些表进行操作。例如:在上一状态提交事件中生成下一状态需要的文书表数据,若表中数据不完善,则在下一状态保存事件中对文书信息表数据进行完善。
3 重大税收法制审核流程控制实现
本文采用vs2010+Oracle架构编码以及IIS发布的网站,结合上述设计,编码实现重大税收法制审核流程控制。流程查询页面如图7所示。
4 结 语
本文主要探讨了基于Oracle数据库的三项制度改革平台重大税收法制审核模块的设计与实现。随着国地税合并,三项制度改革平台重大税收法制审核模块也将得到进一步改进与完善。
参 考 文 献
[1]万晨光.税收风险监控系统流程控制设计与实现[D].武汉:湖北大学,2017.
[2]王一鹏.贵州地税纳税评估系统的设计与实现[D].武汉:湖北大学,2015.
[3]陈双.税收监控预警系统的设计与实现[J].物联网技术,2016,6(4):96-99.
[4]曹留波.税收风险管理系统的设计与实现[D].西安:西安电子科技大学,2010.
[5]张为.税收指标预警系统设计[J].物联网技术,2017,7(5):101-103.
[6]汪磊,潘永才,汤俊兰,等.物化视图在煤炭税收系统的应用[J].物联网技术,2017,7(3):106-107.
[7]尚姣.基于SaaS和动态流程的供应链金融服务平台的设计与实现[D].北京:北京工业大学,2017.
[8]周永刚.云计算负荷分布控制平台的设计与实现[J].现代电子技术,2017,40(6):164-167.
[9]帅训波,李昆颖,乔德新.面向代理的知识产权管理信息一体化平台建设[J].石油科技论坛,2018(1):18-24.
[10]唐玲丽,黄华林.业务流程信息化管理平台及其升级改造[J].广西电力,2016(2):62-64.