基于SSH的设备运维物资管理系统的设计与实现
2019-10-08赵卫东张冰冰
赵卫东 张冰冰
摘 要: 针对目前设备运维物资管理部门信息资源共享难、库存管理单一和采购管理过程复杂等问题,根据物资信息管理的需求特点,采用C/S架构和SQL技术+SSH(Struts[1]+Spring[2]+Hibernate[3])框架,构建了基于SSH的设备运维物资管理系统平台,给出SSH框架的组合及其体系结构, 并分析了其中的表示层、业务层、持久层、域模型层的功能, 详细描述了软件系统的运行流程[4]。SSH 框架有效减小了系统各层次间的耦合,并提高了本系统的实用性与可复用性[5]。实验测试结果显示, 该系统能够稳定运行, 满足设计要求。该系统实现了物资计划管理、物资类别管理、采购管理及库存管理等功能,减少了运营成本,提高了工作效率。
关键词: 物资管理,信息共享,C/S,SSH框架,实用性,复用性
中图分类号: TP311.5 文献标识码: A DOI:10.3969/j.issn.1003-6970.2019.06.044
本文著录格式:赵卫东,张冰冰. 基于SSH的设备运维物资管理系统的设计与实现[J]. 软件,2019,40(6):191196
【Abstract】: In view of the difficulty in sharing information resources of equipment operation and maintenance materials management equipment, single inventory management and complex procurement management process, according to the demand characteristics of material information management, C/S architecture and SQL technology + SSH (Struts[1]+Spring[2]+Hibernate[3]) framework, built a SSH-based equipment operation and maintenance material management system platform, gave the combination of SSH framework and its architecture, and analyzed the presentation layer, business layer, persistence layer, domain model. The function of the layer describes in detail the running process of the software system[4]. The SSH framework effectively reduces the coupling between the various layers of the system and improves the usability and reusability of the system[5]. Experimental test results show that the system can run stably and meet the design requirements. The system realizes the functions of material plan management, material category management, procurement management and inventory management, which reduces operating costs and improves work efficiency.
【Key words】: Material management; Information sharing; C/S; SSH framework; Practicality; Reusability
0 引言
面對激烈的市场竞争,信息系统已经成为企业提升竞争力的重要手段,各种信息系统被广泛应用于企业的各业务领域[6-7]。物资信息系统是企业内部按照物资业务流程进行信息化管理的过程,目的是保证物资采购过程的规范化、物资信息的共享化, 并对物资各个流程进行有效地控制和统计[8]。
目前,传统的物资管理效率普遍不高,效果差,管理方式水平低,已经不足以满足现在公司物资管理正规化、制度化和信息化的需求。传统的物资管理主要存在几大问题:物资数据采用手工记账的方式,无法及时获得准确有效的库存物资信息,不便于公司领导获取数据依据;对物资库存信息不能实时监控,导致公司人员对物资消耗情况的了解出现延误,不能及时补充库存;物资采购流程混乱,没有明确的采购流程。
因此,为解决上述问题,研究和探究设备运维物资管理的信息化、规范化,本文提出了全新的设备运维物资管理系统,运用Visual Studio 2010可视化集成环境[9],使用C#语言对设备运维物资管理系统进行软件开发。其采用Struts框架来搭建系统基础架构,采Hibernate框架进行数据库操作,并利用Spring框架实现对Struts和Hibernate的管理[10]。
1 相关工具与技术介绍
1.1 SSH框架
本文系统是以MVC(模型Model,视图View和控制Controller)架构中经典的SSH框架进行开发[11]。SSH框架[12-13]是目前比较流行的一种网络应用程序开源框架,其集成了Struts,Spring,Hibernate框架,将应用程序分为表示层、业务逻辑层、数据持久层以及域模块层[14]。Struts框架是基于MVC(model-view-controller)模式的框架,是一个免费开源的Web层的应用框架,其作为整个应用系统的基础框架,对于模型方面,其作用于协调业务的跳转,模型表示企业数据和业务规则[15]。Spring框架是在J2EE的基础上实现的一个轻量J2EE框架。它服务于所有层面的应用程序,提供了Bean的配置基础、AOP的支持、JDBC提取框架、抽象事务支持等,它还有效地组织了系统中的中间层对象,消除了组件对象创建与使用耦合紧密的问题。Hibernate是一个开源的对象关系映射框架,它对JDBC(Java Data Base Connectivity,java数据库连接)进行了轻量级的对象封装,系统通过Hibernate框架实现数据库的新增、修改、删除和查看等操作,大大简化了数据访问层繁琐的重复性代码[16]。SSH的框架结构如图1所示。
1.2 Microsoft Visual Studio 2010
Microsoft Visual Studio(简称VS)是美国微软公司的开发工具包系列产品[17]。Visual Studio的可视化功能非常的强大,这可以给用户一种视觉美的效果,并且减少了一些不必要的代码的书写,大大的提高了用户的编码速度。采用该平台能够灵活、自主、方便、快捷的对本系统进行开发。
Visual Studio 2010可以自己定义开始页,而且相对于老版本,还加入了一些新的功能。用户操作简单,很轻松就能为用户实现一个可视化的页面。它具有的新的代码阅读器可以使代码更容易阅读。
2 需求分析与系统设计
2.1 组织机构与分工
设备运维物资管理是由总经理、专业技术公司、技术物资副总、班组长、物资采购管理员和物管中心管理员共同负责的,各主要岗位的职责如表1所示。
2.2 物资管理流程
在整个物资管理的日常工作中可能有物资需求,包括采购入库和领料出库、借用工机具等。采购入库的工作流程如图2所示。
业务流程详细描述如下:
各班组在有物资需求而物资不足的情况下,向车间提出物资需求,车间负责汇总各班组的需求,提交到物管中心,制定出采购计划,领导审核通过后,执行采购入库。其中领料出库和借用工机具的流程与之相似。
2.3 系统功能需求分析
通过对大量物资管理方案的分析研究,结合物资管理的结构和功能,将设备运维物资管理系统划
分为物资类别管理、物资采购、出入库管理和系统管理4个功能模块。物资类别管理是对仓库里的物资进行分类,可对物资的类别进行新增、修改、查詢和删除等操作;物资采购模块包括提出物资采购单、审批采购单和采购物资;物资的出入库管理主要包括对主材,辅材的出入库以及工机具的借用和归还管理;系统管理模块包括人事资源管理和修改个人用户密码等。设备运维物资管理系统功能模块构成如图3所示。
2.4 数据库设计
根据系统的功能需求,建立一个名为material- management的数据库,并在数据库中建立相关的 表[18],因设计的表较多,只显示主要表结构。物资表(material):存放物资的具体信息。主要包括名称,规格型号,管理界别,库存数量,库存阈值和库存位置。借用单(borrowing):存放借用工机具的具体信息。主要包括工机具名称,数量,借用时间,备注。入库单、出库单、入库明细和出库明细等表与其相似。如图4所示。
3 系统主要模块实现
本章主要描述了系统主要模块的界面的实现,对用户登录、物资的类别管理、具体物资管理、物资的采购管理、借用工机具管理等模块的主要运行界面详细设计及运行进行了介绍。
3.1 用户登录模块
设备运维物资管理系统用户主要分为两大类别:系统管理员和普通用户。系统管理员登录成功后可以对企业与物资管理有关的员工进行管理,普通用户登录成功后,只能执行属于自己权限的操作。登陆界面如图5所示。
重要代码如下:
Try{
SqlDataReader count = DbHelperSQL. ExecuteReader ("select id,username,name,ztai from t_user where username='" + userName + "' and password='" + PassWord + "'");
if (count.HasRows)
{
try
{
if ("1".Equals(zddl))
{
jzmm = "1";
}
DES des = new DES();
ini.WriteString("config", "dl_password", des. Encrypt(passWord));
//加密后放入
ini.WriteString("config", "dl_jzmm", jzmm);
ini.WriteString("config", "dl_zddl", zddl);
if ("".Equals(jzmm))
{
ini.WriteString("config", "dl_password", "");
}
}
}
3.2 物资管理模块
物资管理主要包括采购物资,查看物资库存和物资使用流水等工作。采购物资需要填写物资采购申请单,如图6所示。
重要代码如下:
gllb1 = dtvu1.textToid(gllb);
//当前时间
DateTime tjsj1 = DateTime.Now;
String tjsj = tjsj1.ToString("yyyy-MM-dd HH:mm:ss");
DialogResult dr = XtraMessageBox.Show("确定提交采购申请吗", "提交采购申请", messButton);
if (dr == DialogResult.OK) {
//如果点击确定,按按钮
try
{tring sql = "insert into t_progress(dictype,dicvalue, count,sqr,scshr,sqlx,progress,remarks,sqsj,phone) values('" + gllb1 + "','" + gllbz1 + "','" + gllbsl + "','" + Login.LoginForm.loginid + "','" + Login.LoginForm. loginid + "','" + 4 + "','" + 7 + "','" + beizhu + "','" + tjsj + "','" + phone + "')";//向数据库中添加数据
int count = DbHelperSQL.ExecuteSql(sql);
if (count > 0)
{
XtraMessageBox.Show("成功添加采购申请", "提示", MessageBoxButtons.OK, MessageBoxIcon.Infor?mation);
this.DialogResult = DialogResult.OK;//窗口关闭
this.Close();
}
else
{
XtraMessageBox.Show("添加失败,请重新添加", "提示",MessageBoxButtons.YesNo, MessageBoxIcon.Information);
}
}
3.3 班组长提出需求申请模块
班组员工在车间工作时,需要使用车间没有的工机具时,由该班组长向物管中心借用。在借用的工機具之前,班组长首先是要填写借用单。如图8所示。
重要代码如下:
String gllb = comboBoxGllb.SelectedItem.ToString(). Trim();//管理类别
String gllbz = comboBoxGllbz.SelectedItem. ToString(). Trim();//管理类别值
//判断是否为空
if (string.IsNullOrEmpty(gllb))
{
XtraMessageBox.Show("管理类别不能为空!");
return;
}
else if (string.IsNullOrEmpty(gllbz))
{
XtraMessageBox.Show("管理类别值不能为空!");
return;
}
//判断管理类别
gllb1 = dtvu1.textToid(gllb);//当前时间
DateTime tjsj1 = DateTime.Now;
String tjsj = tjsj1.ToString("yyyy-MM-dd HH:mm:ss");
DialogResult dr = XtraMessageBox.Show("确定要添加吗", "添加申请成功", messButton);
if (dr == DialogResult.OK)//如果点击确定
{
try
{
String sql = "insert into t_progress(dictype,dicvalue, count,sqr,scshr,sqlx,progress,remarks,sqsj,phone) values('" + gllb1 + "','" + gllbz1 + "','" + gllbsl + "','" + Login.LoginForm.loginid + "','" + Login.LoginForm. loginid + "','" + 2 + "','" + 1 + "','" + beizhu + "','" + tjsj + "','" + phone + "')";//向数据库中添加数据
int count = DbHelperSQL.ExecuteSql(sql);
if (count > 0)
{
XtraMessageBox.Show("成功添加申请", "提示", MessageBoxButtons.OK,
MessageBoxIcon. Information);
this.DialogResult = DialogResult.OK;//窗口关闭
this.Close();
}
else
{
XtraMessageBox.Show("添加失败,请重新添加", "提示", MessageBoxButtons.YesNo,
MessageBoxIcon.Information);
}
}
4 结语
本文提出的设备运维物资管理系统,实现了物资计划管理、物资类别管理、采购管理及库存管理等功能。研究结果表现,采用该系统对物资进行科学而高效的管理,节约了人力、物力和资金,提高工作效率,全方面促进了公司的可持续发展。
参考文献
[1] 杜景林, 喻亚楠. 基于SSH框架的NC数据可视化验证系统研究[J]. 现代电子技术, 2018, 41(02): 166-169.
[2] 倪天文, 季刚. 基于XML和Spring框架的参数化建模[J]. 中国造船, 2018, 59(03): 171-177.
[3] 杨刚. 基于Struts+Hibernate+Spring框架的信息管理系统的研究和实现[D]. 武汉理工大学, 2010.
[4] 刘正, 张书锋, 赵鹤鸣. MVC模式下多层分布式软件系统架构设计[J]. 现代电子技术, 2018, 41(07): 135-139+146.
[5] 王宇. 基于SSH的高校体育物资管理系统的设计与实现[J]. 电子设计工程, 2016, 24(21): 85-87+91.
[6] 陈猛, 刘和福, 魏少波. IT能力与市场响应性的关系研究[J]. 管理学报, 2015, 12(07): 1088-1096.
[7] 朱宗乾, 贾义伍. 云ERP服务模式分类影响因素的探索性研究[J]. 管理学报, 2016, 13(08): 1233-1240.
[8] 王素云, 李阳. 强化物资管理信息化 提高物资管理水平[J]. 铁路采购与物流, 2013, 8(11): 97-98.
[9] 曹营修, 郑雨昊, 郑立评, 朱建杰. 基于Visual C#. NET的火炮窥膛录像软件研究与实现[J]. 现代电子技术, 2018, 41(22): 45-48.
[10] 尹本雄. 基于SSH框架的视频教学系统的开发与设计[J]. 现代电子技术, 2018, 41(12): 95-98.
[11] 李天賜, 余海情. 基于SSH框架试题系统的设计与实现[J]. 软件, 2018, 39(6): 74-77
[12] 张建军, 刘虎, 倪芳英. 基于SSH与Highcharts整合架构的Web应用研究[J]. 计算机技术与发展, 2013, 23(09): 245-247+251.
[13] 韩江. 基于SSH2架构的Java Web通用权限管理的设计[J]. 智能计算机与应用, 2014, 4(02): 114-116.
[14] 欧阳宏基, 葛萌. 基于Struts2与Hibernate框架的Java Web应用研究[J]. 自动化技术与应用, 2016, 35(02): 48-52.
[15] 王雪梅, 郭丽娜. 基于SSH 的在线考试系统的设计与实现[J]. 软件, 2015, 36(12): 132-136
[16] 魏圆圆, 王雪, 王儒敬, et al. 基于WebGIS的农场生产管理信息系统的设计与实现[J]. 农业工程学报, 2018, v. 34;No. 343(16): 147-155.
[17] 曾轩哲, 张志东, 王麒麟, 唐顺东, 唐毅. 基于Microsoft Visual Studio 2010开发的井控装置自动试压检测系统[J]. 钻采工艺, 2014, 37(05): 82-83+100+11.
[18] 安梦生, 席倩. 基于ThinkPHP的问答系统设计与实现[J]. 软件导刊, 2018(12).