示例#1
0
        /// <summary>
        /// 添加工艺子流程步骤日志表
        /// </summary>
        /// <param name="log"></param>
        /// <returns></returns>
        public bool AddExProcessStepLog(ProcessData.ExProcessStepLog log)
        {
            try
            {
                bool isAdd = false;

                if (log != null)
                {
                    using (DataModels.HnfactoryautodbDB dataContext = new DataModels.HnfactoryautodbDB())
                    {
                        //获取已经执行的步骤数量
                        string strSQL = "select count(*) from l_exprocesssteplog where ExProcessLogId=?ExProcessLogId";
                        List <MySqlParameter> sqlParameters = new List <MySqlParameter>();
                        sqlParameters.Add(new MySqlParameter("?ExProcessLogId", log.ExProcessLogId));
                        int iNowSum = Convert.ToInt32(MySqlHelper.ExecuteScalar(CommandType.Text, strSQL, sqlParameters.ToArray()));

                        //{工艺子流程日志编号}-{2位流水号}
                        string strNewLogCode = string.Format("{0}-{1:00}", log.ExProcessLogId, iNowSum);

                        log.ExProcessStepLogId = strNewLogCode;

                        DataModels.LExprocesssteplog data = log.ToData();
                        dataContext.Insert <DataModels.LExprocesssteplog>(data);
                        isAdd = true;
                    }
                }


                return(isAdd);
            }
            catch
            {
                throw;
            }
        }
示例#2
0
        /// <summary>
        /// 更新工艺主流程日志
        /// </summary>
        /// <param name="log">日志对象</param>
        /// <returns></returns>
        public bool UpdateMainProcessLog(ProcessData.ProcessLog log)
        {
            try
            {
                bool isUpdate = false;

                if (log != null)
                {
                    using (DataModels.HnfactoryautodbDB dataContext = new DataModels.HnfactoryautodbDB())
                    {
                        DataModels.LProcesslog data = dataContext.LProcesslogs.SingleOrDefault(c => c.ProcessLogId == log.ProcessLogId);
                        data.FinishTime          = log.FinishTime;
                        data.ProcessStatus       = log.ProcessStatus.ToString();
                        data.ProduceMaterialType = log.ProduceMaterialType.ToString();
                        data.Production          = log.Production;
                        data.TakeTime            = log.TakeTime;

                        dataContext.Update <DataModels.LProcesslog>(data);

                        isUpdate = true;
                    }
                }

                return(isUpdate);
            }
            catch
            {
                throw;
            }
        }
示例#3
0
        /// <summary>
        /// 添加设备操作日志记录
        /// </summary>
        /// <param name="log">日志对象</param>
        /// <returns></returns>
        public bool AddDeviceActionLog(DeviceActionLog log)
        {
            try
            {
                bool isAdd = false;

                if (log != null)
                {
                    using (DataModels.HnfactoryautodbDB dataContext = new DataModels.HnfactoryautodbDB())
                    {
                        //日志流水编号{设备编号}-{年月日时分秒}
                        string strNewLogCode = string.Format("Log-{0}-{1:yyMMddHHmmss}", log.SensorId, DateTime.Now);
                        log.DeviceActionLogId = strNewLogCode;

                        DataModels.LDeviceactionlog data = log.ToData();
                        dataContext.Insert <DataModels.LDeviceactionlog>(data);
                        isAdd = true;
                    }
                }

                return(isAdd);
            }
            catch
            {
                throw;
            }
        }
示例#4
0
 /// <summary>
 /// 获取设备指定参数最近的日志数据
 /// </summary>
 /// <param name="strDeviceId">设备编号</param>
 /// <param name="parType">参数类型</param>
 /// <returns></returns>
 public DeviceProduceLog GetDeviceProduceLog(string strDeviceId, SysHelper.Enums.DeviceParameterType parType)
 {
     try
     {
         using (DataModels.HnfactoryautodbDB dataContext = new DataModels.HnfactoryautodbDB())
         {
             DataModels.LDeviceproducelog data = (from d in dataContext.LDeviceproducelogs
                                                  where d.DeviceId == strDeviceId & d.ParType == parType.ToString()
                                                  orderby d.Created descending
                                                  select d).FirstOrDefault();
             if (data != null)
             {
                 return(new DeviceProduceLog(data));
             }
             else
             {
                 return(null);
             }
         }
     }
     catch
     {
         throw;
     }
 }
