国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Structs架構(gòu)的企業(yè)ERP設(shè)備系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

2022-06-10 06:12:34周阿連
關(guān)鍵詞:頁面按鈕組件

周阿連

(煙臺(tái)職業(yè)學(xué)院 信息工程系,山東 煙臺(tái) 264670)

0 引言

ERP主要用于企業(yè)管理,是以計(jì)算機(jī)信息技術(shù)為技術(shù)支撐,融合先進(jìn)的管理理念,涵蓋企業(yè)業(yè)務(wù)管理與流程優(yōu)化建設(shè)的管理信息系統(tǒng)平臺(tái)。對(duì)于企業(yè)生產(chǎn)經(jīng)營(yíng)管理而言,設(shè)備穩(wěn)定、無故障運(yùn)行是提高生產(chǎn)效率、實(shí)現(xiàn)經(jīng)營(yíng)目標(biāo)的關(guān)鍵所在。設(shè)備管理是企業(yè)經(jīng)營(yíng)發(fā)展的基礎(chǔ),契合企業(yè)管理需求且穩(wěn)定性高的設(shè)備管理系統(tǒng)是企業(yè)發(fā)展生產(chǎn)和實(shí)現(xiàn)設(shè)備全生命周期管理的有效抓手[1-2]。對(duì)于鋼鐵企業(yè)來說,尤其需要引入高效穩(wěn)定的設(shè)備管理系統(tǒng)。目前主流的系統(tǒng)通常采用基于J2EE平臺(tái)的Struts MVC架構(gòu),該框架最大的好處在于能夠完全實(shí)現(xiàn)MVC Model 2框架,結(jié)合程序配置管理,實(shí)現(xiàn)系統(tǒng)功能和應(yīng)用程序的配置化管理、可插拔擴(kuò)充功能[3]。Struts功能雖強(qiáng),但使用導(dǎo)入復(fù)雜[4]?;诖?在Struts的框架的基礎(chǔ)上,創(chuàng)新應(yīng)用提出了更為穩(wěn)定易用的Structs框架,同時(shí)簡(jiǎn)化系統(tǒng)設(shè)定及使用方式。本文以某鋼鐵企業(yè)ERP設(shè)備系統(tǒng)信息化建設(shè)為研究對(duì)象,以該系統(tǒng)報(bào)支模塊為代表,提出一種基于MVC模式的新型WEB應(yīng)用開發(fā)框架——Structs框架,并重點(diǎn)介紹了基于Struts框架基礎(chǔ)優(yōu)化前后臺(tái)傳輸手段、設(shè)置封裝對(duì)象,建立可配置的底層框架平臺(tái)等的Structs開發(fā)框架,并結(jié)合設(shè)備系統(tǒng)中的報(bào)支模塊詳細(xì)闡述了Structs框架的系統(tǒng)架構(gòu)、核心配置以及關(guān)鍵核心模塊的實(shí)現(xiàn)過程。

1 Structs架構(gòu)

1.1 MVC模式與Struts框架

MVC(Model-View-Controller framework)模式是較為經(jīng)典的JAVA開發(fā)模式,模型的框架示意如圖1所示[5-7],主要包括模型層(Model)、視圖層(View)以及控制器(Controller)三層架構(gòu)。模型層實(shí)現(xiàn)數(shù)據(jù)庫的存取以及邏輯控制和計(jì)算,視圖層為用戶輸入輸出界面,控制器實(shí)現(xiàn)模型層與視圖層信息的傳遞和基本邏輯處理。

圖1 MVC模型Fig.1 MVC model

Struts框架MVC模式的實(shí)現(xiàn)途徑,主要包括協(xié)作類、邏輯轉(zhuǎn)發(fā)Servlet以及JSP頁面標(biāo)記庫等構(gòu)成的可以復(fù)用的系統(tǒng)架構(gòu)。其優(yōu)勢(shì)在于靈活性高、復(fù)用度大,目前主流的Springboot、SpringMVC內(nèi)核均為該框架,該框架前后臺(tái)工作過程如圖2所示。

