长江大学 胡 楠
由于企业传统固定资产管理过程中出现的固定资产种类繁多、调度频繁、无法实时变更资产信息、账实不符等问题,采用自顶向下扩展层次的模块化思想,设计一款基于SSH(Struts+Spring+Hibernate)框架和SQL Server数据库的企业固定资产管理系统。本文详细介绍了系统功能设计、SQL Server数据表以及程序设计和实现方案。系统测试结果显示,本系统实现了资产入库、资产出库、资产处理、查询统计、系统管理等功能,实现了固定资产管理的系统化、信息化,提高了管理水平和工作效率。
固定资产管理是企业管理中的一部分,良好的固定资产管理方式对企业的日常运营管理有重要意义。由于企业各部门固定资产如电脑、打印机等种类型号繁多,且各部门间调度频繁,使得企业内部的固定资产管理变得十分复杂。传统固定资产管理在盘点过程中常采用手工记账、编号贴条等方式,易出现固定资产盘点结果与账面信息不匹配、资产调度变更记录不及时等问题,导致工作效率降低、出错率升高,已不满足企业固定资产管理正规化、信息化、制度化的需求。因此设计一款适合企业发展、运营、管理现状的固定资产管理系统可以使管理者实时掌握固定资产的采购与进出库状态、调度流程、使用情况等详尽信息,为企业科学运营管理提供依据,实现固定资产管理过程的系统化、资产信息的共享化,并对固定资产各个流程进行有效地控制和统计,有助于提升了企业的运营管理效率。
企业固定资产管理系统主要采用Struts+Spring+Hibernate组合作为系统架构,采用关系型数据库SQL Server作为本系统后台数据库,Tomcat作为固定资产管理系统的服务器。Struts+Spring+Hibernate框架是目前使用广泛的网络程序开源框架之一,其中Struts为核心控制层和视图层,主要用于JSP页面的展示与交互设计。Hibernate是对象关联映射框架,将对象的各个流程数据映射到基于SQL的关系模型数据结构中,实现数据持久化。Spring是业务逻辑层,运用IOC、AOP等特性,在系统解耦的同时可以对业务方法进行保护和事务控制并连接Struts和Hibernate。由于本系统设计中选用JSP动态网页语言,浏览器无法自行解析,因此需要Tomcat服务器。Tomcat首先利用监听器收到用户的请求,将用户的http请求进行解析后访问到指定的应用程序,然后将程序返回的页面呈现给用户。
企业固定资产管理系统主要用于管理人员实现对固定资产的流程化、系统化管理,包括各个部门人员登录、固定资产出库、入库、盘点等数据录入、查询、修改和删除等功能。本系统具有查询迅速、使用便捷、安全性好、数据容量大、成本低廉的特点,是传统手工记账等管理方式无法比拟的,可为企业节省大量的人力、物力。
企业固定资产管理系统采用自顶向下扩展层次的设计策略,功能层次设计采用模块化思想,结构图如图1所示,包括以下几个模块:
资产入库模块:主要由固定资产采购、审核入库、借出归还三个子模块构成。固定资产采购模块实现对企业所购的固定资产的种类、数量、金额、供应商、负责人、操作员等信息进行登记,管理人员通过审核入库子模块对采购后需进行入库信息登记的固定资产进行审核,审核结果录入系统并生成入库单号。借出归还子模块负责统计企业各部门间固定资产调度过程中出借固定资产的归还情况。
资产出库模块:主要由部门领用、固定资产借出、借出审核三个子模块构成。在部门领用模块录入领用固定资产的编号、供应商、单价和总计金额、领用及现有库存数量、部门名称、负责人等基本信息,更好的实现对企业各个部门领用信息的统计与管理。固定资产出借模块登记出借固定资产名称、供应商、领用数量、金额、工作单位、联系电话等基本信息并生成出借单号,用于统计借出固定资产信息,规范各子公司、分公司以及各部门间固定资产调度情况,便于借出固定资产查询。借出审核模块由管理员对各单位出借固定资产申请进行审核,审核通过后固定资产出借成功。
资产处理模块:由资产盘点、资产报损两个子模块构成。资产盘点模块显示库存所有固定资产的名称、型号、供应商、单价、使用及库存状况等信息并生成盘点表。资产报损模块对报损固定资产编号、供应商、单价、所属部门、报损数量、报损原因等基本信息进行记录。
图1 企业固定资产管理系统功能结构图
查询统计模块:由采购单查询、入库查询、部门领用查询、部门领用汇总、部门报损查询、部门报损汇总、借出查询、部门汇总八个子模块构成。各个查询统计子模块均可通过固定资产的采购单据号、采购时间、供应商、操作员等基本条件,对固定资产归属情况、入库状态、各部门领用、报损、借出,部门等使用情况等进行统计、查询、汇总。
基础信息模块:由供应商管理模快、固定资产管理、部门管理三个子模块构成。供应商管理子模块对供应商名称、地址、电话等基础信息进行登记统计。固定资产管理子模块登记固定资产的名称、型号、供应商、单价等信息用于对企业所购入的固定资产种类进行统计。部门管理子模块用于统计单位中个部门的名称、电话等信息。
系统管理模块:由用户管理子模块和系统初始化模块构成。系统管理员为本系统最大权限所有者,可通过用户管理子模块可进行用户增加删改、与权限分配等操作,将普通用户与固定资产采购、审核、出借、归还、报损等流向状态进行绑定,使固定资产信息的每一次变动都可落实到个人。系统初始化子模块可用于清空数据库所有列表信息。
其他模块:重新登录子模块和修改密码子模块。重新登陆子模块便于一人分管多个用户账号的使用者快捷切换账号登录系统。当前登录用户可根据需求通过修改密码子模块更改系统设置的初始密码,增强系统的安全性。
企业固定资产管理系统需要使用数据库存储固定资产管理过程中的所有信息。SQL Server数据库具有安全性、IT管理功能、快速数据探索和数据可视化等多种优秀功能,使得该数据库性能优越,使用便捷。鉴于固定资产调度与管理过程中数据信息量庞大、安全性及成本等多方面原因,选择其作为本系统的后台数据库,数据库名称为db_Material,因数据表较多,只展示主要表结构,其数据库关系图如图2所示。
其中tb branch为部门信息表,用于存储企业部门名称、联系方式等详细信息;tb damage为固定资产报损信息表,用于存储各部门报损固定资产名称、型号、单价,报损原因等详细信息;tb getUse为部门领用信息表,用于存储各部门固定资产领用种类、数量、使用人等信息;tb goods为固定资产信息汇总表,用于存储固定资产种类、数量、单价、供应商等信息;tb loan借出信息表,用于存储借出固定资产单据信息,包含出借的固定资产单据号、借用固定资产种类、使用人等;tb provider供应商信息表,用于存储供应商名称、地址、邮政编号、联系人等详细信息;tb stock detail为固定资产明细表,用于存储固定资产名称、供应商、单价等详细信息;tb stock main采购主表,用于储存采购固定资产单据详细信息,包括生成的采购单据号、采购物品种类、数量以及单价等。以供应商信息表为例,其表结构如表1所示,其他信息表的数据类型、字段大小分配等与之类似。
图2 SQL Server主要数据表关系图
表1 供应商信息结构表
图3 企业固定资产管理系统登陆界面
图4 系统管理员登陆显示界面
图5 系统管理员用户管理界面
图6 普通用户登录显示界面
本系统的程序设计采用SSH框架,系统层次清晰,便于维护、更新和复用。在Struts+Spring+Hibernate架构设计中,action负责程序和网页间的跳转和数据传输,ActionForm中的信息与页面各功能模块以及数据库中供应商信息表、固定资产采购主表、借出信息表、部门报损信息表等数据表相对应。接收到页面设计的各模块输入、变更的数据信息后先保存至ActionForm中,Action调用逻辑层代码进行数据处理,JSP文件通过Struts标签对存储在ActionForm的数据进行读取修改后,对网页信息进行重置更新。采用Hibernate架构实现的DAO(Data Access Objects)类,用于实现SQL Server数据库的驱动、链接、增加、删改等操作。Dao类中使用static关键字定义静态方法,因此不需要创建对象即可直接调用类中的所有数据库操作方法。Spring主要负责解耦以及连接Struts和Hibernate,设置应用环境中xml文件后可在Action中直接调用。此时,即可在Spring中实现Hibernate对SQL Server2012数据库的连接、查询、删改等操作。
在MyEclipse中配置并连接Tomcat后打开浏览器输入网址:http://localhost:8081/Material/,进入企业固定资产管理系统登陆界面,如图3所示。
输入用户名称和密码后进入企业固定资产管理系统后,系统管理员和普通职员分别有不同权限查阅、编辑系统信息,可由系统管理员进行权限分配,系统管理员登陆后显示界面如图4所示,包含资产入库、资产出库、资产处理、查询统计、基础信息等全部主模块和对应子模块。
系统管理员可通过系统管理模块中的用户管理子模块添加、删除、修改普通员工用户信息并进行权限分配,如图5所示。普通用户可根据权限在企业固定资产管理系统中进行资产入库、出库、盘点、借出、归还、报损等操作。进行权限设置后普通用户登录界面如图6所示。
总结:本文设计的企业固定资产管理系统经测试可实现企业固定资产入库、出库、资产处理、查询统计等功能结构图中所示的所有功能。相较于传统手工记账等方式,本系统可对固定资产进行便捷、高效的正规流程化管理,节约了人力、物力和资金,大幅提升安全性和保密性。固定资产管理系统作为现代企业运营管理系统化、正规化和信息化的一部分,有助于提高企业管理效率、经济效益以及行业竞争力,并高度符合国家十四五规划中,增强企业信息化建设的战略规划。