Пример #1
0
        public void TestSeclureCloudStorge()
        {
            var st = new SeclureCloudStorge();
            var r  = new DACTaskResult();
            var s  = NewSensor(ProtocolType.Voltage, SafetyFactor.DeformationCrack);

            s.FactorTypeTable = "T_THEMES_DEFORMATION_CRACK";
            ISensorData d = new VoltageData(0.2, 2.5)
            {
                //AcqTime = DateTime.Now,
                //ResultCode = 0,
                //Sensor = s
            };

            r.AddSensorResult(new SensorAcqResult
            {
                ErrorCode = (int)Errors.SUCCESS,
                Data      = d,
                Sensor    = s
            });

            s = NewSensor(ProtocolType.Pressure_MPM, SafetyFactor.Seepage);
            s.FactorTypeTable = "T_THEMES_ENVI_SEEPAGE";
            d = new SeepageData(23)
            {
                //AcqTime = DateTime.Now,
                //ResultCode = 0,
                //Sensor = s
            };
            r.AddSensorResult(new SensorAcqResult
            {
                ErrorCode = (int)Errors.SUCCESS,
                Data      = d,
                Sensor    = s
            });

            s = NewSensor(ProtocolType.Pressure_MPM, SafetyFactor.StressStrainPoreWaterPressure);
            s.FactorTypeTable = "T_THEMES_STRESS_STRAIN_PORE_WATER_PRESSURE";
            d = new PressureData(23, 23)
            {
                //AcqTime = DateTime.Now,
                //ResultCode = 0,
                //Sensor = s
            };
            r.AddSensorResult(new SensorAcqResult
            {
                ErrorCode = (int)Errors.SUCCESS,
                Data      = d,
                Sensor    = s
            });
            r.Finished = DateTime.Now;
            r.Task     = new DACTask()
            {
                DtuID = 2,
            };
            r.DtuCode = "20150202";
            st.ProcessResult(r);
        }
Пример #2
0
        public void TestStressStrainPoreWaterPressureDataSerializer()
        {
            DACTaskResult r  = new DACTaskResult();
            var           s1 = NewSensor(ProtocolType.Pressure_MPM, SafetyFactor.StressStrainPoreWaterPressure);

            s1.FactorTypeTable = "T_THEMES_STRESS_STRAIN_PORE_WATER_PRESSURE";
            var d = new PressureData(23, 23)
            {
                //AcqTime = DateTime.Now,
                //ResultCode = 0,
                //Sensor = s1
            };

            r.AddSensorResult(new SensorAcqResult
            {
                Data      = d,
                ErrorCode = (int)Errors.SUCCESS,
                Sensor    = s1
            });
            r.Finished = DateTime.Now;
            int savedCnt = msDbAccessor.SaveDacResult(r);

            Assert.AreEqual(1, savedCnt);

            DACTaskResult r2 = new DACTaskResult();
            var           s2 = NewSensor(ProtocolType.VibratingWire, SafetyFactor.StressStrainPoreWaterPressure);

            s2.FactorTypeTable = "T_THEMES_STRESS_STRAIN_PORE_WATER_PRESSURE";
            var d2 = new VibratingWireData(1869, 25, 18, 18)
            {
                //AcqTime = DateTime.Now,
                //ResultCode = 0,
                //Sensor = s2
            };

            r2.AddSensorResult(new SensorAcqResult
            {
                ErrorCode = (int)Errors.SUCCESS,
                Data      = d2,
                Sensor    = s2
            });
            r2.Finished = DateTime.Now;
            savedCnt    = msDbAccessor.SaveDacResult(r2);
            Assert.AreEqual(1, savedCnt);
        }
Пример #3
0
        public void TestDeformationBridgeDeflectionDataSerializer()
        {
            var r  = new DACTaskResult();
            var s1 = NewSensor(ProtocolType.Pressure_MPM, SafetyFactor.DeformationBridgeDeflection);
            var d  = new PressureData(23, 23)
            {
                ////AcqTime = DateTime.Now,
                //ResultCode = 0,
                //Sensor = s1
            };

            r.AddSensorResult(new SensorAcqResult
            {
                Data   = d,
                Sensor = s1
            });

            int savedCnt = sqLiteDbAccessor.SaveDacResult(r);

            Assert.AreEqual(1, savedCnt);
        }
