国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
Activiti 工作流表單設(shè)計(jì)及開(kāi)發(fā)

 一、前言

        Activiti 5對(duì)表單的支持目前還是比較弱的,表現(xiàn)在對(duì)表單的開(kāi)發(fā)還需要寫Freemark模板,并且它的模板還需要跟class文件一起打包發(fā)布。這使得流程的表單設(shè)計(jì)必須由開(kāi)發(fā)人員來(lái)開(kāi)發(fā)處理。因而,開(kāi)發(fā)一套易用性強(qiáng)的流程表單功能就顯得很有必要。

二、需求

        用戶一般都希望能有如Microsoft的Office套件中的InfoPath那樣,可以自己進(jìn)行設(shè)計(jì),并且能與工作流程綁在一起進(jìn)行流轉(zhuǎn)處理。如下所示:



        表單中每個(gè)字段有固定的數(shù)據(jù)類型,并由不同的數(shù)據(jù)控件展示,如日期、數(shù)字、單選或多選、下拉、多行文本甚至富文本編輯器。在實(shí)現(xiàn)更強(qiáng)的功能上,我們還允許控件能實(shí)現(xiàn)腳本交互。

三、設(shè)計(jì)實(shí)現(xiàn)思路

在表單與流程的整合中,我們一般不建議把表單的所有數(shù)據(jù)都存儲(chǔ)在流程中,僅需要把參與流程跳轉(zhuǎn)的數(shù)據(jù)才存到流程變量中去。如請(qǐng)假出差的流程,如下所示:

        如申請(qǐng)出差金額則需要參與流程的處理中去,因而在進(jìn)入這個(gè)判斷節(jié)點(diǎn)之前,流程變量中需要存在這個(gè)變量,并且通過(guò)判斷這個(gè)變量值來(lái)讓流程自動(dòng)跳轉(zhuǎn)。

1.        流程實(shí)例與業(yè)務(wù)表單關(guān)聯(lián)

基于以上設(shè)計(jì)的原則,流程中則不存儲(chǔ)業(yè)務(wù)表單的數(shù)據(jù),那么流程與業(yè)務(wù)表單又如何關(guān)聯(lián)?在Activiti 5 則比Jbpm4考慮了這塊,他在流程實(shí)例表及任務(wù)實(shí)例表相關(guān)運(yùn)行表中增加了一個(gè)字段(BusinessKey),用來(lái)關(guān)聯(lián)業(yè)務(wù)表單的數(shù)據(jù),我們一般把這個(gè)字段稱為業(yè)務(wù)主鍵。其關(guān)聯(lián)關(guān)系如下所示:

                 

        那么流程表單的數(shù)據(jù)如何存儲(chǔ)及如何展示,從上圖可以看到,我們對(duì)自定義的表單提供了生成物理表的方式,那么表單的存儲(chǔ)則通過(guò)在線生成的頁(yè)面獲取物理表必需要的數(shù)據(jù),然后保存至物理表中。這需要我們?cè)谠O(shè)計(jì)表單時(shí),生成一套表單數(shù)據(jù)規(guī)范,在審批時(shí),能夠進(jìn)行頁(yè)面表單的數(shù)據(jù)驗(yàn)證及存儲(chǔ)。另外,還需要對(duì)在執(zhí)行過(guò)程中的表單進(jìn)行權(quán)限控制,如同一節(jié)點(diǎn)上審批相同的表單,不同角色的人員對(duì)表單的字段的讀寫權(quán)限是不一樣的。

2.        在線表單設(shè)計(jì)功能要求

     我們把以上的需求進(jìn)行了用例描述,則得到如下示例

<IGNORE_JS_OP style="WORD-WRAP: break-word">

               

 

1.        設(shè)計(jì)表單模板

允許用戶預(yù)先設(shè)置好一些帶有漂亮格式的表單,如包括表頭、表腳及樣式。方便用戶調(diào)整表單。



2.        設(shè)計(jì)表單布局

允許用戶在線進(jìn)行在線布局,目前一般來(lái)說(shuō)都是基于表格的布局方式。



3.        設(shè)計(jì)表單字段控件、數(shù)據(jù)類型、數(shù)據(jù)驗(yàn)證

設(shè)計(jì)表單字段的輸入控件類型及數(shù)據(jù)類型,用于保證用戶輸入的數(shù)據(jù)的正確性



