diff --git a/Ems.CollectService.Analysis/BufferAnalysis.cs b/Ems.CollectService.Analysis/BufferAnalysis.cs index 98e721c..204cadd 100644 --- a/Ems.CollectService.Analysis/BufferAnalysis.cs +++ b/Ems.CollectService.Analysis/BufferAnalysis.cs @@ -1,5 +1,6 @@ using Ems.CollectService.Common; using Ems.CollectService.Entity; +using Ems.CollectService.Entity.config; using Ems.CollectService.Entity.dto; using Ems.CollectService.SqlSugarCore; using NetTaste; @@ -21,6 +22,8 @@ namespace Ems.CollectService.Analysis private MsgUtil msgUtil = MsgUtil.Instance; + private AppConfig appConfig = AppConfig.Instance; + //private SqlSugarClient baseService = SqlGenerator.GetMySqlInstance(); private static readonly Lazy lazy = new Lazy(() => new BufferAnalysis()); @@ -247,7 +250,7 @@ namespace Ems.CollectService.Analysis if (double.IsNaN(f_UA)) { //此处判断a为NaN - recordDnbInstant.vA = 0; + recordDnbInstant.vA = appConfig.virtualValue; } else { @@ -441,12 +444,35 @@ namespace Ems.CollectService.Analysis logger.Info($"仪表:{recordDnbInstant.monitorId};解析完成数据:{logInfoStr}"); recordDnbInstant.collectType = collectType; recordDnbInstant.recordTime = DateTime.Now; - //var info = await baseService.Insertable(recordDnbInstant).ExecuteCommandAsync(); - var info = SqlSugarHelper.Db.Insertable(recordDnbInstant).ExecuteCommand(); - if (info > 0) + + if (appConfig.virtualFlag) + { + if (recordDnbInstant.vA != appConfig.virtualValue) + { + var info = SqlSugarHelper.Db.Insertable(recordDnbInstant).ExecuteCommand(); + if (info > 0) + { + logger.Info($"仪表:{recordDnbInstant.monitorId}数据保存成功"); + } + } + else + { + logger.Info($"仪表:{recordDnbInstant.monitorId}存在FFFF值不保存该条数据"); + } + } + else { - logger.Info($"仪表:{recordDnbInstant.monitorId}数据保存成功"); + + recordDnbInstant.vA = recordDnbInstant.vA == appConfig.virtualValue ? 0 : recordDnbInstant.vA; + + var info = SqlSugarHelper.Db.Insertable(recordDnbInstant).ExecuteCommand(); + if (info > 0) + { + logger.Info($"仪表:{recordDnbInstant.monitorId}数据保存成功"); + } } + + } iFirstMeterID += 70; }//end for @@ -611,7 +637,7 @@ namespace Ems.CollectService.Analysis logInfoStr += $";瞬时流值:{f_FluxInstantValue}"; if (float.IsNaN(f_FluxInstantValue)) { - recordWaterInstant.fluxFlow = 0; + recordWaterInstant.fluxFlow = appConfig.virtualValue; } else @@ -714,13 +740,34 @@ namespace Ems.CollectService.Analysis logger.Info($"仪表:{recordWaterInstant.monitorId};解析完成数据:{logInfoStr}"); recordWaterInstant.collectType = collectType; recordWaterInstant.recordTime = DateTime.Now; - //var info = await baseService.Insertable(recordWaterInstant).ExecuteCommandAsync(); + if (appConfig.virtualFlag) + { + if (recordWaterInstant.fluxFlow != appConfig.virtualValue) + { + - var info = SqlSugarHelper.Db.Insertable(recordWaterInstant).ExecuteCommand(); - if (info > 0) + var info = SqlSugarHelper.Db.Insertable(recordWaterInstant).ExecuteCommand(); + if (info > 0) + { + logger.Info($"仪表:{recordWaterInstant.monitorId}数据保存成功"); + } + } + else + { + logger.Info($"仪表:{recordWaterInstant.monitorId}存在FFFF值不保存该条数据"); + } + } + else { - logger.Info($"仪表:{recordWaterInstant.monitorId}数据保存成功"); + recordWaterInstant.fluxFlow = recordWaterInstant.fluxFlow == appConfig.virtualValue ? 0 : recordWaterInstant.fluxFlow; + var info = SqlSugarHelper.Db.Insertable(recordWaterInstant).ExecuteCommand(); + if (info > 0) + { + logger.Info($"仪表:{recordWaterInstant.monitorId}数据保存成功"); + } } + + } iFirstMeterID += 58; }//end for diff --git a/Ems.CollectService.Entity/config/AppConfig.cs b/Ems.CollectService.Entity/config/AppConfig.cs index 57d48f4..fbad0f2 100644 --- a/Ems.CollectService.Entity/config/AppConfig.cs +++ b/Ems.CollectService.Entity/config/AppConfig.cs @@ -45,5 +45,17 @@ namespace Ems.CollectService.Entity.config get { return iNIFile.IniReadValue("SystemConfig", "mysqlConnStr"); } set { iNIFile.IniWriteValue("SystemConfig", "mysqlConnStr", value.ToString()); } } + + public decimal virtualValue + { + get { return Convert.ToDecimal(iNIFile.IniReadValue("SystemConfig", "virtualValue")); } + set { iNIFile.IniWriteValue("SystemConfig", "virtualValue", value.ToString()); } + } + + public bool virtualFlag + { + get { return iNIFile.IniReadValue("SystemConfig", "virtualFlag") == "是" ? true : false; } + set { iNIFile.IniWriteValue("SystemConfig", "virtualFlag", value == true ? "是" : "否"); } + } } }