コード例 #1
0
ファイル: KPIPointInfo.xaml.cs プロジェクト: JuRogn/OA
        public KPIPointInfo(FormTypes type, ObservableCollection<T_HR_KPIPOINT> KPIPointList, string stepname, FLOW_MODELFLOWRELATION_T modelFlowRelation)
        {
            InitializeComponent();

            if (KPIPointList != null && KPIPointList.Count != 0 && stepname != null)
            {
                //获取KPI点信息
                foreach (T_HR_KPIPOINT point in KPIPointList)
                {
                    if (stepname.Equals(point.STEPID))
                    {
                        KPIPoint = point;
                        break;
                    }
                }
            }
            // 1s 冉龙军
            ////设置KPI点信息为不可用
            //SetPointInfoEnable(false);
            ////设置KPI点信息
            //SetControlsEnable(false);
            // 1e
            //设置系统评分信息为不可用
            SetSystemScoreEnable(false);
            //设置提醒信息为不可用
            SetRemindEnable(false);
            //抽查组
            chkIsRandom.IsEnabled = false;
            // 1s 冉龙军
            txtRandomWeight.IsEnabled = false;
            cboRandomGroup.IsEnabled = false;
            //机打
            chkIsMachine.IsEnabled = false;
            txtMachineWeight.IsEnabled = false;
            //人打
            chkIsPerson.IsEnabled = false;
            txtPersonWeight.IsEnabled = false;
            // 1e

            // 1s 冉龙军
            chkIsSetKPI.IsChecked = KPIPoint == null ? false : true;
            // 1e
            cboIsSetKPI.SelectedIndex = KPIPoint == null ? 1 : 0;
            this.FormType = type;
            this.stepname = stepname;
            this.modelFlowRelation = modelFlowRelation;
            //if (KPIPoint == null)
            //{
            //}

            //设置节点名称
            lblStatusName.Text = stepname;
            InitPara(stepname);
        }
コード例 #2
0
 private void dtgProject_SelectionChanged(object sender, RoutedEventArgs e)
 {
     //清理掉设计器里的东西
     ClearContain();
     if (dtgProject.SelectedItem != null)
     {
         this.SelectedModelFlowRelation = (FLOW_MODELFLOWRELATION_T)dtgProject.SelectedItem;
         client.GetKPIPointListByBusinessCodeAsync(SelectedModelFlowRelation.MODELFLOWRELATIONID);
     }
     //fClient.GetFlowDefineByFlowCodeAsync(((FLOW_MODELFLOWRELATION_T)dtgProject.SelectedItem).FLOW_FLOWDEFINE_T.FLOWCODE);
 }
コード例 #3
0
ファイル: FlowDefineDAL.cs プロジェクト: jjg0519/OA
 /// <summary>
 /// 新增流程
 /// </summary>
 /// <param name="conn"></param>
 /// <param name="command"></param>
 /// <param name="flow"></param>
 private void AdddFlowDefine(OracleConnection conn, OracleCommand command, V_FLOWDEFINITION flow)
 {
     try
     {
         FLOW_MODELFLOWRELATION_T relation = flow.ModelRelation;
         FLOW_FLOWDEFINE_T        define   = flow.FlowDefinition;
         string[] companyids   = relation.COMPANYID.TrimEnd('|').Split('|');                 //所有关联公司的ID
         string[] companynames = relation.COMPANYNAME.TrimEnd('|').Split('|');               //所有关联公司的名称
         for (int i = 0; i < companyids.Length; i++)                                         //循环公司新增
         {
             if (!string.IsNullOrEmpty(relation.DEPARTMENTID))                               //如果存在部门
             {
                 string[] departmentids   = relation.DEPARTMENTID.TrimEnd('|').Split('|');   //所有关联部门的ID
                 string[] departmentnames = relation.DEPARTMENTNAME.TrimEnd('|').Split('|'); //所有关联部门名称
                 for (int j = 0; j < departmentids.Length; j++)                              //循环部门新增
                 {
                     string flowCode = InsertHistory(conn, command, companyids[i], relation.MODELCODE, departmentids[j], flow);
                     if (string.IsNullOrWhiteSpace(flowCode))
                     {
                         flowCode = Guid.NewGuid().ToString().Replace("-", string.Empty);
                     }
                     relation.COMPANYID      = companyids[i];
                     relation.COMPANYNAME    = companynames[i];
                     relation.DEPARTMENTID   = departmentids[j];
                     relation.DEPARTMENTNAME = departmentnames[j];
                     relation.FLOWCODE       = flowCode;
                     define.FLOWCODE         = flowCode;
                     AddFlow(conn, command, define);
                     AddRelation(conn, command, relation);
                 }
             }
             else
             {
                 string flowCode = InsertHistory(conn, command, companyids[i], relation.MODELCODE, string.Empty, flow);
                 if (string.IsNullOrWhiteSpace(flowCode))
                 {
                     flowCode = Guid.NewGuid().ToString().Replace("-", string.Empty);
                 }
                 relation.COMPANYID   = companyids[i];
                 relation.COMPANYNAME = companynames[i];
                 relation.FLOWCODE    = flowCode;
                 define.FLOWCODE      = flowCode;
                 AddFlow(conn, command, define);
                 AddRelation(conn, command, relation);
             }
         }
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message, ex);
     }
 }
