/// <summary>
        /// 按指定顺序编号获取对应的工艺子流程数据
        /// </summary>
        /// <param name="strProcessId"></param>
        /// <param name="iOrderIndex"></param>
        /// <returns></returns>
        public TeExProcess GetTeExProcess(string strProcessId, int iOrderIndex)
        {
            try
            {
                DataModels.HnfactoryautodbDB dataContext = new DataModels.HnfactoryautodbDB();
                //获取数据
                DataModels.PExprocess data = dataContext.PExprocesses.SingleOrDefault(c => c.ProcessId == strProcessId & c.ProcessOrderId == iOrderIndex);
                if (data != null)
                {
                    TeExProcess item = new TeExProcess(data);

                    //提取对应的子集合
                    string strExProcessId = item.ExProcessId;

                    ExProcessStepCollection steps = GetExProcessSteps(strExProcessId);
                    foreach (ExProcessStep step in steps)
                    {
                        ExProcessStepParsCollection pars = GetExProcessStepPars(step.StepId);
                        step.StepPars = pars;
                    }
                    item.Steps = steps;

                    return(item);
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        /// <summary>
        /// 获取工业子流程所有信息
        /// </summary>
        /// <param name="strExProcessId">工业子流程编号</param>
        /// <returns></returns>
        public TeExProcess GetTeExProcess(string strExProcessId)
        {
            try
            {
                TeExProcess           item          = new TeExProcess();
                string                strSQL        = "select *from p_exprocess where ExProcessId=?ExProcessId";
                List <MySqlParameter> sqlParameters = new List <MySqlParameter>
                {
                    new MySqlParameter("?ExProcessId", strExProcessId)
                };

                DataSet dataSet = MySqlHelper.GetDataSet(CommandType.Text, strSQL, sqlParameters.ToArray());
                if (dataSet.Tables.Count > 0)
                {
                    DataTable table = dataSet.Tables[0];
                    if (table.Rows.Count > 0)
                    {
                        Dictionary <string, Type> dEnum = new Dictionary <string, Type>();
                        dEnum.Add("ParType", typeof(SysHelper.Enums.DeviceParameterType));
                        TeExProcessCollection infos = new TeExProcessCollection();

                        CreateDataList <TeExProcess>(infos, strSQL, sqlParameters, item, dEnum);
                        //item = EntityHelper.GetEntityListByDT<TeExProcess>(table.Rows[0], null);
                        item = infos[0];

                        #region 提前相关的步骤集合
                        ExProcessStepCollection steps = GetExProcessSteps(strExProcessId);
                        foreach (ExProcessStep step in steps)
                        {
                            ExProcessStepParsCollection pars = GetExProcessStepPars(step.StepId);
                            step.StepPars = pars;
                        }
                        item.Steps = steps;
                        #endregion
                    }
                }


                return(item);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        /// <summary>
        /// 获取子流程步骤的参数需求集合
        /// </summary>
        /// <param name="strStepId"></param>
        /// <returns></returns>
        public ExProcessStepParsCollection GetExProcessStepPars(string strStepId)
        {
            try
            {
                ExProcessStepParsCollection items = new ExProcessStepParsCollection();
                using (DataModels.HnfactoryautodbDB dataContext = new DataModels.HnfactoryautodbDB())
                {
                    var datas = (from c in dataContext.PExprocesssteppars
                                 where c.StepId == strStepId
                                 select c
                                 ).ToList();
                    foreach (DataModels.PExprocesssteppar data in datas)
                    {
                        ExProcessStepPars item = new ExProcessStepPars(data);
                        items.Add(item);
                    }
                }

                return(items);


                //ExProcessStepParsCollection infos = new ExProcessStepParsCollection();
                //string strSQL = "select *from p_exprocesssteppars where StepId=?StepId  ";
                //List<MySqlParameter> sqlParameters = new List<MySqlParameter>
                //{
                //    new MySqlParameter("?StepId", strStepId)
                //};
                //ExProcessStepPars info = new ExProcessStepPars();

                //Dictionary<string, Type> dEnum = new Dictionary<string, Type>();
                //dEnum.Add("ActionType", typeof(SysHelper.Enums.SenserStatusType));
                //dEnum.Add("ParType", typeof(SysHelper.Enums.DeviceParameterType));

                ////获取主数据
                //CreateDataList<ExProcessStepPars>(infos, strSQL, sqlParameters, info, dEnum);

                //return infos;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #4
0
 public ExProcessStep()
 {
     StepPars      = new ExProcessStepParsCollection();
     ActionType    = SysHelper.Enums.DeviceActionType.None;
     FinishParType = SysHelper.Enums.DeviceParameterType.None;
 }