圖2 Struts的工作原理Fig.2 Working principle of Struts

Struts框架的典型優(yōu)勢(shì)包括模塊化、靈活性等,可以較好地表單驗(yàn)證設(shè)計(jì)以及可靈活配置文件。對(duì)于視圖層的表單驗(yàn)證功能可以有效地過濾問題數(shù)據(jù),利用配置文件進(jìn)行邏輯配置、程序配置、關(guān)系建立,使得系統(tǒng)維護(hù)、擴(kuò)展、調(diào)整更為靈活。該框架的局限在于視圖層與業(yè)務(wù)層之間的過度耦合,造成前端開發(fā)人員與后端開發(fā)人員無法解耦,不利于系統(tǒng)實(shí)現(xiàn)和技術(shù)解耦效率的提升。且通常配置文件過大,對(duì)于大型系統(tǒng)而言,開發(fā)和維護(hù)困難性也會(huì)增加,系統(tǒng)運(yùn)行風(fēng)險(xiǎn)也隨之提升[8-9]。

1.2 基于Sturts框架的Stucts架構(gòu)

考慮到Struts框架本身固有缺陷,對(duì)于大型鋼鐵企業(yè)設(shè)備管理系統(tǒng)而言,系統(tǒng)業(yè)務(wù)及用戶量都非常大。在系統(tǒng)建設(shè)過程中,提出了Structs框架,既保留了Struts框架的優(yōu)勢(shì),同時(shí)優(yōu)化了配置模塊,揚(yáng)長(zhǎng)避短。核心思想是簡(jiǎn)化表現(xiàn)層,解耦前后臺(tái)開發(fā)人員,采用Value Object(VO)框架對(duì)數(shù)據(jù)進(jìn)行封裝和傳遞,進(jìn)一步降低系統(tǒng)的復(fù)雜性。同時(shí)采用封裝標(biāo)準(zhǔn)進(jìn)一步驗(yàn)證該模塊準(zhǔn)確性,提升整體的處理效率,優(yōu)化整體的配置文件,降低系統(tǒng)的復(fù)雜度和運(yùn)行風(fēng)險(xiǎn)。圖3展示了Structs框架的設(shè)計(jì)模型。

圖3 Structs模型Fig.3 Structs model

2 系統(tǒng)的設(shè)計(jì)

2.1 功能模塊分析

該ERP設(shè)備系統(tǒng)主要包括以下功能:首先,根據(jù)公司下達(dá)的設(shè)備檢修計(jì)劃,生成年維修計(jì)劃,經(jīng)相關(guān)人員審核后,形成工作申請(qǐng)單,由檢修合同管理單位將工作申請(qǐng)單與合同掛接,由點(diǎn)檢員執(zhí)行審核后的工作申請(qǐng)單,最后由相關(guān)財(cái)務(wù)人員形成報(bào)支記錄。在工單執(zhí)行過程中,產(chǎn)生物料的入庫和出庫動(dòng)作。其次,該設(shè)備系統(tǒng)能夠?qū)υO(shè)備的停機(jī)故障以及維修履歷進(jìn)行記錄和統(tǒng)計(jì)。根據(jù)業(yè)務(wù)部門的實(shí)際需求,設(shè)備管理系統(tǒng)包括:1)設(shè)備基本資料管理模塊:對(duì)全公司的設(shè)備按廠別、產(chǎn)線、區(qū)域、部件進(jìn)行登記,形成設(shè)備定址碼,對(duì)設(shè)備和部件按各種業(yè)務(wù)類型進(jìn)行類別管理,以及生產(chǎn)或維修過程使用的油品資料的登記管理;2)修理預(yù)算模塊:建立預(yù)算,收集實(shí)支費(fèi)用,包括預(yù)算科目的建立,基于科目下的預(yù)算中心分年度的管理和成本中心關(guān)聯(lián)作業(yè),報(bào)支后的實(shí)支查詢工作;3)修理計(jì)劃模塊:主要功能為建立各種修理計(jì)劃,并對(duì)所建計(jì)劃審核形成工作申請(qǐng)單;4)工單執(zhí)行模塊:工作申請(qǐng)單的編制、審核、以及工作任務(wù)的執(zhí)行結(jié)案,同時(shí)還包括以工作任務(wù)單為基礎(chǔ)的合同結(jié)算報(bào)支模塊;5)庫房管理模塊:包括物料出庫/入庫管理、暫存料管理、庫存查詢等;6)停機(jī)故障查詢模塊:停機(jī)立案、審核、結(jié)案以及履歷登記、查詢和分析模塊;7)共用表格和配置管理模塊:該模塊主要對(duì)頁面選單、用戶授權(quán)、按鈕授權(quán)、報(bào)表參數(shù)等進(jìn)行基本設(shè)置,結(jié)合Structs框架封裝好的頁面按鈕級(jí)授權(quán)模式,實(shí)現(xiàn)用戶訪問系統(tǒng)及操作數(shù)據(jù)的權(quán)限。