コード例 #4
0
ファイル: Service.cs プロジェクト: JuRogn/OA
        /// <summary>
        /// KPI调用
        /// </summary>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <param name="sort"></param>
        /// <param name="filterString"></param>
        /// <param name="paras"></param>
        /// <param name="pageCount"></param>
        /// <returns></returns>
        public List<FLOW_MODELFLOWRELATION_T> GetModelFlowRelationInfosListBySearch(int pageIndex, int pageSize, string sort, string filterString, object[] paras, ref int pageCount)
        {
            OracleConnection con = ADOHelper.GetOracleConnection();
            try
            {

                List<FLOW_MODELFLOWRELATION_T> ents = new List<FLOW_MODELFLOWRELATION_T>();
                string sql = " select t.MODELFLOWRELATIONID,t.COMPANYID,t.DEPARTMENTID,t.FLOWCODE,a.DESCRIPTION,t.FLAG from smtwf.FLOW_MODELFLOWRELATION_T t left join smtwf.FLOW_FLOWDEFINE_T a on t.flowcode=a.flowcode";
                if (!string.IsNullOrEmpty(sort))
                {
                    sql += " order by " + sort + "";
                }

                DataTable dt = MsOracle.GetDataTableByTransaction(con, sql, null);
                foreach (DataRow row in dt.Rows)
                {
                    FLOW_MODELFLOWRELATION_T ent = new FLOW_MODELFLOWRELATION_T();
                    ent.MODELFLOWRELATIONID = row["MODELFLOWRELATIONID"] == null ? "" : row["MODELFLOWRELATIONID"].ToString();
                    ent.MODELFLOWRELATIONID = row["COMPANYID"] == null ? "" : row["COMPANYID"].ToString();
                    ent.MODELFLOWRELATIONID = row["DEPARTMENTID"] == null ? "" : row["DEPARTMENTID"].ToString();
                    ent.MODELFLOWRELATIONID = row["FLOWCODE"] == null ? "" : row["FLOWCODE"].ToString();
                    ent.MODELFLOWRELATIONID = row["DESCRIPTION"] == null ? "" : row["DESCRIPTION"].ToString();
                    ent.MODELFLOWRELATIONID = row["FLAG"] == null ? "" : row["FLAG"].ToString();
                    ents.Add(ent);

                }

                IQueryable<FLOW_MODELFLOWRELATION_T> listTemp = ents.AsQueryable();
                int Count = ents.Count;
                pageCount = Count / pageSize + (Count % pageSize > 0 ? 1 : 0);
                var entList = listTemp.Skip((pageIndex - 1) * pageSize).Take(pageSize);
                return entList.ToList();

            }
            catch (Exception ex)
            {                
                return null;
                throw (ex);
            }
            finally
            {
                con.Close(); 
            }
        }
