铁路站段材料管理系统的开发
2014-05-11张陛博
张陛博
(北京邮电大学,信息与通信工程学院,北京 100876)
目前,经过多次改革,全路形成了许多一个铁路局一个站段的格局。站段管理跨度与铁路局的跨度一致,管理跨度大,造成了材料管理难,成本高的问题。管理难的问题突出表现在材料统计难,站段对车间材料的计划、发放和库存掌握不准。成本高突出表现在材料运送成本的增加。
系统的开发将改变传统的站段材料管理模式。系统应用后,站段依据批准的材料计划,集中采购后,由供货商直接发货给车间,车间对到货进行验货点收,通过系统完成统计上报。系统开发的意义在于站段通过系统对材料实施管理,达到管理有序高效,节约成本的目的。
1 开发的目的
(1)建立统一的材料管理信息平台。建立与站段材料数据的联系,准确、快捷的获取车间、班组材料数据。提高仓库管理的质量和效率,降低仓库管理的成本。以合理的库存量控制库存和采购、以及其他的库存收发。(2)实现材料的全面性管理。通过对所属车间、班组材料信息的汇总,保证站段及时、准确的掌握所属车间、班组材料的变动情况。集成性强、具有对站段内部材料供应链整合的能力和库存的实时跟踪与监控。(3)为站段提供材料分析管理工具。依据决策要求提供材料统计、分析数据,以报表形式表现。具有先进的管理理念和前瞻性思想;实现数据按需统计;减轻材料管理人员工作强度;操作简单易用。(4)系统投入使用后,为站段和所属车间、班组的材料计划、采购、发放和调配提供集约化管理的手段。
2 开发过程
2.1 开发环境
系统结构:B/S结构;
数据库系统:MY SQL 5.5;
数据库连接方式:C3P0;
工具:myeclipse-8.5.0;PowerDesigner15。
2.2 功能模块设计
统一描述材料:站段要求系统对下属车间、班组的材料进行统一描述,规范材料的基本编码、属性定义、描述范围,规定材料汇总的方式,并全面地展现全段的材料情况。
统计分析数据:分析系统获取段、车间、班组的材料信息,对各阶段的材料情况进行分析,实现材料的全面管理,及时、准确地对相关材料进行跟踪分析,帮助车间、班组进行材料的优化管理,为车间、班组材料管理提供数据。
系统报表管理:能产生进销存类报表:库存月报表。能产生库存出入库汇总、出入库明细、库存报警 。 各个报表之间有着相互补充,很多报表又可以穿透查询具体的明细报表、单据,构成了一个较为完整和系统的报表体系,而且这些报表可以直接打印或导出到Excel中 。
实行角色管理:在超级管理员身份下可建立各身份管理员。系统管理分为4层:决策层、管理层、支出层1、支出层2。
2.3 系统架构设计
系统基于成熟的JavaEE平台,采用B/S 应用模式。支持Serv let2.3、XM L、HTM L、CSS、RSS等业界标准技术规范。
站段需要提高材料管理时效,降低管理成本,缩短计划、采购、发放之间的响应时间,这就需要存在一种简捷、快速的应用服务于站段、车间和班组之间。具体来说,提供这些服务的应用软件必须同信息系统相结合。这些服务要具备以下的特点:
(1)高可用性:来满足现在的大跨度管理。
(2)安全性:保护站段、车间和班组的数据和这些数据的安全。
(3)可依赖性和可扩展性:保证管理信息的正确和迅捷。
系统建设项目采用JavaEE技术,以利用其优秀的扩展能力和跨平台集成能力,建设一个高效、开放、易于维护的材料管理系统。
底层的数据库将首选mY SQL数据库,由于采用了DAO设计模式,可以使系统支持多种数据库服务器,如:mS SQL SERVER、Oracle等各种标准的服务器。这样可以使系统在进行数据库服务器迁移或者改造时,只需进行很少或者不需要进行改动。
2.4 数据库设计
2.4.1 建立数据库
本设计用MY SQL5.5作为数据库管理系统,在MY SQL中创建一个名为mms的数据库。
2.4.2 数据库命名规范
通过严格的命名规范,保证数据库设计的可读性和规范化管理。
(1)数据库表: 根据表所属的子系统/模块,命名方式为: 数据库表名 = 子系统_模块。
(2)表字段:概念模型中,每个数据库中为每个表定义唯一的缩写 字段名为多个单词的组合时,单词的首字母大写。
(3)索引: 索引名 = Idx + _ + 表缩写 + 相关字段/索引含义。
(4)关联: 关联指数据库表之间的外键关系,关联名 = rl + _ + 主表 + 从表 (首字母大写)。
(5)存储过程:存储过程名 = proc + _ + 存储过程含义(首字母大写)。
2.4.3 系统业务模块数据库物理模型
根据功能模块设计和数据库命名规范建立如下系统业务模块数据库物理模型:材料表、仓库表、支出表、审批表、申请表、申请单材料表、反馈单材料表、反馈单表。
2.4.4 主要数据表设计
其中材料表、仓库表、支出表如表1、表2和表3所示。
表1 材料表(rail_material)
表2 仓库表(rail_storage)
表3 支出表(rail_payments)
2.5 核心功能模块设计
2.5.1 信息安全设计
材料管理系统涉及站段成本管理,不可随意外泄,必须通过细化权限控制和权限运行机制来完成。系统从以下方面进行权限控制:
(1)细化权限实体
系统从菜单权限、操作权限、记录权限进行精细化控制 。
(2)灵活的权限分配机制
权限设计的核心是一个用户需要拥有权限,而权限实体又是一个抽象、数据比较多的对象,因此,在系统设计中,我们不通过直接给用户分配权限,而是通过角色获取权限,或者给管理员分配权限,用户通过自己所在组织继承权限。但是在权限控制灵活性要求高的部分,也需要直接给用户或者部门直接分配权限。
(3)权限控制
有了细化的权限和灵活的权限分配还不能进行排它性访问控制,那么就需要权限控制。系统通过界面元素控制、登录访问过滤、控制层访问拦截实现排它性访问控制。
系统通过工具类和界面元素,达到权限控制的作用。如果一个用户没有一个菜单或者按钮权限的访问权限,系统就不会显示这个按钮、用户体验号。
系统通过过滤器控制非法访问。
有了以上控制还不能排除非法访问,还要进一步进行权限识别。系统采用struts2的拦截器技术,对来自显示层的每一个请求或者非法访问进行拦截。
2.5.2 性能优化设计
为了快速响应系统数据请求,提高系统性能,系统采取缓存机制。在建立强大的缓存机制的同时,设计使用率高的的工具类,方便快速读取缓存。
获取缓存数据类:
package com.lyrss.basic.sys.cache.service.impl;
import com.lyrss.basic.sys.cache.SysCache;
import com.lyrss.basic.sys.cache.service.Cache-Service;
import com.lyrss.basic.util.CacheUtil;
import java.util.List;
import net.sf.json.JSONA rray;
import net.sf.json.JSONObject;
import org.apache.log4j.Logger;
pub lic c lass CacheServiceIm p lim p lements CacheService{
private static Logger log =Logger.getLogger(C acheServiceImpl.class);
public String getCacheList(){
List syscacheList = CacheUtil.getA llObjFrom-Cache();
JSONObject jsonObj = new JSONO-bject();
jsonObj.put("total", new Integer-(syscacheList.size()));
JSONArray jsonArray = new JSONA-rray();
for (int i = 0; i < syscacheList.size(); ++i) {
Sy sCach e sy sCache = (Sy s-Cache)syscac-heList.get(i);
JSONObject jsonRow Ob j = new JSONObject();
jsonRowObj.put("id", i + 1);
jsonRowObj.put("key", sysCache.getKey());
log.debug("key:" + sysCache.getKey() + " and value:" + sysCache.getValue() + "and cacheName:" + sysCache.getCacheName());
jsonRow Ob j.put("cache-Nam e",sysCache.getCacheName());
jsonA rray.add(jsonRow-Obj);
}
jsonObj.put("row s", jsonA rray);
return jsonObj.toString();
}
}
3 结束语
铁路站段材料管理信息系统经过现场运用,达到开发的目的。材料管理事关站段成本核算的大事,精细化的管理不仅是一个企业管理水平的体现,更重要的是降低成本,提高效益的需要。企业追求效益最大化,材料精细化管理是重要的一个环节。该系统的开发,为管理地域跨度大的站段在应急材料、设备、电路等方面的管理提供了参考,是铁路信息化在管理方面的延伸。
[1] 李春葆,曾 平.数据库原理与应用[M].北京:清华大学出版社,2005.
[2] 王 珊,萨师煊.数据库系统概论[M]. 4版.北京:高等教育出版社,2006,5.
[3] 李代平.软件工程[M]. 2版.北京:冶金工业出版社,2006,11.