예제 #1
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="pn"></param>
 /// <param name="ts"></param>
 /// <param name="pv"></param>
 /// <param name="mi"></param>
 /// <param name="pi"></param>
 /// <returns></returns>
 public int AddAvgRd(string pn, DateTime ts, double pv, params int[] mi_pi)
 {
     try
     {
         if (IsAvgRdExisted(pn, ts) == false)
         {
             //not existed
             StringBuilder sb = new StringBuilder();
             sb.Append("insert into PIAvgRecords(pname,timestamps,pvalue,updatetime) values('");
             sb.Append(pn.ToString() + "','");
             sb.Append(ts.ToString("yyyy-MM-dd HH:mm:ss") + "',");
             sb.Append(pv.ToString() + ",'");
             sb.Append(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "')");
             Database db = DatabaseFactory.CreateDatabase("dbconn");
             System.Data.Common.DbCommand dbc = db.GetSqlStringCommand(sb.ToString());
             db.ExecuteNonQuery(dbc);
             return 0;
         }
         else
         {
             return -1;
         }
     }
     catch (Exception ex)
     {
         if (Biz.publicliblogenabled)
         {
             PublicLib.ExceptionBody eb = new PublicLib.ExceptionBody() { et = PublicLib.ExceptionType.Message, info = "AddAvgRd?" + ex.ToString(), ts = DateTime.Now };
             (new PublicLib.Log()).AddExceptionLog(eb, PublicLib.logtype.console);
         }
         return -1;
     }
 }
예제 #2
0
 /// <summary>
 /// 
 /// </summary>
 public List<string> LoadOutputWebConfig()
 {
     try
     {
         List<string> output_web_config = new List<string>();
         AppSettingsReader asr = new AppSettingsReader();
         string filename = (string)asr.GetValue("OutputWeb", typeof(string));
         FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read);
         StreamReader sr = new StreamReader(fs, System.Text.Encoding.Default);
         string tempstr;
         while ((tempstr = sr.ReadLine()) != null)
         {
             if ((tempstr.Trim() != "") && (tempstr.Trim().Substring(0, 2) != "//"))
             {
                 output_web_config.Add(tempstr);
             }
         }
         sr.Close();
         fs.Close();
         return output_web_config;
     }
     catch (Exception ex)
     {
         if (Biz.publicliblogenabled)
         {
             PublicLib.ExceptionBody eb = new PublicLib.ExceptionBody() { et = PublicLib.ExceptionType.Message, info = "LoadOutputWebConfig?" + ex.ToString(), ts = DateTime.Now };
             (new PublicLib.Log()).AddExceptionLog(eb, PublicLib.logtype.console);
         }
         return null;
     }
 }
예제 #3
0
 /// <summary>
 /// update PI data into db 20150826
 /// </summary>
 /// <param name="ts"></param>
 /// <param name="pn"></param>
 /// <param name="pv"></param>
 /// <param name="mi"></param>
 /// <param name="pi"></param>
 /// <returns></returns>
 public int UpdatePiRecord(DateTime ts, string pn, float pv, int mi, int pi)
 {
     try
     {
         if (IsPiRdExisted(ts, pn, mi, pi) == true)
         {
             //existed, modify the following code to update functionality
             StringBuilder sb = new StringBuilder();
             sb.Append("update PiRecords set pvalue=" + pv.ToString() + " where ");
             sb.Append("pname = '" + pn + "' and ");
             sb.Append("timestamps = '" + ts.ToString("yyyy-MM-dd HH:mm:ss") + "' and ");
             sb.Append("machineid =" + mi.ToString() + " and ");
             sb.Append("plantid=" + pi.ToString());
             Database db = DatabaseFactory.CreateDatabase("dbconn");
             System.Data.Common.DbCommand dbc = db.GetSqlStringCommand(sb.ToString());
             db.ExecuteNonQuery(dbc);
             return 0;
         }
         else
         {
             return AddPiRecord(ts, pn, pv, mi, pi);
         }
     }
     catch (Exception ex)
     {
         if (Biz.publicliblogenabled)
         {
             PublicLib.ExceptionBody eb = new PublicLib.ExceptionBody() { et = PublicLib.ExceptionType.Message, info = "UpdatePiRecord?" + ex.ToString(), ts = DateTime.Now };
             (new PublicLib.Log()).AddExceptionLog(eb, PublicLib.logtype.console);
         }
         return -1;
     }
 }
