using Casic.Birmm.RbFreqStandMeasure.R_DataBase.Model; using Casic.Birmm.RbFreqStandMeasure.Tools; using MySql.Data.MySqlClient; using System; using System.Collections.Generic; using System.Data; using System.Reflection; namespace Casic.Birmm.RbFreqStandMeasure.R_DataBase.Service.Impl { class DictServiceImpl:DictService { public String getNameByCode(string codeType,string code) { String name = ""; try { if (DbConnectService.mySqlConnect.State == ConnectionState.Closed) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "updateDeviced : 数据库链接断开"); int iRetval = DbConnectService.openDb(); if (iRetval != 0) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "重连失败!"); return ""; } } string sql = "SELECT name FROM r_dict where pid = (select id from r_dict where code = '" + codeType + "') and code = " + code; MySqlCommand cmd = new MySqlCommand(sql, DbConnectService.mySqlConnect); MySqlDataReader aReader = cmd.ExecuteReader(CommandBehavior.Default); if (aReader != null) { if (aReader.Read()) { //判断门的状态 if (!aReader.IsDBNull(0)) { name = aReader.GetString(0); } } } aReader.Close(); cmd.Dispose(); return name; } catch(MySqlException ex) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getNameByCode: " + ex.Message); name = ""; } finally { } return name; } public List<Dict> getTypeListByCodeType(string codeType) { List<Dict> nameList = new List<Dict>(); try { if (DbConnectService.mySqlConnect.State == ConnectionState.Closed) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "updateDeviced : 数据库链接断开"); int iRetval = DbConnectService.openDb(); if (iRetval != 0) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "重连失败!"); return nameList; } } string sQry = "SELECT * FROM r_dict where pid = (select id from r_dict where code = '" + codeType + "')"; MySqlCommand aCommand = new MySqlCommand(sQry, DbConnectService.mySqlConnect); using (MySqlDataReader aReader = aCommand.ExecuteReader()) { while (aReader.Read()) { Dict dict = new Dict(); if (!aReader.IsDBNull(0)) dict.Id = Convert.ToInt32(aReader.GetString(0)); if (!aReader.IsDBNull(1)) dict.Pid = Convert.ToInt32(aReader.GetString(1)); if (!aReader.IsDBNull(2)) dict.Name = aReader.GetString(2); if (!aReader.IsDBNull(3)) dict.Code = aReader.GetString(3); nameList.Add(dict); } aReader.Close(); } aCommand.Dispose(); } catch(MySqlException ex) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getTypeListByCodeType: " + ex.Message); nameList = null; } finally { } return nameList; } public CounterParam getCounterParam() { CounterParam counterParam = new CounterParam(); try { if (DbConnectService.mySqlConnect.State == ConnectionState.Closed) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "updateDeviced : 数据库链接断开"); int iRetval = DbConnectService.openDb(); if (iRetval != 0) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "重连失败!"); return counterParam; } } string sQry = "SELECT * FROM r_counter_param"; MySqlCommand aCommand = new MySqlCommand(sQry, DbConnectService.mySqlConnect); using (MySqlDataReader aReader = aCommand.ExecuteReader()) { if (aReader.Read()) { if (!aReader.IsDBNull(0)) counterParam.Id = Convert.ToInt64(aReader.GetString(0)); if (!aReader.IsDBNull(1)) counterParam.DeviceId = Convert.ToInt64(aReader.GetString(1)); if (!aReader.IsDBNull(2)) counterParam.BaudRate = aReader.GetString(2); if (!aReader.IsDBNull(3)) counterParam.GeneratorIp = aReader.GetString(3); if (!aReader.IsDBNull(4)) counterParam.SignalSourceIp = aReader.GetString(4); } aReader.Close(); } aCommand.Dispose(); } catch (MySqlException ex) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "searchDevice: " + ex.Message); } return counterParam; } public int updateCounterIp(string ip) { int iRetval = -1; try { if (DbConnectService.mySqlConnect.State == ConnectionState.Closed) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "updateDeviced : 数据库链接断开"); iRetval = DbConnectService.openDb(); if (iRetval != 0) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "重连失败!"); return iRetval; } } string sQry = "UPDATE r_counter_param SET GENERATOR_IP='"+ ip +"'"; MySqlCommand cmd = new MySqlCommand(sQry, DbConnectService.mySqlConnect); cmd.ExecuteNonQuery(); cmd.Dispose(); iRetval = 0; } catch (MySqlException ex) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "updateCounterIp : " + ex.Message); } return iRetval; } public CounterCheckParam getCounterCheckParam() { CounterCheckParam counterCheckParam = new CounterCheckParam(); try { if (DbConnectService.mySqlConnect.State == ConnectionState.Closed) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "updateDeviced : 数据库链接断开"); int iRetval = DbConnectService.openDb(); if (iRetval != 0) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "重连失败!"); return counterCheckParam; } } string sQry = "SELECT * FROM r_counter_check_params"; MySqlCommand aCommand = new MySqlCommand(sQry, DbConnectService.mySqlConnect); using (MySqlDataReader aReader = aCommand.ExecuteReader()) { if (aReader.Read()) { if (!aReader.IsDBNull(0)) counterCheckParam.Id = Convert.ToInt64(aReader.GetString(0)); if (!aReader.IsDBNull(1)) counterCheckParam.SoOutDelay = aReader.GetString(1); if (!aReader.IsDBNull(2)) counterCheckParam.SoEleFrequency = aReader.GetString(2); if (!aReader.IsDBNull(3)) counterCheckParam.SoEleAddValue = aReader.GetString(3); if (!aReader.IsDBNull(4)) counterCheckParam.SoEleAlarm = aReader.GetString(4); if (!aReader.IsDBNull(5)) counterCheckParam.FreThreshold1 = aReader.GetString(5); if (!aReader.IsDBNull(6)) counterCheckParam.FreThreshold2 = aReader.GetString(6); if (!aReader.IsDBNull(7)) counterCheckParam.FreEleAddValue = aReader.GetString(7); if (!aReader.IsDBNull(8)) counterCheckParam.CycThreshold1 = aReader.GetString(8); if (!aReader.IsDBNull(9)) counterCheckParam.CycThreshold2 = aReader.GetString(9); if (!aReader.IsDBNull(10)) counterCheckParam.CycEleAddValue = aReader.GetString(10); } aReader.Close(); } aCommand.Dispose(); } catch (MySqlException ex) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "searchDevice: " + ex.Message); } return counterCheckParam; } public int updateCheckParam(CounterCheckParam counterCheckParam) { int iRetval = -1; try { if (DbConnectService.mySqlConnect.State == ConnectionState.Closed) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "updateDeviced : 数据库链接断开"); iRetval = DbConnectService.openDb(); if (iRetval != 0) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "重连失败!"); return iRetval; } } string sQry = "UPDATE r_counter_check_params SET SO_OUT_DELAY=@SO_OUT_DELAY,SO_ELE_FREQUENCY=@SO_ELE_FREQUENCY,SO_ELE_ADD_VALUE=@SO_ELE_ADD_VALUE,SO_ELE_ALARM=@SO_ELE_ALARM,FRE_THRESHOLD1=@FRE_THRESHOLD1,FRE_THRESHOLD2=@FRE_THRESHOLD2,FRE_ELE_ADD_VALUE=@FRE_ELE_ADD_VALUE,CYC_THRESHOLD1=@CYC_THRESHOLD1,CYC_THRESHOLD2=@CYC_THRESHOLD2,CYC_ELE_ADD_VALUE=@CYC_ELE_ADD_VALUE"; MySqlCommand cmd = new MySqlCommand(sQry, DbConnectService.mySqlConnect); cmd.Parameters.Add("@SO_OUT_DELAY", MySqlDbType.String, 30).Value = counterCheckParam.SoOutDelay; cmd.Parameters.Add("@SO_ELE_FREQUENCY", MySqlDbType.String, 30).Value = counterCheckParam.SoEleFrequency; cmd.Parameters.Add("@SO_ELE_ADD_VALUE", MySqlDbType.String, 30).Value = counterCheckParam.SoEleAddValue; cmd.Parameters.Add("@SO_ELE_ALARM", MySqlDbType.String, 30).Value = counterCheckParam.SoEleAlarm; cmd.Parameters.Add("@FRE_THRESHOLD1", MySqlDbType.String, 30).Value = counterCheckParam.FreThreshold1; cmd.Parameters.Add("@FRE_THRESHOLD2", MySqlDbType.String, 30).Value = counterCheckParam.FreThreshold2; cmd.Parameters.Add("@FRE_ELE_ADD_VALUE", MySqlDbType.String, 20).Value = counterCheckParam.FreEleAddValue; cmd.Parameters.Add("@CYC_THRESHOLD1", MySqlDbType.String, 30).Value = counterCheckParam.CycThreshold1; cmd.Parameters.Add("@CYC_THRESHOLD2", MySqlDbType.String, 30).Value = counterCheckParam.CycThreshold2; cmd.Parameters.Add("@CYC_ELE_ADD_VALUE", MySqlDbType.String, 20).Value = counterCheckParam.CycEleAddValue; cmd.ExecuteNonQuery(); cmd.Dispose(); iRetval = 0; } catch (MySqlException ex) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "updateDeviced : " + ex.Message); } return iRetval; } } }