基于JBPM的xx企業(yè)電子采購系統(tǒng)的設(shè)計(jì)_第1頁
基于JBPM的xx企業(yè)電子采購系統(tǒng)的設(shè)計(jì)_第2頁
基于JBPM的xx企業(yè)電子采購系統(tǒng)的設(shè)計(jì)_第3頁
基于JBPM的xx企業(yè)電子采購系統(tǒng)的設(shè)計(jì)_第4頁
基于JBPM的xx企業(yè)電子采購系統(tǒng)的設(shè)計(jì)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、基于JBPM的企業(yè)電子采購系統(tǒng)的設(shè)計(jì)一、 電子采購系統(tǒng)的意義與背景如今已是信息科技的時(shí)代。電子化、信息化的浪潮迎面而來,在社會(huì)的各個(gè)領(lǐng)域呈現(xiàn)出前所未有的發(fā)展趨勢。企業(yè)采購電子化以信息技術(shù)為載體,結(jié)合電子商務(wù)技術(shù)的應(yīng)用,從而使政府在人力財(cái)力上得到大幅的節(jié)省,在效率上得到充分的提高。電子采購最先興起于美國,它的最初形式是一對(duì)一的電子數(shù)據(jù)交換系統(tǒng),即EDI,該電子商務(wù)系 統(tǒng)大幅度地提高了采購效率,但早期的解決方式價(jià)格昂貴、耗費(fèi)龐大,且由于其封閉性僅能為一家買家服務(wù),尤令中小供應(yīng)商和買家怯步。為此,聯(lián)合國制訂了商業(yè)EDI標(biāo)準(zhǔn),但在具體實(shí)施過程中,關(guān)于標(biāo)準(zhǔn)問題在行業(yè)內(nèi)及行業(yè)間的協(xié)調(diào)工作舉步維艱,因此,真

2、正商業(yè)伙伴間EDI并未廣泛開展。90年代中期,電子采購目錄開始興起,這是供應(yīng)商通過將其產(chǎn)品上網(wǎng),來提高供應(yīng)商的信息透明度、市場涵蓋面。近年來,全方位綜合電子采購平臺(tái)出現(xiàn)且通過廣泛連接買賣雙方來進(jìn)行電子采購服務(wù)。 電子采購是一種在Internet上創(chuàng)建專業(yè)供應(yīng)商網(wǎng)絡(luò)的基于Web的方式。它能夠使企業(yè)通過網(wǎng)絡(luò),尋找管理合格的供貨商和物品,隨時(shí)了解市場行情和庫存情況,編制銷售計(jì)劃,在線采購所需的物品,并對(duì)采購訂單和采購的物品進(jìn)行在途管理、臺(tái)帳管理和庫存管理,實(shí)現(xiàn)采購的自動(dòng)統(tǒng)計(jì)分析。實(shí)施電子采購,不僅方便、快捷,而且交易成本低,信息公開程度透明,的確是一種很有發(fā)展前途的采購方式。實(shí)現(xiàn)電子采購的方式有兩種

3、:使用EDI(電子數(shù)據(jù)交換)的電子采購和使用Internet的電子采購。電子采購門戶站點(diǎn)對(duì)購買簡單商品最為有效,它可以讓供應(yīng)商創(chuàng)建和維護(hù)其產(chǎn)品的在線目錄,其它公司可以從這些目錄中搜索商品,下定單以及當(dāng)場確定付款和裝運(yùn)選擇。在試圖購買那些必須定制的產(chǎn)品時(shí),常常需要人力判斷以及人與人之間的協(xié)商,首先,要整理叫做RFP(建議請(qǐng)求)的信息包,其中包括有某一商品的技術(shù)規(guī)格和供應(yīng)要求。其次,必須找到能夠滿足該請(qǐng)求的供應(yīng)商。為了節(jié)省時(shí)間和資金,只需要與有資格的供應(yīng)商聯(lián)絡(luò),這樣花費(fèi)的精力最少。使這一過程自動(dòng)化的一種方式就是使用EDT網(wǎng)絡(luò),它能夠讓供應(yīng)商和買主交換采購信息。只要交納一點(diǎn)事務(wù)處理費(fèi),就能通過EDI

