public void TestValidWindow() { var window = new ValidateWindow(); for (int i = 0; i < window.WindowSize; i++) { window.ProcessValue(new AnalysisValue(100)); } var value = new AnalysisValue(100); window.ProcessValue(value); Assert.AreEqual(true, value.IsValid); Assert.AreEqual(100, value.ValidValue); }
public void TestWindowToString() { var window = new ValidateWindow(); Console.WriteLine(window.ToString()); for (int i = 0; i < window.WindowSize; i++) { window.ProcessValue(new AnalysisValue(100.0003m)); } var value = new AnalysisValue(100); window.ProcessValue(value); Console.WriteLine(window.ToString()); }
public void TestSettlement1568() { var config = new ConfigInfo() { WindowSize = 50, KThreshold = 0.4m, DiscreteThreshold = 10, ReCalcRValueThreshold = 30, IsOpenWindow = true }; var window = new ValidateWindow(config); string cs = "server=192.168.1.30;database=DW_iSecureCloud_Empty21;uid=sa;pwd=Windows2008;pooling=false"; ISqlHelper sqlHelper = SqlHelperFactory.Create(DbType.MSSQL, cs); string sql = string.Format( @"Select top 1000 [SETTLEMENT_VALUE] as orginDatas from [T_THEMES_DEFORMATION_SETTLEMENT] where SENSOR_ID =1568 order by [ACQUISITION_DATETIME] "); sqlHelper.ExecuteSql(sql); DataTable dt = sqlHelper.Query(sql).Tables[0]; foreach (DataRow item in dt.Rows) { var value = new AnalysisValue(Convert.ToDecimal(item[0])); window.ProcessValue(value); //Console.Write(value.ValidValue + "\n"); } }
public void TestThemeValueFormDb11() { var config = new ConfigInfo() { WindowSize = 40, KThreshold = 0.2m, DiscreteThreshold = 10, ReCalcRValueThreshold = 30, IsOpenWindow = true }; var window = new ValidateWindow(config); //查数据 ,循环处理 string cs = "server=192.168.1.250;database=DW_iSecureCloud_Empty;uid=sa;pwd=Fas123_;pooling=false"; ISqlHelper sqlHelper = SqlHelperFactory.Create(DbType.MSSQL, cs); string sql = string.Format(@" select top 2000 [DEEP_DISPLACEMENT_X_VALUE] as orginDatas from [T_THEMES_DEFORMATION_DEEP_DISPLACEMENT] where SENSOR_ID =34 "); sqlHelper.ExecuteSql(sql); DataTable dt = sqlHelper.Query(sql).Tables[0]; foreach (DataRow item in dt.Rows) { var value = new AnalysisValue(Convert.ToDecimal(item[0])); window.ProcessValue(value); // Console.Write(value.ValidValue + "\n"); } }
public void TestThemeValueFormDb2() { var config = new ConfigInfo() { WindowSize = 30, KThreshold = 0.5m, DiscreteThreshold = 15, ReCalcRValueThreshold = 25, IsOpenWindow = true }; var window = new ValidateWindow(config); //查数据 ,循环处理 string cs = "server=192.168.1.250;database=DW_iSecureCloud_Empty;uid=sa;pwd=Fas123_;pooling=false"; ISqlHelper sqlHelper = SqlHelperFactory.Create(DbType.MSSQL, cs); string sql = string.Format(@" select top 2000 * from ( select (case when [DEFLECTION_VALUE] > 20 or [DEFLECTION_VALUE] < 0 then NULL else [DEFLECTION_VALUE] end) as orginDatas from [T_THEMES_DEFORMATION_BRIDGE_DEFLECTION] where SENSOR_ID =100) t where t.orginDatas is not null"); sqlHelper.ExecuteSql(sql); DataTable dt = sqlHelper.Query(sql).Tables[0]; //print value foreach (DataRow item in dt.Rows) { var value = new AnalysisValue(Convert.ToDecimal(item[0])); window.ProcessValue(value); //Console.Write(value.ValidValue + "\n"); } }
public void TestValidWindow1() { var window = new ValidateWindow(); var values2 = new decimal[] { 2, 2.7m, 11, 0.5m, 6.9m, 11.88m, 4, 5.8m, 44, 63, 25.7m, 44, 11, 23, 35, 444, 2, 22, 1, 3, 0, -0.6m, -9, -11, 66, 45, 33, 21, 31, 29, 54, -8.9m, 3, 6, 9, 8, 10, 11, 21, 14, 16, 17, 19, 21, 11, 13, 23, 1, 3, 8 }; for (int i = 0; i < window.WindowSize; i++) { window.ProcessValue(new AnalysisValue(values2[i])); } var value = new AnalysisValue(500); window.ProcessValue(value); Assert.AreEqual(true, value.IsValid); Assert.AreEqual(500, value.ValidValue); }
public void TestValidWindowClosed() { var config = new ConfigInfo() { WindowSize = 50, KThreshold = 0.01m, DiscreteThreshold = 10, ReCalcRValueThreshold = 25, IsOpenWindow = false }; var window = new ValidateWindow(config); for (int i = 0; i < 50; i++) { window.ProcessValue(new AnalysisValue(100)); //稳定数据 } var value = new AnalysisValue(500); window.ProcessValue(value); Assert.AreEqual(500, value.RawValue); }
public void TestValidWindowReClacR() { var window = new ValidateWindow(); for (int i = 0; i < window.WindowSize; i++) { window.ProcessValue(new AnalysisValue(100)); //稳定数据 Console.Write(100 + "\n"); } const int size = 100; AnalysisValue value = null; for (int i = 0; i < size; i++) { value = new AnalysisValue(500); window.ProcessValue(value); Console.Write(value.ValidValue + "\n"); } Assert.AreEqual(true, value != null && value.IsValid); if (value != null) { Assert.AreEqual(500, value.ValidValue); } }
public static void GetGuangfuTest(Item item) { ISqlHelper sqlHelper = SqlHelperFactory.Create(DbType.MSSQL, item.ConnectionString); string sql = string.Format( @"Select [{0}] as orginDatas from [{1}] where SensorId ={2} and [CollectTime]>'2015-01-13 00:13:08.000' order by [CollectTime] ", item.FiledName, item.TableName, item.SensorId); sqlHelper.ExecuteSql(sql); var dt = sqlHelper.Query(sql).Tables[0]; var workbook = new Workbook(); var worksheet = workbook.Worksheets[0]; worksheet.Name = item.ToString(); var cells = worksheet.Cells; var j = 1; //column var z = 0; cells[0, 0].PutValue("基点2"); const decimal firstValue = 5.4055m; foreach (DataRow row in dt.Rows) { z++; var value = new AnalysisValue((Convert.ToDecimal(row[0]) - firstValue) * 100); cells[z, 0].PutValue(value.RawValue); } foreach (var config in item.Configs) { var k = 1; //row var window = new ValidateWindow(config); foreach (DataRow row in dt.Rows) { var value = new AnalysisValue((Convert.ToDecimal(row[0]) - firstValue) * 100); window.ProcessValue(value); cells[k, j].PutValue(value.ValidValue); k++; } cells[0, j].PutValue(config.ToString()); j++; } workbook.Save(item.ToString() + ".xls"); }
public static void ProcessItem(Item item) { ISqlHelper sqlHelper = SqlHelperFactory.Create(DbType.MSSQL, item.ConnectionString); string sql = string.Format( @"Select [{0}] as orginDatas from [{1}] where SENSOR_ID ={2} and [ACQUISITION_DATETIME]>'2014-12-24 22:36:00.000' order by [ACQUISITION_DATETIME] ", item.FiledName, item.TableName, item.SensorId); sqlHelper.ExecuteSql(sql); var dt = sqlHelper.Query(sql).Tables[0]; var workbook = new Workbook(); var worksheet = workbook.Worksheets[0]; worksheet.Name = item.ToString(); var cells = worksheet.Cells; var j = 1; //column var z = 0; cells[0, 0].PutValue("orgin"); foreach (DataRow row in dt.Rows) { z++; var value = new AnalysisValue(Convert.ToDecimal(row[0])); cells[z, 0].PutValue(value.RawValue); } foreach (var config in item.Configs) { var k = 1; //row var window = new ValidateWindow(config); foreach (DataRow row in dt.Rows) { var value = new AnalysisValue(Convert.ToDecimal(row[0])); window.ProcessValue(value); cells[k, j].PutValue(value.ValidValue); k++; } cells[0, j].PutValue(config.ToString()); j++; } workbook.Save(item.ToString() + ".xls"); }
public void TestValidWindowvalueNull() { var window = new ValidateWindow(); window.ProcessValue(null); }