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

首頁 > 學院 > 開發(fā)設計 > 正文

CCFlow SDK模式開發(fā)

2019-11-17 01:44:53
字體:
來源:轉載
供稿:網友

CCFlow SDK模式開發(fā)

需求:

1、業(yè)務數據要保存在我們自己的數據庫里 2、CCFlow有保存草稿的功能,但是領導要求每個業(yè)務都要有草稿箱,流程從草稿箱發(fā)起,每個業(yè)務單獨查詢,而不要在CCFlow的統一界面查詢,所以每個業(yè)務的列表頁面以及增刪改查都要有的 3、工作流的消息和我們應用系統的消息要整合到一起,放在一起排序、提示 4、我們項目用的框架是第三方的我記錄MVC框架,框架根據Web.config配置的路徑按照MVC的模式解析路由,配置的路徑之外的,還是按照asp.net WebForm的方式處理,所以我把CCFlow的ClientBin、DataUser、WF文件夾直接放到Web下,然后引用所需的dll。VS就是強大,兩個不同的解決方案,打上斷點照樣可以調試,所以同時運行CCFlow的源碼后,可以從我們項目的代碼處運行到CCFlow的源碼的斷點處。

5、審核通過,則發(fā)送到下一步,審核不通過,則直接結束流程

6、支持分公司,同一個業(yè)務,各分公司的流程可能是不一樣的

實現:

一、CCFlow的數據庫與應用系統的數據庫耦合

部門:SELECT     TOP (100) PERCENT dept.Id AS No, dept.Name + '(' + comp.Name + ')' AS Name, CAST(dept.Pid AS varchar(20)) AS ParentNo, '' AS NameOfPath, '' AS TreeNo,                       '' AS Leader, '' AS Tel, 0 AS Idx, 0 AS IsDir, '' AS FK_DeptTypeFROM         CQSD_Dev.dbo.IMP_Dept AS dept INNER JOIN                      CQSD_Dev.dbo.IMP_Dept AS comp ON comp.Id = dept.CidWHERE     (dept.DelFlg = 0)ORDER BY comp.Pid, comp.Id崗位:SELECT     TOP (100) PERCENT job.Id AS No, job.Name + '(' + comp.Name + ')' AS Name, 3 AS StaGrade, '' AS DutyReq, '' AS Makings, '' AS FK_StationTypeFROM         CQSD_Dev.dbo.IMP_Job AS job INNER JOIN                      CQSD_Dev.dbo.IMP_Dept AS dept ON dept.Id = job.DeptId INNER JOIN                      CQSD_Dev.dbo.IMP_Dept AS comp ON comp.Id = dept.CidWHERE     (job.DelFlg = 0)ORDER BY comp.Id人員:SELECT     u.Username AS No, e.Name, 'pub' AS Pass, e.DeptId AS FK_Dept, '' AS EmpNo, '' AS FK_Duty, '' AS Leader, '123' AS SID, '' AS Tel, '' AS Email, '' AS NumOfDeptFROM         CQSD_Dev.dbo.IMP_Employee AS e INNER JOIN                      CQSD_Dev.dbo.Sys_User AS u ON u.RelationId = e.IdWHERE     (e.DelFlg = 0)部門人員:SELECT     u.Username AS FK_Emp, e.DeptId AS FK_DeptFROM         CQSD_Dev.dbo.IMP_Employee AS e INNER JOIN                      CQSD_Dev.dbo.Sys_User AS u ON u.RelationId = e.IdWHERE     (e.DelFlg = 0) AND (e.Code IS NOT NULL) AND (e.Code <> '')崗位人員:SELECT     u.Username AS FK_Emp, e.JobId AS FK_StationFROM         CQSD_Dev.dbo.IMP_Employee AS e INNER JOIN                      CQSD_Dev.dbo.Sys_User AS u ON u.RelationId = e.IdWHERE     (e.DelFlg = 0) AND (e.Code IS NOT NULL) AND (e.Code <> '')
View Code

二、菜單、待辦、抄送、查詢等列表界面

菜單:

待辦:

流程消息:

三、流程消息和應用系統的其他消息合并的View