Пример #4
0
        public void TestLogErrorData()
        {
            var r  = new DACTaskResult();
            var s1 = NewSensor(ProtocolType.Pressure_MPM, SafetyFactor.StressStrainPoreWaterPressure);

            s1.FactorTypeTable = "T_THEMES_STRESS_STRAIN_PORE_WATER_PRESSURE";
            var d = new PressureData(23, 23)
            {
                //AcqTime = DateTime.Now,
                //ResultCode = 0,
                //Sensor = s1
            };

            r.AddSensorResult(new SensorAcqResult
            {
                ErrorCode = (int)Errors.SUCCESS,
                Data      = d,
                Sensor    = s1
            });
            r.Finished = DateTime.Now;
            Assert.IsTrue(msDbAccessor.LogErrorData(r.SensorResults[0]));
        }
Пример #5
0
        public void TestStressStrainPoreWaterPressureDataSerializer()
        {
            DACTaskResult r  = new DACTaskResult();
            var           s1 = NewSensor(ProtocolType.Pressure_MPM, SafetyFactor.StressStrainPoreWaterPressure);
            var           d  = new PressureData(23, 23)
            {
                //AcqTime = DateTime.Now,
                //ResultCode = 0,
                //Sensor = s1
            };

            r.AddSensorResult(new SensorAcqResult
            {
                Data   = d,
                Sensor = s1
            });

            int savedCnt = sqLiteDbAccessor.SaveDacResult(r);

            Assert.AreEqual(1, savedCnt);

            DACTaskResult r2 = new DACTaskResult();
            var           s2 = NewSensor(ProtocolType.VibratingWire, SafetyFactor.StressStrainPoreWaterPressure);
            var           d2 = new VibratingWireData(1869, 25, 18, 18)
            {
                //AcqTime = DateTime.Now,
                //ResultCode = 0,
                //Sensor = s2
            };

            r2.AddSensorResult(new SensorAcqResult
            {
                Data   = d2,
                Sensor = s2
            });
            savedCnt = sqLiteDbAccessor.SaveDacResult(r2);
            Assert.AreEqual(1, savedCnt);
        }
Пример #6
0
        public void TestDeformationBridgeDeflectionDataSerializer()
        {
            var r  = new DACTaskResult();
            var s1 = NewSensor(ProtocolType.Pressure_MPM, SafetyFactor.DeformationBridgeDeflection);

            s1.FactorTypeTable = "T_THEMES_DEFORMATION_SETTLEMENT";
            var d = new PressureData(23, 23)
            {
                //AcqTime = DateTime.Now,
                //ResultCode = 0,
                //Sensor = s1
            };

            r.AddSensorResult(new SensorAcqResult
            {
                Data      = d,
                ErrorCode = (int)Errors.SUCCESS,
                Sensor    = s1
            });
            r.Finished = DateTime.Now;
            int savedCnt = msDbAccessor.SaveDacResult(r);

            Assert.AreEqual(1, savedCnt);
        }
Пример #7
0
        public static (TemperatureData, WindSpeedData, PressureData) GetWeatherData(GPS gps)
        {
            WebRequest  request  = WebRequest.Create($"https://api.met.no/weatherapi/locationforecast/1.9/?lat={gps.Latitude}&lon={gps.Longitude}");
            WebResponse response = request.GetResponse();
            XmlDocument xdoc     = new XmlDocument();

            xdoc.LoadXml(GetResponseString(response));
            XmlNode    el          = xdoc["weatherdata"]["product"].FirstChild["location"];
            XmlElement temperature = el["temperature"];
            XmlElement windSpeed   = el["windSpeed"];
            XmlElement pressure    = el["pressure"];

            TemperatureData tData = new TemperatureData {
                Temperature = double.Parse(temperature.GetAttribute("value")), Units = temperature.GetAttribute("unit")[0].ToString().ToUpper()
            };
            WindSpeedData wsData = new WindSpeedData {
                MPS = double.Parse(windSpeed.GetAttribute("mps"))
            };
            PressureData pData = new PressureData {
                Pressure = double.Parse(pressure.GetAttribute("value")), Units = pressure.GetAttribute("unit")
            };

            return(tData, wsData, pData);
        }
