123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197 |
- /**
- * 气象站
- */
- var mongoose = require("./mongodb");
- var Schema = mongoose.Schema;
- var moment=require('moment');
- var stationSchema = new Schema(
- {
- ENTERPRISE_CODE:{type:String,default:'',index:true},//统一社会信用代码
- ENTERPRISE_NAME:{type:String,default:'',index:true},//企业名称
- DeviceId:{type:String, unique: true},//设备ID
- TYPE:{type:Number,default:1},//设备类别 1 气象站、2 墒情站
- LONGITUDE:{type:String,default:''},//经度
- LATITUDE:{type:String,default:''}, //纬度
- //设备属性
- VOLTAGE:{type:String,default:''},//电池电压
- SOLAR_VOLTAGE:{type:String,default:''},//太阳能电压
- CLOCK_VOLTAGE:{type:String,default:''},//时钟电压
- UPLOAD_LONGITUDE:{type:String,default:''},//上报经度
- UPLOAD_LATITUDE:{type:String,default:''},//上报纬度
- ALTITUDE:{type:String,default:''},//海拔
- STATUS:{type:String,default:''},//设备状态
- //采集数据
- // 实时空气温度 AIR_TEMP_NOW
- AIR_TEMP_NOW:{type:Number},//实时空气温度
- // 空气温度 AIR_TEMP
- AIR_TEMP:
- {
- current:{type:String,default:''},//实时数据
- average:{type:String,default:''},//平均数据
- max:{type:String,default:''},//最高数据
- min:{type:String,default:''},//最低数据
- timeAcc:{type:String,default:''},//时段累积
- foreverAcc:{type:String,default:''},//永久累积
- maxTime:{type:String,default:''},//最大值时间
- minTime:{type:String,default:''},//最小值时间
- },
- // 实时空气湿度 AIR_H_NOW
- AIR_H_NOW:{type:Number},//实时空气湿度
- // 空气湿度 AIR_H
- AIR_H:
- {
- current:{type:String,default:''},//实时数据
- average:{type:String,default:''},//平均数据
- max:{type:String,default:''},//最高数据
- min:{type:String,default:''},//最低数据
- timeAcc:{type:String,default:''},//时段累积
- foreverAcc:{type:String,default:''},//永久累积
- maxTime:{type:String,default:''},//最大值时间
- minTime:{type:String,default:''},//最小值时间
- },
- // 实时大气压力 AIR_PRESSURE_NOW
- AIR_PRESSURE_NOW:{type:Number},//实时大气压力
- // 大气压力 AIR_PRESSURE
- AIR_PRESSURE:
- {
- current:{type:String,default:''},//实时数据
- average:{type:String,default:''},//平均数据
- max:{type:String,default:''},//最高数据
- min:{type:String,default:''},//最低数据
- timeAcc:{type:String,default:''},//时段累积
- foreverAcc:{type:String,default:''},//永久累积
- maxTime:{type:String,default:''},//最大值时间
- minTime:{type:String,default:''},//最小值时间
- },
- // 实时降雨 RAIN_NOW
- RAIN_NOW:{type:Number},//实时空气温度
- // 降雨 RAIN
- RAIN:
- {
- current:{type:String,default:''},//实时数据
- average:{type:String,default:''},//平均数据
- max:{type:String,default:''},//最高数据
- min:{type:String,default:''},//最低数据
- timeAcc:{type:String,default:''},//时段累积
- foreverAcc:{type:String,default:''},//永久累积
- maxTime:{type:String,default:''},//最大值时间
- minTime:{type:String,default:''},//最小值时间
- },
- // 实时风速 AIR_SPEED_NOW
- AIR_SPEED_NOW:{type:Number},//实时风速
- // 风速 AIR_SPEED
- AIR_SPEED:
- {
- current:{type:String,default:''},//实时数据
- average:{type:String,default:''},//平均数据
- max:{type:String,default:''},//最高数据
- min:{type:String,default:''},//最低数据
- timeAcc:{type:String,default:''},//时段累积
- foreverAcc:{type:String,default:''},//永久累积
- maxTime:{type:String,default:''},//最大值时间
- minTime:{type:String,default:''},//最小值时间
- },
- // 实时风向 AIR_DIRECTION_NOW
- AIR_DIRECTION_NOW:{type:Number},//实时风向
- // 风向 AIR_DIRECTION
- AIR_DIRECTION:
- {
- current:{type:String,default:''},//实时数据
- average:{type:String,default:''},//平均数据
- max:{type:String,default:''},//最高数据
- min:{type:String,default:''},//最低数据
- timeAcc:{type:String,default:''},//时段累积
- foreverAcc:{type:String,default:''},//永久累积
- maxTime:{type:String,default:''},//最大值时间
- minTime:{type:String,default:''},//最小值时间
- },
- // 实时太阳辐射 RADIATION_NOW
- RADIATION_NOW:{type:Number},//实时太阳辐射
- // 太阳辐射 RADIATION
- RADIATION:
- {
- current:{type:String,default:''},//实时数据
- average:{type:String,default:''},//平均数据
- max:{type:String,default:''},//最高数据
- min:{type:String,default:''},//最低数据
- timeAcc:{type:String,default:''},//时段累积
- foreverAcc:{type:String,default:''},//永久累积
- maxTime:{type:String,default:''},//最大值时间
- minTime:{type:String,default:''},//最小值时间
- },
- // 实时大气压力 PRESSURE_NOW
- PRESSURE_NOW:{type:Number},//实时大气压
- // 大气压力 PRESSURE
- PRESSURE:
- {
- current:{type:String,default:''},//实时数据
- average:{type:String,default:''},//平均数据
- max:{type:String,default:''},//最高数据
- min:{type:String,default:''},//最低数据
- timeAcc:{type:String,default:''},//时段累积
- foreverAcc:{type:String,default:''},//永久累积
- maxTime:{type:String,default:''},//最大值时间
- minTime:{type:String,default:''},//最小值时间
- },
- // 实时土壤水分 SOIL_MOISTURE_NOW
- SOIL_MOISTURE_NOW:{type:Number},//实时土壤水分
- // 土壤水分 SOIL_MOISTURE
- SOIL_MOISTURE:
- {
- current:{type:String,default:''},//实时数据
- average:{type:String,default:''},//平均数据
- max:{type:String,default:''},//最高数据
- min:{type:String,default:''},//最低数据
- timeAcc:{type:String,default:''},//时段累积
- foreverAcc:{type:String,default:''},//永久累积
- maxTime:{type:String,default:''},//最大值时间
- minTime:{type:String,default:''},//最小值时间
- },
- // 实时土壤温度 SOIL_TEMP_NOW
- SOIL_TEMP_NOW:{type:Number},//实时空气温度
- // 土壤温度 SOIL_TEMP
- SOIL_TEMP:
- {
- current:{type:String,default:''},//实时数据
- average:{type:String,default:''},//平均数据
- max:{type:String,default:''},//最高数据
- min:{type:String,default:''},//最低数据
- timeAcc:{type:String,default:''},//时段累积
- foreverAcc:{type:String,default:''},//永久累积
- maxTime:{type:String,default:''},//最大值时间
- minTime:{type:String,default:''},//最小值时间
- },
- LAST_HEARTBEAT:{type: Date,default:Date.now},//信息更新时间 yyyy-mm-dd hh24:mi:ss
- UPDATE_TIME:{type: Date,default:Date.now},//基础信息更新时间 yyyy-mm-dd hh24:mi:ss
- Deleted:{type: Number,default:0}//是否已删除 默认0未删除 1已删除
- },{
- strict: true,
- toObject: {
- virtuals: true
- },
- toJSON: {
- virtuals: true
- }
- });
- stationSchema.virtual('LAST_HEARTBEAT2').get(function () {
- if(this.LAST_HEARTBEAT =="")//判断传入的参数
- {
- return "";
- };
- return moment(this.LAST_HEARTBEAT).format('YYYY-MM-DD HH:mm:ss');
- });
- stationSchema.virtual('UPDATE_TIME2').get(function () {
- if(this.UPDATE_TIME =="")//判断传入的参数
- {
- return "";
- };
- return moment(this.UPDATE_TIME).format('YYYY-MM-DD HH:mm:ss');
- });
- var station = mongoose.model('station',
- stationSchema,'t_station');
- module.exports = station;
|