예제 #4
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="ts"></param>
 /// <param name="pn"></param>
 /// <param name="mi"></param>
 /// <param name="pi"></param>
 /// <returns></returns>
 public bool? IsPiRdExisted(DateTime ts, string pn, int mi, int pi)
 {
     try
     {
         StringBuilder sb = new StringBuilder();
         sb.Append("select count(*) from PiRecords t where ");
         sb.Append("t.pname = '" + pn + "' and ");
         sb.Append("t.timestamps = '" + ts.ToString("yyyy-MM-dd HH:mm:ss") + "' and ");
         sb.Append("t.machineid =" + mi.ToString() + " and ");
         sb.Append("t.plantid=" + pi.ToString());
         Database db = DatabaseFactory.CreateDatabase("dbconn");
         System.Data.Common.DbCommand dbc = db.GetSqlStringCommand(sb.ToString());
         if ((int)db.ExecuteScalar(dbc) > 0)
         {
             return true;
         }
         return false;
     }
     catch (Exception ex)
     {
         if (Biz.publicliblogenabled)
         {
             PublicLib.ExceptionBody eb = new PublicLib.ExceptionBody() { et = PublicLib.ExceptionType.Message, info = "IsPiRdExisted?" + ex.ToString(), ts = DateTime.Now };
             (new PublicLib.Log()).AddExceptionLog(eb, PublicLib.logtype.console);
         }
         return null;
     }
 }
예제 #5
0
 /// <summary>
 /// 标定时间区间记录是否存在
 /// </summary>
 /// <param name="pn"></param>
 /// <param name="st"></param>
 /// <param name="et"></param>
 /// <returns></returns>
 public bool? IsCalibSpanRdExisted(string pn, DateTime st, DateTime et)
 {
     try
     {
         StringBuilder sb = new StringBuilder();
         sb.Append("select count(*) from CalibRecords t where ");
         sb.Append("t.pointid = '" + pn + "' and ");
         sb.Append("t.starttime = '" + st.ToString("yyyy-MM-dd HH:mm:ss") + "' and ");
         sb.Append("t.endtime = '" + et.ToString("yyyy-MM-dd HH:mm:ss") + "'");
         Database db = DatabaseFactory.CreateDatabase("dbconn");
         System.Data.Common.DbCommand dbc = db.GetSqlStringCommand(sb.ToString());
         if ((int)db.ExecuteScalar(dbc) > 0)
         {
             return true;
         }
         return false;
     }
     catch (Exception ex)
     {
         if (Biz.publicliblogenabled)
         {
             PublicLib.ExceptionBody eb = new PublicLib.ExceptionBody() { et = PublicLib.ExceptionType.Message, info = "IsCalibSpanRdExisted?" + ex.ToString(), ts = DateTime.Now };
             (new PublicLib.Log()).AddExceptionLog(eb, PublicLib.logtype.console);
         }
         return null;
     }
 }
예제 #6
0
 /// <summary>
 /// 获得单条calib average value记录
 /// </summary>
 /// <param name="pn"></param>
 /// <param name="ts"></param>
 /// <returns></returns>
 public DataSet GetSingleCalibAvgRd(string pn, DateTime ts)
 {
     try
     {
         StringBuilder sb = new StringBuilder();
         Database db = DatabaseFactory.CreateDatabase("dbconn");
         sb.Append("select * from CalibRuleValue t where ");
         sb.Append("t.pname = '" + pn + "' and ");
         sb.Append("t.timestamps = '" + ts.ToString("yyyy-MM-dd HH:mm:ss") + "'");
         System.Data.Common.DbCommand dbc = db.GetSqlStringCommand(sb.ToString());
         return db.ExecuteDataSet(dbc);
     }
     catch (Exception ex)
     {
         if (Biz.publicliblogenabled)
         {
             PublicLib.ExceptionBody eb = new PublicLib.ExceptionBody() { et = PublicLib.ExceptionType.Message, info = "AddPiRecord?" + ex.ToString(), ts = DateTime.Now };
             (new PublicLib.Log()).AddExceptionLog(eb, PublicLib.logtype.console);
         }
         return null;
     }
 }