2.2 程序框架設(shè)計(jì)

本系統(tǒng)采用基于Struts2的Structs 架構(gòu),方便地實(shí)現(xiàn)模塊化開發(fā)、提高代碼的重用性和維護(hù)性,以及充分考慮到系統(tǒng)的跨平臺(tái)等因素。架構(gòu)如圖4所示。

圖4 Strutcts架構(gòu)Fig.4 Strutcts architecture

圖4所示架構(gòu)中,每個(gè)程序以pages作為一個(gè)單元,分別處理每個(gè)page的action,一般是以button為觸發(fā)依據(jù),通過controller處理每個(gè)page的controller的完整className,最后通過convert處理每個(gè)page所包含的value object信息。具體的運(yùn)行流程圖,如圖5所示。

圖5 Structs運(yùn)行流程圖Fig.5 Flow chart of Structs operation

其核心為模塊化配置文件structs.xml。

1)以structs.xml 定義畫面與controller的對(duì)照,快速地找出負(fù)責(zé)該畫面的controller class。

2)以structs.xml定義button與controller的action method對(duì)照,快速地找出負(fù)責(zé)某按鈕的method。

3)透過structs.xml中的converter設(shè)定,簡(jiǎn)化畫面的表單數(shù)據(jù)轉(zhuǎn)換至value object 的過程。

4)可在structs.xml設(shè)定某action是否要進(jìn)行前端數(shù)據(jù)的有效性驗(yàn)證。

自2013年,智能家居就已經(jīng)“火”了起來,但當(dāng)時(shí),很多人認(rèn)為智能家居并沒有真正走入大眾的生活。如今,隨著智能技術(shù)的日新月異和智能產(chǎn)品的更新迭代,各類智能家居平臺(tái)先后涌起,各種智能解決方案也開始陸續(xù)涌現(xiàn),智能家居體系得到進(jìn)一步落實(shí)。2018年,智能家居不再停留在概念層面,人工智能、物聯(lián)網(wǎng)技術(shù)的成熟都推動(dòng)著智能家居從單品智能發(fā)展為系統(tǒng)智能,智能家居在不斷培育消費(fèi)者的使用習(xí)慣,潛力巨大。

5)前端視圖層用戶的輸入欄位是否只讀、按鈕可用與否等狀態(tài)的控制程序與前端解耦,交由后端的Controller程序?qū)崿F(xiàn),進(jìn)一步實(shí)現(xiàn)客戶端管理,提升系統(tǒng)的響應(yīng)速度和處理能力,以及程序代碼的復(fù)用。

3 系統(tǒng)實(shí)現(xiàn)

系統(tǒng)實(shí)現(xiàn)部分,以設(shè)備系統(tǒng)業(yè)務(wù)邏輯較為復(fù)雜、前端選單及驗(yàn)證較多的設(shè)備檢維修報(bào)支結(jié)算模塊功能為例,詳細(xì)闡述系統(tǒng)的實(shí)現(xiàn)過程,檢修合同結(jié)算報(bào)支模塊的頁面實(shí)現(xiàn)如圖6所示。系統(tǒng)實(shí)現(xiàn)包括前端View層JSP界面實(shí)現(xiàn)、后臺(tái)控制權(quán)限以及邏輯轉(zhuǎn)換組件等分模塊實(shí)現(xiàn)。

