private void RecordDownload(long waveId, string WaveExtension) { // waveId = Convert.ToInt64(tbxWaveId.Text);// Convert.ToUInt32(tbxWaveId); int rtn = -1; byte[] bytes = new byte[] { }; string error = ""; try { 录波采集测试工具.FaultRecordService.FaultRecordServiceService FRService = new FaultRecordService.FaultRecordServiceService(); //rtn = FRService.getFile(waveId, tbxWaveExtension.Text).rtn; //bytes = FRService.getFile(waveId, tbxWaveExtension.Text).bytes; //FileRtn fr = new FileRtn(); //var fileRtn1 = FRService.getFile(waveId, tbxWaveExtension.Text); //fr = GetFileRtn1(fileRtn1); 录波采集测试工具.FaultRecordService.fileRtn fr = new FaultRecordService.fileRtn(); fr = FRService.getFile(waveId, WaveExtension); rtn = fr.rtn; if (rtn != -1) { writeLog("返回wenjian** 返回rtn:" + rtn.ToString() + "返回error:" + error, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.ffffff")); bytes = fr.bytes; error = fr.error; writeLog("返回wenjian**" + bytes.Length.ToString() + "返回rtn:" + rtn.ToString() + "返回error:" + error, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.ffffff")); if (bytes.Length != 0) { // FileStream opBytes waveDownload(bytes, waveId, WaveExtension); } ; //error = FRService.getFile(waveId, tbxWaveExtension.Text).error; // writeLog("返回rtn:" + rtn + "返回ByteS:" + bytes + "返回error:" + error, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.ffffff")); writeLog(j + "xiazai返回rtn:" + rtn.ToString() + "返回error:" + error, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.ffffff")); } else { writeLog("可能是未找到文件rtn为空!尝试立即启动hou" + j, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.ffffff")); // subList[j], startTime, endTime j++; if (monoDebug == 2) { dataTimer.Change(Timeout.Infinite, -1); LineQuery(spa, spa + ts); dataTimer.Change((timeDraw * 60 * 1000), (timeDraw * 60 * 1000)); } // dataTimer.Change(Timeout.Infinite, 0); //dataTimer = new System.Threading.Timer(new TimerCallback(TimedEvent), null, 0, 0); // dataTimer = new System.Threading.Timer(new TimerCallback(TimedEvent), null, 0, (timeDraw * 60 * 1000)); //dataTimer.Change(Timeout.Infinite, -1); //LineQuery(spa, spa + ts); //// dataTimer.Change((timeDraw * 60 * 1000), (timeDraw * 60 * 1000)); //dataTimer.Change(Timeout.Infinite, 0); //dataTimer.Change(0, 0); // dataTimer.Change(0, 0); //dataTimer.Change(Timeout.Infinite, -1); //LineQuery(spa, spa + ts); //// dataTimer.Change((timeDraw * 60 * 1000), (timeDraw * 60 * 1000)); //dataTimer.Change(Timeout.Infinite, 0); } } catch (Exception ex) { writeLog("异常" + ex.ToString(), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.ffffff")); // throw; } }
private void LineQuery(DateTime startTime1, DateTime endTime1) { stw.Start(); int FRrtn = -1; string FRerror = ""; try { 录波采集测试工具.FaultRecordService.FaultRecordServiceService FRService = new FaultRecordService.FaultRecordServiceService(); 录波采集测试工具.FaultRecordService.time startTime = new FaultRecordService.time(); // tbxWaveStartTime.Text; 录波采集测试工具.FaultRecordService.time endTime = new FaultRecordService.time(); // tbxWaveStartTime.Text; 录波采集测试工具.FaultRecordService.faultRecordRtn FRfaultRecordRtn = new FaultRecordService.faultRecordRtn(); writeLog("采集数据开始", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.ffffff")); try { ConvertTime(startTime, startTime1); ConvertTime(endTime, endTime1); } catch (Exception ex) { writeLog("异常" + ex.ToString(), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.ffffff")); } // writeLog("***time类型 startTime" + startTime.ToString() + "endtime" + endTime.ToString(), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.ffffff")); if (j < subList.Count) { writeLog(j + "行199当前使用的参数值变电站名:" + subList[j] + "时间:starttime:" + startTime.year + startTime.month + startTime.day + startTime.hour + startTime.minute + startTime.second + "endtime::" + endTime.year + endTime.month + endTime.day + endTime.hour + endTime.minute + endTime.second, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.ffffff")); FRfaultRecordRtn = FRService.getFaultRecordByStationName(subList[j], startTime, endTime); //FRService.getFaultRecordByDeviceOneName(tbxdeviceOneName.Text, startTime, endTime); // FRService.getFaultRecordByStationName(tbxdeviceOneName.Text, startTime, endTime); //FRrtn = FRService.getFaultRecordByStationName(tbxdeviceOneName.Text, startTime, endTime).rtn; //FRerror = FRService.getFaultRecordByStationName(tbxdeviceOneName.Text, startTime, endTime).error; //FRfaultRecordRtn.faultRecords = FRService.getFaultRecordByStationName(tbxdeviceOneName.Text, startTime, endTime).faultRecords; FRrtn = FRfaultRecordRtn.rtn; FRerror = FRfaultRecordRtn.error; writeLog("行211rtn值" + FRrtn.ToString() + "fr错误信息" + FRerror.ToString() + j, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.ffffff")); // writeLog("确定数组个数"+FRfaultRecordRtn.faultRecords.Length.ToString(), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.ffffff")); if (FRfaultRecordRtn.faultRecords != null) { if (FRfaultRecordRtn.faultRecords.Length != 0) { for (int i = 0; i < FRfaultRecordRtn.faultRecords.Length; i++) { if (!String.IsNullOrEmpty(FRfaultRecordRtn.faultRecords[i].id.ToString())) { writeLog("faultRecords不为空,返回rtn:" + FRrtn.ToString() + "返回error:" + FRerror + "返回faultRecordRtn" + "编号" + FRfaultRecordRtn.faultRecords[i].id.ToString() + "一次设备名" + FRfaultRecordRtn.faultRecords[i].deviceOneName.ToString() + "故障时间毫秒值" + FRfaultRecordRtn.faultRecords[i].faultTime.month.ToString() + "主站名" + FRfaultRecordRtn.faultRecords[i].stationName.ToString() + "录波器名" + FRfaultRecordRtn.faultRecords[i].recorderName.ToString() + "故障相别" + FRfaultRecordRtn.faultRecords[i].phase.ToString() + "故障测距" + FRfaultRecordRtn.faultRecords[i].location.ToString(), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.ffffff")); if (FRfaultRecordRtn.faultRecords[i].recorderType == 0) {//主变不处理 //取编号进行下载文件 RecordDownload(FRfaultRecordRtn.faultRecords[i].id, "_comtrade.cfg"); RecordDownload(FRfaultRecordRtn.faultRecords[i].id, "_comtrade.dat"); this.label1.Text = "工作中》》》》》》》"; stw.Stop(); writeLog("采集数据结束,耗时 " + stw.Elapsed.Minutes + "分 " + stw.Elapsed.Seconds + "秒" + stw.Elapsed.Milliseconds + "毫秒。", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.ffffff")); stw = new Stopwatch();//需要重新计时? j++; } else { j++; writeLog("主", "变"); if (monoDebug == 2) { dataTimer.Change(Timeout.Infinite, -1); LineQuery(spa, spa + ts); // dataTimer.Change((timeDraw * 60 * 1000), (timeDraw * 60 * 1000)); dataTimer.Change((timeDraw * 60 * 1000), (timeDraw * 60 * 1000)); } else { } } } else { j++; writeLog("faultRecordsID为空,返回rtn:" + FRrtn.ToString() + "返回error:" + FRerror + "返回faultRecordRtn" + "编号" + FRfaultRecordRtn.faultRecords[i].id.ToString() + "一次设备名" + FRfaultRecordRtn.faultRecords[i].deviceOneName.ToString() + "故障时间毫秒值" + FRfaultRecordRtn.faultRecords[i].faultTime.month.ToString() + "主站名" + FRfaultRecordRtn.faultRecords[i].stationName.ToString() + "录波器名" + FRfaultRecordRtn.faultRecords[i].recorderName.ToString() + "故障相别" + FRfaultRecordRtn.faultRecords[i].phase.ToString() + "故障测距" + FRfaultRecordRtn.faultRecords[i].location.ToString(), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.ffffff")); if (monoDebug == 2) { dataTimer.Change(Timeout.Infinite, -1); LineQuery(spa, spa + ts); // dataTimer.Change((timeDraw * 60 * 1000), (timeDraw * 60 * 1000)); dataTimer.Change((timeDraw * 60 * 1000), (timeDraw * 60 * 1000)); } } } } else { j++; writeLog(j + "数组Length为空!变电站名:" + subList[j] + "时间:starttime:" + startTime.year + startTime.month + startTime.day + startTime.hour + startTime.minute + startTime.second + "endtime::" + endTime.year + endTime.month + endTime.day + endTime.hour + endTime.minute + endTime.second, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.ffffff")); // subList[j], startTime, endTime if (monoDebug == 2) { dataTimer.Change(Timeout.Infinite, -1); LineQuery(spa, spa + ts); // dataTimer.Change((timeDraw * 60 * 1000), (timeDraw * 60 * 1000)); dataTimer.Change((timeDraw * 60 * 1000), (timeDraw * 60 * 1000)); } //j++; } } else { writeLog(j + "FRfaultRecordRtn.faultRecords==null!变电站名:" + subList[j] + "时间:starttime:" + startTime.year + "/" + startTime.month + "/" + startTime.day + "/" + startTime.hour + "/" + startTime.minute + "/" + startTime.second + "endtime::" + endTime.year + "/" + endTime.month + "/" + endTime.day + "/" + endTime.hour + "/" + endTime.minute + "/" + endTime.second, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.ffffff")); // subList[j], startTime, endTime j++; if (monoDebug == 2) { dataTimer.Change(Timeout.Infinite, -1); LineQuery(spa, spa + ts); // dataTimer.Change((timeDraw * 60 * 1000), (timeDraw * 60 * 1000)); dataTimer.Change((timeDraw * 60 * 1000), (timeDraw * 60 * 1000)); } } } else if (j == subList.Count && spa < System.DateTime.Now) { spa = spa + ts; j = 0; if (FRfaultRecordRtn.faultRecords != null) { // dataTimer.Dispose(); // writeLog(j+ "尾部释放!尝试new立即启动" + j, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.ffffff")); // subList[j], startTime, endTime writeLog(j + "尾部!faultRecords不为空启动" + j, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.ffffff")); // subList[j], startTime, endTime dataTimer = new System.Threading.Timer(new TimerCallback(TimedEvent), null, 0, (timeDraw * 60 * 1000)); } else { if (monoDebug == 2) { writeLog("数组尾部faultRecords为空!尝试立即启动" + j, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.ffffff")); // subList[j], startTime, endTime dataTimer = new System.Threading.Timer(new TimerCallback(TimedEvent), null, 0, (timeDraw * 60 * 1000)); // dataTimer.Change(0, 0); //dataTimer.Change(Timeout.Infinite, -1); //LineQuery(spa, spa + ts); //// dataTimer.Change((timeDraw * 60 * 1000), (timeDraw * 60 * 1000)); //dataTimer.Change((timeDraw * 60 * 1000), (timeDraw * 60 * 1000)); } else { dataTimer = new System.Threading.Timer(new TimerCallback(TimedEvent), null, 0, (timeDraw * 60 * 1000)); } } } } catch (Exception ex) { writeLog("异常" + ex.ToString(), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.ffffff")); } // FRerror = FRService.getFaultRecordByDeviceOneName(tbxdeviceOneName.Text,,).error; //FaultRecordServiceService.getFaultRecordByDeviceOneName() }