Пример #1
0
        public void handleData()
        {
            Console.WriteLine("开始上传一批数据");
            FileLogUtil.info("------------------开始上传一批数据" + DateTime.Now.ToString() + "-------------------");
            //循环所有单元
            IList <PlantUnit> allUnits = PlantUnitService.GetInstance().getAllUnits();

            foreach (PlantUnit pu in allUnits)
            {
                FileLogUtil.info("-----开始" + pu.displayname + "-------------");
                try
                {
                    handleUnitDevice(pu);
                }
                catch (Exception e)
                {
                    FileLogUtil.info("-----" + pu.displayname + "处理失败" + e.Message + "-------------");
                    Console.WriteLine("-----" + pu.displayname + "处理失败" + e.Message + "-------------");
                }
                FileLogUtil.info("-----结束" + pu.displayname + "-------------");
                FileLogUtil.info("");
            }
            FileLogUtil.info("------------------结束上传一批数据-------------------");
            Console.WriteLine("------------------结束上传一批数据,时间:" + DateTime.Now.ToString() + "-------------------");
        }
Пример #2
0
        /// <summary>
        /// 循环发送某个单元下面的设备
        /// </summary>
        /// <param name="pu"></param>
        private void handleUnitDevice(PlantUnit pu)
        {
            String plantName = "";//上上即电站名称

            Console.WriteLine("unitname" + pu.displayname);
            //if (!pu.displayname.ToLower().Equals("e01")) return;
            //包括隐藏的

            IList <Device> devices = null;

            if (send_hide.Equals("false"))
            {
                devices = pu.displayDevices;
            }
            else
            {
                devices = pu.devices;
            }
            foreach (Device device in devices)
            {
                plantName = plantId;//接口约定好的
                //Plant plant = PlantService.GetInstance().GetPlantInfoById(pu.plantID);
                //if(plant!=null){
                //plantName = plant.name;
                //if(plant.parentPlant!=null){
                //plantName = plant.parentPlant.name;
                //}
                //}
                if (device != null && pu != null &&  device.runData != null)
                {
                    string deviceId = string.Format("{0}-{1}-{2}", pu.displayname, device.deviceTypeCode, StringUtil.getstr(device.deviceAddress, 3));

                    try
                    {
                        bool isSended = false;
                        //发送过的不再发送了
                        if (send_repeattime.Equals("false"))
                        {
                            isSended = compareSendTime(deviceId, device.runData.updateTime);
                        }

                        if (!isSended)
                        {
                            handleDevice(device, pu, plantName);
                        }
                        else
                        {
                            Console.WriteLine("-----设备" + deviceId + "已经发送过,上次数据采集时间:" + device.runData.updateTime.ToString() + "-------------");
                            FileLogUtil.info("-----设备" + deviceId + "已经发送过,上次数据采集时间:" + device.runData.updateTime.ToString() + "-------------");
                        }
                    }
                    catch (Exception e)
                    {
                        FileLogUtil.info("-----设备" + deviceId + "处理失败" + e.Message + "-------------");
                        Console.WriteLine("-----设备" + deviceId + "处理失败" + e.Message + "-------------");
                    }
                }
            }
        }