SELECT     MyPK, Sender, e2.Name AS SenderName, SendTo, e3.Name AS SendToName, Title, Doc, MsgType, RDT AS SendTime, IsReadFROM         CQSD_Flow_Dev.dbo.Sys_SMS AS sms JOIN                      Sys_User u2 on u2.Username = Sender join                      IMP_Employee e2 ON e2.Id=u2.RelationId join                      Sys_User u3 on u3.Username = SendTo join                      IMP_Employee e3 ON e3.Id=u3.RelationIdUNIONSELECT     cast(m.id AS varchar(20)) AS mypk, u.Username AS Sender, e.Name AS SenderName, u1.Username AS sendto, e1.Name AS SendToName, m.emailtheme AS title,                       emailcontent AS doc, 'CQSDMail' AS msgtype, m.createtime AS SendTime, readingstate AS isreadFROM         IMP_InternalMail m JOIN                      IMP_InternalMailRecv mr ON mr.EMailThemeId = m.id LEFT JOIN                      IMP_Employee e ON e.id = m.CreateUserId JOIN                      Sys_User u on u.RelationId=e.Id join                      IMP_Employee e1 ON e1.id = mr.UserId  join                       Sys_User u1 on u1.RelationId=e1.IdWHERE     m.delflg = 0 AND mr.delflg = 0 AND m.EMailStatus = 1
View Code

四、操作CCFlow數據庫的Service

using System;using System.Collections.Generic;using System.Linq;using System.Text;using CQSD.Service.Interface.Admin.CCFlow;using System.Data;using Simpo;using BP.WF;using CQSD.Const;using BP.En;using CQSD.Domain.DB;using CQSD.Service.Interface.Admin.HR;using CQSD.Service.Admin.HR;namespace CQSD.Service.Admin.CCFlow{    /// <summary>    /// 工作流數據庫服務    /// </summary>    public class CCFlowService : Service, ICCFlowService    {        #region 根據WorkID獲取工作        /// <summary>        /// 根據WorkID獲取工作        /// </summary>        /// <param name="WorkID">WorkID</param>        public DataTable GetWork(string WorkID)        {            StringBuilder sb = new StringBuilder(string.Format(@"                select wk.*                from dbo.WF_GenerWorkFlow wk                where WorkID={0}", WorkID));            return BP.DA.DBaccess.RunSQLReturnTable(sb.ToString());        }        #endregion        #region 工作查詢        /// <summary>        /// 工作查詢        /// </summary>        /// <param name="flowSortNo">流程類別編號</param>        public DataTable GetFlowList(string flowSortNo, IMP_Employee loginEmployee)        {            StringBuilder sb = new StringBuilder(string.Format(@"                select fl.*,fs.Name as FK_FlowSortText,fs.No as FK_FlowSort                from WF_Flow fl                left join WF_FlowSort fs on fl.FK_FlowSort=fs.No                where 1=1"));            if (!strUtil.IsNullOrEmpty(flowSortNo))            {                sb.Append(string.Format(" and fs.No='{0}'", strUtil.SqlClean(flowSortNo)));            }            string FK_Flows = GetCompFK_Flows(loginEmployee);            if (!strUtil.IsNullOrEmpty(FK_Flows))            {                sb.Append(string.Format(" and fl.No in ({0})", FK_Flows));            }            else            {                sb.Append(" and 1=2 ");            }            sb.Append(" order by fs.No");            return BP.DA.DBAccess.RunSQLReturnTable(sb.ToString());        }        #endregion        #region 獲取有流程的流程類別        /// <summary>        /// 獲取有流程的流程類別        /// </summary>        public DataTable GetFlowTypeList()        {            StringBuilder sb = new StringBuilder(string.Format(@"                select distinct fs.*                from WF_Flow fl                left join WF_FlowSort fs on fl.FK_FlowSort=fs.No                where 1=1"));            sb.Append(" order by fs.No");            return BP.DA.DBAccess.RunSQLReturnTable(sb.ToString());        }        #endregion        #region 根據WorkID、FK_Node、FK_Emp獲取工作記錄        /// <summary>        /// 根據WorkID、FK_Node、FK_Emp獲取工作記錄        /// </summary>        public DataTable GetGenerWorkerlist(string WorkID, string FK_Node, string FK_Emp)        {            StringBuilder sb = new StringBuilder(string.Format(@"                select gwl.*                from WF_GenerWorkerlist gwl                where WorkID={0} and FK_Node={1} and FK_Emp='{2}'", WorkID, FK_Node, FK_Emp));            return BP.DA.DBAccess.RunSQLReturnTable(sb.ToString());        }        #endregion        #region 獲取流程退回信息        /// <summary>        /// 獲取流程退回信息        /// </summary>        public string GetReturnWorksInfo(string FK_Node,
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 名山县| 汤原县| 莱阳市| 呼伦贝尔市| 保德县| 平湖市| 武定县| 卢氏县| 普兰县| 柞水县| 灵山县| 修文县| 万盛区| 稷山县| 沙河市| 托克逊县| 曲沃县| 酉阳| 固镇县| 闻喜县| 合作市| 威远县| 滦平县| 丽水市| 泸溪县| 黄石市| 临潭县| 洱源县| 江津市| 宣恩县| 万载县| 集贤县| 阳高县| 洛浦县| 沙坪坝区| 肥乡县| 卓资县| 西丰县| 达拉特旗| 含山县| 邵阳县|