freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于oa系統(tǒng)的工作流引擎設(shè)計(jì)方案(文件)

 

【正文】 e=activityInsdao ref=BusinessActivityInstanceDAO/ property name=tableItemDefdao ref=TableItemDefDAO/ property name=tableInsdao ref=TableInstanceDAO/ property name=workItemdao ref=WorkItemDAO/ property name=processInsdao ref=BusinessProcessInstanceDAO / /bean重要方法說(shuō)明:216。216。在啟動(dòng)流程或者打開工作項(xiàng)時(shí)使用。該方法用于查看文件。 submitWork() 提交任務(wù),參數(shù)是當(dāng)前的工作項(xiàng)對(duì)象 WorkItem 。該方法跟submitWork()相似,不同的是,這里調(diào)用businessActDefdao的getSources()來(lái)獲取前續(xù)節(jié)點(diǎn)的信息。該方法將在下一章詳細(xì)介紹。 getProcessStartedBy() 參數(shù):用戶編號(hào),返回一個(gè)流程模型集合。作用是獲取當(dāng)前用戶未辦理的工作項(xiàng)信息。216。所以下面對(duì)一些重要功能的實(shí)現(xiàn)進(jìn)行詳細(xì)的描述。說(shuō)明:該算法維護(hù)一個(gè)棧nextNodeStack ,該棧存儲(chǔ)的是活動(dòng)模型的編號(hào)。 if (AND.equalsIgnoreCase(())) { num_sources = ()。 other_activityDef = businessActDefdao .findById(other_activityDefId)。 } return reformNextActivity(start, currProcess, () .getStaffId())。這里使用了兩個(gè)輔助bean類: 帶權(quán)限表單輔助類Item類集合了字段模型表、字段實(shí)例表和權(quán)限表三個(gè)表信息,表示一條帶權(quán)限值得表達(dá)字段記錄。readonly39。然后根據(jù)流程模型中活動(dòng)定義的參數(shù)決定是否插入新的工作項(xiàng)。 public void reform(Stack targets, String currProcessId) { while (!()) { String nextDefNodeId = (String) ()。 if (nodetype == null) nodetype = 。 BusinessActivityDef srcDefNode = null。 sourceStack = (sourceStack)。 srcDefNode = (sid)。 }} if (flag) { (nextNode, currProcess, nextStaff)。 min != 0) { srcDefNode = businessActDefdao .findById((String) ())。 }}}}}6 總結(jié)本次畢業(yè)設(shè)計(jì)實(shí)現(xiàn)了一個(gè)基于OA系統(tǒng)的工作流引擎,該系統(tǒng)能滿足一般辦公室辦公自動(dòng)化的要求,它與傳統(tǒng)工作流引擎相比,具有支持靈活的流程定制、文件權(quán)限設(shè)置精確以及結(jié)構(gòu)清晰、輕量級(jí)等優(yōu)點(diǎn)。本論文介紹了分析設(shè)計(jì)實(shí)現(xiàn)過(guò)程中使用的相關(guān)技術(shù),然后對(duì)工作流引擎的功能需求作了深入的闡述,并給出了詳細(xì)的設(shè)計(jì)方案。Glossary. WFMCTC1011, 1999[8] Workflow Management Coalition. Workflow Client Application(Interface 2) Application Programming Interface (WAPI) Specification. WFMCTC1009,1998[9] Workflow Management Coalition. WflVIC Audit Data Specification. WFMCTC1015, 1998[10] Workflow Management Coalition. Workflow Process Definition Interface XML Process Definition Language. WFMCTC1025, 2002[11] ,2004[12] 肖茂兵,2006,第12期[13] 劉驍,何紅波, ,2007,第6期[14] W. M. P Van der Aalst, A. H. M. ter Hofstede, B. Kiepuszwski, and A. P. Barros. Workflow Patterns. :// , 2002[15] ,2006。不足之處:界面設(shè)計(jì)太粗糙、對(duì)于查詢功能沒實(shí)行分頁(yè)顯示。設(shè)計(jì)過(guò)程中運(yùn)用的技術(shù)或框架包括:Spring 、 JSTL、Ajax、JavaScript等。 if (() .equalsIgnoreCase(COMPLETED)) { min。 while (!() amp。 if (!().equalsIgnoreCase( COMPLETED)) {// pleted 為完成狀態(tài) flag = false。 boolean flag = true。 if (joinkind == null) joinkind = 。 // 類型判斷 if ((COMM) || (END) || (SPLIT)) { (nextNode, currProcess, nextStaff)。 // 獲取相應(yīng)的活動(dòng)實(shí)例 nextNode = (currProcessId)。算法描述如下:[1] 判斷棧targets是否為空,為空則執(zhí)行[11],不為空?qǐng)?zhí)行[2];[2] 彈棧,獲取一個(gè)活動(dòng)模型ID;[3] 獲取該ID唯一對(duì)應(yīng)的活動(dòng)模型;[4] 判斷活動(dòng)模型是否為“AND”,如果不是,則執(zhí)行[10],如果是,則實(shí)行[5];[5] 獲取該活動(dòng)節(jié)點(diǎn)的所有前續(xù)節(jié)點(diǎn)編號(hào)放在棧sourceStack中;[6] 判斷該活動(dòng)模型并類型(joindkind)是否為“ALL”,若是,則是執(zhí)行[7],若不是,則執(zhí)行[8];[7] 根據(jù)sourceStack中的編號(hào),逐一獲取當(dāng)前活動(dòng)的前節(jié)點(diǎn)實(shí)例,判斷是否有未完成的活動(dòng),若沒有,則執(zhí)行[10],如果有未完成的活動(dòng),則執(zhí)行[11][8] 獲取該活動(dòng)的最少通過(guò)數(shù)min;[9] 根據(jù)sourceStack中的編號(hào),逐一獲取當(dāng)前活動(dòng)的前節(jié)點(diǎn)實(shí)例,累計(jì)完成的活動(dòng)實(shí)例數(shù),若大于等于min 則執(zhí)行[10],若小于min ,則執(zhí)行[11]。那么如何用一個(gè)tr標(biāo)簽顯示多個(gè)字段呢?這里使用JSTL Core taglib 進(jìn)行循環(huán)和邏輯判斷:c:forEach var=item items=${} varStatus=loopStatus此外,使用了Spring自訂的標(biāo)簽庫(kù)的bind標(biāo)簽功能。loadDoc() 方法的返回值就是一個(gè)Document對(duì)象。這里使用了LaunchWorkControll類來(lái)實(shí)現(xiàn),它繼承了Spring Web MVC的SimpleFormController 類。 } } nextNodeStack = (nextNodeStack)。 i num_sources。 while (!()) { curr_activityDefId = (String) ()。流程模型由客戶端定義工具定制并保存在數(shù)據(jù)庫(kù)中,流程的實(shí)例化等同于遍歷表示該模型的圖的每個(gè)結(jié)點(diǎn)。5 系統(tǒng)實(shí)現(xiàn) OAworkflow總體框架本系統(tǒng)使用了Spring MVC 和Hibernate 數(shù)據(jù)庫(kù)持久層,下圖是總體框架:JSP、JavaScript、JSTL動(dòng)態(tài)綁定數(shù)據(jù)Spring Controllers控制表單交互自定義邏輯——引擎類WorkflowServHibernate 映射Spring DAOSQLserver 總體框架 重點(diǎn)功能實(shí)現(xiàn)工作流系統(tǒng)的功能相對(duì)其他一般的管理系統(tǒng)功能較為單一,但是功能的邏輯性比較強(qiáng),在頁(yè)面上一個(gè)簡(jiǎn)單的操作,工作流引擎執(zhí)行的邏輯卻十分復(fù)雜。 viewDocumentList()參數(shù):用戶編號(hào),返回一個(gè)文件列表。216。 reformNextActivity() 產(chǎn)生一個(gè)新的工作項(xiàng)WorkItem,屬于內(nèi)部方法。 reform() 該方法處于引擎導(dǎo)航的第二階段,即通知后續(xù)節(jié)點(diǎn),參數(shù)是存儲(chǔ)后續(xù)節(jié)點(diǎn)的棧和當(dāng)前流程實(shí)例編號(hào)。216。 saveDoc() 保存表單,參數(shù)是一個(gè)帶權(quán)限的表單對(duì)象Document,該方法對(duì)應(yīng)公文編輯界面的保存按鍵。 loadDoc() 裝載不帶權(quán)限的表單,參數(shù)是表單ID,返回一個(gè)表示不帶權(quán)限表單的對(duì)象Document_noAth。216。216。 引擎類引擎類屬于該系統(tǒng)的業(yè)務(wù)邏輯層,所有向Spring Web MVC中的控制器提交的請(qǐng)求都由該類—WorkflowServImp完成。該系統(tǒng)的業(yè)務(wù)活動(dòng)指定人員來(lái)執(zhí)行,流程模型定義的時(shí),每個(gè)活動(dòng)定義都必需進(jìn)行文件可讀或可寫的權(quán)限設(shè)置,而且該系統(tǒng)的權(quán)限設(shè)置可精確到表單的字段。工作流系統(tǒng)不是針對(duì)單一的業(yè)務(wù)流程開發(fā)的,它應(yīng)用具有一定的普遍性,對(duì)于不同的業(yè)務(wù)流程,需要對(duì)不同類型的表單進(jìn)行管理。這時(shí),當(dāng)前的工作項(xiàng)將被認(rèn)為已經(jīng)完成,但是相應(yīng)的活動(dòng)并沒完成,等到前一級(jí)部門把文件修改后,再發(fā)送,該活動(dòng)將會(huì)多一條工作項(xiàng)記錄。其狀態(tài)有三種:待辦、掛起、完成。 流程的控制模型 流程實(shí)例導(dǎo)航流程實(shí)例導(dǎo)航功能是工作流引擎的核心任務(wù)之一,工作流模型描述了業(yè)務(wù)的流程邏輯,工作流引擎通過(guò)解析此流程模型來(lái)進(jìn)行業(yè)務(wù)的流轉(zhuǎn),并使用一定的調(diào)度算法來(lái)進(jìn)行流程的流轉(zhuǎn)(流程的啟動(dòng)、終止、掛起、恢復(fù)等)和流程導(dǎo)航(環(huán)節(jié)的合并、分叉、條件性選擇等)。該選擇可能依賴于案 例相關(guān)屬性值所體現(xiàn)出的特定性質(zhì)。如果兩個(gè)任務(wù)能同時(shí)或以任意次序執(zhí)行,稱為并行路由。一個(gè)流程由許多需要被執(zhí)行的任務(wù)和一系列決定任務(wù)執(zhí)行順序的條件構(gòu)成,流程路由即是指以什么次序執(zhí)行哪些任務(wù)的問(wèn)題。 時(shí)序圖 執(zhí)行工作項(xiàng) 提交任務(wù) 實(shí)例化流程 數(shù)據(jù)庫(kù)設(shè)計(jì)一個(gè)應(yīng)用程序,不管是桌面應(yīng)用程序,還是Web應(yīng)用程序;不管它分了多少層的結(jié)構(gòu),采用的是哪種技術(shù)框架,其本質(zhì)都是用于維護(hù)一個(gè)數(shù)據(jù)集。步驟序列:1) 點(diǎn)擊導(dǎo)航菜單中的“查看流程狀態(tài)”鏈接。4) 系統(tǒng)彈出確認(rèn)框,點(diǎn)擊確認(rèn)。后置條件:公文被駁回到后續(xù)節(jié)點(diǎn)。后置條件:掛起當(dāng)前工作項(xiàng)步驟序列:1) 點(diǎn)擊“掛起”按鈕。3) 進(jìn)入后續(xù)節(jié)點(diǎn)界面,如果當(dāng)前節(jié)點(diǎn)為選擇分支節(jié)點(diǎn),用戶必須選擇后續(xù)發(fā)送節(jié)點(diǎn)。 發(fā)送文件參與者:普通用戶前置條件:用戶已經(jīng)登錄,進(jìn)入了公文編輯界面。 保存文件參與者:普通用戶前置條件:用戶已經(jīng)登錄,進(jìn)入了公文編輯界面。 打開工作項(xiàng)參與者:普通用戶前置條件:已經(jīng)登錄,進(jìn)入任務(wù)列表界面。 接收任務(wù)參與者:普通用戶前置條件:已經(jīng)登錄。后置條件:用戶終止了一個(gè)流程。步驟序列:1) 進(jìn)入流程控制界面,列出由該用戶啟動(dòng)并且在運(yùn)行或掛起狀態(tài)的流程信息,包括序號(hào)、流程名稱、當(dāng)前狀態(tài)、啟動(dòng)時(shí)間。2) 用戶選擇想要掛起的流程。3) 系統(tǒng)啟動(dòng)選中的流程,初始化活動(dòng)節(jié)點(diǎn)。 所示: 并發(fā)匯合 用例闡述參與者:普通用戶前置條件:已經(jīng)登錄,運(yùn)行服務(wù)中有待運(yùn)行的流程。 所示: 并發(fā)分流4) 選擇匯合:若干個(gè)步驟完成后,都流向步驟C,而只要這些步驟中有一個(gè)或多個(gè)完成了,步驟C就可以開始。 所示:活動(dòng)A活動(dòng)B 順序流向2) 選擇分流:一個(gè)步驟完成后,按一定的條件流向不同的下一步驟。所以,業(yè)務(wù)文件同樣具有靈活定制的需求,其數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)也是該系統(tǒng)要解決的問(wèn)題。工作流管理系統(tǒng)是對(duì)業(yè)務(wù)流程的管理系統(tǒng),任務(wù)能實(shí)現(xiàn)實(shí)時(shí)通知,有助于提高流程流轉(zhuǎn)速度,提高業(yè)務(wù)執(zhí)行的效率。(6) 跟蹤流程狀態(tài),分為三種:跟蹤用戶自己創(chuàng)建的流程的狀態(tài)、跟蹤用戶辦理過(guò)的流程的狀態(tài)和跟蹤用戶將要辦理的流程的狀態(tài)。(2) 打開工作項(xiàng),即選擇未完成任務(wù),進(jìn)入文件審批界面,進(jìn)行批閱。普通用戶的操作包括:?jiǎn)?dòng)流程實(shí)例、掛起流程實(shí)例、激活流程實(shí)例、接收任務(wù)、打開工作相、查看辦公文檔、發(fā)送文檔等等()。
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1