4.        設(shè)置表單字段權(quán)限

用于控制表單的字段的讀寫權(quán)限,結(jié)合工作流的審批,可以更有效顯示數(shù)據(jù)。



5.        支持表單動(dòng)態(tài)腳本

允許對(duì)表單控件加上交互腳本,以實(shí)現(xiàn)如一些級(jí)聯(lián)更新等的數(shù)據(jù)交互等。



6.        表單預(yù)覽

可以在線實(shí)時(shí)顯示表單的顯示效果



7.        預(yù)設(shè)流程變量

把參與流程運(yùn)算的表單字段標(biāo)識(shí)為流程變量。

3.        在線流程表單設(shè)計(jì)邏輯結(jié)構(gòu)分析

生成流程表單的流程如下所示:


說(shuō)明:

表單設(shè)計(jì)可以先設(shè)計(jì)物理表再根據(jù)模板生成在線表單

也可以先設(shè)計(jì)表單的樣式再生成物理表


        以上兩種方式最終的目標(biāo)均需要生成物理表,物理表的結(jié)構(gòu)及數(shù)據(jù)展示控件等我們則需要用表來(lái)記錄。因此,以下為他們大體上的數(shù)據(jù)結(jié)構(gòu)模型:


        表單生成物理表后,表單頁(yè)面需要跟物理表單的數(shù)據(jù)對(duì)應(yīng)起來(lái),在提交頁(yè)面表單時(shí),我們采用了Json的數(shù)據(jù)結(jié)構(gòu)來(lái)提交,在后臺(tái)獲取可以有效轉(zhuǎn)存為物理表的數(shù)據(jù)。如下格式:

表單數(shù)據(jù)分為3部分:

1.        主表數(shù)據(jù)。

2.        子表數(shù)據(jù)

3.        意見(jiàn)數(shù)據(jù)

數(shù)據(jù)格式如:


{"main":{"tableId":"tableId","fields":{"itemSubject":"出差深圳兩天","total":"230","creatorID":"1340762352749","creator":"張小軍","descp":"出差深圳兩天"}},"sub":[],"opinion":[]}


        在線表單的控件展示,需要按字段及結(jié)構(gòu)來(lái)解析最終顯示及數(shù)據(jù)驗(yàn)證。


        流程啟動(dòng)后,需要把業(yè)務(wù)主鍵傳至流程實(shí)例中去,幸好,activiti已經(jīng)提供了比較完整的API接口,如下:

Java代碼   [url=] 

 [/url]

  • ProcessInstance processInstance=runtimeService.startProcessInstanceById(porcessDefId, businessKey, variables);  

        以上方法會(huì)把業(yè)務(wù)表單中需要參與流程運(yùn)行的字段放到variables作為流程變量。

4.        流程定義與業(yè)務(wù)表單綁定

        流程定義允許綁定多種業(yè)務(wù)表單,目前我們可以簡(jiǎn)單分為三種模式,在線表單、同系統(tǒng)的定制業(yè)務(wù)表單、第三方業(yè)務(wù)表單。


        在線表單可以用全局表單,則整個(gè)流程用同一個(gè)表單,如果每個(gè)流程節(jié)點(diǎn)的表單不一樣,則可以通過(guò)設(shè)計(jì)表單。 表單數(shù)據(jù)結(jié)構(gòu)如下所示:


        


        所以在啟動(dòng)流程時(shí)及在任務(wù)進(jìn)行跳轉(zhuǎn)時(shí),均可以獲取流程節(jié)點(diǎn)的表單設(shè)置,從而在啟動(dòng)流程或執(zhí)行任務(wù)處理時(shí)能進(jìn)行正確的表單展示。


        流程在完成整個(gè)審批后,還可以通過(guò)流程運(yùn)行歷史,能通過(guò)該以下該表可以查詢當(dāng)時(shí)每個(gè)節(jié)點(diǎn)審批時(shí)的表單情況。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
VFP組合框動(dòng)態(tài)數(shù)據(jù)綁定實(shí)例之查找定位控件設(shè)計(jì)
VF知識(shí)點(diǎn)總結(jié)
asp.net 微信企業(yè)號(hào)辦公系統(tǒng)
在grid控件表格中創(chuàng)建下拉式窗口
計(jì)算機(jī)vfp二級(jí)考試筆試知識(shí)點(diǎn)
InfoPath的自定義表單設(shè)計(jì)教程
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服