4、網(wǎng)絡(luò)提交信息包,并通過同一網(wǎng)絡(luò)收到答復(fù)。 根據(jù)企業(yè)采購的特點(diǎn)、應(yīng)用的規(guī)模大小,電子采購一般分為:生產(chǎn)型采購、非生產(chǎn)型采購、集中采購、集團(tuán)采購管控、供應(yīng)商管理、廢舊物資處理,6大類型的采購管理方法。電子采購有著重要的現(xiàn)實(shí)意義。從微觀方面來說,電子采購節(jié)省了時(shí)間和費(fèi)用,提高了效率。與傳統(tǒng)的紙質(zhì)采購方式相比,一般可節(jié)約高達(dá)30%左右的采購成本;避免了紙質(zhì)文件易出錯(cuò)的缺點(diǎn),既提高了效率,又方便了監(jiān)督管理。 而從宏觀方面來說,電子采購的意義更大:首先,電子采購提高了經(jīng)濟(jì)效益:降低了價(jià)格和管理的成本,縮短了招標(biāo)準(zhǔn)備時(shí)間,減少了人為因素,增強(qiáng)了采購及時(shí)性,提高了采購的準(zhǔn)確性和質(zhì)量,健全完善了統(tǒng)計(jì)體系。其次,

5、電子采購讓監(jiān)督管理更容易,它實(shí)現(xiàn)了全過程的公開透明,規(guī)范了企業(yè)采購行為,最大限度地避免了人為因素的干擾;提高了透明度,抑制了腐敗現(xiàn)象的發(fā)生,使采購成為真正的“陽光采購”。第三,電子采購也是國際化,全球化的需求,是企業(yè)采購與世界接軌的必經(jīng)之路。 二、概念介紹 JBPM,全稱是Java Business Process Management(業(yè)務(wù)流程管理),它是覆蓋了業(yè)務(wù)流程管理、工作流、服務(wù)協(xié)作等領(lǐng)域的一個(gè)開源的、靈活的、易擴(kuò)展的可執(zhí)行流程語言框架。jBPM是公開源代碼項(xiàng)目,它使用要遵循 LGPL(GNU Lesser General Public License )和EULA(JBoss En

6、d User License Agreement)協(xié)議。電子采購系統(tǒng)是將招標(biāo)投標(biāo)過程中的各個(gè)角色,如供應(yīng)商、招標(biāo)機(jī)構(gòu)、評(píng)標(biāo)專家、政府監(jiān)督機(jī)構(gòu)等連接起來,企業(yè)、機(jī)關(guān)和個(gè)人在網(wǎng)上傳遞投標(biāo)數(shù)據(jù),評(píng)標(biāo)、開標(biāo)均采用電子手段,通過網(wǎng)絡(luò)發(fā)布中標(biāo)結(jié)果的一種招投標(biāo)方式。電子采購比一般的電子商務(wù)和一般性的采購在本質(zhì)上有了更多的概念延伸,它不僅僅完成采購行為, 而且利用信息和網(wǎng)絡(luò)技術(shù)對(duì)采購全程的各個(gè)環(huán)節(jié)進(jìn)行管理,有效地整合了企業(yè)的資源,幫助供求雙方降低了成本,提高了企業(yè)的核心競爭力。在這一全新的商業(yè)模式下,隨著買主和賣主通過電子網(wǎng)絡(luò)而聯(lián)結(jié),商業(yè)交易開始變得具有無縫性,其自身的優(yōu)勢是十分顯著的。 A) 提高采購效率

7、縮短了采購周期。采購方企業(yè)通過電子采購交易平臺(tái)進(jìn)行競價(jià)采購,可以根據(jù)采購方企業(yè)的要求自由設(shè)定交易時(shí)間和交易方式,大大地縮短了采購周期。自采購方企業(yè)競價(jià)采購項(xiàng)目正式開始至競價(jià)結(jié)束,一般只需要12周,較傳統(tǒng)招標(biāo)采購節(jié)省30%60%的采購時(shí)間; B) 節(jié)約大量的采購成本據(jù)美國全國采購管理協(xié)會(huì)稱,使用電子采購系統(tǒng)可以為采購企業(yè)節(jié)省大量成本。采用傳統(tǒng)方式生成一份定單所需要的平均費(fèi)用為150美元,使用基于Web的電子采購解決方案則可以將這一費(fèi)用減少到30美元。企業(yè)通過競價(jià)采購商品的價(jià)格平均降幅為10%左右,最高時(shí)可達(dá)到40%多。通用電氣公司估計(jì)通過電子采購將每年節(jié)約100億美元; C) 優(yōu)化采購流程 采購

