




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、業務流程定義創建的表:XT_LCXX:流程信息表XT_JDXX:節點信息表(原)(改過)XT_LCSL:流程實例(原)(改過)流程實例表中添加了節點順序,不再用上節點id,下節點id,功能類似,這樣可以方便一個節點的下一個步驟允許兩個節點同時操作的情況。所以稍做了改變。但是不太確定在其他情況是否都能夠滿足要求,還在觀察中。LC_LSJL:歷史記錄邏輯順序:定義流程時:1、 定義流程客體,即流程中流轉被操作的對象;2、 流程中需要經過的步驟,即節點,注意節點的先后順序;3、 每個步驟中操作該對象的主體,即人員或角色;這樣一個完整的流程就定義好了。實現界面:1、列表為已存在的流程,圖片按鈕為創建新
2、流程。2、點擊空的流程時出現起點。點擊已有流程時則展示流程示意圖3、點擊起點按鈕時,開始定義節點(第一個)。4、第一個節點出現后,鼠標懸停在節點之上時,提示操作人員和操作類型,點擊按鈕時則出現菜單有3個選擇:添加,修改和刪除。5、點擊增加時,彈出設置節點的窗口,在節點順序的下拉框中可以選擇要添加的節點的順序,是與當前節點屬于同一時間段進行的,還是下一步驟。點擊刪除時,直接刪除掉該節點。操作流程時:1、 在創建流程信息表中包含對象的時候,同時向歷史記錄表中插入一條記錄,并標明狀態;2、 根據節點表中的操作人員和歷史記錄中待處理事件列表,選出待“我”處理的任務;3、 處理完成后,相應增加歷史記錄,
3、表明目前狀態,并把本流程上一個狀態注銷,(若有并行步驟則需添加多條記錄);4、 最終完成后該流程的所有記錄的狀態都注銷。工作流類的設計:實體類:有屬性:id,名稱等等有方法:add、edit、delete,添加的部分有選擇添加下個節點是什么類型的有編制、審核、審批、結束添加的時候,更新到數據庫有三個類:public class LCpublic class JDpublic class LCSL分別是流程類,節點類,和流程實例類。一、在流程類中 有一個字段: private string _lcid;有四個屬性: public string Bz public string Lcmc publ
4、ic string Lcztpublic string Lcyhid實例化流程是有兩種方法:1是創建一個數據庫中不存在的新流程,需要傳入參數: public LC(string lcmc,string lczt,string bz,string yhid)2是實例化一個數據庫中已存在的流程,則只需傳入LCID即可: public LC(string lcid) string Sql_Select = select t.lc_mc,t.lc_zt,t.lc_yhid,t.lc_cjrq,t.lc_xgrq,t.lc_scbj,t.lc_bz from xt_lcxx t where t.lc_i
5、d= + lcid + ; DataTable Dt = DBHelper.GetDataSet(Sql_Select); if (Dt.Rows.Count = 1) this._lcmc = Dt.Rows0lc_mc.ToString(); this._lczt = Dt.Rows0lc_lczt.ToString(); this._lcyhid = Dt.Rows0lc_yhid.ToString(); this._bz = Dt.Rows0lc_bz.ToString(); 會將其他信息添加到流程類的屬性中。流程類中有方法:/ 增加基本流程信息public string Add_CL
6、() / 修改流程基本信息 public string Edit_CL(string Lcid) public string Delete_CL(string Lcid)在節點類中:有屬性: public string Jdid public string Czlx public string Czry public string Yhid public string Bz有方法: / 增加一個新節點 public string Add_JD() / 修改節點 public string Edit_JD(string Jdid) / 刪除節點 public string Delete_JD(s
7、tring jdid)實例化節點時,有三種方法1實例化一個空的節點,2實例化一個新的節點(沒有節點id),根據節點id實例化一個數據庫中已存在的節點(其他屬性自動添加)。三、流程實例類有屬性: public string Lcid public string Yhid public string Bz有方法:/ 向流程添加節點(流程id必須提前設定好)/ 節點的層次,001是與上節點同一層次,002是下一層次public string Add_JdtoLc(string Jdid,string Jdcc)public string Delete_JdFromLc(string Jdid)必須注
8、意一點,在流程實例中,添加節點和刪除節點有點不同:添加的時候是先用節點類添加一個節點,然后再用流程實例類向流程添加這個節點,而刪除的時候直接用流程實例類刪除掉節點,因為在Delete_JdFromLc方法中已經調用了Delete_JD方法。附類的全部代碼:using System;using System.Data;using System.Configuration;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;
9、using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;using System.Data.OracleClient;using System.Collections.Generic;/using System.ComponentModel;/ /WorkFlow 的摘要說明/ public class WorkFlowpublic WorkFlow()/TODO: 在此處添加構造函數邏輯/ / 流程(基本信息)實體類,實現流程的增刪改/ public clas
10、s LC / / 實例化空流程 / public LC() / / 實例化準備添加的新流程 / / / / / public LC(string lcmc,string lczt,string bz,string yhid) this._lcmc = lcmc; this._lczt = lczt; this._bz = bz; this._lcyhid = yhid; / / 實例化數據庫中已存在的流程,得到該流程的所有屬性 / / public LC(string lcid) this._lcid = lcid; try string Sql_Select = select t.lc_mc
11、,t.lc_zt,t.lc_yhid,t.lc_cjrq,t.lc_xgrq,t.lc_scbj,t.lc_bz from xt_lcxx t where t.lc_id= + lcid + ; DataTable Dt = DBHelper.GetDataSet(Sql_Select); if (Dt.Rows.Count = 1) this._lcmc = Dt.Rows0lc_mc.ToString(); this._lczt = Dt.Rows0lc_lczt.ToString(); this._lcyhid = Dt.Rows0lc_yhid.ToString(); this._bz
12、 = Dt.Rows0lc_bz.ToString(); catch (Exception e) throw e; private string _lcid; private string _bz; public string Bz get return _bz; set _bz = value; private string _lcmc; / / 流程名稱 / public string Lcmc get return _lcmc; set _lcmc = value; private string _lczt; public string Lczt get return _lczt; se
13、t _lczt = value; / / 或許在類中可以直接得到登陸的用戶id,就不需要再傳值了。 / private string _lcyhid; public string Lcyhid get return _lcyhid; set _lcyhid = value; / / 增加基本流程信息 / / 數據庫操作信息或錯誤信息 public string Add_CL() string info=string.Empty; try _lcid = DBHelper.GetScalar(select get_next_id(xt_lcxx,lc_id,LCXX) from dual).To
14、String(); string Sql_Insert = insert into xt_lcxx(lc_id,lc_mc,lc_zt,lc_yhid,lc_cjrq,lc_bz) values( + _lcid + , + _lcmc + , + _lczt + , + _lcyhid + ,trunc(sysdate,dd), + _bz + ); info = DBHelper.ExecuteCommand(Sql_Insert).ToString(); catch (Exception e) info = e.Message.ToString(); return info; / / 修
15、改流程基本信息 / / 準備修改的流程id / public string Edit_CL(string Lcid) string info = string.Empty; try string Sql_Update = update xt_lcxx set lc_mc= + _lcmc + ,lc_yhid= + _lcyhid + ,lc_xgrq=trunc(sysdate,dd),lc_bz=+_bz+ where lc_id=+Lcid+ ;/流程的id對應主體,不可變 info = DBHelper.ExecuteCommand(Sql_Update).ToString(); ca
16、tch (Exception e) info = e.Message.ToString(); return info; public string Delete_CL(string Lcid) string info = string.Empty; try string Sql_Delete = delet xt_lcxx where lc_id= + Lcid + ; info = DBHelper.ExecuteCommand(Sql_Delete).ToString(); catch (Exception e) info = e.Message.ToString(); return in
17、fo; / / 節點實體類,實現節點的增刪改/ public class JD public JD() / / 實例化節點實體(已存在的節點) / / 節點id public JD(string jdid) this._jdid = jdid; try string Sql_Select = select a.jd_czry, a.jd_yhdw,a.jd_yhid,a.jd_cjrq,a.jd_bz, a.jd_czlx,a.jd_xgrq,a.jd_scbj from xt_jdxx a where a.jd_id= + jdid + ; DataTable Dt = DBHelper.G
18、etDataSet(Sql_Select); if (Dt.Rows.Count = 1) this._czry = Dt.Rows0jd_czry.ToString(); this._czlx = Dt.Rows0jd_czlx.ToString(); this._yhid = Dt.Rows0jd_yhid.ToString(); this._bz = Dt.Rows0jd_bz.ToString(); catch (Exception e) throw e; / / 實例化新節點,(準備添加到數據庫) / / 節點的操作人員 / 該記錄的添加人員 / 備注 public JD(strin
19、g czry, string czlx, string yhid, string bz) this._czry = czry; this._czlx = czlx; this._yhid = yhid; this._bz = bz; private string _jdid; public string Jdid get return _jdid; set _jdid = value; private string _czlx; public string Czlx get return _czlx; set _czlx = value; private string _czry; publi
20、c string Czry get return _czry; set _czry = value; private string _yhid; public string Yhid get return _yhid; set _yhid = value; private string _bz; public string Bz get return _bz; set _bz = value; / / 增加節點 / / public string Add_JD() string info = string.Empty; try _jdid = DBHelper.GetScalar(select
21、 get_next_id(xt_jdxx,jd_id,JDXX) from dual).ToString(); / this.Jdid = _jdid; string Sql_Insert = insert into xt_jdxx(jd_id,jd_czry,jd_yhdw,jd_yhid,jd_cjrq,jd_bz,jd_czlx) values( + _jdid + , + _czry + ,(select yhxx_yhdw from xt_yhxx where yhxx_id= + _czry + ), + _yhid + ,trunc(sysdate,dd), + _bz + ,
22、+ _czlx + ); info = DBHelper.ExecuteCommand(Sql_Insert).ToString(); catch (Exception e) info = e.Message.ToString(); return info; / / 修改節點 / / / public string Edit_JD(string Jdid) string info = string.Empty; try string Sql_Update = update xt_jdxx x set x.jd_czry= + _czry + ,x.jd_yhdw=(select yhxx_yh
23、dw from xt_yhxx where yhxx_id= + _czry + ),x.jd_yhid= + _yhid + ,x.jd_xgrq=trunc(sysdate,dd),x.jd_bz= + _bz + ,jd_czlx= + _czlx + where x.jd_id= + _jdid + ; info = DBHelper.ExecuteCommand(Sql_Update).ToString(); catch (Exception e) info = e.Message.ToString(); return info; / / 刪除節點 / / / public stri
24、ng Delete_JD(string jdid) string info = string.Empty; try string Sql_Delete = delete xt_jdxx where jd_id= + jdid + ; info = DBHelper.ExecuteCommand(Sql_Delete).ToString(); catch (Exception e) info = e.Message.ToString(); return info; / / 流程實例實體類,實現流程過程的連接/ public class LCSL public LCSL() /屬性 private
25、 string _yhid;/用戶id public string Yhid get return _yhid; set _yhid = value; private string _bz;/備注 public string Bz get return _bz; set _bz = value; private string _lcid; public string Lcid get return _lcid; set _lcid = value; /方法 / / 向流程添加節點(流程id必須提前設定好) / / 節點id / 節點的層次,001是與上節點同一層次,002是下一層次 / pub
26、lic string Add_JdtoLc(string Jdid,string Jdcc) string info = string.Empty; string Sql_Jdsx = string.Empty; try switch (Jdcc) case 001: Sql_Jdsx = nvl(to_number(select max (lcsl_jdsx) from xt_lcsl where lcsl_id = + _lcid + ), 1) ; break; case 002: Sql_Jdsx = nvl(to_number(select max (lcsl_jdsx) from
27、xt_lcsl where lcsl_id = + _lcid + )+1, 1) ; break; string Jl_id = DBHelper.GetScalar(select get_next_id(xt_lcsl,jl_id,LCJD) from dual).ToString(); string Sql_Insert = insert into xt_lcsl(jl_id,lcsl_id,lcsl_jdid,lcsl_qsbj,lcsl_ljd_id,lcsl_njd_id,lcsl_yhid,lcsl_cjrq,lcsl_bz,lcsl_jdsx) values( + Jl_id + , + _lcid + , + Jdid + ,002,(select max(lcsl_jdid) from xt_lcsl where
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 設計公司工資管理制度
- 2025年中國激光導航掃地機器人行業市場全景分析及前景機遇研判報告
- 評審醫療廢物管理制度
- 診所排污登記管理制度
- 診斷試劑購進管理制度
- 財務租賃合同管理制度
- 財政所應收款管理制度
- 貨代公司收款管理制度
- 貨物內部流轉管理制度
- 貨站裝卸安全管理制度
- 2024制冷系統管路結構設計指導書
- 國際檔案日介紹主題班會
- 足外傷個案護理
- 單位食堂配送菜合同協議書
- 慢性非傳染性疾病綜合防控示范區申報考評細則培訓課件
- 浙江省城鎮生活垃圾分類標準
- 語言學綱要期末復習考點(完整)
- 2024年廣西中考道德與法治試卷真題(含答案解析)
- DL-T+796-2012風力發電場安全規程
- 2024中考地理一輪復習專題1地球和地球儀(講義)(原卷版)
- DL-T-1642-2016環形混凝土電桿用腳扣
評論
0/150
提交評論