コード例 #5
0
        /// <summary>
        /// 查询 [模块与流程定义关联]
        /// </summary>
        /// <param name="CompanyID">创建公司ID</param>
        /// <param name="DepartID">创建部门ID</param>
        /// <param name="ModelCode">模块代码</param>
        /// <param name="FlowType">0:审批流程,1:任务流程</param>
        /// <param name="OrgType">1:代表部门ID为空,否则部门ID不为空</param>
        /// <returns></returns>
        public static List<FLOW_MODELFLOWRELATION_T> GetFlowByModelName(OracleConnection con,string CompanyID, string DepartID, string ModelCode, string FlowType, string OrgType)
        {
                List<FLOW_MODELFLOWRELATION_T> listRelation = new List<FLOW_MODELFLOWRELATION_T>();
                OracleDataReader dr = null;
                string sql = "";    
            try
                {
                    if (con.State != ConnectionState.Open)
                    {
                        con.Open();
                    }

                     sql = @" select * from FLOW_MODELFLOWRELATION_T where COMPANYID='{0}' and FLOWTYPE='{1}' and FLAG='1'  and MODELCODE='{2}'";

                    if (OrgType != "1")
                    {
                        sql = sql + " and DEPARTMENTID is null";

                    }
                    else
                    {
                        sql = sql + " and DEPARTMENTID='{3}'";
                    }

                    sql = string.Format(sql, CompanyID, FlowType, ModelCode, DepartID);
                    #region
               


                    //OracleCommand cmd = con.CreateCommand();
                    //cmd.CommandText = sql;

                    //dr = cmd.ExecuteReader();
                    LogHelper.WriteLog("FLOW_MODELFLOWRELATION_TDAL->GetFlowByModelName SQL语句:" + sql);
                    dr = MsOracle.ExecuteReaderByTransaction(con, sql, null);
                    while (dr.Read())
                    {
                        #region FLOW_MODELFLOWRELATION_T
                        FLOW_MODELFLOWRELATION_T relation = new FLOW_MODELFLOWRELATION_T();
                        relation.COMPANYID = dr["COMPANYID"] == DBNull.Value ? null : dr["COMPANYID"].ToString();
                        relation.CREATECOMPANYID = dr["CREATECOMPANYID"] == DBNull.Value ? null : dr["CREATECOMPANYID"].ToString();
                        relation.CREATEDATE = (DateTime)dr["CREATEDATE"];
                        relation.CREATEDEPARTMENTID = dr["CREATEDEPARTMENTID"] == DBNull.Value ? null : dr["CREATEDEPARTMENTID"].ToString();
                        relation.CREATEPOSTID = dr["CREATEPOSTID"] == DBNull.Value ? null : dr["CREATEDEPARTMENTID"].ToString();
                        relation.CREATEUSERID = dr["CREATEUSERID"] == DBNull.Value ? null : dr["CREATEUSERID"].ToString();
                        relation.CREATEUSERNAME = dr["CREATEUSERNAME"] == DBNull.Value ? null : dr["CREATEUSERNAME"].ToString();
                        relation.DEPARTMENTID = dr["DEPARTMENTID"] == DBNull.Value ? null : dr["DEPARTMENTID"].ToString();
                        relation.EDITDATE = dr["EDITDATE"] == DBNull.Value ? null : (DateTime?)dr["EDITDATE"];
                        relation.EDITUSERID = dr["EDITUSERID"] == DBNull.Value ? null : dr["EDITUSERID"].ToString();
                        relation.EDITUSERNAME = dr["EDITUSERNAME"] == DBNull.Value ? null : dr["EDITUSERNAME"].ToString();
                        relation.FLAG = dr["FLAG"] == DBNull.Value ? null : dr["FLAG"].ToString();
                        relation.FLOWTYPE = dr["FLOWTYPE"] == DBNull.Value ? null : dr["FLOWTYPE"].ToString();
                        relation.MODELFLOWRELATIONID = dr["MODELFLOWRELATIONID"] == DBNull.Value ? null : dr["MODELFLOWRELATIONID"].ToString();
                        relation.FLOW_FLOWDEFINE_T = new FLOW_FLOWDEFINE_T();
                        relation.FLOW_FLOWDEFINE_T.FLOWCODE = dr["FLOWCODE"] == DBNull.Value ? null : dr["FLOWCODE"].ToString();
                        listRelation.Add(relation);
                        break;
                        #endregion

                    }
                    dr.Close();
                    if (listRelation.Count > 0)
                    {
                         sql = @"select * from FLOW_FLOWDEFINE_T where FLOWCODE='" + listRelation[0].FLOW_FLOWDEFINE_T.FLOWCODE + "'";
                        //dr = cmd.ExecuteReader();

                        dr = MsOracle.ExecuteReaderByTransaction(con, sql, null);
                        while (dr.Read())
                        {
                            #region FLOW_FLOWDEFINE_T
                            FLOW_FLOWDEFINE_T define = new FLOW_FLOWDEFINE_T();
                            define.CREATECOMPANYID = dr["CREATECOMPANYID"] == DBNull.Value ? null : dr["CREATECOMPANYID"].ToString();
                            define.CREATEDATE = (DateTime)dr["CREATEDATE"];
                            define.CREATEDEPARTMENTID = dr["CREATEDEPARTMENTID"] == DBNull.Value ? null : dr["CREATEDEPARTMENTID"].ToString();
                            define.CREATEPOSTID = dr["CREATEPOSTID"] == DBNull.Value ? null : dr["CREATEDEPARTMENTID"].ToString();
                            define.CREATEUSERID = dr["CREATEUSERID"] == DBNull.Value ? null : dr["CREATEUSERID"].ToString();
                            define.CREATEUSERNAME = dr["CREATEUSERNAME"] == DBNull.Value ? null : dr["CREATEUSERNAME"].ToString();
                            define.DESCRIPTION = dr["DESCRIPTION"] == DBNull.Value ? null : dr["DESCRIPTION"].ToString();
                            define.EDITDATE = dr["EDITDATE"] == DBNull.Value ? null : (DateTime?)dr["EDITDATE"];
                            define.EDITUSERID = dr["EDITUSERID"] == DBNull.Value ? null : dr["EDITUSERID"].ToString();
                            define.EDITUSERNAME = dr["EDITUSERNAME"] == DBNull.Value ? null : dr["EDITUSERNAME"].ToString();
                            define.FLOWCODE = dr["FLOWCODE"] == DBNull.Value ? null : dr["FLOWCODE"].ToString();
                            define.FLOWTYPE = dr["FLOWTYPE"] == DBNull.Value ? null : dr["FLOWTYPE"].ToString();
                            define.FLOWDEFINEID = dr["FLOWDEFINEID"] == DBNull.Value ? null : dr["FLOWDEFINEID"].ToString();
                            define.LAYOUT = dr["LAYOUT"] == DBNull.Value ? null : dr["LAYOUT"].ToString();
                            define.RULES = dr["RULES"] == DBNull.Value ? null : dr["RULES"].ToString();
                            define.XOML = dr["XOML"] == DBNull.Value ? null : dr["XOML"].ToString(); ;
                            listRelation[0].FLOW_FLOWDEFINE_T = define;
                            break;
                            #endregion

                        }
                        dr.Close();

                    }
                 
                    #endregion
                    return listRelation;


                }
                catch (Exception ex)
                {
                    if (dr != null && !dr.IsClosed)
                    {
                        dr.Close();
                    }
                    if (con.State == ConnectionState.Open)
                    {
                        con.Close();
                    }                   
                    throw new Exception("GetFlowByModelName-->" + ex.Message);
                    
                }
        }
