电力物资管理系统的设计与实现

(整期优先)网络出版时间:2020-10-12
/ 2

电力物资管理系统的设计与实现

田卫东

国网山西省电力公司阳泉供电公司 山西省阳泉市 045000

摘要:随着社会的不断发展和进步电力物资的种类越来越多,物资的供应形式也在不断革新,种类繁多的电力物资设施和推陈出新的电力物资供应方式给现代电力物资管理带来了诸多困难。随着互联网时代的到来,各类信息管理系统层出不穷,这些系统具有管理效率高、安全性好、检索速度快、适应性强等优点,在数据信息管理方面能够为广大用户提供诸多便利。为了解决传统的电力物资管理方式人力资源消耗大,管理方式陈旧、效率不高,以及物资入库和出库数据丢失、物资信息检索速度慢、准确性差等不足等问题。本文设计并实现了现代化电力物资综合管理系统。

关键词:电力物资;管理;系统设计;解决对策

1系统架构介绍

1.1C/S 架构介绍

C/S(Client/Server)架构的提出和应用比较早,最早的单机游戏就是基于 C/S 架构研发的。C/S 架构的软件在应用前需要将软件的所有程序下载到本地,在本地进行各类数据的储存、更新、查找等工作。这种 C/S 架构下实现的软件产品通常适用于小范围的工作场景,因为,软件应用过程中的数据交互是通过本地路由实现的。C/S架构的优点之一是安全性较高,因为该架构下的软件或系统的访问受限于本地服务器下计算机终端,外来用户无法访问。而且,在数据传输过程中 C/S 架构下的软件数据传输是不是需要互网宽带和服务器的,因此,数据的传输速度相对较快。由于 C/S 架构下的软件产品的应用范围较小,因此,该范围对的工作人员对该架构下的软件应用时间越长对这种软件的依赖性也越强,软件的应用可持续性较好。然而,C/S 架构也存在一些不足之处。例如,C/S 架构下的各软件在系统升级时,每一个软件的终端都需要重新下载并更新相关软件配置,给用户带来了较大的时间和人力开销。由于 C/S 架构是针对本地客户的,系统在研发过程中不需要考虑过多的其他情况,因此,C/S 架构下的软件或系统表现方式有限,不能适应多样化的访问请求。也正是因为 C/S 架构下的软件产品不能通过浏览器访问,导致软件的地域分散性较差,软件应用的普及难度较大。

1.2 B/S 架构介绍

B/S(Browser/Server)架构顾名思义是可以通过浏览器访问的软件产品或系统[16]。如各单位的门户网站等都是基于 B/S 架构实现的,其主要目的是希望访客通过网络对该公司有更我的了解。相对于 C/S 架构而言,B/S 架构在应用区域上较广,用户可以在任何地方通过网络对相关软件产品和系统进行访问,一般只要有操作系统和浏览器就可以对 B/S 架构下的软件产品和系统进行访问。考虑到 B/S 架构的安全需求对 B/S架构的相关软件或系统的研发一般都建立在更加优化的基础之上。例如,Sun 公司和IBM 公司推出的 JavaBean 等技术使 B/S 架构下的系统研发更为成熟。对 B/S 架构的系统维护相对较为简单,用户不需要在本地进行安装升级,只要研发人员在服务器端将系统相关功能程序进行更新即可。因此,B/S 架构的主要优点之一就是易于维护。正因为维护相对较为容易,B/S 架构下的软件研发成本也相对较低。由于 B/S 架构下的软件产品应用地域较为广泛,这种架构下的软件或系统产品容易普及。由于 B/S 架构是建立在互联网基础之上的,该架构的安全性相对较弱,因为,很可能有未知用户对该架构下的软件或系统进行访问或恶意攻击。就目前形式而言,市面上绝大多数的软件产品和系统都是基础 B/S 架构的,本文系统也以 B/S 为主要架构实现对系统各功能的研发。

2系统设计

2.1 系统结构设计

本管理平台的网络架构图基于 B/S(浏览器 /服务器)网络架构模式进行设计,分为内部局域网和外部公网两部分。 因涉及信息安全,主要业务在国家电网的局域网下进行;外网环境下主要在微信公众号上进行消息的单播和广播。

本系统采用 SSM(Spring+SpringMVC+MyBatis)框架,目前使用最广泛的 Java Web 框架,前端 UI 采用 jQuery EasyUI技术,数据库采用 MySQL 数据库。

2.2 系统模块功能

