佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > Asp.Net Mvc2 OA 工作流設計思路[圖]

Asp.Net Mvc2 OA 工作流設計思路[圖]

熱門標簽:科大訊飛語音識別系統(tǒng) Linux服務器 服務器配置 Mysql連接數(shù)設置 阿里云 銀行業(yè)務 團購網(wǎng)站 電子圍欄

回老家上班的新公司,第一個項目:OA。以前沒有做過OA,因為設計到工作流這一塊的東西,所以自己去進行了相關的了解,于是有了這篇博客(以下文字只是個人理解,高手漂過)。環(huán)境:MVC2+SQL2008

工作流分為幾個步驟:表單(設計、解析)、流程(設計)、合并就是一個完整的工作流。先上個一個圖:

第一步:表單

因為沒有使用圖形化設計表單,所以我們的思路是強制定義表單格式,后臺解析。如圖:

上圖的HTML是強制定義的,像table>tbody>tr>td必須按照這個格式定義,雖然不靈活,但是功能也算實現(xiàn)了。說說思路:這個表單將解析成11個節(jié)點(申請人、申請日期、部門、假期類別、請假時間、扣薪形式、請假理由、審批人、審批日期、審批結果、審批意見)

如上圖所示,解析節(jié)點是通過[愛好]中的id獲取的,采用HtmlAgilityPack來解析,具體代碼:

SelectNodes("//table/tbody/tr/td[@id='title']")

這樣就可以知道表單的所有節(jié)點,而標題所對應的選項則用class來對應,從上圖也可以看出來(用來控制表單節(jié)點是否可以填寫項,下面會介紹)。

特殊控件處理:譬如時間的話也是通過定義class='time'而后,通過jquery動態(tài)綁定加載。

第二步:流程,同樣通過文字形式來制定流程步驟

定義流程與表單關聯(lián)

這里的經(jīng)辦權限是直接跟用戶關聯(lián)的,用來標識哪些人擁有該流程的辦理權限。

接下來就是定義流程的步驟了。

上圖是一個請假流程的全部步驟,下面介紹怎么制定這些步驟。

節(jié)點序號:用來表示當前流程為第幾步,節(jié)點名稱用來標識當前步驟名稱,是否允許附件、會簽,用來控制附件與會簽區(qū)的顯示和隱藏。下一步標識當前步驟可以流轉到哪些步驟,左邊是已經(jīng)選擇好了的(可以是多個步驟,這里考慮的是,不同的職位使用相同的流程會有特殊情況發(fā)生,譬如正常的流程是需要四步[員工填寫》經(jīng)理審批》總監(jiān)審批》人事備案],但是當總監(jiān)請假的時候就不需要這么多步驟[填寫表單》人事備案]),右邊是拉取當前流程下的所有步驟。不可寫字段標識,當前步驟時,表單有哪些節(jié)點為不可以填寫,譬如:員工填寫請假申請單,流轉到經(jīng)理時,那么經(jīng)理看到的表單就有員工姓名、部門等信息不能填寫,只能填寫審批意見等節(jié)點信息。這樣流程與表單就關聯(lián)好了,接下來就是工作流流轉了。

第三步:工作流流轉,模擬流程流轉,新建流程

定義工作流的名稱

點擊確認新建是,直接跳轉到流程頁面,并且在數(shù)據(jù)庫存入第一步流程的相關信息。

然后填寫表單內容,選擇下一個步驟及經(jīng)辦人就可以流轉至下一步。說明:表單內容我是把整個表單的HTML代碼全部存入數(shù)據(jù)庫,然后流程流轉時再把填寫好的表單內容存入下一步,這樣流程到下一步時,看到的表單就是最新的了。這是一個很笨的辦法,因為使用$("#表單tableID")是獲取不到表單的value值的,所有需要進行處理,獲取表單內容通過jquery直接attr(value,文本值)上去,這樣就可以把表單內容存入數(shù)據(jù)庫。

這里還涉及到多人辦理的情況,當經(jīng)辦人選擇為多人時,除非是最后一個人,否則流程不允許流轉至下一步,但是可以填寫會簽意見及修改表單,修改的表單將覆蓋當前步驟表單,至最后一個轉交至下一步,如此重復就可以實現(xiàn)流程流轉了。

語言組織能不強,所有只能說成這個樣子,整個流程還是有缺陷的,表單設計和流程設計都只能使用文字的形式,可能以后會考慮更換成圖形化,還有就是不支持子流程。今天就寫這么多了,也是最近才接觸自定義工作流,也看過很多非常強大的工作流,所以以后還繼續(xù)完成、改進和學習。

標簽:萍鄉(xiāng) 衡水 大理 衢州 廣元 棗莊 江蘇 蚌埠

巨人網(wǎng)絡通訊聲明:本文標題《Asp.Net Mvc2 OA 工作流設計思路[圖]》,本文關鍵詞  ;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    北安市| 汝城县| 蕲春县| 陇西县| 铜陵市| 隆林| 扎囊县| 灵山县| 枞阳县| 读书| 巨野县| 元朗区| 宜昌市| 宁陕县| 慈溪市| 卫辉市| 达孜县| 墨玉县| 开原市| 五河县| 清水河县| 修水县| 武穴市| 芦山县| 光泽县| 河北省| 教育| 台山市| 大渡口区| 息烽县| 安阳县| 怀宁县| 察哈| 天长市| 巴塘县| 湘阴县| 福清市| 什邡市| 娱乐| 宝坻区| 哈巴河县|