コード例 #6
0
ファイル: ContainerPM.cs プロジェクト: SaintLoong/TMFlow
        /// <summary>
        /// 保存数据到数据库
        /// </summary>
        private void SaveDataToDataBase()
        {
            try
            {
                _activityObjects = this.ucFlowSetting.activityProperty.ActivityObjects;//新建时活动数据
                _lineObjects = this.ucFlowSetting.lineProperty.LineObjects;//新建时连线数据
                //刷新上次选中元素的属性数据
                RefreshFlowData();
                #region 判断完成整性
                foreach (var role in _activityObjects)
                {
                    if (role.IsCounterSign)
                    {
                        if (role.CounterSignRoleList==null || role.CounterSignRoleList.Count < 1)
                        {
                            ComfirmWindow.ConfirmationBox("提示信息", "【会签节点】的角色不能为空,请添加角色!", "确定");
                            return;
                        }
                    }
                    if ((role.IsSpecifyCompany == true && string.IsNullOrEmpty(role.OtherCompanyId))
                        || (role.IsSpecifyCompany == false && !string.IsNullOrEmpty(role.OtherCompanyId) ))
                    {
                        ComfirmWindow.ConfirmationBox("提示信息", "【" + role.Remark + "】指定了公司【" + role .OtherCompanyName+ "】,但没有钩选中,请重新钩选!", "确定");
                        return;
                    }
                    #region 会签角色判断是否有指定公司
                    if (role.CounterSignRoleList != null && role.CounterSignRoleList.Count > 0)
                    {
                        string warlName = "";
                        foreach (var roleSingn in role.CounterSignRoleList)
                        {
                            if ((roleSingn.IsOtherCompany == true && roleSingn.OtherCompanyId.Trim() == "") || (roleSingn.IsOtherCompany == false && roleSingn.OtherCompanyId.Trim() != ""))
                            {
                                warlName += "【" + roleSingn.StateName + "】指定了公司【" + roleSingn.OtherCompanyName + "】,但没有钩选中,请重新钩选!\r\n";
                            }
                        }
                        if (warlName.Trim() != "")
                        {
                            ComfirmWindow.ConfirmationBox("会签角色提示信息", warlName, "确定");
                            return;
                        }
                    }
            //                    IsOtherCompany	false	bool
            //OtherCompanyId	"1a1f745c-e0df-4d21-b000-8d80d91b1743"	string
            //OtherCompanyName	null	string
            //StateCode	"da662417-baf1-4dab-ba34-5ae648c2047b"	string
            //StateName	"副总经理"	string
            //TypeCode	"CREATEUSER"	string
            //TypeName	"单据所有者"	string

                    #endregion
                }
                if (ucFlowSetting.flowProperty.txtFlowName.Text.Trim() == "")
                {
                    ComfirmWindow.ConfirmationBox("提示信息", "流程名称不能为空!", "确定");
                    return;
                }
                if (ucFlowSetting.flowProperty.cbSystemCode.SelectedIndex < 1)
                {
                    //MessageBox.Show("关联设置-〉业务系统:不能为空。", "警告:", MessageBoxButton.OK);
                    ComfirmWindow.ConfirmationBox("提示信息", "所属系统:不能为空!", "确定");
                    return;
                }
                if (ucFlowSetting.flowProperty.cbModelCode.SelectedIndex < 1)
                {
                    ComfirmWindow.ConfirmationBox("提示信息", "所属模块:不能为空!", "确定");
                    return;
                }

                if (ucFlowSetting.flowProperty.CurrentFlowView.ModelRelation == null)
                {
                    ComfirmWindow.ConfirmationBox("提示信息", "所属公司:不能为空!", "确定");
                    return;
                }
                if (ucFlowSetting.flowProperty.CurrentFlowView.ModelRelation != null && string.IsNullOrEmpty(ucFlowSetting.flowProperty.CurrentFlowView.ModelRelation.COMPANYID))
                {
                    //MessageBox.Show("关联设置-〉所属公司:不能为空。", "警告:", MessageBoxButton.OK);
                    ComfirmWindow.ConfirmationBox("提示信息", "所属公司:不能为空!", "确定");
                    return;
                }
                #endregion

                #region 系统与模块的选择
                FLOW_MODELDEFINE_T systemCode = ucFlowSetting.flowProperty.cbSystemCode.SelectedItem as FLOW_MODELDEFINE_T;

                FLOW_MODELDEFINE_T modelCode = ucFlowSetting.flowProperty.cbModelCode.SelectedItem as FLOW_MODELDEFINE_T;

                #endregion
                string strWFLayout = ToXmlString();
                string strXOML = GetXoml(_uniqueID);// ToXoml(_uniqueID);
                string strRules = ToRule(systemCode.SYSTEMCODE, modelCode.MODELCODE);
                string strLayout = GetLayout();// ToLayout();
                //工作流程定义
                #region 工作流程定义
                FLOW_FLOWDEFINE_T flowDefine = new FLOW_FLOWDEFINE_T();
                flowDefine.FLOWDEFINEID = Guid.NewGuid().ToString().Replace("-", ""); ;//暂时存在数据库,但没有用到
                flowDefine.FLOWCODE = _uniqueID;
                flowDefine.DESCRIPTION = ucFlowSetting.flowProperty.txtFlowName.Text;
                flowDefine.XOML = strXOML;
                flowDefine.RULES = strRules;
                flowDefine.LAYOUT = strLayout;
                flowDefine.WFLAYOUT = strWFLayout;
                flowDefine.FLOWTYPE = ucFlowSetting.flowProperty.cboFlowType.SelectedIndex.ToString();
                flowDefine.CREATEUSERID = Utility.CurrentUser.OWNERID;
                flowDefine.CREATEUSERNAME = Utility.CurrentUser.USERNAME;
                flowDefine.CREATECOMPANYID = Utility.CurrentUser.OWNERCOMPANYID;
                flowDefine.CREATEDEPARTMENTID = Utility.CurrentUser.OWNERDEPARTMENTID;
                flowDefine.CREATEPOSTID = Utility.CurrentUser.OWNERPOSTID;
                flowDefine.CREATEDATE = newtag == 0 ? DateTime.Now : ucFlowSetting.flowProperty.CurrentFlowView.FlowDefinition.CREATEDATE;
                flowDefine.EDITUSERID = Utility.CurrentUser.UPDATEUSER;
                flowDefine.EDITUSERNAME = Utility.CurrentUser.USERNAME;
                flowDefine.EDITDATE = DateTime.Now;
                flowDefine.SYSTEMCODE = systemCode.SYSTEMCODE;
                flowDefine.BUSINESSOBJECT = modelCode.MODELCODE;
                #endregion
                //模块定义
                #region 模块定义
                FLOW_MODELFLOWRELATION_T flowRealtion = new FLOW_MODELFLOWRELATION_T();
                flowRealtion.MODELFLOWRELATIONID = newtag == 0 ? Guid.NewGuid().ToString().Replace("-", "") : ucFlowSetting.flowProperty.CurrentFlowView.ModelRelation.MODELFLOWRELATIONID;
                flowRealtion.COMPANYID = ucFlowSetting.flowProperty.CurrentFlowView.ModelRelation.COMPANYID;//公司ID
                flowRealtion.DEPARTMENTID = ucFlowSetting.flowProperty.CurrentFlowView.ModelRelation.DEPARTMENTID; //部门Id
                flowRealtion.COMPANYNAME = ucFlowSetting.flowProperty.CurrentFlowView.ModelRelation.COMPANYNAME;//公司名称
                flowRealtion.DEPARTMENTNAME = ucFlowSetting.flowProperty.CurrentFlowView.ModelRelation.DEPARTMENTNAME;//部门名称
                flowRealtion.SYSTEMCODE = systemCode.SYSTEMCODE; //系统代码
                flowRealtion.MODELCODE = modelCode.MODELCODE;
                flowRealtion.FLOWCODE = _uniqueID;
                flowRealtion.FLAG = "1";
                flowRealtion.FLOWTYPE = ucFlowSetting.flowProperty.cboFlowType.SelectedIndex.ToString();
                flowRealtion.CREATEUSERID = Utility.CurrentUser.OWNERID;
                flowRealtion.CREATEUSERNAME = Utility.CurrentUser.USERNAME;
                flowRealtion.CREATECOMPANYID = Utility.CurrentUser.OWNERCOMPANYID;
                flowRealtion.CREATEDEPARTMENTID = Utility.CurrentUser.OWNERDEPARTMENTID;
                flowRealtion.CREATEPOSTID = Utility.CurrentUser.OWNERPOSTID;
                flowRealtion.CREATEDATE = DateTime.Now;
                flowRealtion.EDITUSERID = Utility.CurrentUser.UPDATEUSER;
                flowRealtion.EDITUSERNAME = Utility.CurrentUser.USERNAME;
                flowRealtion.EDITDATE = DateTime.Now;
                #endregion
                _currentFlow = new V_FLOWDEFINITION()
                {
                    FlowDefinition = flowDefine,
                    ModelRelation = flowRealtion

                };
                ucFlowSetting.flowProperty.CurrentFlowView = _currentFlow;
                pBar.Start();
                clientFlow.AddFlowDefineAsync(_currentFlow);
            }
            catch (Exception e)
            {
                try{
                    ComfirmWindow.ConfirmationBox("提示信息", "出错信息如下:\r\n" + e.ToString(), "确定");
                }catch(Exception ex)
                {
                    MessageBox.Show("保存流程出错,出错信息如下:\r\n" + e.ToString());
                }
            }
        }
