web工作流程管理系統開發之十一 流程資料與業務資料的互動

來源:互聯網
上載者:User

通常工作流程系統在設計之初,都會明確的區分流程資料和業務資料。工作流程引擎只關心流程資料,為實現工作流程的流轉,會為工作流程引擎設計一套工作流程的表結構,來輔助流程引擎的實現。

業務資料是千變萬化的,為實現各自的業務,會設計一系列業務表。業務表,工作流程系統是不關心的。

但是工作流程資料和業務資料又是互動的關聯的。

 

1. 流程和業務資料的基本關聯:

為了將業務資料和流程資料關聯起來,會有一個關聯表,將流程執行個體和業務資料關聯。

在eworkflow中,這層關係的設定在 流程執行個體表(wf_wfentry)中。

每個流程執行個體都會和具體的一張業務表關聯,(流程需要實現的主業務表),並指明業務表的id欄位和描述欄位,描述欄位可有可無。

每個業務表中都多設定一個流程執行個體wf_id欄位,此欄位即=wf_wfentry.id。

通過設定 業務表.wf_id = wf_wfentry.id  和 wf_wfentry.bs_table wf_wfentry.bs_id_field = 業務表.id   將流程和業務關聯起來;

 

2. 流程和業務資料的互動:

在流程定義和啟動並執行上下文中經常會需要引入業務資料。
比如報銷流程中的,流程定義和運行時,都需要取 報銷金額 做為判斷幾級審核的條件,上級審核,也需要取審核結果作為流轉到下一步的依據。

 

這樣就勢必在流程上下文中引入業務資料:

在eworkflow中,是這樣引入的:

在業務資料的維護模組,即業務自訂表格單中:業務資料集,將業務關鍵字段勾選為 “流程用”。即將此業務關鍵字標識為可供流程上下文使用了。

 

 

 

 

在流程定義時:動作(關聯到的業務表單的動作)的首碼函數設定一個ActionPreFunction此類負責將業務表單中,勾選的流程用的關鍵字段 持久化到流程上下文中。然後動作的結果中,就可以運用業務關鍵了。

 

 

 

 

動作結果中設定:

 

關鍵字段類型不同,做判斷的規則和寫法略不同,遵循java的文法規則

 字元型的變數比較
   propertySet.getString("關鍵字名").equals("值")
   
 整數型
   propertySet.getLong("關鍵字名")==3 操作符號==,>,<

  實數型的
   propertySet.getDouble("關鍵字名")>3.5 操作符號==,>,<
  日期型的   
   java.util.Date.compareTo(propertySet.getDate("關鍵字名"),anotherDate) 操作符號

   
 //另外:propertySet還可以在前置後置函數中 propertySet.setString("caller", caller);設定變數值 

 

 

 

 

 

 

相關連結;

web工作流程管理系統開發之一 工作流程概念

web工作流程管理系統開發之二 工作流程引擎

web工作流程管理系統開發之三 可視化流程設計器

web工作流程管理系統開發之四 自訂表格單

web工作流程管理系統開發之五 開源osworkflow之使用者系統改造

web工作流程管理系統開發之六 表單許可權與流程的許可權控制

web工作流程管理系統開發之八 開源osworkflow之任務管理

 

web工作流程管理系統開發之十 資料庫連接及事務設定

web工作流程管理系統開發之十一 流程資料與業務資料的互動

web工作流程管理系統開發之十二 同一張表單在流程多節點中流轉的許可權控制項

web工作流程管理系統開發之十三 流程與電子錶單整合之事件實現篇

web工作流程管理系統開發之十四 流程設計器屬性頁面之實現篇  

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.