8、流程的電子化不是用計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)簡單替換原有的方式方法,而是要依據(jù)更科學(xué)的方法重新設(shè)計(jì)采購流程,這個(gè)過程中,屏棄了傳統(tǒng)采購模式中不適應(yīng)社會(huì)生產(chǎn)發(fā)展的落后因素; D) 減少過量的安全庫存 世界著名的家電行業(yè)跨國企業(yè)海爾集團(tuán)在實(shí)施電子采購后,采購成本大幅降低,倉儲(chǔ)面積減少一半,降低庫存資金約7億元,庫存資金周轉(zhuǎn)日期從30天降低到了12天以下; E) 電子采購的另外一個(gè)優(yōu)勢是信息共享不同企業(yè),包括各個(gè)供應(yīng)商都可以共享信息,不但可以了解當(dāng)時(shí)采購、競標(biāo)的詳細(xì)信息,還可以查詢以往交易活動(dòng)的記錄,這些記錄包括中標(biāo)、交貨、履約等情況,幫助買方全面了解供應(yīng)商,幫助賣方更清楚地把握市場需求及企業(yè)本身在交易活動(dòng)中

9、的成敗得失,積累經(jīng)驗(yàn)。這使供求雙方之間的信息更加透明; F)改善客戶服務(wù)和客戶滿意度促進(jìn)供應(yīng)鏈績效,以及改善與供應(yīng)商關(guān)系; G) 讓供應(yīng)商獲益 對(duì)于供應(yīng)商,電子采購可以更及時(shí)的掌握市場需求,降低銷售成本,增進(jìn)與采購商之間的關(guān)系,獲得更多的貿(mào)易機(jī)會(huì)。 國內(nèi)外無數(shù)企業(yè)實(shí)施電子采購的成功經(jīng)驗(yàn)證明,電子采購在降低成本,提高商業(yè)效率方面,比在線零售、企業(yè)資源計(jì)劃更具潛力。電子采購的投資收益遠(yuǎn)遠(yuǎn)高于過去10年內(nèi)已經(jīng)在企業(yè)中占主導(dǎo)地位的任何商業(yè)革命,包括企業(yè)流程再造、策略性采購等等。三、 某某公司的電子采購設(shè)計(jì)1、 組織結(jié)構(gòu)圖2、公司電子采購業(yè)務(wù)流程分析。從系統(tǒng)業(yè)務(wù)流程圖中可以看出,整個(gè)采購系統(tǒng)是一個(gè)封閉的

10、環(huán)境,以部門審批為開始點(diǎn),以合同執(zhí)行跟蹤為終點(diǎn)。詳細(xì)的業(yè)務(wù)流程如圖3、數(shù)據(jù)流程分析。數(shù)據(jù)流圖描述:審核相關(guān)采購單和實(shí)際單據(jù)。所以分為入庫處理和出庫處理,處理完成的數(shù)據(jù)存入數(shù)據(jù)庫中,對(duì)處理完的數(shù)據(jù)進(jìn)行瀏覽,打印。詳細(xì)的數(shù)據(jù)流圖如下所示。 四、采購系統(tǒng)設(shè)計(jì)1、代碼設(shè)計(jì)配置主代碼:    start-tasknode(部門主管審批)-tasknode(總經(jīng)理審批)-end。     Java代碼  1. <?xml version="1.0" encoding="UTF-8&

11、quot;?>   2.   3. <process-definition   4.   xmlns=""  name="test1">   5.    <start-state name="start">   6.       <transition 

12、name="" to="部門經(jīng)理審批"></transition>   7.    </start-state>   8.    <task-node name="部門經(jīng)理審批">   9.       <task>   10.    

13、     <assigment actorId="部門經(jīng)理"></assigment>   11.       </task>   12.       <transition name="" to="總經(jīng)理審批"></transition>

14、   13.    </task-node>   14.    <task-node name="總經(jīng)理審批">   15.       <task>   16.         <assigment actorId="總經(jīng)理&

15、quot;></assigment>   17.       </task>   18.       <transition name="" to="end1"></transition>   19.    </task-node>   20.

16、    <end-state name="end1"></end-state>   21. </process-definition>  <?xml version="1.0" encoding="UTF-8"?><process-definition xmlns="" name="test1"> <start-state name="sta