예제 #7
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="mi"></param>
 /// <param name="indicatorid"></param>
 /// <param name="ts"></param>
 /// <returns></returns>
 public DataSet GetSingleAvgRd_Web(string mi, string indicatorid, DateTime ts)
 {
     try
     {
         StringBuilder sb = new StringBuilder();
         Database db = DatabaseFactory.CreateDatabase("dbconn");
         sb.Append("select indicatorvalue from EnvirIndicatorValue t where ");
         //modified20160107
         //sb.Append("substring(t.pointname,1,1) = '" + mi + "' and ");
         sb.Append("t.pointname = '" + mi + "' and ");
         sb.Append("t.indicatorid = " + indicatorid + " and ");
         sb.Append("t.timestamps = '" + ts.ToString("yyyy-MM-dd HH:mm:ss") + "'");
         System.Data.Common.DbCommand dbc = db.GetSqlStringCommand(sb.ToString());
         return db.ExecuteDataSet(dbc);
     }
     catch (Exception ex)
     {
         if (Biz.publicliblogenabled)
         {
             PublicLib.ExceptionBody eb = new PublicLib.ExceptionBody() { et = PublicLib.ExceptionType.Message, info = "AddSingleAvgRd_Web?" + ex.ToString(), ts = DateTime.Now };
             (new PublicLib.Log()).AddExceptionLog(eb, PublicLib.logtype.console);
         }
         return null;
     }
 }
예제 #8
0
 /// <summary>
 /// 获得相关联的区间
 /// </summary>
 /// <param name="pn"></param>
 /// <param name="st"></param>
 /// <param name="et"></param>
 /// <param name="rt"></param>
 /// <returns></returns>
 public DataSet GetRelatedSpans(string pn, DateTime st, DateTime et, RelatedType rt)
 {
     try
     {
         StringBuilder sb = new StringBuilder();
         Database db = DatabaseFactory.CreateDatabase("dbconn");
         //cst<=hst and cet>=het
         if (rt == RelatedType.OutSide)
         {
             sb.Append("select * from CalibRecords t where ");
             sb.Append("t.pointid = '" + pn + "' and ");
             sb.Append("t.starttime <= '" + st.ToString("yyyy-MM-dd HH:mm:ss") + "' and ");
             sb.Append("t.endtime >= '" + et.ToString("yyyy-MM-dd HH:mm:ss") + "'");
         }
         //cst<=hst and (cet<het and cet>hst)
         else if (rt == RelatedType.ForeIntersect)
         {
             sb.Append("select * from CalibRecords t where ");
             sb.Append("t.pointid = '" + pn + "' and ");
             sb.Append("t.starttime <= '" + st.ToString("yyyy-MM-dd HH:mm:ss") + "' and ");
             sb.Append("t.endtime < '" + et.ToString("yyyy-MM-dd HH:mm:ss") + "' and ");
             sb.Append("t.endtime > '" + st.ToString("yyyy-MM-dd HH:mm:ss") + "'");
         }
         //(cst>hst and cst<het) and cet>=het
         else if (rt == RelatedType.BackIntersect)
         {
             sb.Append("select * from CalibRecords t where ");
             sb.Append("t.pointid = '" + pn + "' and ");
             sb.Append("t.starttime > '" + st.ToString("yyyy-MM-dd HH:mm:ss") + "' and ");
             sb.Append("t.starttime < '" + et.ToString("yyyy-MM-dd HH:mm:ss") + "' and ");
             sb.Append("t.endtime >= '" + et.ToString("yyyy-MM-dd HH:mm:ss") + "'");
         }
         //cst>hst and cet<het
         else if (rt == RelatedType.Inside)
         {
             sb.Append("select * from CalibRecords t where ");
             sb.Append("t.pointid = '" + pn + "' and ");
             sb.Append("t.starttime > '" + st.ToString("yyyy-MM-dd HH:mm:ss") + "' and ");
             sb.Append("t.endtime < '" + et.ToString("yyyy-MM-dd HH:mm:ss") + "'");
         }
         System.Data.Common.DbCommand dbc = db.GetSqlStringCommand(sb.ToString());
         return db.ExecuteDataSet(dbc);
         //return null;
     }
     catch (Exception ex)
     {
         if (Biz.publicliblogenabled)
         {
             PublicLib.ExceptionBody eb = new PublicLib.ExceptionBody() { et = PublicLib.ExceptionType.Message, info = "GetRelatedSpans?" + ex.ToString(), ts = DateTime.Now };
             (new PublicLib.Log()).AddExceptionLog(eb, PublicLib.logtype.console);
         }
         return null;
     }
 }
