国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

.Net開源工作流Roadflow的使用與集成

2019-11-14 14:35:01
字體:
供稿:網(wǎng)友

序言

最近公司要整理公司內(nèi)部oa系統(tǒng),需要使用到工作流,所以就開始了開源工作流挑選,使用,到集成到公司內(nèi)部系統(tǒng)的工作。 

首先在網(wǎng)上搜了文檔,自己也有補(bǔ)充,整理啦國內(nèi)幾款工作流的比較,由于沒有個(gè)個(gè)擊破式的研究所以不足之處還望海涵。

送上比較內(nèi)容圖:

鑒于這個(gè)表的內(nèi)容,與公司技術(shù)與需求的結(jié)合,我們選擇啦RoadFlow工作流引擎。

下面踏上RoadFlow的征程。

RoadFlow的下載、部署、及使用

官方網(wǎng)址:http://cqroad.cn/

官方文檔:http://cqroad.cn/Doc/Default.aspx

官方源碼下載鏈接:http://cqroad.cn/Download

項(xiàng)目下載完成后,

1、自帶有數(shù)據(jù)庫腳本,執(zhí)行到本地?cái)?shù)據(jù)庫,就行啦。

2、打開項(xiàng)目,由于我們公司絕大多說項(xiàng)目都是用mvc,所以我選用webmvc項(xiàng)目,移除webform項(xiàng)目,也可以保留去看看哈。

3、配置webconfig中的數(shù)據(jù)庫鏈接字符串,注意這里一般會(huì)有一個(gè)版本問題或者模式問題,爆紅頁面順手就能解決沒多大難度。

4、然后就是打開/login/index頁面,按照提示登錄進(jìn)去。

5、根據(jù)文檔,自己一點(diǎn)點(diǎn)摸索前進(jìn)啦。

我摸索的差不多啦,感覺公司一般的流程需求這里是可以滿足的,并且考慮啦一下集成的成本與技術(shù)實(shí)現(xiàn),也感覺沒有什么問題,畢竟代碼都在手里嗎,哈哈。然后搞起。

Roadflow開源工作流集成到公司內(nèi)部OA系統(tǒng)

首先弄懂一個(gè)陌生的項(xiàng)目,我是從數(shù)據(jù)庫進(jìn)行操刀的,因?yàn)槲铱蠢惨幌滤捻?xiàng)目結(jié)構(gòu),沒有非常特別的東西,就是一般的mvc項(xiàng)目。

數(shù)據(jù)結(jié)構(gòu)如下:

1、基礎(chǔ)平臺:日志表,數(shù)據(jù)庫配置表,數(shù)據(jù)字典表。

這些表在roadflow中幾乎都是單表操作,比較獨(dú)立,不用做過多的分析就一目了然。

 

2、組織結(jié)構(gòu),工作組,人員信息

3、角色,權(quán)限,人員信息

4、表單,流程,按鈕,步驟等工作流相關(guān)核心表

 

 

需要注意的就是自己建自己的表單字段存儲(chǔ)表,然后在綁定表單的時(shí)候可以選擇數(shù)據(jù)自己的數(shù)據(jù)表進(jìn)行綁定映射。

分析完表結(jié)構(gòu)之后,就是自己的登錄權(quán)限集成與Js解壓分析,集成到適合自己的內(nèi)部系統(tǒng)中。經(jīng)過千辛萬苦之后,就是輕松的頁面集成。

哦,中間綁定自定義事件的時(shí)候,遇到啦反射程序集路徑問題,這里給大家做個(gè)簡單的分享。修改下路徑就可以啦。

/// <summary>        /// 執(zhí)行自定義方法        /// </summary>        /// <param name="eventName"></param>        /// <returns></returns>        public object ExecuteFlowCustomEvent(string eventName, object eventParams, string dllName = "")        {            if (dllName.IsNullOrEmpty())            {                dllName = eventName.Substring(0, eventName.LastIndexOf('.'));                dllName = dllName.Substring(0,dllName.LastIndexOf('.'));            }            System.Reflection.Assembly assembly = System.Reflection.Assembly.Load(dllName);            string typeName = System.IO.Path.GetFileNameWithoutExtension(eventName);            string methodName = eventName.Substring(typeName.Length + 1);            Type type = assembly.GetType(typeName, true);            object obj = System.Activator.CreateInstance(type, false);            var method = type.GetMethod(methodName);            if (method != null)            {                return method.Invoke(obj, new object[] { eventParams });            }            else            {                throw new MissingMethodException(typeName, methodName);            }        }

小結(jié)

由于工作流不是一個(gè)工作量小的項(xiàng)目,別且過于繁雜,所以如果沒有特殊的需求,建議使用開源框架。

還有,如果你也用到啦工作流,那么咱們可以一起交流學(xué)習(xí),左上方是我的群,歡迎加入。

下面給大家展示下我的成果。

流程設(shè)計(jì)集成

表單設(shè)計(jì)集成

待辦事項(xiàng)集成

 

好啦,好事說三遍,我再次說明下,如果你對本篇內(nèi)容有什么批評指教或者想一起交流學(xué)習(xí),歡迎加入左上角我的技術(shù)交流群。

今晚陪媳婦逛超市啦,時(shí)間有點(diǎn)緊,就整理啦一篇圖比較多的博文,耽誤啦我的redis,明天堅(jiān)持繼續(xù)我的redis系列


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 庄浪县| 灌南县| 中方县| 海城市| 星座| 沙湾县| 罗田县| 庆安县| 景泰县| 新密市| 织金县| 泽普县| 上饶市| 山东省| 缙云县| 肇东市| 新晃| 莎车县| 阳曲县| 肇庆市| 西城区| 黔东| 东至县| 巧家县| 遂昌县| 城步| 那曲县| 辉南县| 金溪县| 射阳县| 汉寿县| 嘉峪关市| 睢宁县| 滦平县| 韶山市| 焉耆| 土默特左旗| 巴楚县| 民权县| 溧阳市| 龙里县|