Пример #3
0
    public static void WriteLog(int iAccountID, Enums.LogMainType eMainType, Enums.LogSubType eSubType, string sIDParam = "", string sBeforeValue = "", string sNextValue = "")
    {
        MySqlCommand cCommand = new MySqlCommand();

        cCommand.Connection = Connection;

        if (null == _cConnection)
        {
            return;
        }

        cCommand.CommandText = "INSERT INTO *(*, *, *, *, *, *, *, *) VALUES (@*, @*, @*, @*, @*, @*, @*, @*);";
        cCommand.Parameters.Add("@*", MySqlDbType.Int32, 10);
        cCommand.Parameters.Add("@*", MySqlDbType.VarChar);
        cCommand.Parameters.Add("@*", MySqlDbType.VarChar);
        cCommand.Parameters.Add("@*", MySqlDbType.VarChar);
        cCommand.Parameters.Add("@*", MySqlDbType.VarChar);
        cCommand.Parameters.Add("@*", MySqlDbType.VarChar);
        cCommand.Parameters.Add("@*", MySqlDbType.Date);
        cCommand.Parameters.Add("@*", MySqlDbType.Time);

        cCommand.Parameters[0].Value = iAccountID;
        cCommand.Parameters[1].Value = eMainType.ToString();
        cCommand.Parameters[2].Value = eSubType.ToString();
        cCommand.Parameters[3].Value = sIDParam;
        cCommand.Parameters[4].Value = sBeforeValue;
        cCommand.Parameters[5].Value = sNextValue;
        cCommand.Parameters[6].Value = DateTimeUtil.ToSqlDate(DateTime.Now);
        cCommand.Parameters[7].Value = DateTimeUtil.ToSqlTime(DateTime.Now);

        try
        {
            //Debug.Log("    - [MySqlUtil : WriteLog] open : " + iAccountID.ToString());
            cCommand.ExecuteNonQuery();
        }
        catch (Exception ce)
        {
            FileLogUtil.Log("[MySqlUtil : WriteLog] Exception : " + ce.ToString());
            cCommand.Dispose();
            //Debug.Log("    - [MySqlUtil : WriteLog] close : " + iAccountID.ToString());
            return;
        }

        cCommand.Dispose();
        //Debug.Log("    - [MySqlUtil : WriteLog] close : " + iAccountID.ToString());
    }
Пример #4
0
        /// <summary>
        /// 发送单个设备
        /// </summary>
        /// <param name="device"></param>
        private void handleDevice(Device device, PlantUnit pu, String plantName)
        {
            if (pu == null)
            {
                return;
            }
            //实时数据串“,”逗号分隔
            string realDataValueStr = "";

            if (device.runData != null)
            {//组织数据串
                switch (device.deviceTypeCode)
                {
                case DeviceData.INVERTER_CODE:
                    realDataValueStr = getInverterRunDataStr(device, pu.collector);
                    break;

                case DeviceData.HUILIUXIANG_CODE:
                    realDataValueStr = getHlxRunDataStr(device);
                    break;

                case DeviceData.AMMETER_CODE:
                    realDataValueStr = getAmmeterRunDataStr(device);
                    break;

                case DeviceData.ENVRIOMENTMONITOR_CODE:
                    realDataValueStr = getDetectorRunDataStr(device);
                    break;

                default:
                    break;
                }
            }
            string DataCollectTime = device.runData == null ? "" : device.runData.updateTime.ToString("yyyy-MM-dd HH:mm:ss");

            try
            {
                callwebservice(server_url, plantName, pu.displayname, device.deviceAddress, device.deviceTypeCode, DataCollectTime, realDataValueStr);
            }
            catch (Exception e)
            {
                FileLogUtil.info("-----设备" + pu.displayname + "-" + device.deviceTypeCode + "-" + StringUtil.getstr(device.deviceAddress, 3) + "上传失败" + e.Message + "-------------");
                Console.WriteLine("-----设备" + pu.displayname + "-" + device.deviceTypeCode + "-" + StringUtil.getstr(device.deviceAddress, 3) + "上传失败" + e.Message + "-------------");
            }
        }
