Example #1
0
 /// <summary>
 ///  查询模块分页列表
 /// </summary>
 /// <param name="filterString">filterString</param>
 /// <param name="pageIndex">pageIndex</param>
 /// <param name="pageSize">pageSize</param>
 /// <param name="pageCount">pageCount</param>
 /// <returns>List<FLOW_MODELDEFINE_T></returns>
 public List <FLOW_MODELDEFINE_T> GetModelDefineList(string filterString, int pageIndex, int pageSize, ref int pageCount)
 {
     try
     {
         if (pageSize < 1)
         {
             pageSize = 15;
         }
         int number                = pageIndex <= 1 ? 1 : ((pageIndex - 1) * pageSize) + 1;
         OracleConnection conn     = MicrosoftOracle.CreateOracleConnection(ConnectionString);
         string           countSql = @"SELECT count(1)  from FLOW_MODELDEFINE_T where (1=1)";
         if (!string.IsNullOrWhiteSpace(filterString))
         {
             countSql += filterString + " ";
         }
         string sql = "SELECT * FROM (SELECT A.*, ROWNUM Page FROM (select * from FLOW_MODELDEFINE_T  order by CREATEDATE DESC ) A WHERE (1=1) AND ROWNUM<= " + pageIndex * pageSize + " ";
         if (!string.IsNullOrWhiteSpace(filterString))
         {
             sql += filterString + " ";
         }
         sql += ") WHERE  Page >= " + number + " ";
         DataTable dt = MicrosoftOracle.ExecuteTable(conn, sql);// dao.GetDataTable(sql);
         pageCount = Convert.ToInt32(MicrosoftOracle.ExecuteScalar(conn, countSql));
         pageCount = (pageCount / pageSize) + ((pageCount % pageSize) > 0 ? 1 : 0);
         MicrosoftOracle.Close(conn);
         return(ToList <FLOW_MODELDEFINE_T>(dt));
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message, ex);
     }
 }
Example #2
0
 /// <summary>
 /// 判断模块是否存在
 /// </summary>
 /// <param name="modelCode">modelCode</param>
 /// <param name="descrtption">descrtption</param>
 /// <param name="modelDefineID">modelDefineID</param>
 /// <returns>bool</returns>
 public bool GetExistModelDefine(string modelCode, string descrtption, string modelDefineID)
 {
     try
     {
         OracleConnection conn   = MicrosoftOracle.CreateOracleConnection(ConnectionString);
         string           sqlstr = "SELECT count(*) FROM FLOW_MODELDEFINE_T where (MODELCODE = '" + modelCode + "' or DESCRIPTION = '" + descrtption + "')";
         if (!string.IsNullOrWhiteSpace(modelDefineID))
         {
             sqlstr += " AND MODELDEFINEID!='" + modelDefineID + "'";
         }
         int result = Convert.ToInt32(MicrosoftOracle.ExecuteScalar(conn, sqlstr));
         MicrosoftOracle.Close(conn);
         if (result > 0)
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message, ex);
     }
 }
Example #3
0
        /// <summary>
        /// 删除模块代码
        /// </summary>
        /// <param name="deleteList">deleteList</param>
        /// <returns>string</returns>
        public string DeleteModelDefine(List <string> deleteList)
        {
            OracleTransaction transaction = null;

            try
            {
                OracleConnection conn    = MicrosoftOracle.CreateOracleConnection(ConnectionString);
                OracleConnection conndef = MicrosoftOracle.CreateOracleConnection(ConnectionString);
                OracleCommand    command = conndef.CreateCommand();
                transaction         = conndef.BeginTransaction(System.Data.IsolationLevel.ReadCommitted);
                command.Transaction = transaction;
                foreach (string item in deleteList)
                {
                    string sqlstr = "SELECT count(*) FROM FLOW_MODELFLOWRELATION_T where MODELCODE = '" + item + "'";
                    if (Convert.ToInt32(MicrosoftOracle.ExecuteScalar(conn, sqlstr)) < 1)
                    {
                        string sql    = "delete from FLOW_MODELDEFINE_T where MODELCODE = '" + item + "'";
                        int    result = MicrosoftOracle.ExecuteNonQuery(conndef, command, sql);
                    }
                    else
                    {
                        transaction.Rollback();
                        return("10");
                    }
                }
                transaction.Commit();
                MicrosoftOracle.Close(conn);
                return("1");
            }
            catch (Exception ex)
            {
                transaction.Rollback();
                throw new Exception(ex.Message, ex);
            }
        }