示例#5
0
        /// <summary>
        /// 获取生产线所有设备传感器当前状态
        /// </summary>
        /// <param name="strAssemblyLineId">生产线编号</param>
        /// <returns></returns>
        public DeviceProduceLogCollection GetDeviceProduceLogCollection(string strAssemblyLineId)
        {
            try
            {
                DeviceProduceLogCollection items = new DeviceProduceLogCollection();
                using (DataModels.HnfactoryautodbDB dataContext = new DataModels.HnfactoryautodbDB())
                {
                    var datas = (from c in dataContext.VDeviceproducelogs
                                 where c.AssemblyLineId == strAssemblyLineId
                                 select c
                                 ).ToList();
                    foreach (DataModels.VDeviceproducelog data in datas)
                    {
                        DeviceProduceLog item = new DeviceProduceLog(data);
                        items.Add(item);
                    }
                }

                return(items);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        /// <summary>
        /// 更新传感器的设备关联关系
        /// </summary>
        /// <param name="strSensorId">传感器编号</param>
        /// <param name="strDeviceId">所属设备编号</param>
        /// <param name="strToDeviceId">连接的设备编号</param>
        /// <returns></returns>
        public bool UpdateSensorJoinInfo(string strSensorId, string strDeviceId, string strToDeviceId)
        {
            try
            {
                bool isUpdate = false;
                using (DataModels.HnfactoryautodbDB dataContext = new DataModels.HnfactoryautodbDB())
                {
                    DataModels.FSensorinfo sensor = dataContext.FSensorinfoes.SingleOrDefault(c => c.SensorId == strSensorId);
                    if (sensor != null)
                    {
                        sensor.DeviceId   = strDeviceId;
                        sensor.ToDeviceId = strToDeviceId;

                        dataContext.Update <DataModels.FSensorinfo>(sensor);
                        isUpdate = true;
                    }
                }

                return(isUpdate);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        /// <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;
            }
        }
示例#8
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="log"></param>
        /// <param name="strDeviceId"></param>
        /// <returns></returns>
        public bool AddDeviceProduceLogPar(DeviceProduceLogPar log, string strDeviceId)
        {
            try
            {
                bool isAdd = false;

                if (log != null)
                {
                    using (DataModels.HnfactoryautodbDB dataContext = new DataModels.HnfactoryautodbDB())
                    {
                        //日志流水编号{设备编号}-{年月日时分秒}
                        string strNewLogCode = string.Format("{0}-{1}-{2:yyMMddHHmmss}", strDeviceId, log.ParType.ToString(), DateTime.Now);

                        log.LogParId = strNewLogCode;

                        DataModels.LDeviceproducelogpar data = log.ToData();
                        dataContext.Insert <DataModels.LDeviceproducelogpar>(data);
                        isAdd = true;
                    }
                }

                return(isAdd);
            }
            catch
            {
                throw;
            }
        }
示例#9
0
        /// <summary>
        /// 添加设备状态日志记录
        /// </summary>
        /// <param name="log"></param>
        /// <returns></returns>
        public bool AddDeviceProduceLog(DeviceProduceLog log)
        {
            try
            {
                bool isAdd = false;

                if (log != null)
                {
                    using (DataModels.HnfactoryautodbDB dataContext = new DataModels.HnfactoryautodbDB())
                    {
                        //日志流水编号{设备编号}-{年月日时分秒}
                        string strNewLogCode = string.Format("{0}-{1:yyMMddHHmmss}", log.DeviceId, DateTime.Now);
                        log.DeviceProduceLogId = strNewLogCode;

                        //DataModels.LDeviceproducelog data = log.ToData();
                        //dataContext.Insert<DataModels.LDeviceproducelog>(data);

                        #region 调用存储过程方式来添加日志
                        string strProName = "proc_AddDeviceProduceLog";
                        List <MySqlParameter> sqlParameters = new List <MySqlParameter>
                        {
                            new MySqlParameter("?mDeviceProduceLogId", log.DeviceProduceLogId)
                            , new MySqlParameter("?mDeviceId", log.DeviceId)
                            , new MySqlParameter("?mCreated", log.Created)
                            , new MySqlParameter("?mDeviceStatus", Enum.GetName(log.DeviceStatus.GetType(), log.DeviceStatus))
                            , new MySqlParameter("?mSensorId", log.SensorId)
                            , new MySqlParameter("?mValueType", log.ValueType)
                            , new MySqlParameter("?mSensorStatusValue", log.SensorStatusValue)
                            , new MySqlParameter("?mSensorStatus", Enum.GetName(log.SensorStatus.GetType(), log.SensorStatus))
                            , new MySqlParameter("?mParType", log.ParType)
                            , new MySqlParameter("?mParUnit", log.ParUnit)
                            , new MySqlParameter("?mParValue", log.ParValue)
                        };

                        MySqlHelper.ExecuteNonQuery(CommandType.StoredProcedure, strProName, sqlParameters.ToArray());
                        #endregion


                        isAdd = true;
                    }
                }

                return(isAdd);
            }
            catch
            {
                throw;
            }
        }
示例#10
0
        /// <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;
            }
        }