예제 #9
0
        /// <summary>
        /// get machine stop span rd from db
        /// </summary>
        /// <param name="st"></param>
        /// <param name="et"></param>
        /// <returns></returns>
        public DataSet GetRelatedMachineStopRd(DateTime st, DateTime et)
        {
            try
            {
                StringBuilder sb = new StringBuilder();
                sb.Append("select t.pointname,t.starttime,t.endtime,isnull(t.grouptype,'') as grouptype from machine_startstop t where (t.starttime>='");
                sb.Append(st.ToString("yyyy-MM-dd HH:mm:ss") + "' and ");
                sb.Append("t.starttime<='" + et.ToString("yyyy-MM-dd HH:mm:ss") + "') or ");

                sb.Append("(t.endtime>='");
                sb.Append(st.ToString("yyyy-MM-dd HH:mm:ss") + "' and ");
                sb.Append("t.endtime<='" + et.ToString("yyyy-MM-dd HH:mm:ss") + "') or ");

                sb.Append("(t.starttime<'");
                sb.Append(st.ToString("yyyy-MM-dd HH:mm:ss") + "' and ");
                sb.Append("t.endtime>'" + et.ToString("yyyy-MM-dd HH:mm:ss") + "')");

                Database db = DatabaseFactory.CreateDatabase("dbconn");
                System.Data.Common.DbCommand dbc = db.GetSqlStringCommand(sb.ToString());
                return db.ExecuteDataSet(dbc);
            }
            catch (Exception ex)
            {
                if (Biz.publicliblogenabled)
                {
                    PublicLib.ExceptionBody eb = new PublicLib.ExceptionBody() { et = PublicLib.ExceptionType.Message, info = "AddPiRecord?" + ex.ToString(), ts = DateTime.Now };
                    (new PublicLib.Log()).AddExceptionLog(eb, PublicLib.logtype.console);
                }
                return null;
            }
        }
예제 #10
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="machineid"></param>
 /// <returns></returns>
 public DataSet GetPointsOfMachine_avg(int machineid)
 {
     try
     {
         StringBuilder sb = new StringBuilder();
         sb.Append("select t.pointname,s.shiftsecs from point_machine_map t inner join machineshiftsecs s on t.machineid=s.machineid where t.houravg=1 and t.machineid=");
         sb.Append(machineid.ToString());
         Database db = DatabaseFactory.CreateDatabase("dbconn");
         System.Data.Common.DbCommand dbc = db.GetSqlStringCommand(sb.ToString());
         return db.ExecuteDataSet(dbc);
     }
     catch (Exception ex)
     {
         if (Biz.publicliblogenabled)
         {
             PublicLib.ExceptionBody eb = new PublicLib.ExceptionBody() { et = PublicLib.ExceptionType.Message, info = "AddPiRecord?" + ex.ToString(), ts = DateTime.Now };
             (new PublicLib.Log()).AddExceptionLog(eb, PublicLib.logtype.console);
         }
         return null;
     }
 }
예제 #11
0
 /// <summary>
 /// 
 /// </summary>
 /// <returns></returns>
 public DataSet GetPIPoints()
 {
     try
     {
         StringBuilder sb = new StringBuilder();
         sb.Append("select * from point_machine_map");
         Database db = DatabaseFactory.CreateDatabase("dbconn");
         System.Data.Common.DbCommand dbc = db.GetSqlStringCommand(sb.ToString());
         return db.ExecuteDataSet(dbc);
     }
     catch (Exception ex)
     {
         if (Biz.publicliblogenabled)
         {
             PublicLib.ExceptionBody eb = new PublicLib.ExceptionBody() { et = PublicLib.ExceptionType.Message, info = "GetPiPoints?" + ex.ToString(), ts = DateTime.Now };
             (new PublicLib.Log()).AddExceptionLog(eb, PublicLib.logtype.console);
         }
         return null;
     }
 }
