Newer
Older
RbFreqStand / RbFreqStandMeasure / R_DataBase / Service / Impl / DictServiceImpl.cs
yangqianqian on 24 May 2021 12 KB s
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;
        }
    }
}