/** * 气象站 */ 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;