![會簽動態(tài)配置修改手冊_第1頁](http://file4.renrendoc.com/view7/M01/01/13/wKhkGWbL3qaAYjwnAAA-gKvy9Uc938.jpg)
![會簽動態(tài)配置修改手冊_第2頁](http://file4.renrendoc.com/view7/M01/01/13/wKhkGWbL3qaAYjwnAAA-gKvy9Uc9382.jpg)
![會簽動態(tài)配置修改手冊_第3頁](http://file4.renrendoc.com/view7/M01/01/13/wKhkGWbL3qaAYjwnAAA-gKvy9Uc9383.jpg)
![會簽動態(tài)配置修改手冊_第4頁](http://file4.renrendoc.com/view7/M01/01/13/wKhkGWbL3qaAYjwnAAA-gKvy9Uc9384.jpg)
![會簽動態(tài)配置修改手冊_第5頁](http://file4.renrendoc.com/view7/M01/01/13/wKhkGWbL3qaAYjwnAAA-gKvy9Uc9385.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
會簽動態(tài)配置
修改手冊
V1.0
2020年4月7日
序言
本手冊主要敘述在原流程會簽的基礎(chǔ)上增加會簽的動態(tài)配置規(guī)則,例如:一票否決、最
小票數(shù)、百分比等方式進行會簽判決,決定會簽的流向。
需要注意的是,已經(jīng)生成的運行流程不支持此次會簽動態(tài)修改,因為在流程部署生成流
程圖時沒有設(shè)置會簽完成條件,所以不具備會簽動態(tài)規(guī)則的功能。新流程按接下來的配置即
可使用動態(tài)配置規(guī)則。
一、手動會簽
在原有流程圖的基礎(chǔ)上,給會簽節(jié)點的配置信息的完成條件增加務(wù)件"${counterSignPass
==true),;然后點擊“部署”發(fā)布新的運行流程即可,其余原有的流程配置不用修改,如下:
?MPx|d無IWEB|X0樣X+-0X
4CGk)calx>rt/Xjfe-M/pc<xe$s£ditofAnodelefJrtml?modetd-Saaac1974<J9c4?c2ba358bl931292184☆0
EPR?Cloud@OutMcW?bAppARedme
回QQQQHQ(3QGQ@QQ
,網(wǎng)關(guān)
,邊用?件
>中間58度期
>中1句黨出
》結(jié)束W4
?泳遇V部門經(jīng)理會簽
?用件±?(10)Counlenign麗
No
0MH?YS:0executtonMsiencn
:P.MBB03^0:NoMg
魚含(―:MUMTUSO元?金■(??M):9rtM
1:1>s?a:
$4<oumefSionPws--true)
?J八?.《!?—
然后部署流程,在“運行流程”中使用拷貝配置將舊流程的配置拷貝進新流程,由于會
簽規(guī)則是新增數(shù)據(jù),舊流程會簽節(jié)點沒有相關(guān)數(shù)據(jù),需要手動配置相應(yīng)的規(guī)則,如不配置則
是默認按原來的方式走(即程序控制)。
?然趣|ERP
運行流程H制
.口?以—E賅
1的VO99MQ
□m-E-
■n?件.Q■-en
IS'|[二__________?GMQN
■n臉一人■左殖QsOifi&itiiA
。二】主ent■性?找?■
Q-忖—■性電ana??o?
□|an—|asa
Q.忖會計■.anana-■E*
■小USDr
□—anan????百分比
西原有BSS有萬代
□L0■?苫
二、多級會簽
2.1流程圖會簽節(jié)點配置
流程圖中配置參考第一章節(jié)艮1可
主It(ID):jolntlySign名分:65
描述信在:Novalue跨步:Q
互斥任務(wù):攜行=聽3&:0rxecutionK$t?n?r$
多實例美史:ParallelSB(妥實可):N)value
集合(多實的:SfuserUst)元衰變量(多實例):assignee
1完成條件(名實??):
${counter$ignPass==.SSM48:Q
4>西?田a-NoAi?ianm?nt本給?|尸?NsV4lu?
2.2業(yè)務(wù)代碼中的流程配合修改:
首先在業(yè)務(wù)代碼中獲取會簽規(guī)則,代碼示例如下:
Map<String,String>param2=newHashMap<String/String>();
Stringprocess_definition_id=ring("process_definitionjd");
Stringtask_def_key=ring("task_def_key");
("process_definition_id",process_definition_id);
("task_def_key",task_def_key);
M叩〈String,Object>countersignRule=ersignRule(param2);〃會簽規(guī)則
:wodc?p?ce-cmNc-?(pnngT?oi(wt?I
AWfdhSource(UfadorNaUg?f.ProjectRunWardowHelp
?3/4?o?d??,?.、?,?,)?
1P-dcfnUm”:"F%??d°u
>毋MmMi1prc)*cfpABn3157389〃含愛
90booleanalHign?tatus=false;
>盅com?ru<t^Mb4<f4o31243if(ta^kNM*.tqu?lf(*jointlySign*)M**Y*.?qu41s(proje<tApply.gftStr(Pr?je<tApply.I$_lMG£MT)))(
>£finmdtcMifoJ0417
〉
>盅fc^cUM?Kh*<M>eJBJ2Nap<String9Stringparaa■n?wHashKapKString,String>();
"
>AC^dMwfo31261Stringprocess_instancc_id■resultJson.getString(?proccss-in*t?nc?_id);
>IrwtwoHcplan/?Stringprcviou5.t?sk_instancc_id=result)son.getString("p^evioui.task.instance.id");
>周p<mCo?wio?Z73UString?ddition?l_infonMtioG?re?ultIson.getString("additionel-inforoation");
97p>r^n.put(*proc?s$inst<nceid-pBce”,cstx?」d);
>盅pmWr?K?23il5-->
aw,」,?」
>度prcje<uW<yind<4tor98paraa.put('pr?viou?_task_instaf%ce.id/p2“ou_t"kct0'cd);
paraa.put("additional_inforaation",ddditional_infor?Ation);
>盅projecucctpuoce2^551
-?1O0List<Map<StringObject?list*WfUti1.counters\gnlnfo{pano<*);//
vA30073f
鼻
vcoMroMer焚33102NefKString,String》par??2=n?wHsshMapCStrinf,String>();
央
>P2ie?Ap/C8trMerj.163Stringprocess.definition.id■resultJson.tet5trint(wproce?$_de<inition_id**);
vaPrej?ctAppl|V^fCcrtrol*r.1B4Stringt“k_d“_k-y?r?tultIson.getString(Mtask^def_k?ya);
▼R曾詠NN
105parda2.put(proc0ss_dofinition_id/procoss_d?finition_id);
?cMe9ory5?*vk?lebparan2.put(*task_def_koy*,task_dcf_k?y);
aco(nmorAtt?ch$?rv?c
N?p<StringvObject>countersignRulc=WfUtil.counterst^nffuleCpar?vi2);//^£lRn
.??v*ce
Q9?<ForkNede(Pfoj?c"(C011e<tio?4nil5.<sMdefRptHHst))(//
“gc^tApp^tylO110IntCOM?0;
-…1111IntprocesfiCount?0;
[..、wAppa-C|112for(FUpKString,Obj?ct>nap:list){//金優(yōu)合二同總行金獎
113Objectprocces5_st?tus?nap.get("proccess.status");
(>k<>dM?Ch>n<je$Utu?
>0|dM2512511<1Ig
>.Mfvke12?5
>琮proje<UpprOM?l,:八
然后判斷是否程序控制(原流程會簽方式),不是則將此類參數(shù)傳遞到前端頁面進行判
斷(此時由于我們不知道當前處理人會如何審批)
if("PROGRAM".equalslgnoreCase((,,counterMode',).toString())){
if(cou==0){
allsignstatus=true;
)
("countersignRule",NString(countersignRule));
}else{
("processcount",processCount);〃己會簽數(shù)量
("agreenum",processCount-cou);//會簽同意數(shù)量
("nrOflnstances",());〃會簽總數(shù)
("countersignafterdown","Y");〃會簽結(jié)束后走向下一步
("countersignRule",NString(countersignRule));
)
109if(CollectionUtils.isMot£flpty(list)){//主
110intCOM?0;
111intproc?ssCcxint>0;
112for(MapKStringiObject>aap:list){//遞代含妥丁弟Mtf是否曾佑鑫
113Objectproccoss_£tatu£?ajip.got(wproccoss_statusM);
114!-nvll)(
115proce$$Count
116)
if(proccess.status!-null&&^N^.equdlsOtring.votv?Cf(pro<cess_status))){//WUKI任何一個不?同欠蜘含二
118coui;
119)
120}
121
122if("PROGRAM*.?qudltIgnor?Ca$?(countorsignRule.get("count?rMod?H).toString())){
123if(cou==0){
124allsignstatus■true;
1251
126(Mrams.put("countersifnRjle-,3SONUtil$.toJS(W5tr(n9(countersignRule));
U7}?!??{
128countersignRule.put("prozesscount*,processCount);
"9countersignRu.put("agr??nu?*,prosssCouct-cou);〃俵整BKH
130counter5ignRule.put("nrOFlnst?nce?">list.size());//n£9A
"Ipae?s.pvt(“c8nteriaafte"gn.jY?);這個拿救必須值.因為我們不注28當用處理人處建后會簽是否給束
132params.put("countorsignRjlo",JSONUtil%.toJStWStri“(c<xjctQr與ignRul"));
133)
頁面代碼處理:
代碼和圖示如下:
function]counterSignResult【params,|process_statu三|至當前人的會簽處理結(jié)果
if(*jointlySign'=='${taskName!!'){""'**
varelJsonObj=JSON.parse(params.elStringValue);
varallsignstatus-el?sonObj.allsignstatus;//三的合簽林面幾人的總答循杲
varcountersignRule=JSON.parse(params.countersignRule);荻取后臺傳遞的會簽規(guī)貝ij
程序控制
if('PROGRAM'==countersignRule.counterMode){使用原有代碼,不做處理
if(allsignstatus){//前面幾個會及旌部則
if(process_statu>=="N"){
elDsonObj.allsignstatus=false;
params.elStringValue=JSON.stringify(elJsonObj);
}else{
elJsonObj.allsignstatus=true;
params.elStringValue=3SON.stringify(elJsonObj);
//params.countersignafterdown='Y';
任何一個不通過,目接送回京起人
params.elStringValue=JSON.stringify(elJsonObj);
}else{已經(jīng)會簽處理的數(shù)星,力口1是加上了當前處理人
varprocesscount=countersignRule.processcount+1;
varnrOfInstances=三ountersiRnRule.nrOfInstances;會簽總實例數(shù)
if(I'ONEVOTEREJECT”==countersignRule.counterMode){
一票否決if(process_status=="N"){會果判斷
el^sonObj.allsignstatus=false;會簽不通過
params.elStringValue=3SON.stringify(elDsonObj);
}el?e(
elJsonObj.allsignstatus=true;
params.elStainaValu。=JSON.stringifv(elJsonObj);
if(processcount!=nrOfInstances){已會簽數(shù)曷不等于總實例數(shù),
params.countersignafterdown=null;
說明會簽未浩束,
此時該參數(shù)必須疊空
fr---------------1最/J要數(shù)
}elseif(」MIN_VOTE'I==countersignRule.counterMode){
varminVote=countersignRule.ruleData;會答為I.則中沒罟的虢小通i寸堇數(shù)
varagreenum=countersignRule.agreenum;除去當前處理人的已同意數(shù)是
if(process_statu>=="Y"){
agreenum=agreenum+1j如果當刖人同e,已同意數(shù)星JJ口1
if(agreenum>=minVote){會笠結(jié)果判斷,處理情況同上
elJsonObj.allsignstatus=七rue;
params.elStringValue=JSON.stringify(elJsonObj);
//params.countersignafterdown='Y';
}?lse(
elJsonObj.allsignstatus=false;
params.elStringValue=3SON.stringify(elJsonObj);
if(processcount!=nrOfInstances){
params.countersignafterdown=null;
}
).百分比
}elseif(|,PERCENT*|==countersignRule.counterMode){
varpercent=countersignRule.ruleData;會密婭則設(shè)?罟的通過百分比
varagreenum=countersignRule.agreenum;
if(process_statu>=="Y'*){
agreenum=agreenum+1;
},*,“、,計苴己同意的百分比是否大于等于
if(agreenum*100/nrOfInstances>=percent){
elJsonObj.allsignstatus=trua;iSS的百分比,進行結(jié)果處理
params.elStringValue=3SON.stringify(el3sonObj);
//params.countersignafterdown='Y';
elJsonObj.allsignstatus=falsa;
params.elStringValue=3SON.stringify(el3sonObj);
params.countersignafterdown=null;
M
returnparams;
)
functioncounterSignResult(params,process_status){
if('jointlySign'=='${taskName!}'){
varelJsonObj=(IngValue);
varallsignstatus=gnstatus;//當前會簽前面幾人的會簽結(jié)果
varcountersignRule=(ersignRule);
if('PROGRAM'==erMode){
if(allsignstatus){//前面幾個會簽人全部通過
if(process_$tatus=="N"){
gnstatus=false;
ingValue=gify(elJsonObj);
}else{
gnstatus=true;
ingValue=gify(elJsonObj);
//ersignafterdown=Y;
)
}else{//任
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年可調(diào)控輥型四輥液壓軋機合作協(xié)議書
- 2022-2023學(xué)年廣西玉林市容縣四年級(上)期末數(shù)學(xué)試卷
- 新譯林六年級英語上冊教案(全冊)
- 2025年臨時工協(xié)議常用版(2篇)
- 2025年二手數(shù)控機床買賣合同(2篇)
- 2025年五年級下冊語文教學(xué)工作總結(jié)樣本(3篇)
- 2025年人事代理員工勞動合同常用版(4篇)
- 2025年倉儲運輸合同標準版本(4篇)
- 2025年互聯(lián)網(wǎng)技術(shù)服務(wù)合同樣本(三篇)
- 專題01 集合、邏輯用語與復(fù)數(shù)(解析版)
- 2024年中考語文試題分類匯編:散文、小說閱讀(第03期)含答案及解析
- 《宮頸癌篩查》課件
- 2024年聯(lián)勤保障部隊第九四〇醫(yī)院社會招聘考試真題
- 第二章《有理數(shù)的運算》單元備課教學(xué)實錄2024-2025學(xué)年人教版數(shù)學(xué)七年級上冊
- DB31-T 596-2021 城市軌道交通合理通風(fēng)技術(shù)管理要求
- 華為智慧園區(qū)解決方案介紹
- 2022年江西省公務(wù)員錄用考試《申論》真題(縣鄉(xiāng)卷)及答案解析
- 2024年國家公務(wù)員考試《行測》真題(地市級)及答案解析
- 【招投標管理探究的國內(nèi)外文獻綜述2600字】
- 人教版八年級英語上冊期末專項復(fù)習(xí)-完形填空和閱讀理解(含答案)
- 一例蛇串瘡患者個案護理課件
評論
0/150
提交評論