版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、業(yè)務(wù)流程定義創(chuàng)建的表:XT_LCXX:流程信息表XT_JDXX:節(jié)點(diǎn)信息表(原)(改過)XT_LCSL:流程實(shí)例(原)(改過)流程實(shí)例表中添加了節(jié)點(diǎn)順序,不再用上節(jié)點(diǎn)id,下節(jié)點(diǎn)id,功能類似,這樣可以方便一個(gè)節(jié)點(diǎn)的下一個(gè)步驟允許兩個(gè)節(jié)點(diǎn)同時(shí)操作的情況。所以稍做了改變。但是不太確定在其他情況是否都能夠滿足要求,還在觀察中。LC_LSJL:歷史記錄邏輯順序:定義流程時(shí):1、 定義流程客體,即流程中流轉(zhuǎn)被操作的對(duì)象;2、 流程中需要經(jīng)過的步驟,即節(jié)點(diǎn),注意節(jié)點(diǎn)的先后順序;3、 每個(gè)步驟中操作該對(duì)象的主體,即人員或角色;這樣一個(gè)完整的流程就定義好了。實(shí)現(xiàn)界面:1、列表為已存在的流程,圖片按鈕為創(chuàng)建新
2、流程。2、點(diǎn)擊空的流程時(shí)出現(xiàn)起點(diǎn)。點(diǎn)擊已有流程時(shí)則展示流程示意圖3、點(diǎn)擊起點(diǎn)按鈕時(shí),開始定義節(jié)點(diǎn)(第一個(gè))。4、第一個(gè)節(jié)點(diǎn)出現(xiàn)后,鼠標(biāo)懸停在節(jié)點(diǎn)之上時(shí),提示操作人員和操作類型,點(diǎn)擊按鈕時(shí)則出現(xiàn)菜單有3個(gè)選擇:添加,修改和刪除。5、點(diǎn)擊增加時(shí),彈出設(shè)置節(jié)點(diǎn)的窗口,在節(jié)點(diǎn)順序的下拉框中可以選擇要添加的節(jié)點(diǎn)的順序,是與當(dāng)前節(jié)點(diǎn)屬于同一時(shí)間段進(jìn)行的,還是下一步驟。點(diǎn)擊刪除時(shí),直接刪除掉該節(jié)點(diǎn)。操作流程時(shí):1、 在創(chuàng)建流程信息表中包含對(duì)象的時(shí)候,同時(shí)向歷史記錄表中插入一條記錄,并標(biāo)明狀態(tài);2、 根據(jù)節(jié)點(diǎn)表中的操作人員和歷史記錄中待處理事件列表,選出待“我”處理的任務(wù);3、 處理完成后,相應(yīng)增加歷史記錄,
3、表明目前狀態(tài),并把本流程上一個(gè)狀態(tài)注銷,(若有并行步驟則需添加多條記錄);4、 最終完成后該流程的所有記錄的狀態(tài)都注銷。工作流類的設(shè)計(jì):實(shí)體類:有屬性:id,名稱等等有方法:add、edit、delete,添加的部分有選擇添加下個(gè)節(jié)點(diǎn)是什么類型的有編制、審核、審批、結(jié)束添加的時(shí)候,更新到數(shù)據(jù)庫有三個(gè)類:public class LCpublic class JDpublic class LCSL分別是流程類,節(jié)點(diǎn)類,和流程實(shí)例類。一、在流程類中 有一個(gè)字段: private string _lcid;有四個(gè)屬性: public string Bz public string Lcmc publ
4、ic string Lcztpublic string Lcyhid實(shí)例化流程是有兩種方法:1是創(chuàng)建一個(gè)數(shù)據(jù)庫中不存在的新流程,需要傳入?yún)?shù): public LC(string lcmc,string lczt,string bz,string yhid)2是實(shí)例化一個(gè)數(shù)據(jù)庫中已存在的流程,則只需傳入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(); 會(huì)將其他信息添加到流程類的屬性中。流程類中有方法:/ 增加基本流程信息public string Add_CL
6、() / 修改流程基本信息 public string Edit_CL(string Lcid) public string Delete_CL(string Lcid)在節(jié)點(diǎn)類中:有屬性: public string Jdid public string Czlx public string Czry public string Yhid public string Bz有方法: / 增加一個(gè)新節(jié)點(diǎn) public string Add_JD() / 修改節(jié)點(diǎn) public string Edit_JD(string Jdid) / 刪除節(jié)點(diǎn) public string Delete_JD(s
7、tring jdid)實(shí)例化節(jié)點(diǎn)時(shí),有三種方法1實(shí)例化一個(gè)空的節(jié)點(diǎn),2實(shí)例化一個(gè)新的節(jié)點(diǎn)(沒有節(jié)點(diǎn)id),根據(jù)節(jié)點(diǎn)id實(shí)例化一個(gè)數(shù)據(jù)庫中已存在的節(jié)點(diǎn)(其他屬性自動(dòng)添加)。三、流程實(shí)例類有屬性: public string Lcid public string Yhid public string Bz有方法:/ 向流程添加節(jié)點(diǎn)(流程id必須提前設(shè)定好)/ 節(jié)點(diǎn)的層次,001是與上節(jié)點(diǎn)同一層次,002是下一層次public string Add_JdtoLc(string Jdid,string Jdcc)public string Delete_JdFromLc(string Jdid)必須注
8、意一點(diǎn),在流程實(shí)例中,添加節(jié)點(diǎn)和刪除節(jié)點(diǎn)有點(diǎn)不同:添加的時(shí)候是先用節(jié)點(diǎn)類添加一個(gè)節(jié)點(diǎn),然后再用流程實(shí)例類向流程添加這個(gè)節(jié)點(diǎn),而刪除的時(shí)候直接用流程實(shí)例類刪除掉節(jié)點(diǎn),因?yàn)樵贒elete_JdFromLc方法中已經(jīng)調(diào)用了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: 在此處添加構(gòu)造函數(shù)邏輯/ / 流程(基本信息)實(shí)體類,實(shí)現(xiàn)流程的增刪改/ public clas
10、s LC / / 實(shí)例化空流程 / public LC() / / 實(shí)例化準(zhǔn)備添加的新流程 / / / / / public LC(string lcmc,string lczt,string bz,string yhid) this._lcmc = lcmc; this._lczt = lczt; this._bz = bz; this._lcyhid = yhid; / / 實(shí)例化數(shù)據(jù)庫中已存在的流程,得到該流程的所有屬性 / / 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; / / 增加基本流程信息 / / 數(shù)據(jù)庫操作信息或錯(cuò)誤信息 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、改流程基本信息 / / 準(zhǔn)備修改的流程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對(duì)應(yīng)主體,不可變 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; / / 節(jié)點(diǎn)實(shí)體類,實(shí)現(xiàn)節(jié)點(diǎn)的增刪改/ public class JD public JD() / / 實(shí)例化節(jié)點(diǎn)實(shí)體(已存在的節(jié)點(diǎn)) / / 節(jié)點(diǎn)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; / / 實(shí)例化新節(jié)點(diǎn),(準(zhǔn)備添加到數(shù)據(jù)庫) / / 節(jié)點(diǎn)的操作人員 / 該記錄的添加人員 / 備注 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; / / 增加節(jié)點(diǎn) / / 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; / / 修改節(jié)點(diǎn) / / / 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; / / 刪除節(jié)點(diǎn) / / / 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; / / 流程實(shí)例實(shí)體類,實(shí)現(xiàn)流程過程的連接/ 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; /方法 / / 向流程添加節(jié)點(diǎn)(流程id必須提前設(shè)定好) / / 節(jié)點(diǎn)id / 節(jié)點(diǎn)的層次,001是與上節(jié)點(diǎn)同一層次,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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 美容院與電商平臺(tái)2025年度合作合同
- 美容院年度美容院會(huì)員積分獎(jiǎng)勵(lì)合同
- 美甲店與美妝博主2025年度內(nèi)容共創(chuàng)合同
- 美甲技師勞動(dòng)合同與就業(yè)保障協(xié)議(2025年度)
- 蘇州市2025年度市政工程監(jiān)理聘用人員勞動(dòng)合同范本
- 藥店中藥師專業(yè)人才聘用合同(2025年度)
- 足浴技師職業(yè)素養(yǎng)提升與2025年度勞動(dòng)合同
- 車輛過戶前車輛交易價(jià)格談判及合同2025
- 鄭州市2025年度勞動(dòng)合同勞動(dòng)合同解除經(jīng)濟(jì)補(bǔ)償金發(fā)放合同
- 酒店與旅游娛樂場(chǎng)所2025年度合作合同
- 洗衣店行業(yè)創(chuàng)業(yè)計(jì)劃書
- 醫(yī)院規(guī)劃發(fā)展部社會(huì)工作科職責(zé)
- 古詩文系列課件模板-清平調(diào)·其一
- 2024抗菌藥物分級(jí)管理及臨床合理應(yīng)用考核試題及答案
- 樁身完整性考試試題及完整答案(包括低應(yīng)變、鉆芯、聲波透射法)
- 儲(chǔ)能系統(tǒng)的應(yīng)急預(yù)案措施
- 大學(xué)生心理健康教育教學(xué)進(jìn)度計(jì)劃表
- 班主任育人故事(通用17篇)
- 類文閱讀:一起長(zhǎng)大的玩具(金波)
- 食品公司冷庫崗位風(fēng)險(xiǎn)告知卡
- 崗位安全培訓(xùn)考試題參考答案
評(píng)論
0/150
提交評(píng)論