Example #4
0
 /// <summary>
 /// 新增模块代码
 /// </summary>
 /// <param name="flowModel">FlowModel</param>
 /// <returns>string</returns>
 public string AddModelDefine(FLOW_MODELDEFINE_T flowModel)
 {
     try
     {
         OracleConnection conn   = MicrosoftOracle.CreateOracleConnection(ConnectionString);
         StringBuilder    inssql = new StringBuilder();
         inssql.Append("INSERT INTO FLOW_MODELDEFINE_T (MODELDEFINEID,SYSTEMCODE,SYSTEMNAME,MODELCODE,PARENTMODELCODE,DESCRIPTION,");
         inssql.Append("CREATEUSERID,CREATEUSERNAME,CREATECOMPANYID,CREATEDEPARTMENTID,CREATEPOSTID,CREATEDATE) VALUES (:MODELDEFINEID,");
         inssql.Append(":SYSTEMCODE,:SYSTEMNAME,:MODELCODE,:PARENTMODELCODE,:DESCRIPTION,:CREATEUSERID,:CREATEUSERNAME,:CREATECOMPANYID,");
         inssql.Append(":CREATEDEPARTMENTID,:CREATEPOSTID,:CREATEDATE)");
         OracleParameter[] pageparm =
         {
             new OracleParameter(":MODELDEFINEID", GetValue(flowModel.MODELDEFINEID)),           //模块ID
             new OracleParameter(":SYSTEMCODE", GetValue(flowModel.SYSTEMCODE)),                 //系统代码
             new OracleParameter(":SYSTEMNAME", GetValue(flowModel.SYSTEMNAME)),                 //系统代码
             new OracleParameter(":MODELCODE", GetValue(flowModel.MODELCODE)),                   //模块代码
             new OracleParameter(":PARENTMODELCODE", GetValue(flowModel.PARENTMODELCODE)),       //上级模块代码
             new OracleParameter(":DESCRIPTION", GetValue(flowModel.DESCRIPTION)),               //模块描述
             new OracleParameter(":CREATEUSERID", GetValue(flowModel.CREATEUSERID)),             //创建人ID
             new OracleParameter(":CREATEUSERNAME", GetValue(flowModel.CREATEUSERNAME)),         //创建人名
             new OracleParameter(":CREATECOMPANYID", GetValue(flowModel.CREATECOMPANYID)),       //创建公司ID
             new OracleParameter(":CREATEDEPARTMENTID", GetValue(flowModel.CREATEDEPARTMENTID)), //创建部门ID
             new OracleParameter(":CREATEPOSTID", GetValue(flowModel.CREATEPOSTID)),             //创建岗位ID
             new OracleParameter(":CREATEDATE", GetValue(DateTime.Now))                          //创建时间
         };
         int result = MicrosoftOracle.ExecuteNonQuery(conn, CommandType.Text, inssql.ToString(), pageparm);
         MicrosoftOracle.Close(conn);
         return(result > 0 ? "1" : "0");
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message, ex);
     }
 }