本系统分 PC 端和微信端。 从业务层面上,PC 端可分为三部分:年度物资计划、物资需求计划、物资供应计划。 从系统应用角度上考虑,这里将系统分成了 6 个功能模块:系统设置、基础数据维护、年度物资计划管理、物资需求计划管理、物资供应计划管理。

2.2.1系统设置

此模块主要用于系统用户管理和权限配置,分为用户管理、单位管理、角色管理三部分。

2.2.2基础数据维护

此模块包括典设方案、物资采购周期、重要物资和规则管理几部分。1)典设方案:维护标准工程物资清单,主要用于年度物资计划模块与项目里程碑中项目信息进行挂接,以工程电压等级、工程性质、建设性质三个字段为媒介。2)物 资采 购 周 期 :此 部 分 存 放 着 各 种 不 同 规 格 型 号 的物 资的采购信息。3)重要物资:此部分存放重要物资信息,用于在关键节点跟踪或对比参照等。4)规 则 管 理 :此 部 分 用 于维护不 同 批 次 下 不 同 类型物 资 的最佳最迟申报批次、交货日期的运算规则。

2.2.3物资需求计划管理

此模块包括材料清册、已上报物资两部分。1)材料清册:此部分为本年度实际开展项目的物资,在与已上报物资部分比对并计算后需要提醒未上报的项目经理进行物资上报。2)已上报物资:存放已上报后的项目物资信息。

2.2.4微信端

微信端分为用户管理、广播、单播、数据同步四部分。1)用 户 管 理 :负 责 用 户 微 信 号 与 系统账号的绑定与解绑。2)广 播 :一对 多 模 式 ,消 息发 送 后 订阅此微信公众号的用户均可接收到。3)单播 :一对一 模 式 ,针 对 专 人 的 消 息 提 醒 ,此 处 用 于 对物资未上报的项目经理进行定时提醒。4)数据同步:因 PC 端在内网环境下,微信端使用数据 需要进行数据同步。

3关键技术的实现

3.1Shiro 权限管理

(1)Shiro 认证

在 Shiro 中, 用户进入系统需要提供 principals (身份)和credentials (证 明 ) 用 于 认 证 当 前 用 户 。 常 见 的 principals 和credentials 组合即是用户名 / 密码。图 5 是 Shiro 认证用户信息的认证流程图,系统将当前用户的 principals 和 credentials 信息封装至 token,调用 subject 的login()方 法 ,SecurityManager 收 到 请 求 ,委 托 给 Authenticator(认证器)处理,Authenticator 从 Realm 中获取身份信息,如果没有返回值或抛出异常表示身份认证失败。 若涉及多 Realm 身份认证,会调用到 AuthenticationStrategy(认证策略)。

(2)Shiro 授权

对于不同用户,Shiro 可以授予不同的访问权限。 在授权中有 几 个关键 对象:资源(Resource)、权限(Permission)、角 色(Role)。 资源是在系统中用户可以访问到的页面信息,权限决定能否访问到某个资源,角色是多个权限的集合,只有经过授权后相应角色的用户才能访问到资源。 当遇到需要授权才能访问时系统会调用 isPermitted/hasRole 接口,SecurityManag-er 收到请求, 委托给 Authorizer,Authorizer 在授权之前会调用相应的 Realm 判断当前用户是否具有相应的权限信息。 若有多个 Realm,会进行循环判断。

3.2基于 POI 的 Excel 文件导入

本系统的数据信息多由 Excel 文件导入, 因此对导入的要求比较高,需要保证安全性、容错性和原子性。 此外需满足 IE8内核浏览器访问、文件类型匹配、重复检测等多项需求,此处采用 POI 文件传输技术,在文件导入前做出各项预判检测。POI 文件传输技术是 Apache 的开放源码函 式 库 ,为 Java语言提供 API 实现了对 office 文件的读写功能, 其中 HSSF 提供读写 Microsoft Excel 格式档案(以.xls 为后缀的文件)的功能,XSSF 提供读写 Microsoft Excel OOXML 格式档案(.xlsx为后缀的文件)的功能。

结束语

本文介绍了电力物资管理系统的主要内容和关键技术,完成了供电公司物资供应中心提出的项目需求。 目前该系统已经正式投入运营,缓解了项目管理与物资管理之间的矛盾,建立消息提醒机制,提高了项目推进效率。

参考文献

[1]孔 德 煜. 电 力 企 业物 资集 约 化 管 理探究 [J]. 管 理 观 察 ,2018 (27):18-19

[2]杨洋.电力物资集约化管理模式研究[D].北京:华北电力大学,2011