iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 4
0
Software Development

BPM企業流程-EFGP開發路程系列 第 4

[Day 4] EasyFlow GP--系統設計工具(二)簽核流程設計師 : 流程變數

今天要談系統設計工具的另一個工具,簽核流程設計師。
是否還記得第一天有提到簽核流程設計師 和流程設計師的功用是相同,差別只在於新舊版本。
印象中EFGP 5.4.X.X系列是舊版本的流程設計師。新版本就是5.5.X.X以上。
本次分享的版本是5.6.X.X,所以就帶大家看新版的畫面
https://ithelp.ithome.com.tw/upload/images/20171206/20105722PDoUhTLQYo.png

簽核流程設計師主要是讓開發者自行設計流程走向、定義關卡和設定核決層級...等。
進階應用會使用到"服務任務"這個工具,這我們將在明後天和大家分享。
今天主要介紹基本的部份-->流程變數

流程變數:顧名思義,他就是一個變數,而這個變數應用在流程上,當變數值改變時就會有不同走向。
因此叫他流程變數。EX:在服務任務中呼叫WS,當服務任務傳回值為N通知系統管理員,傳回值為Y則走下一流程
https://ithelp.ithome.com.tw/upload/images/20171207/20105722VOQR2PEOgX.png
也可以說這變數是流程實際發生時,才會有的變數。EX:流程序號

明後天我會以此定義講流程變數的兩個應用。(SessionBean,Invoick服務任務)
今天先講如何透過表單語法來變更流程變數。

例如:我要將表單上填寫的員工基本資料,傳給服務任務當傳入值,以新增員工基本資料
Step1.新增變數
https://ithelp.ithome.com.tw/upload/images/20171207/201057222dGmqq11xk.png
輸入變數ID和變數名稱,定義型態為XML (這個例子是需要XML型態)
https://ithelp.ithome.com.tw/upload/images/20171207/20105722EkrFIKcJsV.png

Step2.賦予變數值
在表單的Javascript引用ajax_ProcessAccessor.assignRelevantData 這個ajax。
系統文件的說明
https://ithelp.ithome.com.tw/upload/images/20171207/20105722kmjhC32SQo.png

我的應用為以下,將工號(gNewEmpCode)、姓名(gNewEmpName)、密碼(gNewEmpCode)、電郵(gEmailAdress)、手機(gCallNumber)和LDAP(gNewEmpCode)組成字串,再套用成xml格式,以應用在此WebService的傳入值。

function AddUserTask(){
    var str="";	
	str += "<?xml version='1.0' encoding='utf-8'?>" + schar;	
	str += "<ImportOrganizationData>"+ schar;	
	str += "<Normal>"+ schar;	
	str += "<Users>"+ schar;	
	str += "<User action='add' id='"+gNewEmpCode+"' name='"+gNewEmpName+"' password='"+gNewEmpCode+"' mailAddress='"+gEmailAdress+"' phone='"+gCallNumber+"' language='1' ldapId='"+gNewEmpCode+"'/>"+ schar; //抓取表單的欄位值,組成字串。
	str += "</Users>"+ schar;	
	str += "</Normal>"+ schar;	
	str += "</ImportOrganizationData>"+ schar;	
				
	var prsInstOID=processInstOID;                  //流程實例	
	var relevantDataId="AddUserInfo";               //流程變數名稱
	var relevantDataValue=BuildXMLFromString (str); //呼叫BuildXMLFromString(),組xml語法自寫的Function,不說明因不為本次的重點
				
	DWREngine.setAsync(false);     
	ajax_ProcessAccessor.assignRelevantData(prsInstOID, relevantDataId, relevantDataValue, loadAssignRelevantData);        //使用ajax的assignRelevantData將資料賦予流程變數AddUserInfo
	DWREngine.setAsync(true);
}	

這樣就可以將值賦予到此流程變數,當Invoick呼叫WebService時,就可將此流程變數傳入到此WebService當傳入值。
而Invoick如何呼叫WebService,將放在明天進一步說明。


上一篇
[Day 3] EasyFlow GP--系統設計工具(一)系統管理員 : TipTop整合的設定
下一篇
[Day 5] EasyFlow GP--系統設計工具(二)簽核流程設計師 : 服務任務呼叫WebService
系列文
BPM企業流程-EFGP開發路程21

尚未有邦友留言

立即登入留言