Пример #5
0
        /// <summary>
        /// 向富士康上传接口传送数据
        /// </summary>
        /// <param name="url"></param>
        /// <param name="plantName"></param>
        /// <param name="unitName"></param>
        /// <param name="deviceAddress"></param>
        /// <param name="deviceTypeCode"></param>
        /// <param name="dataCollectTime"></param>
        /// <param name="realDataValueStr"></param>
        private void callwebservice(string url, string plantName, string unitName, string deviceAddress, int deviceTypeCode, string dataCollectTime, string realDataValueStr)
        {
            //Web服务的地址
            //拼接数据

            string data;

            data = "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
            data = data + "<soap12:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap12=\"http://www.w3.org/2003/05/soap-envelope\">";
            data = data + "<soap12:Body>";
            data = data + "<UpLoadEQValue xmlns=\"http://tempuri.org/\">";
            data = data + "<PlantID>" + plantName + "</PlantID>";
            data = data + "<BuildingID>" + unitName + "</BuildingID>";
            data = data + "<EQID>" + unitName + "-" + deviceTypeCode + "-" + StringUtil.getstr(deviceAddress, 3) + "</EQID>";
            data = data + "<EqType>" + deviceTypeCode + "</EqType>";
            data = data + "<DataCollectTime>" + dataCollectTime + "</DataCollectTime>";
            data = data + "<EQValues>" + realDataValueStr + "</EQValues>";
            data = data + "</UpLoadEQValue>";
            data = data + "</soap12:Body>";
            data = data + "</soap12:Envelope>";

            //创建异步对象(XMLHTTP对象在MSXML2下)
            String  res     = "";
            XMLHTTP xmlhttp = new XMLHTTP();

            xmlhttp.open("POST", url, false, null, null);

            xmlhttp.setRequestHeader("Content-Type", "application/soap+xml");

            xmlhttp.send(data);
            res = System.Text.Encoding.UTF8.GetString((byte[])xmlhttp.responseBody);

            FileLogUtil.info("data" + data);
            FileLogUtil.info("res" + res);
            Console.WriteLine("data" + data);
            Console.WriteLine("res" + res);
        }
Пример #6
0
    public static Enums.ErrorCode GetRankingData(out DataSet cDataSet)
    {
        Shik.LastUpdate();

        string sCommand = "select " + _sTableName + ".*, " + _sTableName + ".*, " + _sTableName + ".*, " + _sTableName + ".*, " + _sTableName + ".*, " + _sTableName + ".* from " + _sTableName + " where not disable=1;";

        MySqlDataAdapter cAdapter = new MySqlDataAdapter(sCommand, Connection);

        cDataSet = new DataSet();

        try
        {
            cAdapter.Fill(cDataSet);
        }
        catch (Exception ce)
        {
            FileLogUtil.Log("ERROR - GetRankingData" + ce.Message);
            cAdapter.Dispose();
            return(Enums.ErrorCode.eDB_ExecuteError);
        }

        cAdapter.Dispose();
        return(Enums.ErrorCode.eNone);
    }
Пример #7
0
    public static MySqlUtilResult ConnectToDB(ref string sError)
    {
        _sTableName = "G";
        if (Enums.DBTableType.eTestGame == ServerState.Manager.DBTableType)
        {
            _sTableName = "T";
        }

        string sConnectionString = "";

        switch ((Enums.DBServerType)ServerState.Manager.DBType)
        {
        case Enums.DBServerType.A:
            sConnectionString += @"*";
            sConnectionString += @"*";
            sConnectionString += @"*";
            sConnectionString += @"*";
            sConnectionString += @"*";
            sConnectionString += @"*";
            sConnectionString += @"*";
            break;

        case Enums.DBServerType.B:
            sConnectionString += @"*";
            sConnectionString += @"*";
            sConnectionString += @"*";
            sConnectionString += @"*";
            sConnectionString += @"*";
            sConnectionString += @"*";
            sConnectionString += @"*";
            break;

        case Enums.DBServerType.C:
            sConnectionString += @"*";
            sConnectionString += @"*";
            sConnectionString += @"*";
            sConnectionString += @"*";
            sConnectionString += @"*";
            sConnectionString += @"*";
            sConnectionString += @"*";
            break;
        }

        _cConnection = new MySqlConnection(sConnectionString);

        try
        {
            _cConnection.Open();
        }
        catch (Exception c)
        {
            _sListConnectionFailError.Add(c.ToString());
            _cConnection = null;
            sError       = c.ToString();
            return(MySqlUtilResult.eConnectionError);
        }

        FileLogUtil.Log("Reconnection DB - DBType : " + ServerState.Manager.DBType.ToString() + ", DBTableType : " + _sTableName);

        return(MySqlUtilResult.eOK);
    }