17、rt"> <transition name="" to="部門經(jīng)理審批"></transition> </start-state> <task-node name="部門經(jīng)理審批"> <task> <assigment actorId="部門經(jīng)理"></assigment> </task> <transition name="" to="總經(jīng)理審批">&

18、lt;/transition> </task-node> <task-node name="總經(jīng)理審批"> <task> <assigment actorId="總經(jīng)理"></assigment> </task> <transition name="" to="end1"></transition> </task-node> <end-state name="end1">

19、</end-state></process-definition>   Java代碼  1. package com.jbpm.test;   2.   3. import junit.framework.TestCase;   4.   5. import org.jbpm.JbpmConfiguration;   6.   7. public class Te

20、stJbpm_01 extends TestCase    8.        9.     public void testJbpm()   10.            11.         /創(chuàng)建jbpm數(shù)據(jù)庫表。他就像h

21、ibernate里面的哪個(gè)export一樣。實(shí)際上他就是hibernate里面的哪個(gè)export。   12.         /應(yīng)為他映射了很多個(gè)表,所以我們就能創(chuàng)建那么多個(gè)表。   13.         JbpmConfiguration.getInstance().createSchema();   14.      &

22、#160;     15.        16.   package com.jbpm.test;import junit.framework.TestCase;import org.jbpm.JbpmConfiguration;public class TestJbpm_01 extends TestCase public void testJbpm()/創(chuàng)建jbpm數(shù)據(jù)庫表。他就像hibernate里面的哪個(gè)export一樣。實(shí)際上他就是hibernate里面的哪個(gè)exp

23、ort。/應(yīng)為他映射了很多個(gè)表,所以我們就能創(chuàng)建那么多個(gè)表。JbpmConfiguration.getInstance().createSchema();Java代碼  1. package com.jbpm.test;   2.   3. import junit.framework.TestCase;   4.   5. import org.jbpm.JbpmConfiguration;   6. import org.jbpm.JbpmC

24、ontext;   7. import org.jbpm.graph.def.ProcessDefinition;   8.   9. public class TestJbpm_02 extends TestCase    10.        11.     /jbpmConfiguration對(duì)象的創(chuàng)建   12.  &#

25、160;  static JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();   13.        14.     public void testJbpm()   15.           &

26、#160;16.         /然后我們把processDefinition里面相關(guān)的對(duì)象持久化到數(shù)據(jù)庫里面去。   17.         /流程定義文件里面有很多個(gè)概念,他有node,有transition,還有processDefinition,那么我們不需要一個(gè)   18.         /一個(gè)保存,jb

27、pm把保存這么多對(duì)象的方法封裝成一個(gè)接口,叫做deployProcessDefinition。我們只要調(diào)用這個(gè)   19.         /方法,傳一個(gè)processDefinition對(duì)象,我們就能將他們存入到數(shù)據(jù)庫里面去。   20.            21.         /這個(gè)首先第

28、一步我們要得到一個(gè)processDefinition對(duì)象,然后我們把他部署到流程中去。   22.         ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("testJBPM/testJbpm.xml");   23.         /我們要

29、存就必須獲得一個(gè)session對(duì)象,而jbpm已經(jīng)把session對(duì)象封裝到一個(gè)JbpmContext對(duì)象里面了。   24.         /那么這個(gè)jbpmContext對(duì)象是怎么得到的呢,我們要先有一個(gè)jbpmConfiguration對(duì)象,我們要對(duì)數(shù)據(jù)庫進(jìn)行   25.         /操作的時(shí)候一定要有jbpmConfiguration這個(gè)對(duì)象,用他來創(chuàng)建一個(gè)類似于hibernate

30、當(dāng)中的session一樣的   26.         /對(duì)象jbpmContext。他是我們對(duì)數(shù)據(jù)庫所有的操作的一個(gè)接口。   27.         JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();   28.     

31、60;   try   29.             /然后部署的操作已經(jīng)由jbpmContext給我們創(chuàng)建好了,我們只需要調(diào)一下他的一個(gè)方法就可以了。   30.             jbpmContext.deployProcessDefinition(processDefini

32、tion);   31.         finally   32.             /最后我們還要對(duì)他close一下,就像我們用hibernate的時(shí)候要close session一樣。   33.           

33、  jbpmContext.close();   34.            35.        36.   2、數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫采用了MySQL數(shù)據(jù)庫MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),與其他的大型數(shù)據(jù)庫例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之處,如規(guī)模小、功能有限(MySQL Cluster的功能和效率都相對(duì)比較差)等,但是這

