Пример #1
0
        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);
        }
Пример #2
0
        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());
        }
Пример #3
0
        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");
            }
        }
Пример #4
0
        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");
            }
        }
Пример #5
0
        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");
            }
        }
Пример #6
0
        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);
        }
Пример #7
0
        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);
        }
Пример #8
0
        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);
            }
        }
Пример #9
0
        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");
        }
Пример #10
0
        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");
        }
Пример #11
0
        public void TestValidWindowvalueNull()
        {
            var window = new ValidateWindow();

            window.ProcessValue(null);
        }