⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 flowprocess.cs

📁 动易SiteFactory&#8482 网上商店系统1.0源代码
💻 CS
📖 第 1 页 / 共 2 页
字号:
            info.PassActionName = rdr.GetString("PassActionName");
            info.PassActionStatus = rdr.GetInt32("PassActionStatus");
            info.RejectActionName = rdr.GetString("RejectActionName");
            info.RejectActionStatus = rdr.GetInt32("RejectActionStatus");
            return info;
        }

        public FlowProcessInfo GetFlowProcessById(int flowId, int processId)
        {
            FlowProcessInfo flowProcessInfo = new FlowProcessInfo();
            Parameters cmdParams = new Parameters();
            cmdParams.AddInParameter("@FlowId", DbType.Int32, flowId);
            cmdParams.AddInParameter("@ProcessId", DbType.Int32, processId);
            string strCommand = "SELECT * FROM PE_FlowProcess WHERE FlowID =@FlowId AND ProcessID =@ProcessId";
            using (NullableDataReader reader = DBHelper.ExecuteReader(CommandType.Text, strCommand, cmdParams))
            {
                if (reader.Read())
                {
                    FlowProcessFromrdr(flowProcessInfo, reader);
                    return flowProcessInfo;
                }
                return new FlowProcessInfo(true);
            }
        }

        public FlowProcessInfo GetFlowProcessByRoles(int flowId, int roleId)
        {
            Parameters cmdParams = new Parameters();
            cmdParams.AddInParameter("@FlowId", DbType.Int32, flowId);
            cmdParams.AddInParameter("@RoleId", DbType.Int32, roleId);
            string strCommand = "SELECT * FROM PE_FlowProcess WHERE FlowID =@FlowId AND ProcessID = (SELECT ProcessID FROM PE_Process_Roles WHERE FlowID=@FlowID AND RoleId  =@RoleId)";
            using (NullableDataReader reader = DBHelper.ExecuteReader(CommandType.Text, strCommand, cmdParams))
            {
                if (reader.Read())
                {
                    FlowProcessInfo flowProcessInfo = new FlowProcessInfo();
                    FlowProcessFromrdr(flowProcessInfo, reader);
                    return flowProcessInfo;
                }
                return new FlowProcessInfo(true);
            }
        }

        public FlowProcessInfo GetFlowProcessByRoles(int flowId, string roleIdArr)
        {
            Parameters cmdParams = new Parameters();
            cmdParams.AddInParameter("@FlowId", DbType.Int32, flowId);
            string strCommand = "SELECT TOP 1 * FROM PE_FlowProcess WHERE FlowID =@FlowId AND ProcessID IN (SELECT ProcessID FROM PE_Process_Roles WHERE FlowID=@FlowID AND RoleId IN (" + roleIdArr + ")) ORDER BY PassActionStatus DESC";
            using (NullableDataReader reader = DBHelper.ExecuteReader(CommandType.Text, strCommand, cmdParams))
            {
                if (reader.Read())
                {
                    FlowProcessInfo flowProcessInfo = new FlowProcessInfo();
                    FlowProcessFromrdr(flowProcessInfo, reader);
                    return flowProcessInfo;
                }
                return new FlowProcessInfo(true);
            }
        }

        public IList<FlowProcessInfo> GetFlowProcessList(int flowId)
        {
            IList<FlowProcessInfo> list = new List<FlowProcessInfo>();
            Parameters cmdParams = new Parameters();
            cmdParams.AddInParameter("@FlowID", DbType.Int32, flowId);
            string strCommand = "SELECT ProcessId,FlowId,ProcessName,Description,PassActionName,PassActionStatus,RejectActionName,RejectActionStatus FROM PE_FlowProcess";
            if (flowId > 0)
            {
                strCommand = strCommand + " WHERE FlowID=@FlowID";
            }
            strCommand = strCommand + " Order by ProcessID desc";
            using (NullableDataReader reader = DBHelper.ExecuteReader(CommandType.Text, strCommand, cmdParams))
            {
                while (reader.Read())
                {
                    list.Add(FlowProcessInfoFromrdataReader(reader));
                }
            }
            return list;
        }

        public string GetGroupIdByProcessIdAndFlowId(int flowId, int processId)
        {
            string strSql = "SELECT RoleId FROM PE_Process_Roles WHERE FlowId=@FlowId AND ProcessId=@ProcessId";
            Parameters cmdParams = new Parameters();
            cmdParams.AddInParameter("@FlowId", DbType.Int32, flowId);
            cmdParams.AddInParameter("@ProcessId", DbType.Int32, processId);
            StringBuilder sb = new StringBuilder();
            using (NullableDataReader reader = DBHelper.ExecuteReaderSql(strSql, cmdParams))
            {
                while (reader.Read())
                {
                    StringHelper.AppendString(sb, reader.GetInt32("RoleId").ToString());
                }
            }
            return sb.ToString();
        }

        private static int GetMaxProcessId()
        {
            string strSql = "SELECT MAX(ProcessID) FROM PE_FlowProcess";
            return DataConverter.CLng(DBHelper.ExecuteScalarSql(strSql));
        }

        private static void GetParameters(FlowProcessInfo flowProcessInfo, Parameters parms)
        {
            parms.AddInParameter("@ProcessId", DbType.Int32, flowProcessInfo.ProcessId);
            parms.AddInParameter("@FlowId", DbType.Int32, flowProcessInfo.FlowId);
            parms.AddInParameter("@ProcessName", DbType.String, flowProcessInfo.ProcessName);
            parms.AddInParameter("@Description", DbType.String, flowProcessInfo.Description);
            parms.AddInParameter("@PassActionName", DbType.String, flowProcessInfo.PassActionName);
            parms.AddInParameter("@PassActionStatus", DbType.Int32, flowProcessInfo.PassActionStatus);
            parms.AddInParameter("@RejectActionName", DbType.String, flowProcessInfo.RejectActionName);
            parms.AddInParameter("@RejectActionStatus", DbType.Int32, flowProcessInfo.RejectActionStatus);
        }

        public IList<RoleInfo> GetProcessRoleList(int flowId, int processId)
        {
            IList<RoleInfo> list = new List<RoleInfo>();
            Parameters cmdParams = new Parameters();
            cmdParams.AddInParameter("@FlowID", DbType.Int32, flowId);
            cmdParams.AddInParameter("@ProcessID", DbType.Int32, processId);
            string strCommand = "SELECT FlowID,ProcessID,RoleId FROM PE_Process_Roles";
            if (processId > 0)
            {
                strCommand = strCommand + " WHERE ProcessID=@ProcessID And FlowID = @FlowID";
            }
            strCommand = strCommand + " Order by ProcessID desc";
            using (NullableDataReader reader = DBHelper.ExecuteReader(CommandType.Text, strCommand, cmdParams))
            {
                while (reader.Read())
                {
                    RoleInfo item = new RoleInfo();
                    item.RoleId = reader.GetInt32("RoleId");
                    list.Add(item);
                }
            }
            return list;
        }

        public IList<StatusInfo> GetProcessStatusCodeList(int flowId, int processId)
        {
            IList<StatusInfo> list = new List<StatusInfo>();
            Parameters cmdParams = new Parameters();
            cmdParams.AddInParameter("@FlowID", DbType.Int32, flowId);
            cmdParams.AddInParameter("@ProcessID", DbType.Int32, processId);
            string strCommand = "SELECT FlowID,ProcessID,StatusCode FROM PE_ProcessStatusCode";
            if (processId > 0)
            {
                strCommand = strCommand + " WHERE ProcessID=@ProcessID And FlowID = @FlowID";
            }
            strCommand = strCommand + " Order by ProcessID desc";
            using (NullableDataReader reader = DBHelper.ExecuteReader(CommandType.Text, strCommand, cmdParams))
            {
                while (reader.Read())
                {
                    StatusInfo item = new StatusInfo();
                    item.StatusCode = reader.GetInt32("StatusCode");
                    list.Add(item);
                }
            }
            return list;
        }

        public string GetStatusCodeToProcessStatusCode(int flowId, string rolesId)
        {
            StringBuilder builder = new StringBuilder();
            Parameters cmdParams = new Parameters();
            cmdParams.AddInParameter("@FlowID", DbType.Int32, flowId);
            string strCommand = "SELECT StatusCode FROM PE_ProcessStatusCode WHERE FlowID=@FlowID AND ProcessID IN (SELECT ProcessID FROM PE_Process_Roles WHERE FlowID=@FlowID AND RoleID IN(" + rolesId + "))";
            using (NullableDataReader reader = DBHelper.ExecuteReader(CommandType.Text, strCommand, cmdParams))
            {
                while (reader.Read())
                {
                    if (builder.Length > 0)
                    {
                        builder.Append(",");
                    }
                    builder.Append(reader.GetInt32("StatusCode"));
                }
            }
            return builder.ToString();
        }

        public bool Update(FlowProcessInfo flowProcessInfo)
        {
            Parameters parms = new Parameters();
            GetParameters(flowProcessInfo, parms);
            string strSql = "UPDATE PE_FlowProcess SET ProcessID=@ProcessId,FlowID=@FlowId,ProcessName=@ProcessName,Description=@Description,PassActionName=@PassActionName,PassActionStatus=@PassActionStatus,RejectActionName=@RejectActionName,RejectActionStatus=@RejectActionStatus WHERE ProcessID=@ProcessId AND FlowID=@FlowID";
            return DBHelper.ExecuteSql(strSql, parms);
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -