亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于MVC模式S2SH框架的庫存管理系統(tǒng)

        2014-02-09 03:00:26李利民
        實驗室研究與探索 2014年11期
        關(guān)鍵詞:庫位出入庫庫房

        申 斌, 李利民

        (1. 中北大學(xué) 計算機與控制工程學(xué)院, 山西 太原 030051; 2. 山西汾西重工有限責(zé)任公司, 山西 太原 030027)

        0 引 言

        隨著制造能力的不斷提高和市場激烈的競爭,零件制造和裝配任務(wù)越發(fā)艱巨,物資采購及物料配送的壓力也隨之增加,同時對庫房管控及信息系統(tǒng)的要求也越來越高,要求用最快的速度來反映市場多樣化的需求。

        因此,廠商需要建設(shè)庫存管理系統(tǒng)。本文研究庫存管理系統(tǒng)的目的是提升庫存的周轉(zhuǎn)效率,減少庫存積壓,降低企業(yè)總體成本;使管理層隨時可以掌握庫存的信息,以此來做出正確的采購計劃;盡快把業(yè)務(wù)人員從手工賬本管理的繁瑣事務(wù)中解脫出來,減輕業(yè)務(wù)人員的工作量,提高企業(yè)管理的效率。

        1 相關(guān)技術(shù)簡介

        1.1 MVC設(shè)計模式

        MVC是XeroxPARC[1]施樂帕克研究中心在上世紀(jì)80年代為編程語言Smalltalk-80[2]發(fā)明的一種軟件設(shè)計模式,即模型-視圖-控制器(MVC)[3]:其中M (model模型)主要有三層結(jié)構(gòu),業(yè)務(wù)層,dao層和持久層,主要由Java類來實現(xiàn),也可以是Java bean、ejb等。業(yè)務(wù)層是處理業(yè)務(wù)邏輯的;dao[4]層是數(shù)據(jù)訪問對象,對數(shù)據(jù)庫操作的類,一般不包含業(yè)務(wù)邏輯;數(shù)據(jù)持久層可以通過Hibernate框架來實現(xiàn);V(view視圖/界面),用來顯示數(shù)據(jù);C(controller控制器),控制器主要是用于接收用戶的請求(數(shù)據(jù)),然后去調(diào)用model層的類來處理用戶的請求并返回數(shù)據(jù),最后控制器用相應(yīng)的視圖顯示模型返回的數(shù)據(jù),并通過瀏覽器呈現(xiàn)給用戶。這三層(業(yè)務(wù)層-dao層-持久層)不一定都存在,主要看實際項目的規(guī)格和需求。MVC設(shè)計模式強制性地將系統(tǒng)分了三個大層(模型-視圖-控制器),降低了耦合度,便于系統(tǒng)的維護和擴展[5],如圖1所示。

        1.2 S2SH框架

        S2SH框架就是Struts2+Spring+Hibernate這三種框架整合的技術(shù)。其中Spring處于三大框架的核心地位,通過Spring可以和Struts2向上整合[6],同時也可以和Hibernate向下整合。這樣Web層,業(yè)務(wù)層,DAO層,持久層就通過Sping完美地結(jié)合在一起,使程序的耦合性降低,提高了程序的擴展性,維護性,重用性[7],如圖2所示。

        1.2.1Struts2

        Struts 2是一個用來開發(fā)MVC應(yīng)用程序的框架,在WebWork 2[8]基礎(chǔ)上發(fā)展而來的,Struts 2的應(yīng)用可以不依賴于ServletAPI和StrutsAPI,Struts 2的設(shè)計屬于無侵入式設(shè)計。與Struts 1相比,Struts 2有以下優(yōu)點:

        (1) 類更少,更高效,在Struts 2中無需使用“ActionForm”來封裝請求。

        (2) Struts 2通過攔截器完成了框架的大部分工作,在Struts 2中插入一個攔截器非常容易。

        (3) 不使用瀏覽器也可以對Struts 2的應(yīng)用進行測試。

        (4) Struts 2提供了類型轉(zhuǎn)換器,可以把特殊的請求參數(shù)轉(zhuǎn)換成需要的類型。

        (5) Struts 2提供了支持多種表現(xiàn)層技術(shù),如JSP,FreeMarker。

        (6) Struts 2提供了全局范圍,包范圍和Action范圍的國際化資源文件管理實現(xiàn)。

        1.2.2Hibernate

        Hibernate是一個ORM框架,ORM是對象關(guān)系映射的框架[9],其中O是object業(yè)務(wù)層(只對對象操作);R是relation關(guān)系數(shù)據(jù)庫;M是mapping對象關(guān)系映射文件。Hibernate處于我們項目持久層的位置,并且對jdbc進行了輕量級的封裝[10],它的基礎(chǔ)是Java反射機制。Hibernate包括和數(shù)據(jù)庫的各種操作,保存、更新、刪除、查詢、加載。

        用Hibernate操作數(shù)據(jù)的流程。① 創(chuàng)建持久化類,② 創(chuàng)建對象關(guān)系映射文件(*。Hbm.xml),③ 創(chuàng)建Hibernate配置文件(hibernate.cfg.xml),④ 通過HibernateAPI編寫訪問數(shù)據(jù)庫的代碼。

        1.2.3Spring

        Spring是一個開源的控制反轉(zhuǎn)(Inversion of Control,IOC)[11]和面向切面(AOP)的容器框架,它的主要目的是簡化企業(yè)開發(fā)。

        控制反轉(zhuǎn):應(yīng)用程序本身不提供依賴對象的創(chuàng)建和維護,外部容器提供依賴對象的創(chuàng)建和維護[12]。即控制權(quán)從應(yīng)用程序轉(zhuǎn)移到外部容器,也就是控制權(quán)的轉(zhuǎn)移。Spring的優(yōu)點有:

        (1) 降低組間之間的耦合度[13]。

        (2) 開發(fā)人員可以使用容器提供的服務(wù),如:事物管理服務(wù),消息服務(wù)等,JSM服務(wù),持久化服務(wù)。

        (3) Spring提供了單例模式,程序員可以不編寫實現(xiàn)代碼,并且可以提高程序的開發(fā)效率。

        (4) Spring提供了AOP技術(shù)[14],可以實現(xiàn)攔截,監(jiān)控等功能。

        (5) Spring提供了許多類,開發(fā)人員可以加快對應(yīng)用程序的開發(fā),如JdbcTemplate.

        (6) Spring可以集成其他的主流框架。例如Struts2,Hibernate等。

        2 基于S2SH的庫存管理系統(tǒng)的設(shè)計

        2.1 需求分析

        要求對材料、標(biāo)準(zhǔn)件、元器件、零組件、外購件等與生產(chǎn)相關(guān)的各類數(shù)據(jù)的資源統(tǒng)一管理;實現(xiàn)電子記賬,擺脫手工的管理模式;同時支持多種生產(chǎn)模式并存下的庫存業(yè)務(wù)。實現(xiàn)按批次管理庫存物料,記錄出入庫產(chǎn)品信息,并為檢驗人員提供到貨檢驗、庫存區(qū)域檢驗、出庫檢驗等功能。改善企業(yè)運行規(guī)則和思維模式的配套服務(wù),有效地提高庫存管理效能。實現(xiàn)從物流決策、業(yè)務(wù)流程的全程信息化,對物流過程進行嚴(yán)格和科學(xué)的管理,實現(xiàn)企業(yè)收益的最大化。

        2.2 系統(tǒng)的功能分析

        系統(tǒng)包括五個功能模塊:系統(tǒng)管理,基礎(chǔ)數(shù)據(jù)管理,臺賬管理,出入庫管理,盤點管理。系統(tǒng)功能結(jié)構(gòu)圖如圖3所示。

        2.2.1系統(tǒng)管理

        (1) 系統(tǒng)權(quán)限管理。為了系統(tǒng)安全考慮,給用戶分配一些角色,使用戶只能訪問自己被授權(quán)的資源,禁止訪問其它角色的資源,可以最大限度地保證系統(tǒng)的安全、數(shù)據(jù)的安全。允許超級管理員添加和刪除用戶,查看員工的相關(guān)信息。

        (2) 系統(tǒng)設(shè)置。主要是對系統(tǒng)應(yīng)用的功能和權(quán)限等配置文件進行定義,包括配置文件的定義,配置文件系統(tǒng)值管理,配置文件用戶值管理。

        2.2.2基礎(chǔ)數(shù)據(jù)管理

        (1) 庫房定義。將物理上的實際庫房映射到系統(tǒng)中的邏輯庫房,設(shè)置庫房的屬性、所屬部門、庫房名稱、庫房代碼、庫房類型及所屬部門等。

        (2) 庫位定義。用于確定某個庫房中包含多少庫位,以及每個庫位的庫位類型。系統(tǒng)中提供了固定庫位和靈活庫位兩種定義方式,主要信息有:庫房號、庫位號、庫位類型、物料號、有效性等。

        2.2.3臺賬管理

        (1) 庫存臺賬查詢。可以按庫房、事務(wù)類型、登賬日期、物料等條件查詢出入庫流水信息。系統(tǒng)支持匯總查詢和明細(xì)查詢兩種方式。

        (2) 出入庫調(diào)整。當(dāng)出入庫登記完成后,如果本期還沒有進行庫存結(jié)轉(zhuǎn),可以通過此模塊撤銷出入庫登記操作,系統(tǒng)將恢復(fù)庫存數(shù)據(jù)以及原始單據(jù)數(shù)據(jù),工作人員可重新進行業(yè)務(wù)處理。系統(tǒng)記載出入庫調(diào)整日志并且能夠查詢。

        2.2.4出入庫管理

        (1) 采購入庫管理。對于成品件,到貨登記后先進行檢驗,檢驗合格的,保管員將產(chǎn)品上架,登記三期,確認(rèn)入生產(chǎn)庫;除了成品外的其它器件,采購到貨之后先入待驗庫房,待驗保管員根據(jù)站臺維護的到貨信息,清點數(shù)量、核對單據(jù)等信息。如果相關(guān)信息正確,接收材料入待驗庫,維護入庫數(shù)量、庫位等信息。

        (2) 配套批料。

        ① 庫房計劃員在審批批次配套領(lǐng)料單時,需要平衡各使用單位的配套情況,在確保均衡生產(chǎn)的情況下,應(yīng)該合理分配庫存資源,審批各使用單位的領(lǐng)料單。

        ② 計劃員批料時選擇領(lǐng)用車間、批次、庫存臺賬等信息,批料確定后,系統(tǒng)生成批料編號,庫存的資源被占用,雖然庫存數(shù)量并不會減少,但是其他配套單已經(jīng)不能使用這些資源。

        ③ 系統(tǒng)可以設(shè)置庫存占用期限參數(shù),如果占用超期后則自動取消配套,恢復(fù)庫存可使用狀態(tài)。

        ④ 同時系統(tǒng)還可以提供對被占用庫存資源的查詢功能,方便工作人員及時查詢庫存資源占用情況,避免庫存資源被長期占用而不能有效利用。

        2.2.5盤點管理

        (1) 盤點結(jié)果錄入。保管員根據(jù)盤點清單清點庫房的物資,并且將清點結(jié)果錄入到系統(tǒng)中,輸入界面與盤點清單一致,保管員只需輸入盤點數(shù)量即可。對于賬物相符的盤點記錄,可以解除臺賬凍結(jié)狀態(tài);對于賬物不符的盤點記錄需要提交財務(wù)人員審核。

        (2) 盤盈盤虧調(diào)整。可以對盤點結(jié)果進行調(diào)平處理,系統(tǒng)更新當(dāng)前庫存數(shù)量為實物數(shù)量,同時生成出入庫流水賬EXCEL文件,并將調(diào)整結(jié)果提交給財務(wù)人員。

        3 庫存管理系統(tǒng)平臺關(guān)鍵技術(shù)的實現(xiàn)

        3.1 Web層的實現(xiàn)

        這一層的關(guān)鍵技術(shù)點主要是把Spring和Struts2集成,在導(dǎo)入的所有jar包中必須包含一個jar包(即struts-spring-plugin-2.x.x.jar),用于Struts2集成Spring的插件。首先要在web.xml中配置,先對Spring容器實例化,再把Struts2的框架啟動代碼寫到web.xml中,通過filter來啟動Struts2框架。Web.xml的配置如下:

        contextConfigLocation

        classpath:spring.xml

        org.springframework.web.context.ContextLoaderListener

        struts2

        org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

        struts2

        /*

        新建一個struts.xml,設(shè)置一個常量struts.objectFactory的作用是使用Spring這個對象工廠類替換掉Struts2默認(rèn)的對象工廠類,也就是說由Spring來創(chuàng)建和維護action。在action類中class屬性原先由Struts2創(chuàng)建,現(xiàn)在由Spring創(chuàng)建,格式是class=“action bean名稱”。其struts.xml的配置如下:

        "spring" />

        3.2 業(yè)務(wù)層的實現(xiàn)

        首先在productService.java中聲明一些方法(添加,顯示列表,刪除,更新等),這也就是我們常說的DAO接口。

        public interface ProductService

        {public void addProduct(Product p);

        public List showProduct();

        public void updateProduct(Product p);

        public void delProduct(java.io.Serializable id);

        }

        然后在Spring中配置一個productServiceimp對象,讓Spring來接管它,體現(xiàn)出Spring對bean的管理和維護。其spring.xml的配置如下:

        hibernate.dialect=org.hibernate.dialect.OracleDialect hibernate.generate_statistics=true

        在productServiceimp中實現(xiàn)dao的方法,把Spring注入到sessionFactory,可以更好的管理,使項目開發(fā)簡單。在productServiceimp里設(shè)置sessionFactory的get和set方法,前邊已經(jīng)在spring.xml配置了相關(guān)bean,可以直接使用這個對象而不用再新建一個對象。部分實現(xiàn)代碼如下:

        Public class ProductServiceimp implements Product-

        Service

        { private SessionFactory sessionFactory;

        public SessionFactory getSessionFactory()

        { return sessionFactory;}

        public void setSessionFactory(SessionFactory sessionFactory)

        {this.sessionFactory = sessionFactory;}

        public void addProduct(Product p)

        {Session session=sessionFactory.openSession();

        ……}

        3.3 持久層的實現(xiàn)

        這一層關(guān)鍵技術(shù)是Hibernate和Spring集成。用掃描加注釋的方式把bean交給Spring管理,可以加快開發(fā)速度。

        其spring.xml的配置如下:

        不但cn.mao這個包會掃描到,而且只要是以cn.mao開頭的包都會掃描到。Spring需要接管Hibernate的事務(wù)管理服務(wù),打開Hibernate的事務(wù)實際上操作的是Spring的事務(wù),是基于注解的方式配置事務(wù)的。雖然本文采用oracle數(shù)據(jù)庫,但是要更換其它數(shù)據(jù)源非常的方便[15],例如:mysql,sqlserver,不需要大范圍的更換代碼。

        4 結(jié) 語

        本文以某公司的庫存管理系統(tǒng)為例,研究并實現(xiàn)了基于MVC模式S2SH框架的庫存管理系統(tǒng)。并實現(xiàn)了Spring和Struts2的向上集成,Spring和Hibernate向下整合,實現(xiàn)了松耦合的軟件框架[16]。彌補了Struts2在管理和持久化層面上的不足,體現(xiàn)了Hibernate在持久層面上的優(yōu)勢,也表現(xiàn)出Spring在集成和管理其它框架中的核心地位。三大框架的集成,達到優(yōu)勢互補,提高了系統(tǒng)的可維護性和擴展性。

        [1] 李繼蕊,楊國勛.Struts和Hibernate多層架構(gòu)的研究與應(yīng)用[J].武漢理工大學(xué)學(xué)報(交通科學(xué)與工程版), 2008,31(6):1106-1109.

        LI Ji-rui,YANG Guo-xun.The research and application of multitier architecture of Struts and Hibernate[J].Journal of Wuhan University of Technology(Transportation Science and Engineering),2008,31(6):1106-1109.

        [2] 劉銘徽.基于Struts與Hibernate框架的圖書管理系統(tǒng)研究與設(shè)計[J].安徽大學(xué)學(xué)報(自然科學(xué)版),2009,11(3):36-38.

        LIU Ming-hui.The research and design of library management based on the framework of Struts and Hiber- nate[J]. Journal of Anhui University of Technology(Natural Science Edition),2009,11(3):36-38.

        [3] 李 瑩,王甲民.一種基于Petri—Net的新型MVC模式及實現(xiàn)[J].計算機工程與應(yīng)用,2007,43(17):202-205.

        LI Ying,WANG Jia-min.A new pattern and realization of MVC based on Petri-Net[J]. Computer Engineering and Applications,2007,43(17):202-205.

        [4] 趙 偉,王志華,周 兵.基于MVC的e-ERP系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機應(yīng)用與軟件,2013,30(2):106-109.

        ZHAO Wei,WANG Zhi-hua,ZHOU Bing. The design and realization of e-ERP system based on MVC.Computer and Applications and Software,2013,30(2):106-109.

        [5] 馬秋成,王凌川.基于MVC模式的生產(chǎn)管理信息平臺[J].組合機床與自動化加工技術(shù),2012(5):109-112.

        MA Qiu-cheng,WANG Ling-chuan.The platform of management and information based on MVC model [J].Modular Machine Tool and Automatic Manufacturing Technique,2012(5:)109-112.

        [6] 李紹平,彭志平.S2SH:一種Web應(yīng)用框架及其實現(xiàn)[J].計算機技術(shù)與發(fā)展,2009,9(8):117-119.

        LI Shao-ping,PENG Zhi-ping.S2SH:A web-application framework and its realization[J].Computer Technology and Development,2009,9(8):117-119.

        [7] 符 鈺.基于Struts2+HIbemate3+Spring3框架的 Web 應(yīng)用研究[J].金華職業(yè)技術(shù)學(xué)院學(xué)報,2013,13(3): 61-64.

        FU Yu.The research of web based on the framework of Struts2+ HIbemate3+ Spring3[J].Jinhua Vocational and Technical College. 2013, 13(3): 61-64.

        [8] 田秀彥,李 忠,羅士美.基于Struts + Hibernate+Spring的整合架構(gòu)及其在Web開發(fā)中的應(yīng)用[J].計算機與現(xiàn)代化,2008(11):95-98.

        TIAN Xiu-yan,LI Zhong,LUO Shi-mei.A integration frame -work and its application in web development bsed on Struts + Hibernate + Spring[J].Computer and Moder -nization ,2008(11):95-98.

        [9] 陳 輝,趙洪升,張艷春.Struts+Spring+Hibernate框架的整合實現(xiàn)[J].河南大學(xué)學(xué)報(自然科學(xué)版),2010(6):642-645.

        CHEN Hui,ZHAO Hong-sheng,ZHANG Yan-chun. A integration framework and its application bsed on Struts +Spring+ Hibernate[J]. Journal of Henan University of Technology (Natural Science Edition),2010(6):642 -645.

        [10] 趙 喆,卞藝杰,李亞冰,等.基于S2SH和SOA科技查新管理平臺的設(shè)計[J].武漢理工大學(xué)學(xué)報(信息與管理工程版),2013(1):56-60.

        ZHAO Zhe,BIAN Yi-jie,LI Ya-bing,etal.The design of novelty search and management platform based on S2SH and SOA[J]. Journal of Wuhan University of Technology (Informationand Management Engineering),2013(1):56-60.

        [11] 鄧子云,羅 濤,黃友森.基于Struts2 + Hibernate3+Spring2的物流數(shù)據(jù)交換平臺[J].計算機應(yīng)用與軟件,2009,26(10):88-100.

        DENG Zi-yun,LUO Tao,HUANG You-Sen.The plat- form of logistics data exchange based on Struts2+ Hibernate3+Spring2[J].Computer Applications and Soft- ware ,2009,26(10):88-100.

        [12] 馮潤民.基于SSH的高校學(xué)生管理系統(tǒng)設(shè)計與實現(xiàn)[J]. 計算機工程,2009(6):280-282.

        FENG Run-min.The design and realization of college management system based on SSH[J]. Computer Engi- neering,2009(6):280-282.

        [13] 諶湘倩,狄文輝,孫 冬.基于SSH框架與AJAx技術(shù)的 JavaWeb 應(yīng)用開發(fā)[J].計算機工程與設(shè)計,2009 (10): 2590-2592.

        CHEN Xiang-qian,DI Wen-hui,SUN dong.Java Web appli -cation development based on SSH framework and AJAX technology[J].Computer Engineering and Applications, 2009 (10): 2590-2592.

        [14] Walls C, Breidenbach R. Spring in action[M]. Dreamtech Press, 2005.

        [15] 霍迎秋,唐晶磊,尹秀珍.基于SSH架構(gòu)的農(nóng)產(chǎn)品信息交換平臺[J].實驗室研究與探索,2013,32(5):63-66.

        HUO Ying-qiu,TANG Jing-lei,YIN Xiu-zhen.A plat- form of exchanged information of agricultural products based on SSH[J].Laboratory Research and Exploration,2013,32(5):63-66.

        [16] 呂 宏,楊 光.一種基于Java及數(shù)據(jù)挖掘技術(shù)的學(xué)生管理系統(tǒng)[J].價值工程,2012,31(8):123-124.

        LV Hong,YANG Guang.A student management system based on java and data mining technology[J].Value Engineering,2012,31(8):123-124.

        猜你喜歡
        庫位出入庫庫房
        小小宋慈大智慧·庫房安保
        基于超級時空網(wǎng)絡(luò)的共享倉儲資源分配策略研究
        化學(xué)品庫房施工組織設(shè)計分析
        發(fā)電企業(yè)物資倉庫精細(xì)化管理的研究和探討
        培訓(xùn)單位的實訓(xùn)庫房管理系統(tǒng)的設(shè)計
        物資設(shè)備出入庫信息管理系統(tǒng)的設(shè)計及開發(fā)
        基于總搬運量最小的庫位分配優(yōu)化問題研究
        物流科技(2017年2期)2017-03-27 23:38:32
        典當(dāng)行庫房被盜案
        信息技術(shù)在醫(yī)用耗材出入庫科學(xué)化管理中的應(yīng)用
        典當(dāng)行庫房被盜案
        激情网色图区蜜桃av| 日本肥老妇色xxxxx日本老妇| 人妻体体内射精一区二区| 无码国产一区二区三区四区 | 亚洲av乱码中文一区二区三区| 亚洲第一区无码专区| 欧美疯狂做受xxxx高潮小说| 久久av高潮av喷水av无码| 91色婷婷成人精品亚洲| 亚洲精品综合久久中文字幕| 亚洲精品av一区二区| 亚洲av无码久久精品色欲| 色欲av亚洲一区无码少妇| 久久99久久99精品免观看女同| 最新中文字幕乱码在线| 亚洲色图三级在线观看| 五月丁香综合激情六月久久| 亚洲色大网站www永久网站| 音影先锋色天堂av电影妓女久久| 精品在线亚洲一区二区三区| 人妻免费一区二区三区免费| 亚洲国产精品一区二区www| 国产内射性高湖| 国产成人AⅤ| 成人偷拍自拍在线视频 | 久久99天堂av亚洲av| 97久久综合区小说区图片区| 蜜臀aⅴ国产精品久久久国产老师| 美女高潮无遮挡免费视频| 亚洲人成人一区二区三区| 国产成人久久综合第一区| 国产精品成人av大片| 亚洲精品少妇30p| 无码少妇一区二区三区 | 午夜男女视频一区二区三区| 中国少妇久久一区二区三区| 日本成本人片免费网站| 无遮挡边吃摸边吃奶边做| 国产一区二区内射最近人| 中文字幕34一区二区| 又嫩又硬又黄又爽的视频|