예제 #12
0
 /// <summary>
 /// 获取标定结束时间对应的开始记录
 /// </summary>
 /// <param name="pn"></param>
 /// <param name="et"></param>
 /// <returns></returns>
 public DataSet GetFirstCalibBeginRd(string pn, DateTime et)
 {
     try
     {
         StringBuilder sb = new StringBuilder();
         sb.Append("select top 1 * from t_RulelogS t where t.rulename='");
         sb.Append(pn + "' and ");
         sb.Append("t.timelog<'" + et.ToString("yyyy-MM-dd HH:mm:ss") + "' and t.AlarmLog='仪表标定' order by t.timelog desc");
         Database db = DatabaseFactory.CreateDatabase("dbconn");
         System.Data.Common.DbCommand dbc = db.GetSqlStringCommand(sb.ToString());
         return db.ExecuteDataSet(dbc);
     }
     catch (Exception ex)
     {
         if (Biz.publicliblogenabled)
         {
             PublicLib.ExceptionBody eb = new PublicLib.ExceptionBody() { et = PublicLib.ExceptionType.Message, info = "AddPiRecord?" + ex.ToString(), ts = DateTime.Now };
             (new PublicLib.Log()).AddExceptionLog(eb, PublicLib.logtype.console);
         }
         return null;
     }
 }
예제 #13
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="ts"></param>
 /// <param name="pn"></param>
 /// <param name="pv"></param>
 /// <param name="mi"></param>
 /// <param name="pi"></param>
 /// <returns></returns>
 public int AddPiRecord_Remote(DateTime ts, string pn, float pv, int mi, int pi)
 {
     try
     {
         if (IsPiRdExisted(ts, pn, mi, pi) == false)
         {
             //not existed
             StringBuilder sb = new StringBuilder();
             sb.Append("insert into PiRecords(pname,timestamps,pvalue,updatetime,machineid,plantid) values('");
             sb.Append(pn.ToString() + "','");
             sb.Append(ts.ToString("yyyy-MM-dd HH:mm:ss") + "',");
             sb.Append(pv.ToString() + ",'");
             sb.Append(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',");
             sb.Append(mi.ToString() + ",");
             sb.Append(pi.ToString() + ")");
             Database db = DatabaseFactory.CreateDatabase("dbconn_r");
             System.Data.Common.DbCommand dbc = db.GetSqlStringCommand(sb.ToString());
             db.ExecuteNonQuery(dbc);
             return 0;
         }
         else
         {
             return -1;
         }
     }
     catch (Exception ex)
     {
         if (Biz.publicliblogenabled)
         {
             PublicLib.ExceptionBody eb = new PublicLib.ExceptionBody() { et = PublicLib.ExceptionType.Message, info = "AddPiRecord_Remote?" + ex.ToString(), ts = DateTime.Now };
             (new PublicLib.Log()).AddExceptionLog(eb, PublicLib.logtype.console);
         }
         return -1;
     }
 }
예제 #14
0
 /// <summary>
 /// 添加标定时间区间记录
 /// </summary>
 /// <param name="pn"></param>
 /// <param name="st"></param>
 /// <param name="et"></param>
 /// <returns></returns>
 public int AddCalibSpanRd(string pn, DateTime st, DateTime et)
 {
     try
     {
         if (IsCalibSpanRdExisted(pn, st, et) == false)
         {
             //not existed
             StringBuilder sb = new StringBuilder();
             sb.Append("insert into CalibRecords(pointid,starttime,endtime,updatetime) values('");
             sb.Append(pn.ToString() + "','");
             sb.Append(st.ToString("yyyy-MM-dd HH:mm:ss") + "','");
             sb.Append(et.ToString("yyyy-MM-dd HH:mm:ss") + "','");
             sb.Append(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "')");
             Database db = DatabaseFactory.CreateDatabase("dbconn");
             System.Data.Common.DbCommand dbc = db.GetSqlStringCommand(sb.ToString());
             db.ExecuteNonQuery(dbc);
             return 0;
         }
         else
         {
             return -1;
         }
     }
     catch (Exception ex)
     {
         if (Biz.publicliblogenabled)
         {
             PublicLib.ExceptionBody eb = new PublicLib.ExceptionBody() { et = PublicLib.ExceptionType.Message, info = "AddCalibSpanRd?" + ex.ToString(), ts = DateTime.Now };
             (new PublicLib.Log()).AddExceptionLog(eb, PublicLib.logtype.console);
         }
         return -1;
     }
 }