示例#11
0
        /// <summary>
        /// 获取子流程的步骤顺序集合
        /// </summary>
        /// <param name="strExProcessId"></param>
        /// <returns></returns>
        public ExProcessStepCollection GetExProcessSteps(string strExProcessId)
        {
            try
            {
                ExProcessStepCollection items = new ExProcessStepCollection();
                using (DataModels.HnfactoryautodbDB dataContext = new DataModels.HnfactoryautodbDB())
                {
                    var datas = (from c in dataContext.VExprocesssteps
                                 where c.ExProcessId == strExProcessId
                                 orderby c.OrderIndex
                                 select c
                                 ).ToList();
                    foreach (DataModels.VExprocessstep data in datas)
                    {
                        ExProcessStep item = new ExProcessStep(data);
                        items.Add(item);
                    }
                }

                return(items);

                //ProcessStepCollection infos = new ProcessStepCollection();
                //string strSQL = "select *from p_exprocessstep where ExProcessId=?ExProcessId order by orderindex";
                //List<MySqlParameter> sqlParameters = new List<MySqlParameter>
                //{
                //    new MySqlParameter("?ExProcessId", strExProcessId)
                //};
                //ProcessStep info = new ProcessStep();

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

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

                //return infos;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#12
0
 /// <summary>
 /// 获取工厂的生产线信息
 /// </summary>
 /// <param name="strAssemblyLineId">生产线编号</param>
 /// <returns></returns>
 public AssemblyLineInfo GetAssemblyLine(string strAssemblyLineId)
 {
     try
     {
         DataModels.HnfactoryautodbDB dataContext = new DataModels.HnfactoryautodbDB();
         DataModels.FAssemblylineinfo data        = dataContext.FAssemblylineinfoes.SingleOrDefault(c => c.AssemblyLineId == strAssemblyLineId);
         if (data != null)
         {
             return(new AssemblyLineInfo(data));
         }
         else
         {
             return(null);
         }
     }
     catch
     {
         throw;
     }
 }
示例#13
0
 /// <summary>
 /// 获取工艺主流程
 /// </summary>
 /// <param name="strProcessId">主流程编号</param>
 /// <returns></returns>
 public TechnologicalProcess GetTechnologicalProcess(string strProcessId)
 {
     try
     {
         DataModels.HnfactoryautodbDB dataContext = new DataModels.HnfactoryautodbDB();
         DataModels.PMainprocess      data        = dataContext.PMainprocesses.SingleOrDefault(c => c.ProcessId == strProcessId);
         if (data != null)
         {
             return(new TechnologicalProcess(data));
         }
         else
         {
             return(null);
         }
     }
     catch
     {
         throw;
     }
 }
示例#14
0
        /// <summary>
        /// 通过传感器得到对应的设备编号
        /// </summary>
        /// <param name="strSensorId">传感器编号</param>
        /// <returns></returns>
        public string GetDeviceIdBySensor(string strSensorId)
        {
            try
            {
                string strDeviceId = string.Empty;

                DataModels.HnfactoryautodbDB dataContext = new DataModels.HnfactoryautodbDB();
                DataModels.FSensorinfo       data        = dataContext.FSensorinfoes.SingleOrDefault(c => c.SensorId == strSensorId);
                if (data != null)
                {
                    strDeviceId = data.DeviceId;
                }

                return(strDeviceId);
            }
            catch
            {
                throw;
            }
        }
示例#15
0
 /// <summary>
 /// 获取传感器信息
 /// </summary>
 /// <param name="strSensorId">传感器编号</param>
 /// <returns></returns>
 public SensorInfo GetSensorInfo(string strSensorId)
 {
     try
     {
         DataModels.HnfactoryautodbDB dataContext = new DataModels.HnfactoryautodbDB();
         DataModels.FSensorinfo       data        = dataContext.FSensorinfoes.SingleOrDefault(c => c.SensorId == strSensorId);
         if (data != null)
         {
             SensorInfo info = new SensorInfo(data);
             return(info);
         }
         else
         {
             return(null);
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
示例#16
0
        /// <summary>
        /// 添加工艺主流程日志
        /// </summary>
        /// <param name="log">日志对象</param>
        /// <returns></returns>
        public bool AddMainProcessLog(ProcessData.ProcessLog log)
        {
            try
            {
                bool isAdd = false;
                if (log != null)
                {
                    //提取得到新的流水号
                    //{生产线编号}-{年月日}-{2位流水号}
                    //string strYMD = DateTime.Now.ToString("yyMMdd");
                    using (DataModels.HnfactoryautodbDB dataContext = new DataModels.HnfactoryautodbDB())
                    {
                        //先查询日志集合
                        string strSQL = "select count(*) from l_processlog where AssemblyLineId=?AssemblyLineId and DATE_FORMAT(created,'%Y%m%d') = ?NowDate";
                        List <MySqlParameter> sqlParameters = new List <MySqlParameter>
                        {
                            new MySqlParameter("?AssemblyLineId", log.AssemblyLineId)
                            , new MySqlParameter("?NowDate", log.Created)
                        };
                        int iNowSum = Convert.ToInt32(MySqlHelper.ExecuteScalar(CommandType.Text, strSQL, sqlParameters.ToArray()));

                        string strNewLogCode = string.Format("{0}-{1:yyMMdd}-{2:00}", log.AssemblyLineId, log.Created, iNowSum);

                        log.ProcessLogId = strNewLogCode;

                        DataModels.LProcesslog data = log.ToData();
                        dataContext.Insert <DataModels.LProcesslog>(data);

                        isAdd = true;
                    }
                }
                return(isAdd);
            }
            catch
            {
                throw;
            }
        }
示例#17
0
        /// <summary>
        /// 添加工艺子流程步骤参数日志数据
        /// </summary>
        /// <param name="log"></param>
        /// <returns></returns>
        public bool AddExProcessStepParLog(ProcessData.ExProcessStepParsLog log)
        {
            try
            {
                bool isAdd = false;

                if (log != null)
                {
                    using (DataModels.HnfactoryautodbDB dataContext = new DataModels.HnfactoryautodbDB())
                    {
                        DataModels.LExprocessstepparslog data = log.ToData();
                        dataContext.Insert <DataModels.LExprocessstepparslog>(data);
                        isAdd = true;
                    }
                }

                return(isAdd);
            }
            catch
            {
                throw;
            }
        }
示例#18
0
        /// <summary>
        /// 添加新传感器状态日志记录
        /// </summary>
        /// <param name="log"></param>
        /// <returns></returns>
        public bool AddNewSensorLog(NewSensorLog log)
        {
            try
            {
                bool isAdd = false;

                if (log != null)
                {
                    using (DataModels.HnfactoryautodbDB dataContext = new DataModels.HnfactoryautodbDB())
                    {
                        #region 调用存储过程方式来添加日志
                        string strProName = "proc_AddSensorLog";
                        List <MySqlParameter> sqlParameters = new List <MySqlParameter>
                        {
                            new MySqlParameter("?mCreated", log.Created)
                            , new MySqlParameter("?mSensorId", log.SensorId)
                            , new MySqlParameter("?mValueType", log.ValueType)
                            , new MySqlParameter("?mSensorStatusValue", log.SensorStatusValue)
                            , new MySqlParameter("?mSensorStatus", Enum.GetName(log.SensorStatus.GetType(), log.SensorStatus))
                            , new MySqlParameter("?mParValue", log.ParValue)
                        };

                        MySqlHelper.ExecuteNonQuery(CommandType.StoredProcedure, strProName, sqlParameters.ToArray());
                        #endregion


                        isAdd = true;
                    }
                }

                return(isAdd);
            }
            catch
            {
                throw;
            }
        }
示例#19
0
        /// <summary>
        /// 更新设备信息
        /// </summary>
        /// <param name="device">设备内容</param>
        /// <returns></returns>
        public bool UpdateDeviceInfo(DeviceInfo device)
        {
            try
            {
                bool isUpdate = false;
                using (DataModels.HnfactoryautodbDB dataContext = new DataModels.HnfactoryautodbDB())
                {
                    DataModels.FDeviceinfo deviceinfo = dataContext.FDeviceinfoes.SingleOrDefault(c => c.DeviceId == device.DeviceId);
                    if (deviceinfo != null)
                    {
                        deviceinfo.DeviceName = device.DeviceName;

                        dataContext.Update <DataModels.FDeviceinfo>(deviceinfo);
                        isUpdate = true;
                    }
                }

                return(isUpdate);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }