农村三资监管网络平台的设计与实现
2015-06-24吉流洋蔡俊男黄曙荣
吉流洋++蔡俊男++黄曙荣
摘要: 随着农村三资管理规范化的深入开展,利用先进的网络信息化技术,设计开发集信息的采集、处理和监督、控制于一体的农村三资监管网络平台软件系统具有实际应用价值。以基础数据管理子系统的设计实现为例,介绍了数据库技术、Vaadin技术和三层体系架构在三资监管网络平台开发中的具体运用。
关键词:三资监管;网络平台;Vaddin;三层体系架构
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)11-0042-02
1 引言
农村三资(资金、资产和资源)管理历来存在资金管理混乱、资产管理不规范,集体资产被贪占、挪用、变卖等问题,造成集体资产流失,是农村工作的首要难题。随着农村三资管理规范化的深入开展,利用先进的网络信息化技术,设计开发以农村资金(财务)、资产、资源管理为核心,基于网络平台的集三资信息的采集、处理和监督、控制于一体的农村集体三资监管网络平台软件系统更有实际应用价值。
三资监管平台包括基础数据管理、资金(财务)管理、资产管理和资源管理四个子系统,其中,基础数据管理子系统为其他三个系统提供用户、组织、岗位和权限(角色)信息以及账套/数据库备份、还原等基础数据管理维护功能,是软件平台的核心模块。本文以基础数据管理子系统的设计实现为例,介绍了三资监管网络平台的实现技术。
2三资网络监管平台技术方案
根据三资信息市、县区、乡镇及村四级监管体系、系统操作不受时间/地点限制以及客户端零维护的实际需求,软件平台选用B/S(浏览器/服务器)结构。各级用户通过浏览器就可以登录到三资监管平台网站进行相关信息的录入、查询和监督管理等操作;用户、三资信息等所有平台相关数据集中存放在市级三资管理部门信息中心的数据库服务器,该平台应用软件部署到信息中心的Web应用服务器上。
软件平台开发采用Java语言,选用Vaadin技术实现UI编程,MySQL做后台数据库管理系统,Apache Tomcat5.5作为Web服务器。
软件体系采用数据访问层(DAL层)、业务逻辑层(BLL层)和表示层三层架构,数据访问层用于实现软件系统对数据库的操作,完成业务流程对数据库中数据的插入、更新等操作。如通过SQL语句访问MySQL数据库管理系统,查询三资基础数据信息,并可进行insert、update和delete等操作;业务逻辑层用于实现数据业务流程,该部分的研究与设计在系统软件和开发过程中是系统实现的核心环节,用于对上下层之间的交互数据进行逻辑处理,实现对应的业务目标;表示层是系统的UI部分,通过Vaadin技术实现友好的业务操作界面供用户操作相关业务,同时对用户业务操作结果进行统计展示,这一层中的逻辑代码包含了许多Web控件和相关逻辑。
3 基础数据管理子系统的设计及主要实现技术
3.1 系统功能结构设计
基础数据管理子系统包括个人信息管理和系统管理两个功能模块,系统功能结构如图1所示。个人信息管理模块实现登录用户账号密码重置、个人信息查询修改及照片上传等功能。系统管理模块为三资监管平台提供基础数据配置、维护等功能。
图1 系统功能结构
3.2 数据库设计及实现
三资监管平台分别为平台各系统创建独立的数据库。基础数据管理子系统数据库主要包括表、视图和函数(存储过程)对象。表设计如图2所示。
系统数据库设计的主要思路是尽量在MySQL数据库底层实现能够处理的业务逻辑,简化上层代码层的工作,同时提高系统执行效率。在本系统中创建了15个函数(存储过程)对象,并充分运用预处理、游标和事务处理技术。为组织创建新岗位的存储过程sp_newOrgandGw()就是典型的代码示例:首先查询该账套中所有角色信息并设置为游标;创建事务,新建账套组织,获得新建组织的ID号,并将组织ID与角色ID组合成新的岗位信息并插入到岗位信息表中,这三个操作要么都执行要么都不执行,如果中途执行失败,该事务回滚。
图2 基础数据管理子系统表设计
declare no_more_data INT default 0;
DECLARE t_error INTEGER DEFAULT 0;
declare Cursor_cur cursor For
select 角色ID,角色名称 from 角色信息 where 角色级别=orgJiBie and 账套ID=ledgerID;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET no_more_data=1;
START TRANSACTION; #启动事务
insert into 组织机构(账套ID,组织代码,机构全称,机构简称,机构名称,组织级别,上级组织代码,机构地址,机构邮政编码,机构负责人,联系电话 )
values(ledgerID,orgCode,orgFullName,orgJianCheng,orgName,orgJiBie,upOrgCode,orgAddress,orgPost,orgManage,orgPhone); #1.创建组织,获得新建组织的ID值
select last_insert_id() into orgID;
SET no_more_data=0;
OPEN Cursor_cur; #打开游标
FETCH Cursor_cur INTO jueseid,juesename; #2.获取角色ID和角色名称
while(no_more_data=0) do
set gangweiname=concat(orgName,juesename); #3.组合得到岗位名称,插入岗位信息表。
set @sql_1=concat(" insert into 岗位信息(组织ID,角色ID,岗位名称) values('",orgID,"','",jueseid,"','",gangweiname,"')");
prepare stmt from @sql_1; execute stmt; deallocate prepare stmt; #预处理
FETCH Cursor_cur INTO jueseid,juesename;
end while;
CLOSE Cursor_cur; #关闭游标
IF t_error = 1 THEN ROLLBACK; ELSE COMMIT; END IF;
3.3 软件解决方案
三资监管平台软件解决方案和基础数据管理系统项目的包结构如图3所示。YcitStscN3Sys(基础数据管理)、YcitStscN3Zjgl(资金管理)、YcitStscN3Zcgl(资产管理)和YcitStscN3Zygl(资源管理)四个项目分别实现数据访问和业务逻辑处理功能。每个项目的包结构分别对应数据访问(DAL)、业务逻辑(BLL)和业务逻辑与UI项目接口(BIL)。YcitStscUtils.jar提供了JDBC连接MySQL数据、文件操作、Excel文件解析等工具类。
图3 软件解决方案和项目包结构
3.4 Vaadin界面实现技术
Vaadin 是一个RIA的基于浏览器的富客户端的Web框架,Vaadin 包含一个服务器端的结构,主要的应用逻辑都在服务器端运行,浏览器通过 Ajax 技术跟服务器端进行交互。Vaadin 提供多种各样的UI组件,每个组件都具有事件、侦听器、数据绑定和业务逻辑等功能。
可以使用 HTML 模版或 Java 代码动态设置界面组件布局。系统界面风格如图4所示,界面为上下/左右结构,在标题栏右下角,显示了登录用户的账号、真实姓名、所在岗位以及当前账套信息;左侧是个两级菜单栏,一级菜单对应于三资监管平台的四个系统,二级菜单是具体系统功能菜单;界面右侧是功能信息主显示区,图4为基础数据管理系统的账套角色管理功能界面。
在界面实现上,通过VerticalSplitPanel和HorizontalSplitPanel控件分隔界面显示区域;Tree控件根据用户角色权限加载菜单;自定义的WorkContent容器控件子类实现具体操作功能。在角色管理界面上运用了button控件和Table控件。系统调用VaadinSession.getCurrent().setAttribute()方法保存当前会话共享信息。
图4 账套角色管理功能界面
4 结束语
三资监管网络平台的资金管理子系统实现了凭证、账簿、报表、期末、反结账的管理,资产管理实现了资产汇总表、明细台账功能,资源管理实现了资源类别、租赁、汇总和到期提醒等功能,均采用了数据库、三层体系架构和Vaadin技术,系统界面友好、操作方便,有良好的运行性能和高可靠性。三资监管网络平台实现了市、县区、乡镇及村四级监管体系,提高了各级三资管理部门的工作效率,促进了农村“三资”的规范化制度化管理。
参考文献:
[1] 于宁.潍坊市农村三资管理系统的设计与实现[D].山东大学,2014.
[2] 李佳,陈来军,何先波.财务管理系统设计与实现[J].软件导刊,2015(1).