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() + "-------------------"); }
/// <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 + "-------------"); } } } }
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()); }
/// <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 + "-------------"); } }
/// <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); }
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); }
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); }