Example #5
0
        /// <summary>
        /// 删除流程
        /// </summary>
        /// <param name="flowCodeList">删除Code</param>
        /// <returns>是否成功</returns>
        public bool DeleteFlow(List <string> flowCodeList)
        {
            OracleConnection  conn    = MicrosoftOracle.CreateOracleConnection(ConnectionString);
            OracleCommand     command = conn.CreateCommand();
            OracleTransaction transaction;

            transaction         = conn.BeginTransaction(System.Data.IsolationLevel.ReadCommitted);
            command.Transaction = transaction;
            bool result = true;

            try
            {
                foreach (var flowCode in flowCodeList)
                {
                    string sql  = "DELETE FROM  FLOW_MODELFLOWRELATION_T WHERE FLOWCODE='" + flowCode + "'";
                    int    flow = MicrosoftOracle.ExecuteNonQuery(conn, command, sql);
                    //流程与分类关系表
                    if (flow > 0 && result)
                    {
                        result = true;
                    }
                    else
                    {
                        transaction.Rollback();
                        result = false;
                    }

                    sql  = "DELETE FROM FLOW_FLOWDEFINE_T  WHERE FLOWCODE='" + flowCode + "'";
                    flow = MicrosoftOracle.ExecuteNonQuery(conn, command, sql);
                    if (flow > 0 && result)
                    {
                        result = true;
                    }
                    else
                    {
                        transaction.Rollback();
                        result = false;
                    }
                }
                transaction.Commit();
                conn.Close();
                return(result);
            }
            catch (Exception ex)
            {
                transaction.Rollback();
                conn.Close();
                throw new Exception(ex.Message, ex);
            }
        }
Example #6
0
 /// <summary>
 /// 获取所有的系统代码模块代码
 /// </summary>
 /// <returns>List<FLOW_MODELDEFINE_T></returns>
 public List <FLOW_MODELDEFINE_T> GetSystemCodeModelCodeList()
 {
     try
     {
         OracleConnection conn = MicrosoftOracle.CreateOracleConnection(ConnectionString);
         string           sql  = @"SELECT SYSTEMCODE,SYSTEMNAME,MODELCODE,DESCRIPTION  from FLOW_MODELDEFINE_T where (1=1)";
         DataTable        dt   = MicrosoftOracle.ExecuteTable(conn, sql);
         MicrosoftOracle.Close(conn);
         return(ToList <FLOW_MODELDEFINE_T>(dt));
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message, ex);
     }
 }
Example #7
0
 /// <summary>
 /// 插入历史数据,然后删除
 /// </summary>
 /// <param name="conn">数据库链接</param>
 /// <param name="command">数据库命令</param>
 /// <param name="companyID">公司ID</param>
 /// <param name="modelCode">模块</param>
 /// <param name="departmentID">部门</param>
 /// <param name="flow">视图</param>
 /// <returns>string</returns>
 private string InsertHistory(OracleConnection conn, OracleCommand command, string companyID, string modelCode, string departmentID, V_FLOWDEFINITION flow)
 {
     try
     {
         StringBuilder sb       = new StringBuilder();
         string        flowCode = string.Empty;
         sb.AppendLine("select  flowcode from FLOW_MODELFLOWRELATION_T t");
         sb.AppendLine(" where t.COMPANYID='" + companyID + "'  and t.MODELCODE='" + modelCode + "'");
         if (!string.IsNullOrWhiteSpace(departmentID))
         {
             sb.AppendLine(" AND DEPARTMENTID ='" + departmentID + "'");
         }
         else
         {
             sb.AppendLine(" AND t.departmentid is null");
         }
         DataTable dt = MicrosoftOracle.ExecuteTable(conn, command, sb.ToString(), null);
         if (dt.Rows.Count > 0)
         {
             sb.Clear();
             flowCode = dt.Rows[0]["FLOWCODE"].ToString();
             sb.AppendLine("insert into flow_flowdefine_t_history ");
             sb.AppendLine("SELECT sys_guid(),FLOWCODE,DESCRIPTION,XOML,RULES,LAYOUT,FLOWTYPE,CREATEUSERID,CREATEUSERNAME,CREATECOMPANYID,CREATEDEPARTMENTID,");
             sb.AppendLine("CREATEPOSTID,CREATEDATE,'" + flow.FlowDefinition.EDITUSERID + "' as EDITUSERID,'" + flow.FlowDefinition.EDITUSERNAME + "' as EDITUSERNAME,EDITDATE,");
             sb.AppendLine("SYSTEMCODE,BUSINESSOBJECT,WFLAYOUT,FLOWCODE1 FROM FLOW_FLOWDEFINE_T  t");
             sb.AppendLine("where t.FLOWCODE='" + flowCode + "'");
             int n = MicrosoftOracle.ExecuteSQL(conn, command, sb.ToString(), null);
             if (n > 0)
             {
                 sb.Clear();
                 sb.AppendLine("delete FLOW_MODELFLOWRELATION_T t where FLOWCODE='" + flowCode + "'");
                 MicrosoftOracle.ExecuteSQL(conn, command, sb.ToString(), null);
                 sb.Clear();
                 sb.AppendLine("delete FLOW_FLOWDEFINE_T t where FLOWCODE='" + flowCode + "'");
                 MicrosoftOracle.ExecuteSQL(conn, command, sb.ToString(), null);
             }
         }
         return(flowCode);
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message, ex);
     }
 }