コード例 #7
0
        /// <summary>
        /// 查询 [模块与流程定义关联]
        /// </summary>
        /// <param name="CompanyID">创建公司ID</param>
        /// <param name="DepartID">创建部门ID</param>
        /// <param name="ModelCode">模块代码</param>
        /// <param name="FlowType">0:审批流程,1:任务流程</param>
        /// <param name="OrgType">1:代表部门ID为空,否则部门ID不为空</param>
        /// <returns></returns>
        public static List <FLOW_MODELFLOWRELATION_T> GetFlowByModelName(OracleConnection con, string CompanyID, string DepartID, string ModelCode, string FlowType, string OrgType)
        {
            List <FLOW_MODELFLOWRELATION_T> listRelation = new List <FLOW_MODELFLOWRELATION_T>();
            OracleDataReader dr  = null;
            string           sql = "";

            try
            {
                if (con.State != ConnectionState.Open)
                {
                    con.Open();
                }

                sql = @" select * from FLOW_MODELFLOWRELATION_T where COMPANYID='{0}' and FLOWTYPE='{1}' and FLAG='1'  and MODELCODE='{2}'";

                if (OrgType != "1")
                {
                    sql = sql + " and DEPARTMENTID is null";
                }
                else
                {
                    sql = sql + " and DEPARTMENTID='{3}'";
                }

                sql = string.Format(sql, CompanyID, FlowType, ModelCode, DepartID);
                #region



                //OracleCommand cmd = con.CreateCommand();
                //cmd.CommandText = sql;

                //dr = cmd.ExecuteReader();
                LogHelper.WriteLog("FLOW_MODELFLOWRELATION_TDAL->GetFlowByModelName SQL语句:" + sql);
                dr = MsOracle.ExecuteReaderByTransaction(con, sql, null);
                while (dr.Read())
                {
                    #region FLOW_MODELFLOWRELATION_T
                    FLOW_MODELFLOWRELATION_T relation = new FLOW_MODELFLOWRELATION_T();
                    relation.COMPANYID          = dr["COMPANYID"] == DBNull.Value ? null : dr["COMPANYID"].ToString();
                    relation.CREATECOMPANYID    = dr["CREATECOMPANYID"] == DBNull.Value ? null : dr["CREATECOMPANYID"].ToString();
                    relation.CREATEDATE         = (DateTime)dr["CREATEDATE"];
                    relation.CREATEDEPARTMENTID = dr["CREATEDEPARTMENTID"] == DBNull.Value ? null : dr["CREATEDEPARTMENTID"].ToString();
                    relation.CREATEPOSTID       = dr["CREATEPOSTID"] == DBNull.Value ? null : dr["CREATEDEPARTMENTID"].ToString();
                    relation.CREATEUSERID       = dr["CREATEUSERID"] == DBNull.Value ? null : dr["CREATEUSERID"].ToString();
                    relation.CREATEUSERNAME     = dr["CREATEUSERNAME"] == DBNull.Value ? null : dr["CREATEUSERNAME"].ToString();
                    relation.DEPARTMENTID       = dr["DEPARTMENTID"] == DBNull.Value ? null : dr["DEPARTMENTID"].ToString();
                    relation.EDITDATE           = dr["EDITDATE"] == DBNull.Value ? null : (DateTime?)dr["EDITDATE"];
                    relation.EDITUSERID         = dr["EDITUSERID"] == DBNull.Value ? null : dr["EDITUSERID"].ToString();
                    relation.EDITUSERNAME       = dr["EDITUSERNAME"] == DBNull.Value ? null : dr["EDITUSERNAME"].ToString();
                    relation.FLAG                       = dr["FLAG"] == DBNull.Value ? null : dr["FLAG"].ToString();
                    relation.FLOWTYPE                   = dr["FLOWTYPE"] == DBNull.Value ? null : dr["FLOWTYPE"].ToString();
                    relation.MODELFLOWRELATIONID        = dr["MODELFLOWRELATIONID"] == DBNull.Value ? null : dr["MODELFLOWRELATIONID"].ToString();
                    relation.FLOW_FLOWDEFINE_T          = new FLOW_FLOWDEFINE_T();
                    relation.FLOW_FLOWDEFINE_T.FLOWCODE = dr["FLOWCODE"] == DBNull.Value ? null : dr["FLOWCODE"].ToString();
                    listRelation.Add(relation);
                    break;
                    #endregion
                }
                dr.Close();
                if (listRelation.Count > 0)
                {
                    sql = @"select * from FLOW_FLOWDEFINE_T where FLOWCODE='" + listRelation[0].FLOW_FLOWDEFINE_T.FLOWCODE + "'";
                    //dr = cmd.ExecuteReader();

                    dr = MsOracle.ExecuteReaderByTransaction(con, sql, null);
                    while (dr.Read())
                    {
                        #region FLOW_FLOWDEFINE_T
                        FLOW_FLOWDEFINE_T define = new FLOW_FLOWDEFINE_T();
                        define.CREATECOMPANYID    = dr["CREATECOMPANYID"] == DBNull.Value ? null : dr["CREATECOMPANYID"].ToString();
                        define.CREATEDATE         = (DateTime)dr["CREATEDATE"];
                        define.CREATEDEPARTMENTID = dr["CREATEDEPARTMENTID"] == DBNull.Value ? null : dr["CREATEDEPARTMENTID"].ToString();
                        define.CREATEPOSTID       = dr["CREATEPOSTID"] == DBNull.Value ? null : dr["CREATEDEPARTMENTID"].ToString();
                        define.CREATEUSERID       = dr["CREATEUSERID"] == DBNull.Value ? null : dr["CREATEUSERID"].ToString();
                        define.CREATEUSERNAME     = dr["CREATEUSERNAME"] == DBNull.Value ? null : dr["CREATEUSERNAME"].ToString();
                        define.DESCRIPTION        = dr["DESCRIPTION"] == DBNull.Value ? null : dr["DESCRIPTION"].ToString();
                        define.EDITDATE           = dr["EDITDATE"] == DBNull.Value ? null : (DateTime?)dr["EDITDATE"];
                        define.EDITUSERID         = dr["EDITUSERID"] == DBNull.Value ? null : dr["EDITUSERID"].ToString();
                        define.EDITUSERNAME       = dr["EDITUSERNAME"] == DBNull.Value ? null : dr["EDITUSERNAME"].ToString();
                        define.FLOWCODE           = dr["FLOWCODE"] == DBNull.Value ? null : dr["FLOWCODE"].ToString();
                        define.FLOWTYPE           = dr["FLOWTYPE"] == DBNull.Value ? null : dr["FLOWTYPE"].ToString();
                        define.FLOWDEFINEID       = dr["FLOWDEFINEID"] == DBNull.Value ? null : dr["FLOWDEFINEID"].ToString();
                        define.LAYOUT             = dr["LAYOUT"] == DBNull.Value ? null : dr["LAYOUT"].ToString();
                        define.RULES = dr["RULES"] == DBNull.Value ? null : dr["RULES"].ToString();
                        define.XOML  = dr["XOML"] == DBNull.Value ? null : dr["XOML"].ToString();;
                        listRelation[0].FLOW_FLOWDEFINE_T = define;
                        break;
                        #endregion
                    }
                    dr.Close();
                }

                #endregion
                return(listRelation);
            }
            catch (Exception ex)
            {
                if (dr != null && !dr.IsClosed)
                {
                    dr.Close();
                }
                if (con.State == ConnectionState.Open)
                {
                    con.Close();
                }
                throw new Exception("GetFlowByModelName-->" + ex.Message);
            }
        }
コード例 #8
0
ファイル: KPIPointSet.xaml.cs プロジェクト: JuRogn/OA
 private void dtgProject_SelectionChanged(object sender, RoutedEventArgs e)
 {
     //清理掉设计器里的东西
     ClearContain();
     if (dtgProject.SelectedItem != null)
     {
         this.SelectedModelFlowRelation = (FLOW_MODELFLOWRELATION_T)dtgProject.SelectedItem;
         client.GetKPIPointListByBusinessCodeAsync(SelectedModelFlowRelation.MODELFLOWRELATIONID);
     }
     //fClient.GetFlowDefineByFlowCodeAsync(((FLOW_MODELFLOWRELATION_T)dtgProject.SelectedItem).FLOW_FLOWDEFINE_T.FLOWCODE);
 }
コード例 #9
0
ファイル: FlowDefineDAL.cs プロジェクト: jjg0519/OA
 /// <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);
     }
 }