圖6 設(shè)備檢修費(fèi)結(jié)算報(bào)支模塊實(shí)現(xiàn)圖Fig.6 The implementation diagram of the equipment maintenance fee settlement reporting module

3.1 View組件

View組件由一個(gè)JSP頁面、VO類和檢驗(yàn)畫面輸入的數(shù)據(jù)scrcrl類構(gòu)成,通過Structs框架中的一系列關(guān)鍵的組件和配置文件實(shí)現(xiàn)View與后臺(tái)的傳輸。Structs封裝了自定義JSP標(biāo)記庫,并作為前端View程序組件,應(yīng)用于該標(biāo)簽庫,極大地減少了JSP頁面的Java Scriptlet驗(yàn)證,使得JSP頁面開發(fā)變?yōu)榉浅H菀?并對(duì)后續(xù)的測(cè)試及維護(hù)工作也有較多幫助。

以維修費(fèi)用報(bào)支畫面對(duì)應(yīng)的JSP為mbmjfw-base.jsp為例。首先,畫面欄位的顯示通過不同的自定義的標(biāo)簽實(shí)現(xiàn)。包括text、out、select標(biāo)簽等,根據(jù)不同的標(biāo)簽type,顯示的畫面欄位各不相同提示選單,如:

該標(biāo)簽為成本中心提示選單,通過自定義標(biāo)簽實(shí)現(xiàn)類查詢成本中心的表格,并在提示選單畫面中畫出所有查詢的頁面,如圖7所示。

圖7 設(shè)備檢修費(fèi)結(jié)算報(bào)支查詢畫面Fig.7 Screen of inquiring equipment maintenance fee settlement report

另外,可以根據(jù)不同的fmt格式調(diào)用公用表格,通過公用表格的設(shè)置,設(shè)置畫面顯示的下拉選單,這樣可以不用修改程序,達(dá)到修改提示選單的目的。

3.2 Controller組件

Controller組件作為邏輯處理的核心組件,當(dāng)前端提交用戶信息后,Controller組件主要完成數(shù)據(jù)的基本驗(yàn)證、轉(zhuǎn)換VO數(shù)據(jù)到Mapping結(jié)構(gòu)。在結(jié)算報(bào)支模塊中,Contoller組件為mbmcfw-BaseScrCrl類,主要功能為控制并對(duì)選單、數(shù)字、日期、狀態(tài)等進(jìn)行有效性判斷,控制按鈕數(shù)量以及按鈕權(quán)限等。

如圖8所示的按鈕的權(quán)限的控制,灰色為沒有操作按鈕權(quán)限。實(shí)現(xiàn)代碼如下:

圖8設(shè)備檢修費(fèi)結(jié)算報(bào)支按鈕控制實(shí)現(xiàn)畫面Fig.8 The implementation screen of the button of control of the equipment maintenance fee settlement report

insBtn=new zxcBtnBean(mzxcC2N.getMessage("INS"), mzxcInfo.BTN-NAME-INS, mzxcC2N.getMessage("INS"), INS-ACTION-FUNCTION, true, zxcBtnBean.BtnImage-INSERT, "", "", "");

該代碼設(shè)置新增按鈕,通過mzxcC2N.getMessage("INS")設(shè)置新增按鈕的欄位名稱,INS-ACTION-FUNCTION設(shè)置調(diào)用后臺(tái)所用的方法。權(quán)限判斷通過系統(tǒng)封裝好的底層判斷代碼,根據(jù)每個(gè)畫面自動(dòng)的APPID與簡(jiǎn)易表格中設(shè)定的群組代碼,自動(dòng)組建出登陸用戶所在的部門組成判斷群組,依次來進(jìn)行按鈕權(quán)限判斷。

3.3 Model組件

