趙衛東 張冰冰

摘 ?要: 針對目前設備運維物資管理部門信息資源共享難、庫存管理單一和采購管理過程復雜等問題,根據物資信息管理的需求特點,采用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).