public bool Insert(ConverterBaseEvent evt) { switch (evt.GetType().Name) { case "LanceEvent": { return InsertOrUpdateTrends((LanceEvent)evt); } case "OffGasAnalysisEvent": { return InsertOrUpdateTrends((OffGasAnalysisEvent) evt); } case "OffGasEvent": { return InsertOrUpdateTrends((OffGasEvent)evt); } case "BoilerWaterCoolingEvent": { return InsertOrUpdateTrends((BoilerWaterCoolingEvent)evt); } case "SlagOutburstEvent": { return InsertOrUpdateTrends((SlagOutburstEvent)evt); } case "IgnitionEvent": { return InsertOrUpdateTrends((IgnitionEvent)evt); } case "ModeLanceEvent": { return InsertOrUpdateTrends((ModeLanceEvent)evt); } case "ModeVerticalPathEvent": { return InsertOrUpdateTrends((ModeVerticalPathEvent)evt); } case "ConverterAngleEvent": { return InsertOrUpdateTrends((ConverterAngleEvent)evt); } case "CalculatedCarboneEvent": { return InsertOrUpdateTrends((CalculatedCarboneEvent)evt); } } return false; }
public void WriteLog(Int64 HeatNumber, ConverterBaseEvent cbEvent) { if (!Directory.Exists(Application.StartupPath + "\\log")) Directory.CreateDirectory(Application.StartupPath + "\\log"); FileStream fs = new FileStream("log\\" + HeatNumber + ".log", FileMode.Append); string str = DateTime.Now.ToString("HH:mm:ss") + " " + cbEvent.ToString() + "\n"; fs.Write(System.Text.Encoding.GetEncoding("x-cp1251").GetBytes(str), 0, str.Length); fs.Close(); fs.Dispose(); }
public bool Insert(ConverterBaseEvent evt) { var heatNumber = GetLastHeatNumber(OperationsId.HeatChangeEvent, evt.iCnvNr); if (heatNumber == "0" && evt.GetType().Name != "HeatChangeEvent") { return false;} var res = false; switch (evt.GetType().Name) { case "AdditionsEvent": { var e = (AdditionsEvent)evt; return true; } case "BlowingEvent": { var e = (BlowingEvent) evt; var start = GetLastOperationTime(OperationsId.BlowingEvent, e.iCnvNr, heatNumber, 1, 1); var end = GetLastOperationTime(OperationsId.BlowingEvent, e.iCnvNr, heatNumber, 0, 1); var period = start != DateTime.MinValue ? (e.Time - start).TotalSeconds : 0; if ((e.BlowingFlag == 1 && start == DateTime.MinValue) || (e.BlowingFlag == 0 && end == DateTime.MinValue && start != DateTime.MinValue)) { var param = new[] { e.BlowingFlag.ToString(), e.O2TotalVol.ToString(), period == 0 ? "" : period.ToString(), "1" }; res = InsertTelegrams(OperationsId.BlowingEvent, e.Time, e.iCnvNr, heatNumber, param); } break; } case "ReBlowingEvent": { var e = (ReBlowingEvent)evt; var start = GetLastOperationTime(OperationsId.BlowingEvent, e.iCnvNr, heatNumber, 1, 0); var end = GetLastOperationTime(OperationsId.BlowingEvent, e.iCnvNr, heatNumber, 0, 0); var period = start != DateTime.MinValue ? (e.Time - start).TotalSeconds : 0; if ((e.BlowingFlag == 1 && start == DateTime.MinValue) || (e.BlowingFlag == 0 && end == DateTime.MinValue && start != DateTime.MinValue)) { var param = new[] { e.BlowingFlag.ToString(), e.O2TotalVol.ToString(), period == 0 ? "" : period.ToString(), "0" }; res = InsertTelegrams(OperationsId.BlowingEvent, e.Time, e.iCnvNr, heatNumber, param); } break; } case "DeslaggingEvent": { var e = (DeslaggingEvent)evt; var start = GetLastOperationTime(OperationsId.DeslaggingEvent, e.iCnvNr, heatNumber, 1); var end = GetLastOperationTime(OperationsId.DeslaggingEvent, e.iCnvNr, heatNumber, 0); var period = start != DateTime.MinValue ? (e.Time - start).TotalSeconds : 0; if ((e.DeslaggingFlag == 1 && start == DateTime.MinValue) || (e.DeslaggingFlag == 0 && end == DateTime.MinValue && start != DateTime.MinValue)) { var param = new[] { e.DeslaggingFlag.ToString(), period == 0 ? "" : period.ToString() }; res = InsertTelegrams(OperationsId.DeslaggingEvent, e.Time, e.iCnvNr, heatNumber, param); } break; } case "HeatChangeEvent": { var e = (HeatChangeEvent)evt; var param = new[] { e.HeatNumber.ToString().Insert(2, "0") }; res = InsertTelegrams(OperationsId.HeatChangeEvent, e.Time, e.iCnvNr, heatNumber, param); break; } case "HeatingScrapEvent": { var e = (HeatingScrapEvent)evt; var start = GetLastOperationTime(OperationsId.HeatingScrapEvent, e.iCnvNr, heatNumber, 1); var end = GetLastOperationTime(OperationsId.HeatingScrapEvent, e.iCnvNr, heatNumber, 0); if ((e.HeatingScrapFlag == 1 && start == DateTime.MinValue) || (e.HeatingScrapFlag == 0 && end == DateTime.MinValue && start != DateTime.MinValue)) { var param = new[] { e.HeatingScrapFlag.ToString() }; res = InsertTelegrams(OperationsId.HeatingScrapEvent, e.Time, e.iCnvNr, heatNumber, param); } break; } case "HotMetalLadleEvent": { var e = (HotMetalLadleEvent)evt; if (e.MixerNumberPortion1 != 0) { var param = new[] { e.LadleNumber.ToString(), e.HotMetalTemperature.ToString(), e.MixerNumberPortion1.ToString(), e.WeightPortion1.ToString() }; res = InsertTelegrams(OperationsId.HotMetalLadleEvent, e.Time, e.iCnvNr, heatNumber, param) || res; } if (e.MixerNumberPortion2 != 0) { var param = new[] { e.LadleNumber.ToString(), e.HotMetalTemperature.ToString(), e.MixerNumberPortion2.ToString(), e.WeightPortion2.ToString() }; res = InsertTelegrams(OperationsId.HotMetalLadleEvent, e.Time, e.iCnvNr, heatNumber, param) || res; } if (e.MixerNumberPortion3 != 0) { var param = new[] { e.LadleNumber.ToString(), e.HotMetalTemperature.ToString(), e.MixerNumberPortion3.ToString(), e.WeightPortion3.ToString() }; res = InsertTelegrams(OperationsId.HotMetalLadleEvent, e.Time, e.iCnvNr, heatNumber, param) || res; } break; } case "HotMetalPouringEvent": { var e = (HotMetalPouringEvent)evt; var start = GetLastOperationTime(OperationsId.HotMetalPouringEvent, e.iCnvNr, heatNumber, 1); var end = GetLastOperationTime(OperationsId.HotMetalPouringEvent, e.iCnvNr, heatNumber, 0); if ((e.HotMetalPouringFlag == 1 && start == DateTime.MinValue) || (e.HotMetalPouringFlag == 0 && end == DateTime.MinValue && start != DateTime.MinValue)) { var param = new[] { e.HotMetalPouringFlag.ToString() }; res = InsertTelegrams(OperationsId.HotMetalPouringEvent, e.Time, e.iCnvNr, heatNumber, param); } break; } case "IgnitionEvent": { var e = (IgnitionEvent)evt; if (e.O2IgnitionVol != 0) { var param = new[] { e.O2IgnitionVol.ToString() }; res = InsertTelegrams(OperationsId.IgnitionEvent, e.Time, e.iCnvNr, heatNumber, param); } break; } case "ResetO2TotalVolEvent": { var e = (ResetO2TotalVolEvent)evt; var param = new[] { e.O2TotalVol.ToString() }; res = InsertTelegrams(OperationsId.ResetO2TotalVolEvent, e.Time, e.iCnvNr, heatNumber, param); break; } case "ScrapChargingEvent": { var e = (ScrapChargingEvent)evt; var start = GetLastOperationTime(OperationsId.ScrapChargingEvent, e.iCnvNr, heatNumber, 1); var end = GetLastOperationTime(OperationsId.ScrapChargingEvent, e.iCnvNr, heatNumber, 0); if ((e.ScrapChargingFlag == 1 && start == DateTime.MinValue) || (e.ScrapChargingFlag == 0 && end == DateTime.MinValue && start != DateTime.MinValue)) { var param = new[] { e.ScrapChargingFlag.ToString() }; res = InsertTelegrams(OperationsId.ScrapChargingEvent, e.Time, e.iCnvNr, heatNumber, param); } break; } case "ScrapEvent": { var e = (ScrapEvent)evt; if (e.ScrapType1 != 0) { var param = new[] { e.BucketNumber.ToString(), e.ScrapType1.ToString(), e.Weight1.ToString() }; res = InsertTelegrams(OperationsId.ScrapEvent, e.Time, e.iCnvNr, heatNumber, param) || res; } if (e.ScrapType2 != 0) { var param = new[] { e.BucketNumber.ToString(), e.ScrapType2.ToString(), e.Weight2.ToString() }; res = InsertTelegrams(OperationsId.ScrapEvent, e.Time, e.iCnvNr, heatNumber, param) || res; } if (e.ScrapType3 != 0) { var param = new[] { e.BucketNumber.ToString(), e.ScrapType3.ToString(), e.Weight3.ToString() }; res = InsertTelegrams(OperationsId.ScrapEvent, e.Time, e.iCnvNr, heatNumber, param) || res; } if (e.ScrapType4 != 0) { var param = new[] { e.BucketNumber.ToString(), e.ScrapType4.ToString(), e.Weight4.ToString() }; res = InsertTelegrams(OperationsId.ScrapEvent, e.Time, e.iCnvNr, heatNumber, param) || res; } if (e.ScrapType5 != 0) { var param = new[] { e.BucketNumber.ToString(), e.ScrapType5.ToString(), e.Weight5.ToString() }; res = InsertTelegrams(OperationsId.ScrapEvent, e.Time, e.iCnvNr, heatNumber, param) || res; } if (e.ScrapType6 != 0) { var param = new[] { e.BucketNumber.ToString(), e.ScrapType6.ToString(), e.Weight6.ToString() }; res = InsertTelegrams(OperationsId.ScrapEvent, e.Time, e.iCnvNr, heatNumber, param) || res; } if (e.ScrapType7 != 0) { var param = new[] { e.BucketNumber.ToString(), e.ScrapType7.ToString(), e.Weight7.ToString() }; res = InsertTelegrams(OperationsId.ScrapEvent, e.Time, e.iCnvNr, heatNumber, param) || res; } if (e.ScrapType8 != 0) { var param = new[] { e.BucketNumber.ToString(), e.ScrapType8.ToString(), e.Weight8.ToString() }; res = InsertTelegrams(OperationsId.ScrapEvent, e.Time, e.iCnvNr, heatNumber, param) || res; } break; } case "SlagBlowingEvent": { var e = (SlagBlowingEvent)evt; var start = GetLastOperationTime(OperationsId.SlagBlowingEvent, e.iCnvNr, heatNumber, 1); var end = GetLastOperationTime(OperationsId.SlagBlowingEvent, e.iCnvNr, heatNumber, 0); if ((e.SlagBlowingFlag == 1 && start == DateTime.MinValue) || (e.SlagBlowingFlag == 0 && end == DateTime.MinValue && start != DateTime.MinValue)) { var param = new[] { e.SlagBlowingFlag.ToString(), e.NVol.ToString() }; res = InsertTelegrams(OperationsId.SlagBlowingEvent, e.Time, e.iCnvNr, heatNumber, param); } break; } case "SublanceStartEvent": { var e = (SublanceStartEvent)evt; var start = GetLastOperationTime(OperationsId.SublanceStartEvent, e.iCnvNr, heatNumber, 1); var end = GetLastOperationTime(OperationsId.SublanceStartEvent, e.iCnvNr, heatNumber, 0); if ((e.SublanceStartFlag == 1 && start == DateTime.MinValue) || (e.SublanceStartFlag == 0 && end == DateTime.MinValue && start != DateTime.MinValue)) { var param = new[] { e.SublanceStartFlag.ToString() }; res = InsertTelegrams(OperationsId.SublanceStartEvent, e.Time, e.iCnvNr, heatNumber, param); } break; } case "SublanceCEvent": { var e = (SublanceCEvent)evt; if (e.C != 0) { var param = new[] {e.C.ToString()}; res = InsertTelegrams(OperationsId.SublanceCarbonEvent, e.Time, e.iCnvNr, heatNumber, param); } break; } case "SublanceOxidationEvent": { var e = (SublanceOxidationEvent)evt; var start = GetLastOperationTime(OperationsId.SublanceStartEvent, e.iCnvNr, heatNumber, 1); var end = GetLastOperationTime(OperationsId.SublanceStartEvent, e.iCnvNr, heatNumber, 0); if (e.O2InSteel != 0 && end == DateTime.MinValue && start != DateTime.MinValue) { var param = new[] { e.O2InSteel.ToString() }; res = InsertTelegrams(OperationsId.SublanceOxidationEvent, e.Time, e.iCnvNr, heatNumber, param); } break; } case "SublanceTemperatureEvent": { var e = (SublanceTemperatureEvent)evt; var start = GetLastOperationTime(OperationsId.SublanceStartEvent, e.iCnvNr, heatNumber, 1); var end = GetLastOperationTime(OperationsId.SublanceStartEvent, e.iCnvNr, heatNumber, 0); if (e.SublanceTemperature != 0 && end == DateTime.MinValue && start != DateTime.MinValue) { var param = new[] { e.SublanceTemperature.ToString() }; res = InsertTelegrams(OperationsId.SublanceTemperatureEvent, e.Time, e.iCnvNr, heatNumber, param); } break; } case "TappingEvent": { var e = (TappingEvent)evt; var start = GetLastOperationTime(OperationsId.TappingEvent, e.iCnvNr, heatNumber, 1); var end = GetLastOperationTime(OperationsId.TappingEvent, e.iCnvNr, heatNumber, 0); var period = start != DateTime.MinValue ? (e.Time - start).TotalSeconds : 0; if ((e.TappingFlag == 1 && start == DateTime.MinValue) || (e.TappingFlag == 0 && end == DateTime.MinValue && start != DateTime.MinValue)) { var param = new[] { e.TappingFlag.ToString(), period == 0 ? "" : period.ToString() }; res = InsertTelegrams(OperationsId.TappingEvent, e.Time, e.iCnvNr, heatNumber, param); } break; } } return res; }