Example #8
0
        /// <summary>
        /// 新增流程
        /// </summary>
        /// <param name="flow">视图</param>
        /// <returns>bool</returns>
        public bool AddFlowDefine(V_FLOWDEFINITION flow)
        {
            OracleConnection  conn    = MicrosoftOracle.CreateOracleConnection(ConnectionString);
            OracleCommand     command = conn.CreateCommand();
            OracleTransaction transaction;

            transaction         = conn.BeginTransaction(System.Data.IsolationLevel.ReadCommitted);
            command.Transaction = transaction;
            try
            {
                AdddFlowDefine(conn, command, flow);
                transaction.Commit();
                conn.Close();
                return(true);
            }
            catch (Exception ex)
            {
                transaction.Rollback();
                conn.Close();
                throw new Exception(ex.Message, ex);
            }
        }
Example #9
0
        /// <summary>
        /// 修改模块代码
        /// </summary>
        /// <param name="flowModel">flowModel</param>
        /// <returns>string</returns>
        public string UpdateModelDefine(FLOW_MODELDEFINE_T flowModel)
        {
            try
            {
                OracleConnection  conn     = MicrosoftOracle.CreateOracleConnection(ConnectionString);
                string            updSql   = "UPDATE FLOW_MODELDEFINE_T SET MODELDEFINEID=:MODELDEFINEID,SYSTEMCODE=:SYSTEMCODE,SYSTEMNAME=:SYSTEMNAME,PARENTMODELCODE=:PARENTMODELCODE,DESCRIPTION=:DESCRIPTION,EDITUSERID=:EDITUSERID,EDITUSERNAME=:EDITUSERNAME,EDITDATE=:EDITDATE WHERE   MODELCODE=:MODELCODE";
                OracleParameter[] pageparm =
                {
                    new OracleParameter(":MODELDEFINEID", GetValue(flowModel.MODELDEFINEID)),     //模块ID
                    new OracleParameter(":SYSTEMCODE", GetValue(flowModel.SYSTEMCODE)),           //系统代码
                    new OracleParameter(":SYSTEMNAME", GetValue(flowModel.SYSTEMNAME)),           //系统代码
                    new OracleParameter(":MODELCODE", GetValue(flowModel.MODELCODE)),             //模块代码
                    new OracleParameter(":PARENTMODELCODE", GetValue(flowModel.PARENTMODELCODE)), //上级模块代码
                    new OracleParameter(":DESCRIPTION", GetValue(flowModel.DESCRIPTION)),         //模块描述
                    new OracleParameter(":EDITUSERID", GetValue(flowModel.EDITUSERID)),           //修改人ID
                    new OracleParameter(":EDITUSERNAME", GetValue(flowModel.EDITUSERNAME)),       //修改人用户名
                    new OracleParameter(":EDITDATE", GetValue(DateTime.Now))                      //修改时间
                };
                int result = MicrosoftOracle.ExecuteNonQuery(conn, CommandType.Text, updSql, pageparm);
                if (result > 0)
                {
                    #region  哪些公司在模块中可以允许自选流程
                    if (flowModel.FreeFlowCompanyList != null && flowModel.FreeFlowCompanyList.Count > 0)
                    {
                        foreach (var ent in flowModel.FreeFlowCompanyList)
                        {
                            StringBuilder sb = new StringBuilder();
                            sb.AppendLine("declare  ");
                            sb.AppendLine("  i integer;");
                            sb.AppendLine("  MODELDEFINEFREEFLOWID varchar2(50) :='" + ent.MODELDEFINEFREEFLOWID + "';");
                            sb.AppendLine("  MODELCODE_temp varchar2(50) :='" + ent.MODELCODE + "';");
                            sb.AppendLine("  COMPANYNAME_temp varchar2(50) :='" + ent.COMPANYNAME + "';");
                            sb.AppendLine("  COMPANYID_temp varchar2(50) :='" + ent.COMPANYID + "';");
                            sb.AppendLine("  CREATEUSERID_temp varchar2(50) :='" + ent.CREATEUSERID + "';");
                            sb.AppendLine("  CREATEUSERNAME_temp varchar2(50) :='" + ent.CREATEUSERNAME + "';");
                            sb.AppendLine("  CREATECOMPANYID_temp varchar2(50) :='" + ent.CREATECOMPANYID + "';");
                            sb.AppendLine("  CREATEDEPARTMENTID_temp varchar2(50) :='" + ent.CREATEDEPARTMENTID + "';");
                            sb.AppendLine("  CREATEPOSTID_temp varchar2(50) :='" + ent.CREATEPOSTID + "';");
                            sb.AppendLine("  CREATEDATE_temp date :=to_date('" + DateTime.Now.ToString() + "', 'yyyy/mm/dd hh24:mi:ss');");
                            sb.AppendLine("begin");
                            sb.AppendLine("   select count(1) into i from FLOW_MODELDEFINE_FREEFLOW t where t.MODELCODE='" + ent.MODELCODE + "' and t.COMPANYID='" + ent.COMPANYID + "';");
                            sb.AppendLine("   if i<1 then");
                            sb.AppendLine("      execute immediate 'INSERT INTO FLOW_MODELDEFINE_FREEFLOW (MODELDEFINEFREEFLOWID,MODELCODE,COMPANYNAME,COMPANYID,CREATEUSERID,CREATEUSERNAME,CREATECOMPANYID,CREATEDEPARTMENTID,CREATEPOSTID,CREATEDATE) values (:MODELDEFINEFREEFLOWID,:MODELCODE,:COMPANYNAME,:COMPANYID,:CREATEUSERID,:CREATEUSERNAME,:CREATECOMPANYID,:CREATEDEPARTMENTID,:CREATEPOSTID,:CREATEDATE)'");
                            sb.AppendLine("      using MODELDEFINEFREEFLOWID,MODELCODE_temp,COMPANYNAME_temp,COMPANYID_temp,CREATEUSERID_temp,CREATEUSERNAME_temp,CREATECOMPANYID_temp,CREATEDEPARTMENTID_temp,CREATEPOSTID_temp,CREATEDATE_temp; ");
                            sb.AppendLine("      --commit;   ");
                            sb.AppendLine("   end if;");
                            sb.AppendLine("end;");

                            int n = MicrosoftOracle.ExecuteNonQuery(conn, CommandType.Text, sb.ToString());
                        }
                    }
                    #endregion
                    #region  哪些公司在模块中可以允许提单人撒回流程
                    if (flowModel.FlowCancelCompanyList != null && flowModel.FlowCancelCompanyList.Count > 0)
                    {
                        foreach (var ent in flowModel.FlowCancelCompanyList)
                        {
                            StringBuilder sb = new StringBuilder();
                            sb.AppendLine("declare  ");
                            sb.AppendLine("  i integer;");
                            sb.AppendLine("  MODELDEFINEFLOWCANCLEID_temp varchar2(50) :='" + ent.MODELDEFINEFLOWCANCLEID + "';");
                            sb.AppendLine("  MODELCODE_temp varchar2(50) :='" + ent.MODELCODE + "';");
                            sb.AppendLine("  COMPANYNAME_temp varchar2(50) :='" + ent.COMPANYNAME + "';");
                            sb.AppendLine("  COMPANYID_temp varchar2(50) :='" + ent.COMPANYID + "';");
                            sb.AppendLine("  CREATEUSERID_temp varchar2(50) :='" + ent.CREATEUSERID + "';");
                            sb.AppendLine("  CREATEUSERNAME_temp varchar2(50) :='" + ent.CREATEUSERNAME + "';");
                            sb.AppendLine("  CREATECOMPANYID_temp varchar2(50) :='" + ent.CREATECOMPANYID + "';");
                            sb.AppendLine("  CREATEDEPARTMENTID_temp varchar2(50) :='" + ent.CREATEDEPARTMENTID + "';");
                            sb.AppendLine("  CREATEPOSTID_temp varchar2(50) :='" + ent.CREATEPOSTID + "';");
                            sb.AppendLine("  CREATEDATE_temp date :=to_date('" + DateTime.Now.ToString() + "', 'yyyy/mm/dd hh24:mi:ss');");
                            sb.AppendLine("begin");
                            sb.AppendLine("   select count(1) into i from FLOW_MODELDEFINE_FLOWCANCLE t where  t.MODELCODE='" + ent.MODELCODE + "' and t.COMPANYID='" + ent.COMPANYID + "';");
                            sb.AppendLine("   if i<1 then");
                            sb.AppendLine("      execute immediate 'INSERT INTO FLOW_MODELDEFINE_FLOWCANCLE (MODELDEFINEFLOWCANCLEID,MODELCODE,COMPANYNAME,COMPANYID,CREATEUSERID,CREATEUSERNAME,CREATECOMPANYID,CREATEDEPARTMENTID,CREATEPOSTID,CREATEDATE) values (:MODELDEFINEFLOWCANCLEID,:MODELCODE,:COMPANYNAME,:COMPANYID,:CREATEUSERID,:CREATEUSERNAME,:CREATECOMPANYID,:CREATEDEPARTMENTID,:CREATEPOSTID,:CREATEDATE)'");
                            sb.AppendLine("      using MODELDEFINEFLOWCANCLEID_temp,MODELCODE_temp,COMPANYNAME_temp,COMPANYID_temp,CREATEUSERID_temp,CREATEUSERNAME_temp,CREATECOMPANYID_temp,CREATEDEPARTMENTID_temp,CREATEPOSTID_temp,CREATEDATE_temp; ");
                            sb.AppendLine("      --commit;   ");
                            sb.AppendLine("   end if;");
                            sb.AppendLine("end;");
                            int n = MicrosoftOracle.ExecuteNonQuery(conn, CommandType.Text, sb.ToString());
                        }
                    }
                    #endregion
                }
                MicrosoftOracle.Close(conn);
                return(result > 0 ? "1" : "0");
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message, ex);
            }
        }