Structs框架中主要用到的關(guān)鍵組件為Web Object Converter,該模塊使用Structs.xml 所定義針對(duì)一個(gè)畫面中會(huì)出現(xiàn)的value object定義,自動(dòng)將畫面上的字段數(shù)據(jù)轉(zhuǎn)換成value object 或value object list。讓開發(fā)人員可直接操作value object,省去數(shù)據(jù)轉(zhuǎn)換的動(dòng)作。

ActionResult類的主要功能為保存前端驗(yàn)證數(shù)據(jù)的結(jié)果、按鈕權(quán)限設(shè)定的結(jié)果,實(shí)現(xiàn)過程中應(yīng)用HTMLElement 類完成對(duì)象的設(shè)定。

dejcActionResult負(fù)責(zé)傳遞數(shù)據(jù)驗(yàn)證結(jié)果信息,可一次收集多個(gè)字段的錯(cuò)誤信息,若同時(shí)需要控制畫面錄入字段或按鈕狀態(tài),也可以將HTMLElement加入到此對(duì)象來設(shè)定。

核心配置文件為MWM-Structs.xml文件,設(shè)備結(jié)算報(bào)支模塊的全部124個(gè)頁面均通過該文件進(jìn)行前后臺(tái)驗(yàn)證,并對(duì)相關(guān)信息進(jìn)行處理。使用ActionServelet調(diào)用MWM-Structs.xml文件,在頁面觸發(fā)邏輯處理請(qǐng)求時(shí),確定表單VO、Action以及后臺(tái)處理完轉(zhuǎn)向JSP 頁面??刂破鰿ontroller使用Servlet 類獲得封裝好的請(qǐng)求,完成邏輯轉(zhuǎn)發(fā),同時(shí)對(duì)邏輯層處理好的結(jié)果,通過Conroller類填充到ActionForm中,并轉(zhuǎn)發(fā)給下一步處理的Action,最終響應(yīng)給JSSP文件生成前端顯示視圖。而Struts-config.xml 作為核心文件配置負(fù)責(zé)了全過程管理。

4 結(jié)語

以某大型鋼鐵企業(yè)ERP設(shè)備系統(tǒng)管理平臺(tái)搭建為契機(jī),結(jié)合Struts框架的優(yōu)勢(shì)和缺陷,提出了一種基于Struts的改進(jìn)Structs框架。通過優(yōu)化前后臺(tái)傳輸手段、封裝請(qǐng)求及響應(yīng)對(duì)象,建立可配置的底層框架平臺(tái),以該系統(tǒng)業(yè)務(wù)邏輯復(fù)雜、畫面選單多樣的檢維修結(jié)算業(yè)務(wù)為例,詳細(xì)闡述了應(yīng)用該框架的實(shí)現(xiàn)過程。目前該系統(tǒng)處于運(yùn)行穩(wěn)定狀態(tài),有效解決了信息化支撐力量不足、設(shè)備管理精準(zhǔn)率低等問題,企業(yè)工作效率和管理能效明顯提升。

猜你喜歡
頁面按鈕組件
大狗熊在睡覺
哪個(gè)是門鈴真正的按鈕
當(dāng)你面前有個(gè)按鈕
刷新生活的頁面
無人機(jī)智能巡檢在光伏電站組件診斷中的應(yīng)用
能源工程(2022年2期)2022-05-23 13:51:50
新型碎邊剪刀盤組件
U盾外殼組件注塑模具設(shè)計(jì)
死循環(huán)
風(fēng)起新一代光伏組件膜層:SSG納米自清潔膜層
太陽能(2015年11期)2015-04-10 12:53:04
內(nèi)心不能碰的按鈕
盘山县| 麻阳| 沈丘县| 大竹县| 广元市| 广水市| 东港市| 青田县| 沈阳市| 香格里拉县| 巴南区| 株洲市| 安福县| 鸡东县| 马尔康县| 岳西县| 老河口市| 镇康县| 红安县| 富平县| 顺平县| 贞丰县| 隆昌县| 图片| 灯塔市| 新绛县| 许昌市| 南城县| 偃师市| 邢台县| 阆中市| 宜丰县| 工布江达县| 旺苍县| 交城县| 普兰县| 成武县| 尼木县| 祁连县| 绥芬河市| 南乐县|