




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、安華信息工作流引擎詳細設計說明書2012-3-21該文檔主要描述工作流引擎的實現細節。目錄 TOC o 1-5 h z 1引言4 HYPERLINK l bookmark12 o Current Document 1.1編寫目的4 HYPERLINK l bookmark15 o Current Document 1.2背景4 HYPERLINK l bookmark18 o Current Document 1.3定義4 HYPERLINK l bookmark21 o Current Document 1.4參考資料4 HYPERLINK l bookmark26 o Current Do
2、cument 2程序詳細設計5 HYPERLINK l bookmark29 o Current Document 工作流運行時(WorkflOwRuNTIMe) 5 HYPERLINK l bookmark81 o Current Document 程序概述5 HYPERLINK l bookmark33 o Current Document 功能設計5 HYPERLINK l bookmark58 o Current Document 夕卜部接口11 HYPERLINK l bookmark73 o Current Document 尚未解決的問題12 HYPERLINK l bookma
3、rk78 o Current Document 工作流設計器(Workflowdesigner) 12程序概述12 HYPERLINK l bookmark84 o Current Document 功能設計12 HYPERLINK l bookmark115 o Current Document 外部接口16尚未解決的問題17公共對象17數據庫結構說明21地區表21業務附件文件.21流程業務數據包21流程業務數據包定義22流程實例表22 HYPERLINK l bookmark130 o Current Document 流程日志23 HYPERLINK l bookmark133 o Cu
4、rrent Document 已處理消息隊列表23待處理消息隊列表24流程狀態結點240流程狀態參與角色關系表24流程模板表2流程模板與業務類別、險類標識關系表25日志項表25 HYPERLINK l bookmark145 o Current Document 狀態操作附加規則2 HYPERLINK l bookmark148 o Current Document 流程狀態后活動2 HYPERLINK l bookmark151 o Current Document 流程狀態前活動2 HYPERLINK l bookmark154 o Current Document 流程狀態表單信息27
5、HYPERLINK l bookmark157 o Current Document 流程狀態操作表27 HYPERLINK l bookmark160 o Current Document 流程狀態操作消息表28詳細設計說明書1引言1.1編寫目的工作流弓I擎的開發人員。1.2背景說明:a .本系統名稱:工作流引擎。b.本系統概要設計工作由秦超完成,詳細設計由王思遠完成,劉云峰執行開發任務。1.3定義Workflow工作流Runtime運行時Designer設計器MessageQueue 消息隊歹U1.4參考資料列出有關的參考資料,如:本項目的經核準的計劃任務書或合同、上級機關的批文;屬于本項
6、目的其他已發表的文件;c .本文件中各處引用到的文件資料,包括所要用到的軟件開發標準。列出這些文件的 標題、文件編號、發表日期和出版單位,說明能夠取得這些文件的來源。2程序詳細設計2.1 工作流運行時(WorkflowRuntime )2.1.1 程序概述工作流運行時是工作流概念的核心部分,作用于工作流服務生命周期的全部場景,掛接各項 工作流的配套服務,如工作流實例狀態跟蹤、記錄軌跡、消息分發等。功能設計WorkflowRuntim e 類命名空間:AHIT.WorkflowEngine關鍵字:sealed類職責:確定工作流模板:根據業務類型(1核保、2核賠)和險類標志(1農險、2非農險)確定
7、使用的工作流模板創建工作流實例:根據工作流模板表,狀態結點表,結點的角色、操作、規則表創建工作流實例表和 流程日志表(如果已加載日志服務,調用日志服務)。加載流程業務數據包加載的業務數據包必須符合流程業務數據包定義表的規則,否則觸發異常。加載業務附加文件獲取工作流實例任務列表包括待處理任務列表、已處理任務列表、逾期任務列表獲取單體工作流實例主要返回指定實例的流程業務數據包工作流操作從待處理任務列表選擇要處理的流程實例取流程狀態參與角色關系表判斷操作的流程實例結點是否有權限取狀態操作附加規則表判斷操作的流程實例結點的規則(由規則引擎實現)在符合規則的前提下取流程狀態操作表判斷結點的下一步操作將要
8、更改工作流實例的操作添加至消息隊列(交由消息隊列服務處理)字段及屬性:字段名稱字段描述字段類型備注OperatingInstanceCount當前實例數量Int靜態存儲StartTime開啟時間DateTime靜態存儲OperatingServiceCount當前服務數量Int靜態存儲 方法:a)獲得待處理任務列表Public List GetInstanceList( string operatorNumber);(參數是否加業務類型、險類標識)根據操作者的ID,先取流程狀態參與角色關系表取全部可操作的節點信息, 排除特例表的不應自己操作的節點信息然后內關聯流程實例表的當前節點字 段,再左關
9、聯流程狀態節點表的主鍵,得出所有待操作的實例信息及節點狀態 并返回。根據操作員編號、實例編號獲得待處理任務的詳細信息Class InstanceColletionT_FlowInstance flowInstance;T_FlowBizDataBag flowBizDataBag;List operationMessageList;Public InstanceColletion GetInstance ( string instanceNumber,string operatorNumber)根據 instanceId 獲取數據包 BizDataBag、單體 WorkflowInstance
10、、還有可 執行的操作集List這三者組合而成的大對象 InstanceColletion。將流程業務數據包傳給規則引擎返回可操作的流程列表Public List GetOperations(BizDataBag bag)根據RecentNode和取出下一步可進行的操作列表,然后將Bag傳入規則引 擎,返回操作代碼,再關聯操作表的主鍵得到操作的List。創建工作流實例Public bool CreateInstance( BizDataBag bag,string bizNumber,string templateCode, attachFile file):(j9qiunN93ueisui/v
11、o|4 6uuis)96ess9|/|uo!iej9dosnieisi99 |oog 曾景邑閽擎址吉理Y盲含物0孟郢宙(乙) :(e6e sseiAiuoiiejedosnieis 96ess9|/|uo!iej9dosnieis-i)96ess9|/|uo!iej9dosnieisppv|oog曾麒閽擎犒理叩罷(I) 96ess9|/|uo!iej9dosnieis-i (d :(9|!dqDenvz!q 9|!dq3envz!g-l)9|!dq3envz!gpPV |oog g鼬 采 BIHipeiWz 圮?L (q :(6egeieaziq 6egeieaz!g/vo|d_i)6egei
12、eaz!g/vo|dppv |oog 軸凜巖亦鼬(乙) ;(j9qiun|9Dueisui/vo|4 BuuBegeieQzigMOijeiepiieA |oog 買尊的S旦WBt陽采uo!i!u典奇明哄qzmoh由IM 昌昌晦巖亦買嬌(I) 6egeieaz!g/vo|d-i (e 采綢朗距蛔工 (J9qiun|9Dueisu! 6uuis ) 9Dueisunu9isisj9d9Q |ooq Di|qnd盼孟MO|ppoM利菅毋為J9qiunN93ueisui陽丫劍郢宙(a (6siu p 叫冰。 eBesseiAiMOid-enen&eBesseiAioippv ,9DiAJ9S96es
13、s9|/| 由圈Y劍糖 秘McssbiaiG鞍貿,盼孟薊目含性孕靖、含郢由巖亦、昌郢凜陽丫劍郢宙 限制及約束:WorkflowRuntime是一個密封類,沒有派生者,以單件模式創建,隨Windows Service啟動,運行時常駐內存。MessageService 類命名空間:AHIT.WorkflowEngine關鍵字:static類職責: 將消息添加至消息隊列(物理表)輪詢消息隊列并處理Task 判斷某一具體Task是否合法字段及屬性:無。方法說明:public static Void AddToMessageQueue T_FlowMessageQueuqWaited msg)將Mess
14、age加入引擎待處理消息表。public static void ExecuteTask()循環訪問待處理消息表,取時間戳最早的一條記錄處理,共處理三件事情,第 一是增加流程狀態操作信息表的記錄,二是更新實例表,三是寫日志項表,在 一個事務中控制,當處理結束時同時更新兩張表,即在待處理消息表中刪除記 錄和在已處理消息表中增加記錄若事務完成則回到循環體繼續訪問待處理消 息、表。private static bool JudgeTask( T_FlowMessageQueuqWaited msg)利用message攜帶的實例信息判斷該實例的當前操作是否滿足要求。如防止重復操作。限制及約束:無。Lo
15、gService 類命名空間:AHIT.WorkflowEngine關鍵字:static類職責:填寫日志在創建流程實例時寫流程日志在操作工作流結點時寫日志項查看日志列表查看單體日志字段及屬性:無方法:Public static void WriteFlowLog( T_FlowLog flowLog)寫流程日志。Public static void WriteLogItem(T_LogItem logItem)寫日志項Public static List GetLogs(string instanceCode)根據實例編碼取該實例的操作日志列表。Log為流程日志和日志項的組合類Public s
16、tatic Log GetLog(string logItemNumber)根據日志編碼主鍵訪問單體日志。Log為流程日志和日志項的組合類限制及約束:寫日志受Task執行成功與否的制約,被包含在ExecuteTask()所觸 發的事務里。ExceptionHelper 類命名空間:AHIT.WorkflowEngine關鍵字:static類職責:拋出自定義異常字段及屬性:無方法:Public static string GetCustomizeException( string exceptionCode)限制及約束:無。夕卜部接口調用的外部接口( External Interface)獲取系
17、統級人員信息獲取系統級角色信息將核賠后的業務狀態傳遞至理賠子系統將核保后的業務狀態傳遞至承保子系統獲取地域字典描述獲取險種字典描述獲取規則引擎的判斷結果被調用的外部接口( Public Interface)a)查看當前核保流程狀態b)查看當前核賠流程狀態c)查看流程軌跡尚未解決的問題與規則引擎的銜接子流程的需求2.2 工作流設計器(WorkflowDesigner )2.2.1 程序概述工作流設計器是定義工作流模板、流程節點、操作與規則的工具,是對靜態定義的描述。功能設計TemplateConfiguration類 命名空間:AHIT.WorkflowDesigner關鍵字:無類職責: 根據業
18、務類型(核保、核賠)和險類標識(是否農險)創建不同的雙核工作流 模板設置工作流模板的流程業務數據包定義構建工作流模板的各個結點指定各個結點的權限設置各個結點的級別、關系設置結點之間的流轉規則指定各個結點的流程狀態前活動事件和狀態后活動事件指定各個結點的流程狀態表單信息(結點對應審批窗體顯示信息實體類名,運 行期從流程業務數據包讀取) 方法:創建工作流模板方法Public bool CreateFlowTemplate(Template flowTemplate);傳入Template公共類,內部調用其它模板配置相關類構建工作流模板、節點、 操作、規則等。其它模板配置相關類:T_FlowTemp
19、late類根據模板編號獲取模板實體Public T_FlowTemplate GetFlowTemplate(string flowTemplateNumber);根據業務類型、險類取模板實體Public T_FlowTemplate GetFlowTemplate(string businessType, string classFlag);創建流程模板Public bool AddFlowTemplate(T_FlowTemplate flowTemplate);T_FlowStatusNod e 類根據模板編號取狀態結點列表Public List GetFlowStatusNodeLis
20、t(string templateNumber);根據結點編號取狀態結點實體Public T_FlowStatusNode GetFlowStatusNode(string nodeNumber);添加狀態結點實體Public bool AddFlowStatusNode(T_FlowStatusNode flowStatusNode);T_FlowStatusNodeRole 類根據角色、狀態結點編號取流程狀態參與角色關系表實體Public T_FlowStatusNodeRole GetFlowStatusNodeRole(string RoleNumber, string FlowSta
21、tusNodeNumber);也可以根據用戶名,暫不考慮添加流程狀態參與角色關系表Public bool AddFlowStatusNodeRole(T_FlowStatusNodeRole flowStatusNodeRole);T_StatusOperation 類根據狀態結點編號取流程狀態操作實體Public T_StatusOperation GetStatusOperation(string flowStatusNodeNumber);添加流程狀態操作實體Public bool AddStatusOperation(T_StatusOperation statusOperation)
22、;FlowBizDataBagDefinition 類添加流程業務數據包定義Public bool AddFlowBizDataBagDefinition(T_FlowBizDataBagDefinitiondataBagDefini tion)根據模板編號取數據包定義實體Public List GetFlowBizDataBagDefinition(string flowTemp lateNumber);T_StatusBeforeAction根據模板編號取流程狀態前活動實體列表List GetStatusBeforeAction(string flowTemplateNumber);(2)
23、添加流程狀態前活動實體Public bool Add StatusBeforeAction(T_ StatusBeforeAction statusBeforeAction);T_StatusAfterAction(1)根據模板編號取流程狀態后活動實體列表List GetStatusAfterAction(string flowTemplateNumber);添加流程狀態后活動實體Public bool AddStatusAfterAction(T_ StatusAfterAction statusAfterAction);T_StatusFormInfo根據狀態結點編號取流程狀態表單信息實體
24、T_StatusFormInfo GetStatusFormInfo(string flowStatusNodeNumber);添加流程狀態表單信息實體Public bool AddStatusFormInfo(T_StatusFormInfo statusFormInfo);1. Designer 類(Version 1.1 的內容) 命名空間:AHIT.WorkflowDesigner關鍵字:無類職責:以圖形化的方式配置工作流模板RuleDefinition 類 命名空間:AHIT.WorkflowDesigner關鍵字:無類職責:創建并保存規則修改并保存規則停用規則規則定義相關類Rule
25、Definition 類(1)調用規則引擎設計窗體Public string CallRuleEngine(Rule rule);傳入Rule類(內含規則表達式及規則涉及到的實體對象),返回規則引擎編號 保存規則引擎編號,調用T_StatusActionRule類Public bool SaveRule(string ruleNumber);T_StatusActionRule 類根據流程狀態操作編號取狀態操作附加規則(主要取規則引擎編號)Public T_StatusActionRule GetStatusActionRule(string statusOperationNumber);添加
26、狀態操作附加規則Public bool AddStatusActionRule(T_StatusActionRule statusActionRule);夕卜部接口1.調用的外部接口( External Interface)a)獲取系統級人員信息LA6uuisnif采巖亦edXisseuisngW!含性爰WX腳漏吉理jeqiunNuoiieieyeieidiueiMOu|ooq涅當由奇6e|ddois6uuis稀漏吉理3 d4j_5 e | d iu 3 j_mo 136uuis物順靖理UOISJ9A6uuis熾漏吉理eiueNWi旨費編枯理j aq uj n n 9)e | d uj 9 j
27、/。|WW匿茉可引diu3_ SIE l手墨浦理丟乙 翁功陽蠢舊iUfi鮮與 I園回咽踞畢票rz z。堊(如可回UI D!|qnd ) 翁襄仍陽由IM舞.乙iffiW 串(9啊諭割捋幌買(P啊略神映(3霽聘齡爰夠(qRiskFlag險類標識string靜態存儲FlowBizDataBagDefinitionNumber流程業務數據包定義編號Int靜態存儲DataBagDefinitionXSD流程業務數據包定義內容xml靜態存儲RiskCodeNumber險種編號String靜態存儲List結點集合List靜態存儲2、Node 類字段名稱字段描述字段類型備注FlowStatusNodeNumb
28、er流程狀態節點編號nt靜態存儲FlowTemplateNumber流程模板編號nt靜態存儲StatusName流程狀態節點名稱String靜態存儲StatusFormInfoNumber流程狀態表單信Int息、編號靜態存儲FormClassName流程狀態表單信string息類名靜態存儲FlowStatusNodeRoleNumber流程狀態參與角色關系編號nt靜態存儲RoleNumber角色編號int靜態存儲UserNumber用戶編號int靜態存儲List流程狀態操作集合List靜態存儲3、Operation 類字段名稱字段描述字段類型備注StatusOperationNumber流程狀
29、態操作編號int靜態存儲FlowStatusNodeNumber流程狀態節點編號int靜態存儲TargetStatusNodeNumber目標狀態節點編號int靜態存儲OperationName操作員姓名varchar靜態存儲List狀態操作附加規則集List靜態存儲4、Rule 類字段名稱字段描述字段類型備注StatusActionRuleNumber狀態操作附加規則編號int靜態存儲StatusOperationNumber狀態操作編號int靜態存儲RuleText規則表達式varchar靜態存儲FlowBizDataBagXml數據包存儲對象XML(個 Rule 在Xml靜態存儲規則引擎
30、只能對應一個實體對象)TVZ魅串昌郢凜巖亦吉理顯顯叫BegeieQzig/wou言性盼孟吉理顯顯t叫jeqiunNeDueisuiMOu言性軸凜巖亦吉理者者叫jeqiunNBegeieQzigMOu理捂括畿王顯晉覃囪顯晉囹瀚指族銅古Wg顯顯6leiupepBegeieazigMOH-!EVZ9Z!S9|!d所g顯顯OOSjeqDjeA1U5UOKH混瘁顯顯00乙jeqDjeAeiueN9l!d言性盼孟吉理顯顯t辿jeqiunNeDueisuiMOu言性g韌贍亦者者辿j9qmnN9|!dq3envz!g理捂括畿王顯晉覃囪顯晉囹瀚指族銅古含性X腳理捂括者畿王顯晉者t草囪顯晉囹瀚指9|!dqDenv
31、z!9-l球瑚咐ZVZluiJ9qiun|eejveejv-!顯顯83iu!AiepeiuilieeQlsen回朗不劫顯顯83iu!Aiep9!1PU3回朗腳瓦顯顯83iu!Aiep泗呻S言性盼孟吉理X顯顯t叫jeqiunNeDueisuiMOuiuejed言性漏吉理顯顯t叫jeqiunNeieidiueiMOu言性盼孟吉理者者叫jeqiunNeDueisuiMOu理捂括畿王顯晉覃囪顯晉貿瀚指族銅古eDueisuiMOu-!齡澹醐srz言性漏吉理顯顯叫jeqiunNeieidiueiMOu含性地硯1顯顯叫jeqiunNepojsiy串軸確亦吉理顯顯I-|LUXSXUoiiiuipaBegeie
32、a言魅串昌郢凜巖亦吉理者者叫jeqiunNuoiiiuipQBegeieQzig/wou畿王顯晉覃囪顯晉uoiiiuipQBegeieQzigMOu-!rrz所軸釧亦吉理顯顯I-|LUXllAlx6egeieazig/vo|d言jeqiunNuoiiiuipQAreaNumberint4否否地區編號RiskCodeNumberint4否否險種編號Amountdecimal9否否金額EndFlagbit1否否結束標識CurrentStatusNodeNumberint4否否當前狀態結點編號業務號(如投保單號,BusinessNumberint4否否賠款計算書號)流程日志T_FlowLog字段名稱
33、字段類型字段長度是否必填是否主鍵字段描述FlowLogNumberint4是是流程日志編號FlowInstanceNumberint4否否流程實例編號OperationDatedatetime8否否操作日期已處理消息隊列表T_FlowMessageQueueDone字段名稱字段類型字段長度是否必填是否主鍵字段描述FlowLogNumberint4是是流程日志編號FlowInstanceNumberint4否否流程實例編號OperationDatedatetime8否否操作日期顯顯叫j9qiun|9poNsnieisMOld者者叫j9qiun|9|oy9poNsnieisMOld娘強與M犒理畿王
34、顯晉覃囪顯晉引。雷 poNsngsMO|zT_L噩綠國眄季期醐OTVZ熾苧gq清理顯顯OSjeqDJBA9iueNsnlelS言性漏吉理顯顯叫jeqiunNeieidiueiMOu者者叫j9qiun|9poNsnieisMOld畿王顯晉覃囪顯晉囹瀚指族銅古叩 ONsngsMO|zT_L醐 6VZ膜日調顯顯83iu!AiepeieQuoiiejedoJ9qiun|9nb9nt)ui96ess9|/|言黔霽凋擎址顯顯t辿uoiiejedosnieis言飄邳1曾黑羽者者t辿J9qiun|e6ess9|/|善淳犒理宙HWuoiiejedosnieis理捂括 i畿王顯晉:宣囪顯晉囹瀚指p91ie/9n9
35、nb96ess9|/|/vo|:|_i郵wmsw 8VZlueilBo-!-!翠蛙日Eire言性漏吉理顯顯VN!jeqiunNeieidiueiMOu硯以非乙硯以I涅當采硯1顯顯OSjeqDJBA6昭平!號路乙W I稀巖亦顯顯OSjeqDJBAedXisseuisng言性爰WX腳孕毒焙理者者叫jeqiunNepojsiyeejveieidiueiMou理捂括畿王顯晉覃囪顯晉囹瀚指族銅古uoiieieyeieidiueiMou-!翠菜霸|i柴晰旨州的ZIVZ涅當由奇顯顯I加6e|ddois稀漏吉理顯顯OSjeqDJBAb dli_5 e | d lu b j_mo |物順靖理顯顯OSjeqDJBAUOISJ9A熾漏吉理顯顯OSjeqDJBAeiueN言性漏吉理者者叫jeqiunNeieidiueiMOu理捂括畿王顯晉覃囪顯晉囹瀚指族銅古eieidiueiMou-!live含性H由顯顯t叫J9qiun|jesn顯顯t叫jeqiun|9|oyLogItemNumberint4是是日志項編號FlowLogNumberint4否否流程日志編號StatusOperationMessageNumberint4否否狀態操作信息編號ItemTimedatetime8否否項目時間StatusCommentvar
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 江蘇省無錫市江陰市六校2024-2025學年高二下學期4月期中聯考試題 歷史 含答案
- 2025辦公樓租賃合同
- 浙江省衢溫“5+1”聯盟2023-2024學年高二上學期期中聯考歷史無答案
- 新疆喀什地區第六中學2022-2023學年高二上學期期中語文 含解析
- 四川省瀘州市合江縣馬街中學校2023-2024學年高一1月期末生物試題 無答案
- 山西省大同市云岡區匯林中學2023-2024學年高一上學期11月期中考試歷史無答案
- 保安工作總結計劃彩票行業保安工作的獎金發放
- 深化售后服務提升客戶忠誠度計劃
- 社區學習小組的建立與運作計劃
- 創新教學方法的探討與實踐計劃
- 婦科管理制度
- 新晉管理者培訓
- 2025-2030中國二氯乙烷行業市場發展趨勢與前景展望戰略研究報告
- 供電公司故障搶修服務規范
- 防高處墜落 物體打擊專項施工方案
- 食品銷售初級考試試題及答案
- 全國第三屆職業技能大賽(增材制造)選拔賽理論考試題庫(含答案)
- 人教部編版初中語文七年級下冊 《15.青春之光》課件
- TSG21-2025固定式壓力容器安全技術(送審稿)
- 2025中國海洋石油集團有限公司校園招聘筆試參考題庫附帶答案詳解
- 統信服務器UOS操作系統-產品白皮書
評論
0/150
提交評論