34、絲毫也沒有減少它受歡迎的程度。對(duì)于一般的個(gè)人使用者和中小型企業(yè)來說,MySQL提供的功能已經(jīng)綽綽有余,而且由于MySQL是開放源碼軟件,因此可以大大降低總體擁有成本。采購系統(tǒng)中主要實(shí)體五個(gè)數(shù)據(jù)表:品牌表:品牌編號(hào),logo圖片存儲(chǔ)路徑,名稱,可見性編號(hào)字段名稱數(shù)據(jù)類型說明1codevarchar品牌編號(hào)2logopathvarchar存儲(chǔ)路徑3namevarchar名稱4visiblebit可見性圖1 品牌表產(chǎn)品類型表類型編號(hào),類型名稱,備注,可見性,父類型編號(hào)編號(hào)字段名稱數(shù)據(jù)類型說明1typeidint類型編號(hào)2namevarchar類型名稱3notevarchar備注4visiblebit

35、可見性5parentidint父類型編號(hào)圖2 產(chǎn)品類型表產(chǎn)品表產(chǎn)品編號(hào),底價(jià),購買說明,點(diǎn)擊次數(shù),貨號(hào),備注,進(jìn)貨日期,簡介,市場價(jià),型號(hào),名稱,銷售數(shù)量,銷售價(jià),性別選擇,可見性,重量,品牌編號(hào),類型編號(hào)編號(hào)字段名稱數(shù)據(jù)類型說明1idInt產(chǎn)品編號(hào)2basepricefloat低價(jià)3buyexplainvarchar購買說明4clickcountint點(diǎn)擊次數(shù)5codevarchar貨號(hào)6commendbit備注7creatdatedate進(jìn)貨日期8descriptionlongtext簡介9marketpricefloat市場價(jià)10modelvarchar型號(hào)11namevarchar名稱

36、12sellcountint銷售數(shù)量13sellpricefloat銷售價(jià)14sexrequestvarchar性別選擇15visiblebit可見性16weightint重量17brandidvarchar品牌名稱18typeidint類型編號(hào)圖3 產(chǎn)品表產(chǎn)品樣式表樣式編號(hào),圖片名稱,樣式名稱,可見性,產(chǎn)品編號(hào)編號(hào)字段名稱數(shù)據(jù)類型說明1Idint樣式2Imagename varchar圖片名稱3namevarchar樣式名稱4visiblebit可見性5productidint產(chǎn)品編號(hào)圖4 產(chǎn)品樣式表用戶表用戶名,email,性別,密碼,真實(shí)名,注冊(cè)時(shí)間,可用性,聯(lián)系地址編號(hào)編號(hào)字段名稱數(shù)據(jù)

37、類型說明1Usernamevarchar用戶名2emailVarcharEmail3genderVarchar性別4passwordVarchar密碼5realnamevarchar真實(shí)名6regtimedatetime注冊(cè)時(shí)間7visiblebit可用性8contactidint聯(lián)系地址編號(hào)圖5 用戶表用戶聯(lián)系表聯(lián)系表編號(hào),地址,移動(dòng)電話,固定電話,郵編3、電子采購系統(tǒng)的功能模塊及其分析。公司的電子采購系統(tǒng)分為六個(gè)模塊,主要有前臺(tái)基礎(chǔ)管理、供應(yīng)商評(píng)估管理、采購項(xiàng)目管理、郵件管理、查詢、系統(tǒng)維護(hù)等模塊。其中前臺(tái)基礎(chǔ)管理分為會(huì)員管理、信息管理、在線調(diào)查管理、需求物資管理等。供應(yīng)商評(píng)估管理分為供應(yīng)商管理、供應(yīng)商評(píng)估、供應(yīng)商評(píng)估分析等。采購項(xiàng)目管理分為采購項(xiàng)目錄入、采購項(xiàng)目審核、采購項(xiàng)目發(fā)布等。郵件管理分為郵件處理和郵件箱等。查詢分為物資規(guī)格查詢、供應(yīng)商查詢、采購項(xiàng)目查詢和郵件查詢等。系統(tǒng)維護(hù)分為系統(tǒng)備份、系統(tǒng)恢復(fù)和操作員管理等。如下圖: IPO圖package com.jbpm.test;import junit.framework.TestCase;import org.jbpm.JbpmConfiguration;import org.jbpm.JbpmContext;import org.jbpm.graph.def.ProcessD

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論