Example #10
0
 /// <summary>
 /// 新增流程关系
 /// </summary>
 /// <param name="conn">数据库链接</param>
 /// <param name="command">数据库命令</param>
 /// <param name="relation">关系实体</param>
 /// <returns>bool</returns>
 private bool AddRelation(OracleConnection conn, OracleCommand command, FLOW_MODELFLOWRELATION_T relation)
 {
     try
     {
         string            relationSql  = @"INSERT INTO FLOW_MODELFLOWRELATION_T (MODELFLOWRELATIONID,COMPANYID,DEPARTMENTID,COMPANYNAME,DEPARTMENTNAME,
                 SYSTEMCODE,MODELCODE,FLOWCODE,FLAG,FLOWTYPE,CREATEUSERID,CREATEUSERNAME,CREATECOMPANYID,CREATEDEPARTMENTID,
                 CREATEPOSTID,CREATEDATE,EDITUSERID,EDITUSERNAME,EDITDATE) VALUES (:MODELFLOWRELATIONID,:COMPANYID,:DEPARTMENTID,
                 :COMPANYNAME,:DEPARTMENTNAME,:SYSTEMCODE,:MODELCODE,:FLOWCODE,:FLAG,:FLOWTYPE,:CREATEUSERID,:CREATEUSERNAME,
                 :CREATECOMPANYID,:CREATEDEPARTMENTID,:CREATEPOSTID,:CREATEDATE,:EDITUSERID,:EDITUSERNAME,:EDITDATE)";
         OracleParameter[] relationParm =
         {
             new OracleParameter(":MODELFLOWRELATIONID", OracleType.NVarChar,  100),
             new OracleParameter(":COMPANYID",           OracleType.NVarChar,  100),
             new OracleParameter(":DEPARTMENTID",        OracleType.NVarChar,  100),
             new OracleParameter(":COMPANYNAME",         OracleType.NVarChar,  100),
             new OracleParameter(":DEPARTMENTNAME",      OracleType.NVarChar,  100),
             new OracleParameter(":SYSTEMCODE",          OracleType.NVarChar,  100),
             new OracleParameter(":MODELCODE",           OracleType.NVarChar,  100),
             new OracleParameter(":FLOWCODE",            OracleType.NVarChar,  100),
             new OracleParameter(":FLAG",                OracleType.NVarChar,    2),
             new OracleParameter(":FLOWTYPE",            OracleType.NVarChar,    2),
             new OracleParameter(":CREATEUSERID",        OracleType.NVarChar,  100),
             new OracleParameter(":CREATEUSERNAME",      OracleType.NVarChar,  100),
             new OracleParameter(":CREATECOMPANYID",     OracleType.NVarChar,  100),
             new OracleParameter(":CREATEDEPARTMENTID",  OracleType.NVarChar,  100),
             new OracleParameter(":CREATEPOSTID",        OracleType.NVarChar,  100),
             new OracleParameter(":CREATEDATE",          OracleType.DateTime),
             new OracleParameter(":EDITUSERID",          OracleType.NVarChar,  100),
             new OracleParameter(":EDITUSERNAME",        OracleType.NVarChar,  100),
             new OracleParameter(":EDITDATE",            OracleType.DateTime)
         };
         relationParm[0].Value  = Guid.NewGuid().ToString();             //关联ID
         relationParm[1].Value  = GetValue(relation.COMPANYID);          //公司ID
         relationParm[2].Value  = GetValue(relation.DEPARTMENTID);       //部门ID
         relationParm[3].Value  = GetValue(relation.COMPANYNAME);        //公司名称
         relationParm[4].Value  = GetValue(relation.DEPARTMENTNAME);     //部门名称
         relationParm[5].Value  = GetValue(relation.SYSTEMCODE);         //系统代码
         relationParm[6].Value  = GetValue(relation.MODELCODE);          //模块代码
         relationParm[7].Value  = GetValue(relation.FLOWCODE);           //流程代码
         relationParm[8].Value  = "1";                                   //1这可用,0为不可用
         relationParm[9].Value  = GetValue(relation.FLOWTYPE);           //0:审批流程,1:任务流程
         relationParm[10].Value = GetValue(relation.CREATEUSERID);       //操作人员ID
         relationParm[11].Value = GetValue(relation.CREATEUSERNAME);     //操作人员名
         relationParm[12].Value = GetValue(relation.CREATECOMPANYID);    //创建公司ID
         relationParm[13].Value = GetValue(relation.CREATEDEPARTMENTID); //创建部门ID
         relationParm[14].Value = GetValue(relation.CREATEPOSTID);       //创建岗位ID
         relationParm[15].Value = DateTime.Now;                          //创建时间
         relationParm[16].Value = GetValue(relation.CREATEUSERID);       //修改人ID
         relationParm[17].Value = GetValue(relation.CREATEUSERNAME);     //修改人用户名
         relationParm[18].Value = DateTime.Now;                          //修改时间
         int k = MicrosoftOracle.ExecuteSQL(conn, command, relationSql, relationParm);
         if (k > 0)
         {
             return(true);
         }
         return(false);
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message, ex);
     }
 }
