CRVM-redis-6/CIDExcuter/DbHelper.cs
2025-11-07 02:02:31 +08:00

1339 lines
57 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Collections.Generic;
using System.Text;
using CRVM.Utility;
using System.Xml;
using System.IO;
using System.Data;
using CRVM.Entity;
using System.Linq;
namespace CRVM.CIDExcuter
{
public class DbHelper
{
private string _path;
private LogicConnect DBlogicConn;
private LogicConnect l2Connect;
private LogicConnect localConnect;
private EDBItem soudb;
private EDBItem desdb;
private int freq = 5;//频率(秒)
private static DbHelper _instance = null;
private string coldid_before = "";
public EDBItem SouDB
{
get { return soudb; }
set { soudb = value; }
}
public EDBItem DesDB
{
get { return desdb; }
set { desdb = value; }
}
public int Freq
{
get { return freq; }
set { freq = value; }
}
public DbHelper(string path)
{
_path = path;
}
public static DbHelper GetInstance(string path)
{
if (_instance == null)
{
_instance = new DbHelper(path);
_instance.DesDB = new EDBItem();
_instance.SouDB = new EDBItem();
}
return _instance;
}
public bool isStart { get; set; }
public bool LoadConfigData(DbHelper dbhelper)
{
XmlDocument xmldoc = new XmlDocument();
try
{
string ipath = _path + "\\dbaccess.conf";
if (File.Exists(ipath))
{
xmldoc.Load(ipath);
string systemName = "";
if (xmldoc.DocumentElement.Attributes.Count > 0)
systemName = xmldoc.DocumentElement.Attributes[0].InnerText;
XmlNodeList nodes = xmldoc.SelectNodes("Schm/DB");
int count = nodes.Count;
string DbName = nodes[0].Attributes[0].InnerText;
soudb.DataType = nodes[0].ChildNodes[0].Attributes[0].InnerText;
soudb.Database = nodes[0].ChildNodes[0].Attributes[1].InnerText;
soudb.Userid = nodes[0].ChildNodes[0].Attributes[2].InnerText;
soudb.Password = nodes[0].ChildNodes[0].Attributes[3].InnerText;
soudb.Ipaddress = nodes[0].ChildNodes[0].Attributes[4].InnerText;
string DestDbName = nodes[1].Attributes[0].InnerText;
desdb.DataType = nodes[1].ChildNodes[0].Attributes[0].InnerText;
desdb.Database = nodes[1].ChildNodes[0].Attributes[1].InnerText;
desdb.Userid = nodes[1].ChildNodes[0].Attributes[2].InnerText;
desdb.Password = nodes[1].ChildNodes[0].Attributes[3].InnerText;
desdb.Ipaddress = nodes[1].ChildNodes[0].Attributes[4].InnerText;
return true;
}
else
{
return false;
}
}
catch (XmlException)
{
return false;
}
}
/// <summary>
/// 重设L2数据库操作对象
/// </summary>
/// <returns></returns>
public bool SetL2Connect()
{
try
{
l2Connect = new LogicConnect(soudb, soudb.Userid);
return true;
}
catch (Exception)
{
return false;
}
}
/// <summary>
/// 重设本地数据库操作对象
/// </summary>
/// <returns></returns>
public bool SetLocalConnect()
{
try
{
localConnect = new LogicConnect(desdb, desdb.Userid);
return true;
}
catch (Exception)
{
return false;
}
}
/// <summary>
/// 剪切时向t_coil_info_client表中插入一条新纪录
/// </summary>
/// <param name="alarmFlag"></param>
/// <param name="endFlag"></param>
/// <param name="OrigPath"></param>
/// <param name="EnergyPath"></param>
/// <param name="disLength"></param>
public void AddNewCoilInfo(int alarmFlag, int endFlag, string OrigPath, string EnergyPath, string disLength, int defectflag)
{
try
{
//将本次记录之前的当前卷标记全部置为0保证当前卷标记唯一性
string update_sql = "update t_coil_info_client set nowflag = 0 where nowflag = 1";
localConnect.DataBase(update_sql);
//插入新纪录并将当前卷标记置为1
string insert_sql = string.Format("insert into t_coil_info_client (createdate,endflag,origPath,energyPath,alarmflag,nowflag,defectflag,disLength) values('{0}',{1},'{2}','{3}',{4},1,{5},{6})",
DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), endFlag, OrigPath, EnergyPath, alarmFlag, defectflag, disLength);
localConnect.DataBase(insert_sql);
DevelopLog.DeBug.WriteLogFile("AddNewCoilInfo", insert_sql.ToString());
}
catch (Exception ex)
{
DevelopLog.DeBug.WriteLogFile("AddNewCoilInfo", ex.ToString());
DevelopLog.DeBug.WriteLogFile("AddNewCoilInfo", String.Format("|OrigPath:{0},EnergyPath:{1}|" + ex.ToString(), OrigPath, EnergyPath));
}
}
/// <summary>
/// 从L2数据库获取钢卷信息补充到本地t_coil_info_client表并将冷卷号更新到t_alarm_info_client表中
/// 梅钢项目不使用
/// </summary>
public void UpdateLocalCoilInfo()
{
try
{
//获取L2钢卷信息表中最新的一条记录
string sql_l2 = "select excoilid,entcoilid,length,innerdiam,outdiam,alloycode,extthick,extwidth,hentry from app.fv_vibration_proddata where rownum = 1";
DataTable l2data = l2Connect.DataBase(sql_l2);
if (l2data != null)
{
if (l2data.Rows.Count != 0)
{
//若本次从L2获取的最新第一条记录的卷号与上次记录的卷号一致则表示L2新卷号还没有生成
if (l2data.Rows[0]["excoilid"].ToString().Trim() == coldid_before)
{
return;
}
//根据L2信息更新本地t_coil_info_client表中热卷号、冷卷号、钢种牌号、宽度、入口厚度、出口厚度、钢种等级信息
string coilinfo_update_sql = string.Format("update t_coil_info_client set hotcoilid='{0}',coldcoilid='{1}',alloycode='{2}',width={3},entrythick={4},exitthick={5} where nowflag = 1 and endflag = 1",
l2data.Rows[0]["entcoilid"], l2data.Rows[0]["excoilid"], l2data.Rows[0]["alloycode"], Convert.ToDouble(l2data.Rows[0]["extwidth"]), Convert.ToDouble(l2data.Rows[0]["hentry"]), Convert.ToDouble(l2data.Rows[0]["extthick"]));
localConnect.DataBase(coilinfo_update_sql);
//更新t_alarm_info_client中的冷卷号信息
string alarm_update_sql = string.Format("update t_alarm_info_client set coldcoilid= '{0}' where nowflag= 1", l2data.Rows[0]["excoilid"]);
localConnect.DataBase(alarm_update_sql);
coldid_before = l2data.Rows[0]["excoilid"].ToString().Trim();//记录上一卷的冷卷号
//更新缺陷表中的钢卷号
updateLocalDefectCoilNo(l2data.Rows[0]["excoilid"].ToString().Trim());
}
}
}
catch (Exception ex)
{
DevelopLog.DeBug.WriteLogFile("UpdateLocalCoilInfo", ex.ToString());
throw ex;
}
}
/// <summary>
/// 保存数据库配置
/// </summary>
/// <returns></returns>
public bool SaveConfigData()
{
StreamWriter write = new StreamWriter(_path + "\\dbaccess.conf", false, Encoding.GetEncoding("gb2312"));
StringBuilder str = new StringBuilder();
str = str.AppendLine("<?xml version=\"1.0\" encoding=\"GB2312\" ?> ");
str = str.AppendLine("<Schm BPLATURE=\"BPCSYSTEM\">");
str = str.AppendLine(" <DB name=\"sourcedb\">");
if (soudb != null)
{
str = str.AppendLine(" <item dbtype=\"" + soudb.DataType + "\" dbname=\"" + soudb.Database + "\" dbuser=\"" + soudb.Userid + "\" dbpwd=\"" + soudb.Password + "\" dbip=\"" + soudb.Ipaddress + "\" />");
}
str = str.AppendLine(" </DB>");
str = str.AppendLine(" <DB name=\"destdb\">");
if (desdb != null)
{
str = str.AppendLine(" <item dbtype=\"" + desdb.DataType + "\" dbname=\"" + desdb.Database + "\" dbuser=\"" + desdb.Userid + "\" dbpwd=\"" + desdb.Password + "\" dbip=\"" + desdb.Ipaddress + "\" />");
}
str = str.AppendLine(" </DB>");
str = str.AppendLine("</Schm>");
write.WriteLine(str.ToString());
write.Close();
return true;
}
/// <summary>
/// 测试数据库是否连接成功
/// </summary>
/// <param name="item"></param>
/// <returns></returns>
public bool IsConnected(EDBItem item)
{
DBlogicConn = new LogicConnect(item, item.Userid);
DataTable dt = new DataTable();
if (item.DataType == "oracle")
{
try
{
dt = DBlogicConn.DataBase("select * from all_tables");
return true;
}
catch (Exception)
{
return false;
}
}
else if (item.DataType == "postgres")
{
try
{
dt = DBlogicConn.DataBase("select * from pg_am");
return true;
}
catch (Exception)
{
return false;
}
}
else if (item.DataType == "db2")
{
try
{
dt = DBlogicConn.DataBase("select tabname from syscat.tables where tabschema = current schema");
return true;
}
catch (Exception)
{
return false;
}
}
return false;
}
/// <summary>
/// 当前文件结束后在t_alarm_info_client表中插入本文件对应的报警信息
/// </summary>
/// <param name="start"></param>
/// <param name="end"></param>
/// <param name="coilNo"></param>
/// <param name="standNo"></param>
/// <param name="alarmType"></param>
/// <param name="energy"></param>
public void InsertAlarmInfo(int[] start, int[] end, int[] standNo, int[] alarmType, double[] energy)
{
try
{
//将t_alarm_info_client表中当前卷标志全部置为0
string update_sql = "update t_alarm_info_client set nowflag = 0 where nowflag = 1";
localConnect.DataBase(update_sql);
//插入新纪录并将新纪录的当前卷标志置为1
DateTime nowtime = DateTime.Now;
for (int i = 0; i < start.Length; i++)
{
string time = nowtime.AddMilliseconds(-i).ToString("yyyy-MM-dd HH:mm:ss.fff");
string insert_sql = string.Format("insert into t_alarm_info_client (createdate,startpos,endpos,standno,alarmtype,energy,nowflag) values('{0}',{1},{2},{3},{4},{5},1)",
time, start[i], end[i], standNo[i] + 1, alarmType[i], energy[i]);
localConnect.DataBase(insert_sql);
}
}
catch (Exception ex)
{
DevelopLog.DeBug.WriteLogFile("InsertAlarmInfo", ex.ToString());
}
}
/// <summary>
///
/// </summary>
/// <param name="mac"></param>
/// <param name="rolldata"></param>
public void RollDataInfo(Machine mac, DataTable rolldata)
{
if (mac == null)
{
return;
}
for (int i = 0; i < SysParam.Instance.SpeedChannelCount; i++)
{
mac.Stand[i].rollDiameterBL = 10000.0;
mac.Stand[i].rollDiameterBU = 10000.0;
mac.Stand[i].rollDiameterML = 10000.0;
mac.Stand[i].rollDiameterMU = 10000.0;
mac.Stand[i].rollDiameterWL = 10000.0;
mac.Stand[i].rollDiameterWU = 10000.0;
}
try
{
if (rolldata != null)
{
if (rolldata.Rows.Count == 1)
{
for (int i = 0; i < SysParam.Instance.SpeedChannelCount; i++)
{
mac.Stand[i].rollDiameterWU = Convert.ToDouble(rolldata.Rows[0][i * 6 + 0]);
mac.Stand[i].rollDiameterWL = Convert.ToDouble(rolldata.Rows[0][i * 6 + 1]);
//中间辊 c102机组轧机无中间辊
mac.Stand[i].rollDiameterMU = Convert.ToDouble(rolldata.Rows[0][i * 6 + 2]);
mac.Stand[i].rollDiameterML = Convert.ToDouble(rolldata.Rows[0][i * 6 + 3]);
mac.Stand[i].rollDiameterBU = Convert.ToDouble(rolldata.Rows[0][i * 6 + 4]);
mac.Stand[i].rollDiameterBL = Convert.ToDouble(rolldata.Rows[0][i * 6 + 5]);
}
}
}
}
catch (Exception)
{
for (int i = 0; i < SysParam.Instance.SpeedChannelCount; i++)
{
mac.Stand[i].rollDiameterBL = 10000.0;
mac.Stand[i].rollDiameterBU = 10000.0;
mac.Stand[i].rollDiameterML = 10000.0;
mac.Stand[i].rollDiameterMU = 10000.0;
mac.Stand[i].rollDiameterWL = 10000.0;
mac.Stand[i].rollDiameterWU = 10000.0;
}
}
finally
{
}
}
/// <summary>
/// 根据L2轧辊信息更新本地轧辊表
/// 梅钢项目不使用
/// </summary>
/// <param name="data"></param>
public void UpdateLocalRollData(DataTable data)
{
try
{
string nowtime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
for (int i = 0; i < data.Rows.Count; i++)
{
string update_sql = string.Format("insert into T_ROLL_DATA (createdate,rollno,standno,rolltype,rollposition,DiameterMiddle) values('{0}','{1}',{2},'{3}','{4}',{5})", nowtime,
data.Rows[i]["rollno"], data.Rows[i]["standno"], data.Rows[i]["rolltype"].ToString(), data.Rows[i]["rollposition"], data.Rows[i]["diametermiddle"]);
localConnect.DataBase(update_sql);
}
}
catch (Exception ex)
{
DevelopLog.DeBug.WriteLogFile("UpdateLocalRollData", ex.ToString());
}
}
/// <summary>
/// 获取t_roll_data表中所有的时刻点
/// /// 梅钢项目不使用
/// </summary>
/// <returns></returns>
public DataTable SelCreateTimeRolData()
{
try
{
string select_sql = "select distinct createdate from t_roll_data";
return localConnect.DataBase(select_sql);
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// 获取t_roll_data表中某个时刻点的轧辊数据
/// 梅钢项目不使用
/// </summary>
/// <param name="createdate"></param>
/// <returns></returns>
public DataTable SelRollDataByCreateDate(string createdate)
{
try
{
string select_sql = string.Format("select rollno,diametermiddle,standno,rollposition,rolltype from t_roll_data where createdate='{0}'", createdate);
return localConnect.DataBase(select_sql);
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// 获取L2在线轧辊信息
/// </summary>
/// <returns></returns>
public DataTable GetL2OnlineRollInfo()
{
string std_sql = "select ";
for (int i = 0; i < SysParam.Instance.SpeedChannelCount - 1; i++)
{
std_sql += string.Format("wrdiaup{0},wrdialow{0},imrdiaup{0},imrdialow{0},burdiaup{0},burdialow{0},", (i + 1).ToString());
}
std_sql += string.Format("wrdiaup{0},wrdialow{0},imrdiaup{0},imrdialow{0},burdiaup{0},burdialow{0}", (SysParam.Instance.SpeedChannelCount).ToString());
std_sql += " from t_roll_online where seqno=1";
try
{
//string select_sql = "select standno,rollposition,to_char(diametermiddle/1000,'9999.99') as diametermiddle,rolltype,rollno from app.fv_vibration_rolldata where rollstatus='I'";
//string stand1_sql = string.Format("wrdiaup{0},wrdialow{0},imrdiaup{0},imrdialow{0},burdiaup{0},burdialow{0},", "1");
//string stand2_sql = string.Format("wrdiaup{0},wrdialow{0},imrdiaup{0},imrdialow{0},burdiaup{0},burdialow{0},", "2");
//string stand3_sql = string.Format("wrdiaup{0},wrdialow{0},imrdiaup{0},imrdialow{0},burdiaup{0},burdialow{0},", "3");
//string stand4_sql = string.Format("wrdiaup{0},wrdialow{0},imrdiaup{0},imrdialow{0},burdiaup{0},burdialow{0},", "4");
//string stand5_sql = string.Format("wrdiaup{0},wrdialow{0},imrdiaup{0},imrdialow{0},burdiaup{0},burdialow{0},", "5");
//string stand6_sql = string.Format("wrdiaup{0},wrdialow{0},imrdiaup{0},imrdialow{0},burdiaup{0},burdialow{0}", "6");
//string select_sql = "select " + stand1_sql + stand2_sql + stand3_sql + stand4_sql + stand5_sql + stand6_sql + " from t_roll_online where seqno=1";
//return localConnect.DataBase(select_sql);
return localConnect.DataBase(std_sql);
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// 验证用户输入的密码是否正确
/// </summary>
/// <param name="password"></param>
/// <returns></returns>
public bool IsUser(string password)
{
try
{
string select_sql = string.Format("select * from t_users where pswd='{0}' and name = 'tcm'", password);
DataTable dt = localConnect.DataBase(select_sql);
if (dt.Rows.Count > 0)
{
return true;
}
return false;
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// 获取t_coil_info_client表中所有的冷卷号
/// </summary>
/// <returns></returns>
public List<string> SelAllCoilIDs()
{
List<string> coillist = new List<string>();
string select_sql = "select coldcoilno from t_coil_info_client";
try
{
DataTable data = localConnect.DataBase(select_sql);
if (data != null)
{
for (int i = 0; i < data.Rows.Count; i++)
{
coillist.Add(data.Rows[i]["coldcoilno"].ToString());
}
}
return coillist;
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// 修改用户密码
/// </summary>
/// <param name="newpswd"></param>
public void ChangePassWord(string newpswd)
{
try
{
string update_sql = string.Format("update t_users set pswd='{0}' where name='tcm'", newpswd);
localConnect.DataBase(update_sql);
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// 在t_alarm_info_client表中根据冷卷号搜索钢卷报警信息
/// </summary>
/// <param name="coldcoilid"></param>
/// <returns></returns>
public DataTable SelAlarmInfoByColdId(string coldcoilid)
{
try
{
string select_sql = string.Format("select startpos,endpos,standno,alarmtype,energy from t_alarm_info_client where coldcoilid='{0}'", coldcoilid);
return localConnect.DataBase(select_sql);
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// 在t_coil_info_client表中搜索时间范围内的钢卷信息
/// </summary>
/// <param name="isAlarm"></param>
/// <param name="startTime"></param>
/// <param name="endTime"></param>
/// <returns></returns>
public DataTable GetCoilInfoByDate(bool isAlarm, DateTime startTime, DateTime endTime)
{
try
{
string select_sql = string.Format("select to_char(createdate,'YYYY-MM-DD HH24:MI:SS'),alarmflag,coldcoilno_hotcoild,coldcoilno,coldcoil_steegrade,coldcoil_alloycode, coldcoil_extwidth,coldcoil_entthick,coldcoil_extthick,dislength,coldcoil_len,endflag,origpath,energypath from t_coil_info_client where createdate<='{0}'and createdate>='{1}'", endTime, startTime);
if (isAlarm)
{
select_sql += " and alarmflag = 1";
}
select_sql += " order by createdate desc";
return localConnect.DataBase(select_sql);
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// 在t_coil_info_client表中根据冷卷号搜索钢卷信息
/// </summary>
/// <param name="coldcoilno"></param>
/// <returns></returns>
public DataTable GetCoilInfoByColdId(string coldcoilno)
{
try
{
string select_sql = "";
if (coldcoilno.Trim() == "")
{
select_sql = string.Format("select to_char(createdate,'YYYY-MM-DD HH24:MI:SS'),alarmflag,coldcoilno_hotcoild,coldcoilno,coldcoil_steegrade,coldcoil_alloycode, coldcoil_extwidth,coldcoil_entthick,coldcoil_extthick,dislength,coldcoil_len,endflag,origpath,energypath from t_coil_info_client where coldcoilno = 'xxxxxxxxxx'", coldcoilno);
}
else
{
select_sql = string.Format("select to_char(createdate,'YYYY-MM-DD HH24:MI:SS'),alarmflag,coldcoilno_hotcoild,coldcoilno,coldcoil_steegrade,coldcoil_alloycode, coldcoil_extwidth,coldcoil_entthick,coldcoil_extthick,dislength,coldcoil_len,endflag,origpath,energypath from t_coil_info_client where coldcoilno like '%{0}%' ", coldcoilno);
}
return localConnect.DataBase(select_sql);
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// 在t_coil_info_client表中根据原始数据路径搜索钢卷信息
/// </summary>
/// <param name="originPath"></param>
/// <returns></returns>
public DataTable GetCoilInfoByOriginPath(string originPath, Machine macReview)
{
string select_sql = "select coldcoilno,coldcoil_steegrade,coldcoil_extwidth,coldcoil_extthick,coldcoil_alloycode,";
for (int i = 0; i < SysParam.Instance.SpeedChannelCount - 1; i++)
{
select_sql += string.Format("wrdiaup{0},wrdialow{0},imrdiaup{0},imrdialow{0},burdiaup{0},burdialow{0},", (i + 1).ToString());
}
select_sql += string.Format("wrdiaup{0},wrdialow{0},imrdiaup{0},imrdialow{0},burdiaup{0},burdialow{0}", SysParam.Instance.SpeedChannelCount.ToString());
select_sql += string.Format(" from t_coil_info_client where origpath='{0}'", originPath);
try
{
//string coil_sql = "select coldcoilno,coldcoil_steegrade,coldcoil_extwidth,coldcoil_extthick,coldcoil_alloycode,";
//string stand1_sql = string.Format("wrdiaup{0},wrdialow{0},imrdiaup{0},imrdialow{0},burdiaup{0},burdialow{0},", "1");
//string stand2_sql = string.Format("wrdiaup{0},wrdialow{0},imrdiaup{0},imrdialow{0},burdiaup{0},burdialow{0},", "2");
//string stand3_sql = string.Format("wrdiaup{0},wrdialow{0},imrdiaup{0},imrdialow{0},burdiaup{0},burdialow{0},", "3");
//string stand4_sql = string.Format("wrdiaup{0},wrdialow{0},imrdiaup{0},imrdialow{0},burdiaup{0},burdialow{0},", "4");
//string stand5_sql = string.Format("wrdiaup{0},wrdialow{0},imrdiaup{0},imrdialow{0},burdiaup{0},burdialow{0}", "5");
//string where_sql = string.Format(" from t_coil_info_client where origpath='{0}'", originPath);
//string sql = coil_sql + stand1_sql + stand2_sql + stand3_sql + stand4_sql + stand5_sql + where_sql;
//DataTable dt = localConnect.DataBase(sql);
DataTable dt = localConnect.DataBase(select_sql);
if (dt.Rows.Count == 1)
{
macReview.review_coldcoilno = dt.Rows[0]["coldcoilno"].ToString();
macReview.review_extThick = dt.Rows[0]["coldcoil_extthick"].ToString();
macReview.review_alloyCode = dt.Rows[0]["coldcoil_alloycode"].ToString();
macReview.review_steelGrade = dt.Rows[0]["coldcoil_steegrade"].ToString();
macReview.review_width = dt.Rows[0]["coldcoil_extwidth"].ToString();
for (int i = 0; i < SysParam.Instance.SpeedChannelCount; i++)
{
macReview.Stand[i].rollDiameterWU = Convert.ToDouble(dt.Rows[0]["wrdiaup" + (i + 1).ToString()]);
macReview.Stand[i].rollDiameterWL = Convert.ToDouble(dt.Rows[0]["wrdialow" + (i + 1).ToString()]);
macReview.Stand[i].rollDiameterMU = Convert.ToDouble(dt.Rows[0]["imrdiaup" + (i + 1).ToString()]);
macReview.Stand[i].rollDiameterML = Convert.ToDouble(dt.Rows[0]["imrdialow" + (i + 1).ToString()]);
macReview.Stand[i].rollDiameterBU = Convert.ToDouble(dt.Rows[0]["burdiaup" + (i + 1).ToString()]);
macReview.Stand[i].rollDiameterBL = Convert.ToDouble(dt.Rows[0]["burdialow" + (i + 1).ToString()]);
}
}
return dt;
}
catch (Exception ex)
{
DataTable errordt = new DataTable();
for (int i = 0; i < SysParam.Instance.SpeedChannelCount; i++)
{
macReview.Stand[i].rollDiameterWU = 0;
macReview.Stand[i].rollDiameterWL = 0;
macReview.Stand[i].rollDiameterMU = 0;
macReview.Stand[i].rollDiameterML = 0;
macReview.Stand[i].rollDiameterBU = 0;
macReview.Stand[i].rollDiameterBL = 0;
}
DevelopLog.DeBug.WriteLogFile("GetCoilInfoByOriginPath", ex.ToString());
return errordt;
}
}
/// <summary>
/// 在t_coil_info_client表中根据能量数据路径搜索钢卷信息
/// </summary>
/// <param name="energyPath"></param>
/// <returns></returns>
public DataTable GetCoilInfoByEnergyPath(string energyPath, Machine macReview)
{
string select_sql = "select coldcoilno,coldcoil_steegrade,coldcoil_extwidth,coldcoil_extthick,coldcoil_alloycode,";
for (int i = 0; i < SysParam.Instance.SpeedChannelCount - 1; i++)
{
select_sql += string.Format("wrdiaup{0},wrdialow{0},imrdiaup{0},imrdialow{0},burdiaup{0},burdialow{0},", (i + 1).ToString());
}
select_sql += string.Format("wrdiaup{0},wrdialow{0},imrdiaup{0},imrdialow{0},burdiaup{0},burdialow{0}", SysParam.Instance.SpeedChannelCount.ToString());
select_sql += string.Format(" from t_coil_info_client where energypath='{0}'", energyPath);
try
{
//string coil_sql = "select coldcoilno,coldcoil_steegrade,coldcoil_extwidth,coldcoil_extthick,coldcoil_alloycode,";
//string stand1_sql = string.Format("wrdiaup{0},wrdialow{0},imrdiaup{0},imrdialow{0},burdiaup{0},burdialow{0},", "1");
//string stand2_sql = string.Format("wrdiaup{0},wrdialow{0},imrdiaup{0},imrdialow{0},burdiaup{0},burdialow{0},", "2");
//string stand3_sql = string.Format("wrdiaup{0},wrdialow{0},imrdiaup{0},imrdialow{0},burdiaup{0},burdialow{0},", "3");
//string stand4_sql = string.Format("wrdiaup{0},wrdialow{0},imrdiaup{0},imrdialow{0},burdiaup{0},burdialow{0},", "4");
//string stand5_sql = string.Format("wrdiaup{0},wrdialow{0},imrdiaup{0},imrdialow{0},burdiaup{0},burdialow{0}", "5");
//string where_sql = string.Format(" from t_coil_info_client where energypath='{0}'", energyPath);
//string sql = coil_sql + stand1_sql + stand2_sql + stand3_sql + stand4_sql + stand5_sql + where_sql;
//DataTable dt = localConnect.DataBase(sql);
DataTable dt = localConnect.DataBase(select_sql);
if (dt.Rows.Count == 1)
{
macReview.review_coldcoilno = dt.Rows[0]["coldcoilno"].ToString();
macReview.review_extThick = dt.Rows[0]["coldcoil_extthick"].ToString();
macReview.review_alloyCode = dt.Rows[0]["coldcoil_alloycode"].ToString();
macReview.review_steelGrade = dt.Rows[0]["coldcoil_steegrade"].ToString();
macReview.review_width = dt.Rows[0]["coldcoil_extwidth"].ToString();
for (int i = 0; i < SysParam.Instance.SpeedChannelCount; i++)
{
macReview.Stand[i].rollDiameterWU = Convert.ToDouble(dt.Rows[0]["wrdiaup" + (i + 1).ToString()]);
macReview.Stand[i].rollDiameterWL = Convert.ToDouble(dt.Rows[0]["wrdialow" + (i + 1).ToString()]);
macReview.Stand[i].rollDiameterMU = Convert.ToDouble(dt.Rows[0]["imrdiaup" + (i + 1).ToString()]);
macReview.Stand[i].rollDiameterML = Convert.ToDouble(dt.Rows[0]["imrdialow" + (i + 1).ToString()]);
macReview.Stand[i].rollDiameterBU = Convert.ToDouble(dt.Rows[0]["burdiaup" + (i + 1).ToString()]);
macReview.Stand[i].rollDiameterBL = Convert.ToDouble(dt.Rows[0]["burdialow" + (i + 1).ToString()]);
}
}
return dt;
}
catch (Exception ex)
{
DataTable errordt = new DataTable();
for (int i = 0; i < SysParam.Instance.SpeedChannelCount; i++)
{
macReview.Stand[i].rollDiameterWU = 0;
macReview.Stand[i].rollDiameterWL = 0;
macReview.Stand[i].rollDiameterMU = 0;
macReview.Stand[i].rollDiameterML = 0;
macReview.Stand[i].rollDiameterBU = 0;
macReview.Stand[i].rollDiameterBL = 0;
}
DevelopLog.DeBug.WriteLogFile("GetCoilInfoByEnergyPath", ex.ToString());
return errordt;
}
}
public bool recordLocalDefectData(Dictionary<int, int> defectList, Dictionary<int, double> defectMaxEnergyValue)//剪切时插入本地数据库缺陷表
{
return true;
if (defectList.Count >= 1)
{
string coil_sql = "select coldcoilno,coldcoil_muid from t_coil_online where seqno=1 ";
DataTable coil_dt = localConnect.DataBase(coil_sql);
if (coil_dt.Rows.Count == 1)
{
string coldcoilno = coil_dt.Rows[0]["coldcoilno"].ToString();
string coldcoil_muid = coil_dt.Rows[0]["coldcoil_muid"].ToString();
if (coldcoilno.Trim() != "")
{
string update_sql = "update t_defect_data set ";
int count = 0;
foreach (KeyValuePair<int, int> item in defectList)
{
count++;
if (count == 21)
{
break;
}
string tmp = " defectstart" + count.ToString() + "=" + item.Key.ToString() + ",";
tmp += "defectend" + count.ToString() + "=" + item.Value.ToString() + ",";
if (defectMaxEnergyValue.ContainsKey(item.Key))
{
tmp += "maxenergy" + count.ToString() + "=" + defectMaxEnergyValue[item.Key] + ",";
}
else
{
tmp += "maxenergy" + count.ToString() + "=" + "0.0" + ",";
}
update_sql = update_sql + tmp;
}
for (int i = count; i <= 20; i++)
{
string tmp = " defectstart" + count.ToString() + "=0,";
tmp += "defectend" + count.ToString() + "=0,";
tmp += "maxenergy" + count.ToString() + "=0.0,";
update_sql = update_sql + tmp;
}
update_sql += "coldcoilid='" + coldcoilno + "', muid=" + coldcoil_muid + ",sndflag=0";
DevelopLog.DeBug.WriteLogFile("update t_defect_data:", update_sql);
localConnect.DataBase(update_sql);
return true;
}
return true;
}
else
{
DevelopLog.DeBug.WriteLogFile("read online table failed, info recordocalDefectData:", coil_sql);
return false;
}
}
else
{
return true;
}
//string sql = "update t_defect_data set ";//将表内当前所有的当前卷标记都置为0
//try
//{
// localConnect.DataBase(sql);
// sql = "";
// DateTime nowtime = DateTime.Now;
// int index = 1;
// foreach (KeyValuePair<int, int> item in defectList)
// {
// string time = nowtime.AddMilliseconds(-index).ToString("yyyy/MM/dd HH:mm:ss.fff");
// string maxEnergyValue = "0.0";
// //if (defectMaxEnergyValue.ContainsKey(item.Key))
// //{
// // maxEnergyValue = defectMaxEnergyValue[item.Key].ToString();
// //}
// sql += string.Format("insert into t_defect_data (defectstart,defectend,nowFlag,inserttime,defectindex,maxenergy) values ('{0}','{1}','1','{2}','{3}','{4}');", item.Key, item.Value, time, index, maxEnergyValue);
// index++;
// }
// DevelopLog.DeBug.WriteLogFile("info recordocalDefectData:", sql);
// localConnect.DataBase(sql);
//}
//catch (Exception ex)
//{
// DevelopLog.DeBug.WriteLogFile("error recordocalDefectData:", sql);
// return false;
//}
//return true;
}
public bool updateLocalDefectCoilNo(string coldcoilId)//获取钢卷号时,更新缺陷表中的钢卷号
{
DevelopLog.DeBug.WriteLogFile("updateLocalDefectCoilNo:", coldcoilId);
string sql = string.Format("update t_defect_data set coldcoilid = '{0}' where nowFlag = '1';", coldcoilId);//将表内当前卷标记的钢卷号更新
try
{
localConnect.DataBase(sql);
//if (GetDefectSndStatus() == 1)
//{
// return updateL2DefectData(coldcoilId);
//}
}
catch (Exception ex)
{
DevelopLog.DeBug.WriteLogFile("updateLocalDefectCoilNo:", sql);
return false;
}
return true;
}
public bool updateL2DefectData(string coldcoilId)//根据卷号更新L2缺陷表
{
/*DataTable dt = new DataTable();
dt = getLoaclDefectData(coldcoilId);//获取本地缺陷数据包括卷号
if (dt == null || dt.Rows.Count == 0)
{
return false;
}
string updatesql = "";
string MECREATOR = "PC";
string MESID = "2";
string SOURCE = "1";
string ACTION = "1";
string DEFCREATOR = "C502";
string DEFSIDE = "2";
string DEFTYPE = "51B1";
string DEFECTTEXT = "zhendong";
string INTENSITY = "1";
string TURNFLAG = "1";
try
{
if (dt.Rows.Count > 0)
{
LogicConnect con = new LogicConnect(soudb, soudb.Userid);
for (int i = 0; i < dt.Rows.Count; i++)
{
string MEID = dt.Rows[i][3].ToString();
string SID = dt.Rows[i][2].ToString();
string DEFEND = dt.Rows[i][1].ToString();
string DEFSTART = dt.Rows[i][0].ToString();
string INTENSITYVAL = dt.Rows[i][4].ToString();
updatesql = string.Format("insert into DEFECT (MEID,MECREATOR,MESID,SID,SOURCE,ACTION,DEFCREATOR,DEFEND,DEFSIDE,DEFSTART,DEFTYPE,DEFECTTEXT,INTENSITY,INTENSITYVAL,TURNFLAG) values ({0},'{1}',{2},{3},'{4}',{5},'{6}',{7},'{8}',{9},'{10}','{11}','{12}',{13},{14})",
MEID, MECREATOR, MESID, SID, SOURCE, ACTION, DEFCREATOR, DEFEND, DEFSIDE, DEFSTART, DEFTYPE, DEFECTTEXT, INTENSITY, INTENSITYVAL, TURNFLAG);
con.DataBase(updatesql);
DevelopLog.DeBug.WriteLogFile("infoupdateL2DefectData:", updatesql);
}
}
}
catch (Exception ex)
{
DevelopLog.DeBug.WriteLogFile("error:updateL2DefectData:", updatesql);
return false;
}*/
return true;
}
public DataTable getLoaclDefectData(string coldcoilid)//根据卷号获取本地缺陷数据
{
/*DataTable dt = new DataTable();
string muidSql = "";
string maxSidSql = "";
string localDefectSql = "";
try
{
//查询muid
LogicConnect con = new LogicConnect(soudb, soudb.Userid);
muidSql = string.Format("select MEID2PH from SV_MEID where coldcoilid='{0}'", coldcoilid);
DevelopLog.DeBug.WriteLogFile("infomuidSql:", muidSql);
string muid = "";
dt = con.SelTableData("SV_MEID", muidSql);
if (dt.Rows.Count != 1)
{
return null;
}
else
{
muid = dt.Rows[0][0].ToString();
}
DevelopLog.DeBug.WriteLogFile("getLoaclDefectData muid:", muid);
//查询最大SID
maxSidSql = string.Format("select max(SID) from DEFECT where meid='{0}'", muid);
DevelopLog.DeBug.WriteLogFile("infomaxSidSql:", maxSidSql);
int maxSID = 0;
dt = con.SelTableData("DEFECT", maxSidSql);
if (dt.Rows.Count == 1)
{
if (dt.Rows[0][0].ToString().Trim() != "")
{
maxSID = Convert.ToInt32(dt.Rows[0][0]);
}
}
DevelopLog.DeBug.WriteLogFile("getLoaclDefectData muid:", maxSID.ToString());
con = new LogicConnect(desdb, desdb.Userid);
dt = new DataTable();
localDefectSql = string.Format("select defectstart,defectend,defectindex,muid,maxEnergy from t_defect_data where coldcoilid='{0}'", coldcoilid);
DevelopLog.DeBug.WriteLogFile("infolocalDefectSql:", localDefectSql);
dt = con.SelTableData("t_defect_data", localDefectSql);
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
dt.Rows[i][3] = muid;
dt.Rows[i][2] = Convert.ToInt32(dt.Rows[i][2]) + maxSID;
}
}
else
{
return null;
}
}
catch (Exception ex)
{
DevelopLog.DeBug.WriteLogFile("getLoaclDefectData:", localDefectSql);
DevelopLog.DeBug.WriteLogFile("muidSql:", muidSql);
DevelopLog.DeBug.WriteLogFile("maxSidSql:", maxSidSql);
return null;
}
return dt;*/
return null;
}
public void recordLogInfo(string userName, string logInfo)
{
try
{
string insert_sql = string.Format("insert into t_log_info (seqno,username,loginfo) values((select max(seqno) + 1 from t_log_info),'{0}','{1}')",
userName, logInfo);
localConnect.DataBase(insert_sql);
}
catch (Exception ex)
{
DevelopLog.DeBug.WriteLogFile("recordLogInfo", ex.ToString());
recordLogInfoFirst(userName, logInfo);
}
}
public void recordLogInfoFirst(string userName, string logInfo)
{
try
{
string insert_sql = string.Format("insert into t_log_info (seqno,username,loginfo) values(1,'{0}','{1}')",
userName, logInfo);
localConnect.DataBase(insert_sql);
}
catch (Exception ex)
{
DevelopLog.DeBug.WriteLogFile("recordLogInfoFirst", ex.ToString());
}
}
public DataTable GetLogInfoByDate(DateTime startTime, DateTime endTime)
{
try
{
string select_sql = string.Format("select seqno,to_char(toc,'YYYY-MM-DD HH24:MI:SS'),loginfo,username from t_log_info where toc<='{0}'and toc>='{1}' and seqno >0", endTime, startTime);
select_sql += " order by seqno desc";
return localConnect.DataBase(select_sql);
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// 获取基本配置参数,包括报警次数,采样点数等
/// </summary>
/// <returns></returns>
public DataTable GetBaseConfig()
{
string sql_str = "select key,value from t_dict_data;";
try
{
DataTable dt = localConnect.DataBase(sql_str);
return dt;
}
catch (Exception ex)
{
DevelopLog.DeBug.WriteLogFile("GetBaseConfig()", ex.ToString());
DataTable errdt = new DataTable();
return errdt;
}
}
/// <summary>
/// 获取报警参数
/// </summary>
/// <returns></returns>
public DataTable GetAlarmParam()
{
string sql_str = "select standno,alarmspeed,lowpassl,lowpassu,lowalarmvalue,lowdefectvalue,midpassl," +
"midpassu,midalarmvalue,middefectvalue,highpassl,highpassu,highalarmvalue,highdefectvalue," +
"alarmtimes_l,alarmtimes_m,alarmtimes_h from t_alarm_param order by standno ,alarmspeed ;";
try
{
DataTable dt = localConnect.DataBase(sql_str);
return dt;
}
catch (Exception ex)
{
DevelopLog.DeBug.WriteLogFile("GetBaseConfig()", ex.ToString());
DataTable errdt = new DataTable();
return errdt;
}
}
/// <summary>
/// 获取指定机架的报警参数
/// </summary>
/// <param name="standNo"></param>
/// <returns></returns>
public DataTable GetAlarmParamByStanNo(int standNo)
{
string sql_str = "select alarmspeed,lowpassl,lowpassu,lowalarmvalue,lowdefectvalue,midpassl," +
"midpassu,midalarmvalue,middefectvalue,highpassl,highpassu,highalarmvalue,higdefectvalue from t_alarm_param" +
String.Format(" where standno={};", standNo);
try
{
DataTable dt = localConnect.DataBase(sql_str);
return dt;
}
catch (Exception ex)
{
DevelopLog.DeBug.WriteLogFile("GetBaseConfig()", ex.ToString());
DataTable errdt = new DataTable();
return errdt;
}
}
/// <summary>
/// 新增报警参数记录
/// </summary>
/// <param name="data"></param>
/// <param name="standNo"></param>
public void AddAlarmParamByStandNo(EntityAlarmSpeed data, int standNo)
{
try
{
string insert_sql = "insert into t_alarm_param (standno,alarmspeed,lowpassl," +
"lowpassu,lowalarmvalue,lowdefectvalue,midpassl,midpassu,midalarmvalue,middefectvalue,highpassl," + String.Format("highpassu,highalarmvalue,highdefectvalue) values({0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13})", standNo,
data.alarmSpeed, data.lowPassL, data.lowPassU, data.lowAlarmValue, data.lowDefectValue, data.midPassL, data.midPassU,
data.midAlarmValue, data.midDefectValue, data.highPassL, data.highPassU, data.highAlarmValue, data.highDefectValue);
;
localConnect.DataBase(insert_sql);
}
catch (Exception ex)
{
DevelopLog.DeBug.WriteLogFile("AddAlarmParamByStandNo", ex.ToString());
}
}
/// <summary>
/// 单个机架报警参数更新
/// </summary>
/// <param name="data"></param>
/// <param name="standNo"></param>
public void UpdateAlarmParamByStandNo(IList<EntityAlarmSpeed> data, int standNo)
{
if (data == null || data.Count == 0)
{
return;
}
if (standNo > 0 && standNo < SysParam.Instance.SpeedChannelCount + 1)
{
//报警参数
DeleteAlarmParamByStandNo(standNo);
try
{
foreach (EntityAlarmSpeed item in data)
{
AddAlarmParamByStandNo(item, standNo);
}
}
catch (Exception ex)
{
DevelopLog.DeBug.WriteLogFile("SaveAlarmParam", String.Format("standno:{0},Error:", standNo) + ex.ToString());
}
//报警次数
UpdateAlarmTimes(standNo, SysParam.Instance.channel[standNo - 1].alarmTimes_l,
SysParam.Instance.channel[standNo - 1].alarmTimes_m,
SysParam.Instance.channel[standNo - 1].alarmTimes_h);
}
}
/// <summary>
/// 删除指定机架的报警参数
/// </summary>
/// <param name="standNo"></param>
public void DeleteAlarmParamByStandNo(int standNo)
{
string delete_sql = String.Format("delete from t_alarm_param where standno = {0};", standNo);
try
{
localConnect.DataBase(delete_sql);
}
catch (Exception ex)
{
DevelopLog.DeBug.WriteLogFile("GetBaseConfig()", ex.ToString());
}
}
/// <summary>
/// 保存有速度机架的整个报警参数
/// </summary>
/// <param name="datas"></param>
/// <returns></returns>
public bool SaveAlarmParam(Dictionary<int, IList<EntityAlarmSpeed>> datas)
{
//报警参数
foreach (KeyValuePair<int, IList<EntityAlarmSpeed>> items in datas)
{
if (items.Value != null && items.Value.Count > 0)
{
int standNoi = items.Key + 1;
if (standNoi > 0 && standNoi < SysParam.Instance.SpeedChannelCount + 1)
{
DeleteAlarmParamByStandNo(standNoi);
try
{
foreach (EntityAlarmSpeed item in items.Value)
{
AddAlarmParamByStandNo(item, standNoi);
}
}
catch (Exception ex)
{
DevelopLog.DeBug.WriteLogFile("SaveAlarmParam", String.Format("standno:{0},Error:", standNoi) + ex.ToString());
return false;
}
}
}
}
//报警次数
for (int i = 0; i < SysParam.Instance.SpeedChannelCount; i++)
{
UpdateAlarmTimes(i + 1, SysParam.Instance.channel[i].alarmTimes_l,
SysParam.Instance.channel[i].alarmTimes_m,
SysParam.Instance.channel[i].alarmTimes_h);
}
return true;
}
/// <summary>
/// 将数据库报警参数更新到系统
/// </summary>
public void autoUpdateAlarmParam()
{
//报警参数
DataTable eas = GetAlarmParam();
if (eas == null)
{
return;
}
try
{
Dictionary<int, IList<EntityAlarmSpeed>> config_base = new Dictionary<int, IList<EntityAlarmSpeed>>();
for (int i = 0; i < eas.Rows.Count; i++)
{
DataRow row = eas.Rows[i];
EntityAlarmSpeed itemdata = new EntityAlarmSpeed();
int standNo = Convert.ToInt32(row["standno"]);
itemdata.alarmSpeed = Convert.ToInt32(row["alarmspeed"]);
itemdata.lowPassL = Convert.ToInt32(row["lowpassl"]);
itemdata.lowPassU = Convert.ToInt32(row["lowpassu"]);
itemdata.lowAlarmValue = Convert.ToSingle(row["lowalarmvalue"]);
itemdata.lowDefectValue = Convert.ToSingle(row["lowdefectvalue"]);
itemdata.midPassL = Convert.ToInt32(row["midpassl"]);
itemdata.midPassU = Convert.ToInt32(row["midpassu"]);
itemdata.midAlarmValue = Convert.ToSingle(row["midalarmvalue"]);
itemdata.midDefectValue = Convert.ToSingle(row["middefectvalue"]);
itemdata.highPassL = Convert.ToInt32(row["highpassl"]);
itemdata.highPassU = Convert.ToInt32(row["highpassu"]);
itemdata.highAlarmValue = Convert.ToSingle(row["highalarmvalue"]);
itemdata.highDefectValue = Convert.ToSingle(row["highdefectvalue"]);
if (!config_base.ContainsKey(standNo - 1))
{
IList<EntityAlarmSpeed> itemlist = new List<EntityAlarmSpeed>();
config_base.Add(standNo - 1, itemlist);
}
config_base[standNo - 1].Add(itemdata);
}
for (int j = 0; j < config_base.Keys.Count; j++)
{
SysParam.Instance.channel[j].alarmConfig = config_base[j].ToArray();//报警参数
//eas.Select(String.Format("standno={0}", j + 1));
DataRow dr = eas.Select(String.Format("standno={0}", j + 1))[0];
SysParam.Instance.channel[j].alarmTimes_l = Convert.ToInt32(dr["alarmtimes_l"]);//报警次数
SysParam.Instance.channel[j].alarmTimes_m = Convert.ToInt32(dr["alarmtimes_m"]);//报警次数
SysParam.Instance.channel[j].alarmTimes_h = Convert.ToInt32(dr["alarmtimes_h"]);//报警次数
}
Console.WriteLine("test");
}
catch (Exception ex)
{
DevelopLog.DeBug.WriteLogFile("autoUpdateAlarmParam", ex.Message);
}
//报警次数
//DataTable kv = GetBaseConfig();
//if (kv == null)
//{
// return;
//}
//else
//{
// try
// {
// for (int i = 0; i < kv.Rows.Count; i++)
// {
// string keyi = Convert.ToString(kv.Rows[i]["key"]);
// if (keyi == "alarmTimes_l" || keyi == "alarmTimes_m" || keyi == "alarmTimes_h")
// {
// for (int j = 0; j < SysParam.Instance.SpeedChannelCount; j++)
// {
// if (keyi == "alarmTimes_l")
// {
// SysParam.Instance.channel[j].alarmTimes_l = Convert.ToInt32(kv.Rows[i]["value"]);
// }
// else if (keyi == "alarmTimes_m")
// {
// SysParam.Instance.channel[j].alarmTimes_m = Convert.ToInt32(kv.Rows[i]["value"]);
// }
// else
// {
// SysParam.Instance.channel[j].alarmTimes_h = Convert.ToInt32(kv.Rows[i]["value"]);
// }
// //else if(keyi == "vibSens")
// //{
// // SysParam.Instance.channel[j].vibSens = Convert.ToInt32(kv.Rows[i]["value"]);
// //}
// //else
// //{
// // SysParam.Instance.channel[j].speedSens = Convert.ToInt32(kv.Rows[i]["value"]);
// //}
// //else
// //{
// // DevelopLog.DeBug.WriteLogFile("autoUpdateAlarmParam-BaseConfig", "Error:参数异常,key="+keyi);
// //}
// }
// }
// //else if (keyi == "samplePoint")
// //{
// // SysParam.Instance.samplePoint = Convert.ToInt32(kv.Rows[i]["value"]);
// //}
// //else if (keyi == "sampleFre")
// //{
// // SysParam.Instance.sampleFre = Convert.ToInt32(kv.Rows[i]["value"]);
// //}
// }
// }
// catch (Exception ex)
// {
// DevelopLog.DeBug.WriteLogFile("autoUpdateAlarmParam-BaseConfig", ex.Message);
// }
//}
}
public void UpdateAlarmTimes(int standNo, int l, int m, int h)
{
if (l < 0 || m < 0 || h < 0 || standNo < 0 || standNo > SysParam.Instance.SpeedChannelCount)
{
DevelopLog.DeBug.WriteLogFile("UpdateAlarmTimes",
String.Format("参数异常:standNo={0},l={1},m={2},h={3}", standNo, l, m, h));
return;
}
try
{
string update_sql = String.Format("update t_alarm_param set alarmtimes_l={0},alarmtimes_m={1},alarmtimes_h={2} where standno={3};", l, m, h, standNo);
localConnect.DataBase(update_sql);
}
catch (Exception ex)
{
DevelopLog.DeBug.WriteLogFile("UpdateAlarmTimes", ex.ToString());
}
}
}
}