|
@ -1,6 +1,7 @@ |
|
|
const Environment = require("../model/environment.model"); |
|
|
const Environment = require("../model/environment.model"); |
|
|
const { isIntTime } = require("../utils/common"); |
|
|
const { isIntTime } = require("../utils/common"); |
|
|
const moment = require("moment"); |
|
|
const moment = require("moment"); |
|
|
|
|
|
const { Op } = require("sequelize"); |
|
|
class EnvironmentService { |
|
|
class EnvironmentService { |
|
|
async getEnvironmentByCoopId(coop_id) { |
|
|
async getEnvironmentByCoopId(coop_id) { |
|
|
const res = await Environment.findOne({ |
|
|
const res = await Environment.findOne({ |
|
@ -37,6 +38,90 @@ class EnvironmentService { |
|
|
} |
|
|
} |
|
|
return null; |
|
|
return null; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
async getEnvironmentHistoryList(coop_id, time_id, indicator_id) { |
|
|
|
|
|
let whereObj = { |
|
|
|
|
|
coop_id, |
|
|
|
|
|
}; |
|
|
|
|
|
// 需要根据id进行筛选 7天、全部、24小时
|
|
|
|
|
|
if (time_id == "1") { |
|
|
|
|
|
// 24小时
|
|
|
|
|
|
Object.assign(whereObj, { |
|
|
|
|
|
log_time: { |
|
|
|
|
|
[Op.lt]: new Date(), |
|
|
|
|
|
[Op.gt]: new Date(new Date() - 24 * 60 * 60 * 1000), |
|
|
|
|
|
}, |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
if (time_id == "2") { |
|
|
|
|
|
Object.assign(whereObj, { |
|
|
|
|
|
log_time: { |
|
|
|
|
|
[Op.lt]: new Date(), |
|
|
|
|
|
[Op.gt]: new Date(new Date() - 7 * 24 * 60 * 60 * 1000), |
|
|
|
|
|
}, |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
const res = await Environment.findAll({ |
|
|
|
|
|
where: whereObj, |
|
|
|
|
|
}); |
|
|
|
|
|
const arr = res.map((item) => item.dataValues); |
|
|
|
|
|
// 根据传来的indicator_id 筛选出对应的数据
|
|
|
|
|
|
console.log(arr); |
|
|
|
|
|
const temperatureList = arr.map((item) => item.temperature); |
|
|
|
|
|
const humidityList = arr.map((item) => item.humidity); |
|
|
|
|
|
const co2List = arr.map((item) => item.co2); |
|
|
|
|
|
const nh3List = arr.map((item) => item.nh3); |
|
|
|
|
|
const illuminationList = arr.map((item) => item.illumination); |
|
|
|
|
|
const windSpeedList = arr.map((item) => item.wind_speed); |
|
|
|
|
|
const h2sList = arr.map((item) => item.h2s); |
|
|
|
|
|
const timeList = arr.map((item) => |
|
|
|
|
|
moment(item.log_time).format("YYYY-MM-DD HH:mm:ss") |
|
|
|
|
|
); |
|
|
|
|
|
// 根据所选监测数据进行筛选
|
|
|
|
|
|
if (indicator_id == "1") { |
|
|
|
|
|
return { |
|
|
|
|
|
xData: temperatureList, |
|
|
|
|
|
yData: timeList, |
|
|
|
|
|
}; |
|
|
|
|
|
} |
|
|
|
|
|
if (indicator_id == "2") { |
|
|
|
|
|
return { |
|
|
|
|
|
xData: nh3List, |
|
|
|
|
|
yData: timeList, |
|
|
|
|
|
}; |
|
|
|
|
|
} |
|
|
|
|
|
if (indicator_id == "3") { |
|
|
|
|
|
return { |
|
|
|
|
|
xData: humidityList, |
|
|
|
|
|
yData: timeList, |
|
|
|
|
|
}; |
|
|
|
|
|
} |
|
|
|
|
|
if (indicator_id == "4") { |
|
|
|
|
|
return { |
|
|
|
|
|
xData: co2List, |
|
|
|
|
|
yData: timeList, |
|
|
|
|
|
}; |
|
|
|
|
|
} |
|
|
|
|
|
if (indicator_id == "5") { |
|
|
|
|
|
return { |
|
|
|
|
|
xData: illuminationList, |
|
|
|
|
|
yData: timeList, |
|
|
|
|
|
}; |
|
|
|
|
|
} |
|
|
|
|
|
if (indicator_id == "6") { |
|
|
|
|
|
return { |
|
|
|
|
|
xData: windSpeedList, |
|
|
|
|
|
yData: timeList, |
|
|
|
|
|
}; |
|
|
|
|
|
} |
|
|
|
|
|
if (indicator_id == "7") { |
|
|
|
|
|
return { |
|
|
|
|
|
xData: h2sList, |
|
|
|
|
|
yData: timeList, |
|
|
|
|
|
}; |
|
|
|
|
|
} |
|
|
|
|
|
return null; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
module.exports = new EnvironmentService(); |
|
|
module.exports = new EnvironmentService(); |