Example #11
0
 /// <summary>
 /// 新增流程定义
 /// </summary>
 /// <param name="conn">链接</param>
 /// <param name="command">数据库命令</param>
 /// <param name="define">流程定义</param>
 /// <returns>bool</returns>
 private bool AddFlow(OracleConnection conn, OracleCommand command, FLOW_FLOWDEFINE_T define)
 {
     try
     {
         string            insSql   = @"INSERT INTO FLOW_FLOWDEFINE_T (FLOWDEFINEID,FLOWCODE,DESCRIPTION,XOML,RULES,LAYOUT,FLOWTYPE,
                     CREATEUSERID,CREATEUSERNAME,CREATECOMPANYID,CREATEDEPARTMENTID,CREATEPOSTID,CREATEDATE,EDITUSERID,EDITUSERNAME,
                     EDITDATE,SYSTEMCODE,BUSINESSOBJECT,WFLAYOUT) VALUES (:FLOWDEFINEID,:FLOWCODE,:DESCRIPTION,:XOML,:RULES,:LAYOUT,
                     :FLOWTYPE,:CREATEUSERID,:CREATEUSERNAME,:CREATECOMPANYID,:CREATEDEPARTMENTID,:CREATEPOSTID,:CREATEDATE,:EDITUSERID,:EDITUSERNAME,
                     :EDITDATE,:SYSTEMCODE,:BUSINESSOBJECT,:WFLAYOUT)";
         OracleParameter[] pageparm =
         {
             #region  参数
             new OracleParameter(":FLOWDEFINEID",       OracleType.NVarChar,  100),
             new OracleParameter(":FLOWCODE",           OracleType.NVarChar,  100),
             new OracleParameter(":DESCRIPTION",        OracleType.NVarChar,  100),
             new OracleParameter(":XOML",               OracleType.Clob),
             new OracleParameter(":RULES",              OracleType.Clob),
             new OracleParameter(":LAYOUT",             OracleType.Clob),
             new OracleParameter(":FLOWTYPE",           OracleType.NVarChar,    2),
             new OracleParameter(":CREATEUSERID",       OracleType.NVarChar,  100),
             new OracleParameter(":CREATEUSERNAME",     OracleType.NVarChar,  100),
             new OracleParameter(":CREATECOMPANYID",    OracleType.NVarChar,  100),
             new OracleParameter(":CREATEDEPARTMENTID", OracleType.NVarChar,  100),
             new OracleParameter(":CREATEPOSTID",       OracleType.NVarChar,  100),
             new OracleParameter(":CREATEDATE",         OracleType.DateTime),
             new OracleParameter(":EDITUSERID",         OracleType.NVarChar,  100),
             new OracleParameter(":EDITUSERNAME",       OracleType.NVarChar,  100),
             new OracleParameter(":EDITDATE",           OracleType.DateTime),
             new OracleParameter(":SYSTEMCODE",         OracleType.NVarChar,  100),
             new OracleParameter(":BUSINESSOBJECT",     OracleType.NVarChar,  100),
             new OracleParameter(":WFLAYOUT",           OracleType.Clob)
             #endregion
         };
         pageparm[0].Value  = GetValue(Guid.NewGuid().ToString().Replace("-", string.Empty)); //流程定义ID
         pageparm[1].Value  = GetValue(define.FLOWCODE);                                      //流程代码
         pageparm[2].Value  = GetValue(define.DESCRIPTION);;                                  //名称描述
         pageparm[3].Value  = GetValue(define.XOML);                                          //模型文件
         pageparm[4].Value  = GetValue(define.RULES);                                         //模型规则
         pageparm[5].Value  = GetValue(define.LAYOUT);                                        //模型布局
         pageparm[6].Value  = GetValue(define.FLOWTYPE);                                      //流程类型 -- 0:审批流程, 1:任务流程
         pageparm[7].Value  = GetValue(define.CREATEUSERID);                                  //操作人员ID
         pageparm[8].Value  = GetValue(define.CREATEUSERNAME);                                //操作人员名
         pageparm[9].Value  = GetValue(define.CREATECOMPANYID);                               //创建公司ID
         pageparm[10].Value = GetValue(define.CREATEDEPARTMENTID);                            //创建部门ID
         pageparm[11].Value = GetValue(define.CREATEPOSTID);                                  //创建岗位ID
         pageparm[12].Value = GetValue(define.CREATEDATE);                                    //创建时间
         pageparm[13].Value = GetValue(define.EDITUSERID);                                    //修改人ID
         pageparm[14].Value = GetValue(define.EDITUSERNAME);                                  //修改人用户名
         pageparm[15].Value = GetValue(define.EDITDATE);                                      //修改时间
         pageparm[16].Value = GetValue(define.SYSTEMCODE);                                    //业务系统:OA,HR,TM等
         pageparm[17].Value = GetValue(define.BUSINESSOBJECT);                                //业务对象:各种申请报销单
         pageparm[18].Value = GetValue(define.WFLAYOUT);                                      //流程定义文件,把旧的ID换成新的ID
         int n = MicrosoftOracle.ExecuteSQL(conn, command, insSql, pageparm);
         if (n > 0)
         {
             return(true);
         }
         return(false);
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message, ex);
     }
 }