Пример #8
0
        //如果为空写入空的字符串即可。jqgrid的要求。
        public IEnumerable <PressureData> GetPressureAna()
        {
            int i = 1;

            string[]            sensor = { "设定压力", "进口压力", "出口压力" };
            List <PressureData> list   = new List <PressureData>();
            //查询分区名称、站点名称、编号
            DataTable dt = MySqlHelper.ExecuteDataTable("select 分区名称,站点名称,编号 from stations where IsDeleted = '0';");

            foreach (DataRow dr in dt.Rows)
            {
                for (int j = 0; j < 3; j++)
                {
                    PressureData pd = new PressureData();
                    pd.Id        = i;
                    pd.分区名称      = dr["分区名称"].ToString();
                    pd.站点名称      = dr["站点名称"].ToString();
                    pd.Tablename = "pumproom" + dr["编号"].ToString();
                    pd.感器        = sensor[j];
                    pd.时间        = "";
                    list.Add(pd);
                    i++;
                }
            }

            //后面查询并计算各种平均值,然后补充到list当中
            for (int k = 0; k < list.Count; k++)
            {
                //string tablename = list[k].Tablename;
                //先查询最大压力及时间
                DataTable dt1 = MySqlHelper.ExecuteDataTable("select " + list[k].感器 + ",时间 from " + list[k].Tablename + " where to_days(时间)=to_days(now()) order by " + list[k].感器 + " desc limit 1 ;");
                if (dt1.Rows.Count == 0)
                {
                    list[k].今日最高 = "";
                    list[k].时间1  = "";
                }
                else
                {
                    list[k].今日最高 = dt1.Rows[0][list[k].感器.ToString()].ToString();
                    list[k].时间1  = dt1.Rows[0]["时间"].ToString();
                }
                DataTable dt2 = MySqlHelper.ExecuteDataTable("select " + list[k].感器 + ",时间 from " + list[k].Tablename + " where to_days(时间)=to_days(now()) order by " + list[k].感器 + " asc limit 1 ;");
                if (dt2.Rows.Count == 0)
                {
                    list[k].今日最低 = "";
                    list[k].时间2  = "";
                }
                else
                {
                    list[k].今日最低 = dt2.Rows[0][list[k].感器.ToString()].ToString();
                    list[k].时间2  = dt2.Rows[0]["时间"].ToString();
                }
                DataTable dt3 = MySqlHelper.ExecuteDataTable("select " + list[k].感器 + ",时间 from " + list[k].Tablename + " where to_days(now())-to_days(时间)=1 order by " + list[k].感器 + " desc limit 1 ;");
                if (dt3.Rows.Count == 0)
                {
                    list[k].昨日最高 = "";
                    list[k].时间3  = "";
                }
                else
                {
                    list[k].昨日最高 = dt3.Rows[0][list[k].感器.ToString()].ToString();
                    list[k].时间3  = dt3.Rows[0]["时间"].ToString();
                }
                DataTable dt4 = MySqlHelper.ExecuteDataTable("select " + list[k].感器 + ",时间 from " + list[k].Tablename + " where to_days(now())-to_days(时间)=1 order by " + list[k].感器 + " asc limit 1 ;");
                if (dt4.Rows.Count == 0)
                {
                    list[k].昨日最低 = "";
                    list[k].时间4  = "";
                }
                else
                {
                    list[k].昨日最低 = dt4.Rows[0][list[k].感器.ToString()].ToString();
                    list[k].时间4  = dt4.Rows[0]["时间"].ToString();
                }
                DataTable dt5 = MySqlHelper.ExecuteDataTable("select avg(" + list[k].感器.ToString() + ") as 昨日平均 from " + list[k].Tablename + " where to_days(now())-to_days(时间)=1;");
                if (dt5.Rows.Count == 0)
                {
                    list[k].昨日平均 = "";
                }
                else
                {
                    list[k].昨日平均 = dt5.Rows[0]["昨日平均"].ToString();
                }
                DataTable dt6 = MySqlHelper.ExecuteDataTable("select avg(" + list[k].感器.ToString() + ") as 今日平均 from " + list[k].Tablename + " where to_days(时间)=to_days(now());");
                if (dt6.Rows.Count == 0)
                {
                    list[k].今日平均 = "";
                }
                else
                {
                    list[k].今日平均 = dt6.Rows[0]["今日平均"].ToString();
                }
                DataTable dt7 = MySqlHelper.ExecuteDataTable("select " + list[k].感器 + " as 压力, 时间  from " + list[k].Tablename + " order by 时间 desc limit 1;");
                if (dt7.Rows.Count == 0)
                {
                    list[k].压力 = "";
                    list[k].时间 = "";
                }
                else
                {
                    list[k].压力 = dt7.Rows[0]["压力"].ToString();
                    list[k].时间 = dt7.Rows[0]["时间"].ToString();
                    //list[k].压力 = "123";
                    //list[k].上传时间 = "123";
                }
                //list[k].压力 = "123";
                //list[k].上传时间 = "123";
            }
            return(list);
        }