|
|
@ -28,398 +28,398 @@ module.exports = function (app, opts) { |
|
|
|
let structureList = await app.fs.anxinyun.get(`organizations/${data.orgId}/structures?token=${data.token}`) || [] |
|
|
|
|
|
|
|
|
|
|
|
console.log('获取所有泵站', structureList); |
|
|
|
// console.log('获取所有泵站', structureList);
|
|
|
|
|
|
|
|
await app.redis.set("pumpStation_structure", JSON.stringify(structureList)) |
|
|
|
let daty = await app.redis.get("pumpStation_structure") |
|
|
|
console.log(222, JSON.parse(daty)); |
|
|
|
// if (structureList.length) {
|
|
|
|
if (structureList.length) { |
|
|
|
|
|
|
|
|
|
|
|
let waterLevelData = [] //七天内每个泵站的集水池液位
|
|
|
|
let waterLevelSix = {} //泵站最新6h的集水池液位
|
|
|
|
let waterPumpStateAll = [] //所有水泵的状态
|
|
|
|
let capacity = {} //能耗监测
|
|
|
|
let currentSix = {} //水泵六小时数据
|
|
|
|
let cabinet = {} //进线柜
|
|
|
|
let threePhase = {} //三相电流
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (let index = 0; index < structureList.length; index++) { |
|
|
|
const strucOne = structureList[index]; |
|
|
|
//单个泵站
|
|
|
|
let pumpOne = await app.fs.anxinyun.get(`structures/${strucOne.id}/factors?token=${data.token}`) || [] |
|
|
|
if (pumpOne.length) { |
|
|
|
|
|
|
|
let pump = [] //能耗监测--水泵
|
|
|
|
let cabinetSun = [] //能耗监测--进线柜
|
|
|
|
let sun = {} |
|
|
|
let day1 = 0 |
|
|
|
let day30 = 0 |
|
|
|
let day365 = 0 |
|
|
|
let daySun = 0 |
|
|
|
|
|
|
|
//泵站信息
|
|
|
|
let informationId = pumpOne.find(v => v.name == '泵站信息').id |
|
|
|
if (informationId) { |
|
|
|
let pumpInformation = await app.fs.anxinyun.get(`structures/${strucOne.id}/stations?token=${data.token}`, { query: { factorId: informationId } }) || [] |
|
|
|
|
|
|
|
if (pumpInformation.length > 0 && pumpInformation[0].groups.length && pumpInformation[0].groups[0].stations[0].id) { |
|
|
|
//七天内该泵站最新的集水池液位
|
|
|
|
let waterLevel = await app.fs.anxinyun.get(`stations/theme/data?token=${data.token}`, { |
|
|
|
query: { |
|
|
|
stations: pumpInformation[0].groups[0].stations[0].id, |
|
|
|
startTime: moment().startOf('week').format('YYYY-MM-DD HH:mm:ss'), |
|
|
|
endTime: moment().endOf('week').format('YYYY-MM-DD HH:mm:ss'), |
|
|
|
limit: 1 |
|
|
|
} |
|
|
|
}) || {} |
|
|
|
|
|
|
|
let findOne = waterLevel.stations[0].data[0] || {} |
|
|
|
sun.sHumidity = findOne.sHumidity |
|
|
|
sun.sTEMP = findOne.sTEMP |
|
|
|
sun.sGrille_level = findOne.sGrille_level |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// let waterLevelData = [] //七天内每个泵站的集水池液位
|
|
|
|
// let waterLevelSix = {} //泵站最新6h的集水池液位
|
|
|
|
// let waterPumpStateAll = [] //所有水泵的状态
|
|
|
|
// let capacity = {} //能耗监测
|
|
|
|
// let currentSix = {} //水泵六小时数据
|
|
|
|
// let cabinet = {} //进线柜
|
|
|
|
// let threePhase = {} //三相电流
|
|
|
|
waterLevelData.push({ |
|
|
|
strucId: strucOne.id, name: strucOne.name, level: findOne.sLiquid_level || 0 |
|
|
|
}) |
|
|
|
|
|
|
|
//该泵站最新6h的集水池液位
|
|
|
|
let waterLevel6 = await app.fs.anxinyun.get(`stations/theme/data?token=${data.token}`, { |
|
|
|
query: { |
|
|
|
stations: pumpInformation[0].groups[0].stations[0].id, |
|
|
|
startTime: moment().add(-6, 'hours').format('YYYY-MM-DD HH:mm:ss'), |
|
|
|
endTime: moment().format('YYYY-MM-DD HH:mm:ss'), |
|
|
|
limit: 1440 |
|
|
|
} |
|
|
|
}) || {} |
|
|
|
|
|
|
|
waterLevelSix['struc' + strucOne.id] = waterLevel6.stations[0] && JSON.stringify(waterLevel6.stations[0].data) |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// for (let index = 0; index < structureList.length; index++) {
|
|
|
|
// const strucOne = structureList[index];
|
|
|
|
// //单个泵站
|
|
|
|
// let pumpOne = await app.fs.anxinyun.get(`structures/${strucOne.id}/factors?token=${data.token}`) || []
|
|
|
|
// if (pumpOne.length) {
|
|
|
|
|
|
|
|
// let pump = [] //能耗监测--水泵
|
|
|
|
// let cabinetSun = [] //能耗监测--进线柜
|
|
|
|
// let sun = {}
|
|
|
|
// let day1 = 0
|
|
|
|
// let day30 = 0
|
|
|
|
// let day365 = 0
|
|
|
|
// let daySun = 0
|
|
|
|
|
|
|
|
// //泵站信息
|
|
|
|
// let informationId = pumpOne.find(v => v.name == '泵站信息').id
|
|
|
|
// if (informationId) {
|
|
|
|
// let pumpInformation = await app.fs.anxinyun.get(`structures/${strucOne.id}/stations?token=${data.token}`, { query: { factorId: informationId } }) || []
|
|
|
|
|
|
|
|
// if (pumpInformation.length > 0 && pumpInformation[0].groups.length && pumpInformation[0].groups[0].stations[0].id) {
|
|
|
|
// //七天内该泵站最新的集水池液位
|
|
|
|
// let waterLevel = await app.fs.anxinyun.get(`stations/theme/data?token=${data.token}`, {
|
|
|
|
// query: {
|
|
|
|
// stations: pumpInformation[0].groups[0].stations[0].id,
|
|
|
|
// startTime: moment().startOf('week').format('YYYY-MM-DD HH:mm:ss'),
|
|
|
|
// endTime: moment().endOf('week').format('YYYY-MM-DD HH:mm:ss'),
|
|
|
|
// limit: 1
|
|
|
|
// }
|
|
|
|
// }) || {}
|
|
|
|
|
|
|
|
// let findOne = waterLevel.stations[0].data[0] || {}
|
|
|
|
// sun.sHumidity = findOne.sHumidity
|
|
|
|
// sun.sTEMP = findOne.sTEMP
|
|
|
|
// sun.sGrille_level = findOne.sGrille_level
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// waterLevelData.push({
|
|
|
|
// strucId: strucOne.id, name: strucOne.name, level: findOne.sLiquid_level || 0
|
|
|
|
// })
|
|
|
|
|
|
|
|
// //该泵站最新6h的集水池液位
|
|
|
|
// let waterLevel6 = await app.fs.anxinyun.get(`stations/theme/data?token=${data.token}`, {
|
|
|
|
// query: {
|
|
|
|
// stations: pumpInformation[0].groups[0].stations[0].id,
|
|
|
|
// startTime: moment().add(-6, 'hours').format('YYYY-MM-DD HH:mm:ss'),
|
|
|
|
// endTime: moment().format('YYYY-MM-DD HH:mm:ss'),
|
|
|
|
// limit: 1440
|
|
|
|
// }
|
|
|
|
// }) || {}
|
|
|
|
|
|
|
|
// waterLevelSix['struc' + strucOne.id] = waterLevel6.stations[0] && JSON.stringify(waterLevel6.stations[0].data)
|
|
|
|
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// //水泵信息
|
|
|
|
// let waterId = pumpOne.find(v => v.name == '泵站水泵').id
|
|
|
|
// if (waterId) {
|
|
|
|
// let waterpPmpInformation = await app.fs.anxinyun.get(`structures/${strucOne.id}/stations?token=${data.token}`, { query: { factorId: waterId } }) || []
|
|
|
|
|
|
|
|
// let dataId = []
|
|
|
|
// waterpPmpInformation.forEach(v => {
|
|
|
|
// v.groups.forEach(s => {
|
|
|
|
// s.stations.forEach(f => {
|
|
|
|
// dataId.push(f.id)
|
|
|
|
// })
|
|
|
|
// })
|
|
|
|
// })
|
|
|
|
|
|
|
|
// if (dataId.length) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// // 当前时间
|
|
|
|
// let todayOne = await app.fs.anxinyun.get(`stations/theme/data?token=${data.token}`, {
|
|
|
|
// query: {
|
|
|
|
// stations: dataId.join(),
|
|
|
|
// startTime: moment().startOf('day').format('YYYY-MM-DD HH:mm:ss'),
|
|
|
|
// endTime: moment().endOf('day').format('YYYY-MM-DD HH:mm:ss'),
|
|
|
|
// limit: 1
|
|
|
|
// }
|
|
|
|
// }) || []
|
|
|
|
|
|
|
|
// waterPumpStateAll.push({ strucId: strucOne.id, name: strucOne.name, data: todayOne.stations })
|
|
|
|
// pump = todayOne.stations || []
|
|
|
|
|
|
|
|
// todayOne.stations && todayOne.stations.forEach(d => {
|
|
|
|
// daySun += d.data[0] && d.data[0].eMotor_EQ || 0
|
|
|
|
// })
|
|
|
|
|
|
|
|
// // 今天
|
|
|
|
// let dayCollect = await app.fs.anxinyun.get(`stations/data/theme?token=${data.token}`, {
|
|
|
|
// query: {
|
|
|
|
// stations: dataId.join(),
|
|
|
|
// begin: moment().startOf('day').format('x'),
|
|
|
|
// end: moment().endOf('day').format('x'),
|
|
|
|
// aggtype: "h",
|
|
|
|
// method: 'diff'
|
|
|
|
// }
|
|
|
|
// }) || []
|
|
|
|
|
|
|
|
// if (dayCollect.length) {
|
|
|
|
// dayCollect[0].stations.forEach(f => {
|
|
|
|
// f.data.forEach(h => {
|
|
|
|
// if (!h.changData) {
|
|
|
|
// day1 += h.values.eMotor_EQ
|
|
|
|
// }
|
|
|
|
// })
|
|
|
|
// })
|
|
|
|
// }
|
|
|
|
|
|
|
|
// // 本月
|
|
|
|
// let monthCollect = await app.fs.anxinyun.get(`stations/data/theme?token=${data.token}`, {
|
|
|
|
// query: {
|
|
|
|
// stations: dataId.join(),
|
|
|
|
// begin: moment().startOf('month').format('x'),
|
|
|
|
// end: moment().endOf('month').format('x'),
|
|
|
|
// aggtype: "d",
|
|
|
|
// method: 'diff'
|
|
|
|
// }
|
|
|
|
// }) || []
|
|
|
|
// if (monthCollect.length) {
|
|
|
|
// monthCollect[0].stations.forEach(f => {
|
|
|
|
// f.data.forEach(h => {
|
|
|
|
// if (!h.changData) {
|
|
|
|
// day30 += h.values.eMotor_EQ
|
|
|
|
// }
|
|
|
|
// })
|
|
|
|
// })
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
// // 今年
|
|
|
|
// let yearCollect = await app.fs.anxinyun.get(`stations/data/theme?token=${data.token}`, {
|
|
|
|
// query: {
|
|
|
|
// stations: dataId.join(),
|
|
|
|
// begin: moment().startOf('year').format('x'),
|
|
|
|
// end: moment().endOf('year').format('x'),
|
|
|
|
// aggtype: "d",
|
|
|
|
// method: 'diff'
|
|
|
|
// }
|
|
|
|
// }) || []
|
|
|
|
|
|
|
|
// if (yearCollect.length) {
|
|
|
|
// yearCollect[0].stations.map(f => {
|
|
|
|
// f.data.forEach(h => {
|
|
|
|
// if (!h.changData) {
|
|
|
|
// day365 += h.values.eMotor_EQ
|
|
|
|
// }
|
|
|
|
// })
|
|
|
|
// })
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// let current = await app.fs.anxinyun.get(`stations/theme/data?token=${data.token}`, {
|
|
|
|
// query: {
|
|
|
|
// stations: dataId.join(),
|
|
|
|
// startTime: moment().add(-6, 'hours').format('YYYY-MM-DD HH:mm:ss'),
|
|
|
|
// endTime: moment().format('YYYY-MM-DD HH:mm:ss'),
|
|
|
|
// limit: 1440
|
|
|
|
// }
|
|
|
|
// }) || {}
|
|
|
|
|
|
|
|
// currentSix['struc' + strucOne.id] = JSON.stringify(current.stations)
|
|
|
|
|
|
|
|
|
|
|
|
// // let threedata = []
|
|
|
|
// // let timeSet = new Set()
|
|
|
|
// // if (current.stations && current.stations.length) {
|
|
|
|
// // current.stations.map(p => {
|
|
|
|
// // p.data.map(s => {
|
|
|
|
// // timeSet.add(moment(s.time).format('YYYY-MM-DD HH:mm:ss'))
|
|
|
|
// // })
|
|
|
|
// // })
|
|
|
|
// // let time = [...timeSet].sort((a, b) => moment(a).isBefore(b) ? -1 : 1)
|
|
|
|
|
|
|
|
// // time.map(x => {
|
|
|
|
// // let A = []
|
|
|
|
// // let B = []
|
|
|
|
// // let C = []
|
|
|
|
// // current.stations.map((s, index) => {
|
|
|
|
// // let abcData = s.data.find(f => moment(f.time).format('YYYY-MM-DD HH:mm:ss') == x) || {}
|
|
|
|
// // let a = abcData.eMotor_A_A
|
|
|
|
// // let b = abcData.eMotor_B_A
|
|
|
|
// // let c = abcData.eMotor_C_A
|
|
|
|
// // if (a) A.push(a)
|
|
|
|
// // if (b) B.push(b)
|
|
|
|
// // if (c) C.push(c)
|
|
|
|
// // })
|
|
|
|
// // const sum = (arr) => {
|
|
|
|
// // let sum = 0
|
|
|
|
// // arr.map(h => {
|
|
|
|
// // sum += h
|
|
|
|
// // })
|
|
|
|
// // return sum
|
|
|
|
// // }
|
|
|
|
// // threedata.push({
|
|
|
|
// // A: A.length && (sum(A) / A.length) || null,
|
|
|
|
// // B: B.length && (sum(B) / B.length) || null,
|
|
|
|
// // C: C.length && (sum(C) / C.length) || null,
|
|
|
|
// // time: x
|
|
|
|
// // })
|
|
|
|
// // })
|
|
|
|
// // }
|
|
|
|
|
|
|
|
|
|
|
|
// // threePhase['struc' + strucOne.id] = JSON.stringify(threedata)
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
// //进线柜
|
|
|
|
// let wireCabinetId = pumpOne.find(v => v.name == '泵站进线柜').id
|
|
|
|
// if (wireCabinetId) {
|
|
|
|
// let dataList = await app.fs.anxinyun.get(`structures/${strucOne.id}/stations?token=${data.token}`, { query: { factorId: wireCabinetId } }) || []
|
|
|
|
// let dataId = []
|
|
|
|
// dataList.map(v => {
|
|
|
|
// v.groups.map(s => {
|
|
|
|
// s.stations.map(f => {
|
|
|
|
// dataId.push(f.id)
|
|
|
|
// })
|
|
|
|
// })
|
|
|
|
// })
|
|
|
|
|
|
|
|
// if (dataId.length) {
|
|
|
|
// // 当前时间
|
|
|
|
// let todayOne = await app.fs.anxinyun.get(`stations/theme/data?token=${data.token}`, {
|
|
|
|
// query: {
|
|
|
|
// stations: dataId.join(),
|
|
|
|
// startTime: moment().startOf('day').format('YYYY-MM-DD HH:mm:ss'),
|
|
|
|
// endTime: moment().endOf('day').format('YYYY-MM-DD HH:mm:ss'),
|
|
|
|
// limit: 1
|
|
|
|
// }
|
|
|
|
// }) || {}
|
|
|
|
|
|
|
|
// let cabinetOne = todayOne.stations && todayOne.stations || []
|
|
|
|
|
|
|
|
// cabinet['struc' + strucOne.id] = JSON.stringify(cabinetOne)
|
|
|
|
|
|
|
|
// cabinetOne.forEach(d => {
|
|
|
|
// let todayFindOne = d.data[0] || {}
|
|
|
|
// daySun += todayFindOne.eQF_EQ || 0
|
|
|
|
// cabinetSun.push({
|
|
|
|
// today: 0,
|
|
|
|
// sameMonth: 0,
|
|
|
|
// thisYear: 0,
|
|
|
|
// eQF_EQ: todayFindOne.eQF_EQ || 0,
|
|
|
|
// id: d.id,
|
|
|
|
// name: d.name,
|
|
|
|
// sQF_CLOSING: todayFindOne.sQF_CLOSING
|
|
|
|
// })
|
|
|
|
// })
|
|
|
|
// // 今天
|
|
|
|
// let dayCollect = await app.fs.anxinyun.get(`stations/data/theme?token=${data.token}`, {
|
|
|
|
// query: {
|
|
|
|
// stations: dataId.join(),
|
|
|
|
// begin: moment().startOf('day').format('x'),
|
|
|
|
// end: moment().endOf('day').format('x'),
|
|
|
|
// aggtype: "h",
|
|
|
|
// method: 'diff'
|
|
|
|
// }
|
|
|
|
// }) || []
|
|
|
|
|
|
|
|
// cabinetSun.forEach(p => {
|
|
|
|
// if (dayCollect.length) {
|
|
|
|
// dayCollect[0].stations.forEach(f => {
|
|
|
|
// if (p.id == f.id) {
|
|
|
|
// f.data.forEach(h => {
|
|
|
|
// if (!h.changData) {
|
|
|
|
// p.today = p.today + h.values.eQF_EQ
|
|
|
|
// p.sameMonth = p.sameMonth + h.values.eQF_EQ
|
|
|
|
// p.thisYear = p.thisYear + h.values.eQF_EQ
|
|
|
|
// day1 += h.values.eQF_EQ
|
|
|
|
// }
|
|
|
|
// })
|
|
|
|
// }
|
|
|
|
// })
|
|
|
|
// }
|
|
|
|
// })
|
|
|
|
|
|
|
|
// // 本月
|
|
|
|
// let monthCollect = await app.fs.anxinyun.get(`stations/data/theme?token=${data.token}`, {
|
|
|
|
// query: {
|
|
|
|
// stations: dataId.join(),
|
|
|
|
// begin: moment().startOf('month').format('x'),
|
|
|
|
// end: moment().endOf('month').format('x'),
|
|
|
|
// aggtype: "d",
|
|
|
|
// method: 'diff'
|
|
|
|
// }
|
|
|
|
// }) || []
|
|
|
|
|
|
|
|
// cabinetSun.forEach(p => {
|
|
|
|
// if (monthCollect.length) {
|
|
|
|
// monthCollect[0].stations.forEach(f => {
|
|
|
|
// if (p.id == f.id) {
|
|
|
|
// f.data.forEach(h => {
|
|
|
|
// if (!h.changData) {
|
|
|
|
// p.sameMonth = p.sameMonth + h.values.eQF_EQ
|
|
|
|
// day30 += h.values.eQF_EQ
|
|
|
|
// }
|
|
|
|
// })
|
|
|
|
// }
|
|
|
|
// })
|
|
|
|
// }
|
|
|
|
// })
|
|
|
|
|
|
|
|
// // 今年
|
|
|
|
// let yearCollect = await app.fs.anxinyun.get(`stations/data/theme?token=${data.token}`, {
|
|
|
|
// query: {
|
|
|
|
// stations: dataId.join(),
|
|
|
|
// begin: moment().startOf('year').format('x'),
|
|
|
|
// end: moment().endOf('year').format('x'),
|
|
|
|
// aggtype: "d",
|
|
|
|
// method: 'diff'
|
|
|
|
// }
|
|
|
|
// }) || []
|
|
|
|
|
|
|
|
// cabinetSun.forEach(p => {
|
|
|
|
// if (yearCollect.length) {
|
|
|
|
// yearCollect[0].stations.forEach(f => {
|
|
|
|
// if (p.id == f.id) {
|
|
|
|
// f.data.forEach(h => {
|
|
|
|
// if (!h.changData) {
|
|
|
|
// p.thisYear = p.thisYear + h.values.eQF_EQ
|
|
|
|
// day365 += h.values.eQF_EQ
|
|
|
|
// }
|
|
|
|
// })
|
|
|
|
// }
|
|
|
|
// })
|
|
|
|
// }
|
|
|
|
// })
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// sun.day1 = day1
|
|
|
|
// sun.day30 = day30 + day1
|
|
|
|
// sun.day365 = day365 + day1
|
|
|
|
// sun.daySun = daySun
|
|
|
|
|
|
|
|
// let capacityOne = { pump, cabinetSun, sun }
|
|
|
|
|
|
|
|
// capacity['struc' + strucOne.id] = JSON.stringify(capacityOne)
|
|
|
|
|
|
|
|
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
// await app.redis.set("pumpStation_waterLevelAll", JSON.stringify(waterLevelData))
|
|
|
|
// await app.redis.hmset("pumpStation_waterLevelSix", waterLevelSix)
|
|
|
|
// await app.redis.set("pumpStation_waterPumpStateAll", JSON.stringify(waterPumpStateAll))
|
|
|
|
// await app.redis.hmset("pumpStation_capacity", capacity)
|
|
|
|
// await app.redis.hmset("pumpStation_currentSix", currentSix)
|
|
|
|
// await app.redis.hmset("pumpStation_cabinet", cabinet)
|
|
|
|
// // await app.redis.hmset("pumpStation_threePhase", threePhase)
|
|
|
|
|
|
|
|
// }
|
|
|
|
//水泵信息
|
|
|
|
let waterId = pumpOne.find(v => v.name == '泵站水泵').id |
|
|
|
if (waterId) { |
|
|
|
let waterpPmpInformation = await app.fs.anxinyun.get(`structures/${strucOne.id}/stations?token=${data.token}`, { query: { factorId: waterId } }) || [] |
|
|
|
|
|
|
|
let dataId = [] |
|
|
|
waterpPmpInformation.forEach(v => { |
|
|
|
v.groups.forEach(s => { |
|
|
|
s.stations.forEach(f => { |
|
|
|
dataId.push(f.id) |
|
|
|
}) |
|
|
|
}) |
|
|
|
}) |
|
|
|
|
|
|
|
if (dataId.length) { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 当前时间
|
|
|
|
let todayOne = await app.fs.anxinyun.get(`stations/theme/data?token=${data.token}`, { |
|
|
|
query: { |
|
|
|
stations: dataId.join(), |
|
|
|
startTime: moment().startOf('day').format('YYYY-MM-DD HH:mm:ss'), |
|
|
|
endTime: moment().endOf('day').format('YYYY-MM-DD HH:mm:ss'), |
|
|
|
limit: 1 |
|
|
|
} |
|
|
|
}) || [] |
|
|
|
|
|
|
|
waterPumpStateAll.push({ strucId: strucOne.id, name: strucOne.name, data: todayOne.stations }) |
|
|
|
pump = todayOne.stations || [] |
|
|
|
|
|
|
|
todayOne.stations && todayOne.stations.forEach(d => { |
|
|
|
daySun += d.data[0] && d.data[0].eMotor_EQ || 0 |
|
|
|
}) |
|
|
|
|
|
|
|
// 今天
|
|
|
|
let dayCollect = await app.fs.anxinyun.get(`stations/data/theme?token=${data.token}`, { |
|
|
|
query: { |
|
|
|
stations: dataId.join(), |
|
|
|
begin: moment().startOf('day').format('x'), |
|
|
|
end: moment().endOf('day').format('x'), |
|
|
|
aggtype: "h", |
|
|
|
method: 'diff' |
|
|
|
} |
|
|
|
}) || [] |
|
|
|
|
|
|
|
if (dayCollect.length) { |
|
|
|
dayCollect[0].stations.forEach(f => { |
|
|
|
f.data.forEach(h => { |
|
|
|
if (!h.changData) { |
|
|
|
day1 += h.values.eMotor_EQ |
|
|
|
} |
|
|
|
}) |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
// 本月
|
|
|
|
let monthCollect = await app.fs.anxinyun.get(`stations/data/theme?token=${data.token}`, { |
|
|
|
query: { |
|
|
|
stations: dataId.join(), |
|
|
|
begin: moment().startOf('month').format('x'), |
|
|
|
end: moment().endOf('month').format('x'), |
|
|
|
aggtype: "d", |
|
|
|
method: 'diff' |
|
|
|
} |
|
|
|
}) || [] |
|
|
|
if (monthCollect.length) { |
|
|
|
monthCollect[0].stations.forEach(f => { |
|
|
|
f.data.forEach(h => { |
|
|
|
if (!h.changData) { |
|
|
|
day30 += h.values.eMotor_EQ |
|
|
|
} |
|
|
|
}) |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 今年
|
|
|
|
let yearCollect = await app.fs.anxinyun.get(`stations/data/theme?token=${data.token}`, { |
|
|
|
query: { |
|
|
|
stations: dataId.join(), |
|
|
|
begin: moment().startOf('year').format('x'), |
|
|
|
end: moment().endOf('year').format('x'), |
|
|
|
aggtype: "d", |
|
|
|
method: 'diff' |
|
|
|
} |
|
|
|
}) || [] |
|
|
|
|
|
|
|
if (yearCollect.length) { |
|
|
|
yearCollect[0].stations.map(f => { |
|
|
|
f.data.forEach(h => { |
|
|
|
if (!h.changData) { |
|
|
|
day365 += h.values.eMotor_EQ |
|
|
|
} |
|
|
|
}) |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let current = await app.fs.anxinyun.get(`stations/theme/data?token=${data.token}`, { |
|
|
|
query: { |
|
|
|
stations: dataId.join(), |
|
|
|
startTime: moment().add(-6, 'hours').format('YYYY-MM-DD HH:mm:ss'), |
|
|
|
endTime: moment().format('YYYY-MM-DD HH:mm:ss'), |
|
|
|
limit: 1440 |
|
|
|
} |
|
|
|
}) || {} |
|
|
|
|
|
|
|
currentSix['struc' + strucOne.id] = JSON.stringify(current.stations) |
|
|
|
|
|
|
|
|
|
|
|
let threedata = [] |
|
|
|
let timeSet = new Set() |
|
|
|
if (current.stations && current.stations.length) { |
|
|
|
current.stations.map(p => { |
|
|
|
p.data.map(s => { |
|
|
|
timeSet.add(moment(s.time).format('YYYY-MM-DD HH:mm:ss')) |
|
|
|
}) |
|
|
|
}) |
|
|
|
let time = [...timeSet].sort((a, b) => moment(a).isBefore(b) ? -1 : 1) |
|
|
|
|
|
|
|
time.map(x => { |
|
|
|
let A = [] |
|
|
|
let B = [] |
|
|
|
let C = [] |
|
|
|
current.stations.map((s, index) => { |
|
|
|
let abcData = s.data.find(f => moment(f.time).format('YYYY-MM-DD HH:mm:ss') == x) || {} |
|
|
|
let a = abcData.eMotor_A_A |
|
|
|
let b = abcData.eMotor_B_A |
|
|
|
let c = abcData.eMotor_C_A |
|
|
|
if (a) A.push(a) |
|
|
|
if (b) B.push(b) |
|
|
|
if (c) C.push(c) |
|
|
|
}) |
|
|
|
const sum = (arr) => { |
|
|
|
let sum = 0 |
|
|
|
arr.map(h => { |
|
|
|
sum += h |
|
|
|
}) |
|
|
|
return sum |
|
|
|
} |
|
|
|
threedata.push({ |
|
|
|
A: A.length && (sum(A) / A.length) || null, |
|
|
|
B: B.length && (sum(B) / B.length) || null, |
|
|
|
C: C.length && (sum(C) / C.length) || null, |
|
|
|
time: x |
|
|
|
}) |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
threePhase['struc' + strucOne.id] = JSON.stringify(threedata) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//进线柜
|
|
|
|
let wireCabinetId = pumpOne.find(v => v.name == '泵站进线柜').id |
|
|
|
if (wireCabinetId) { |
|
|
|
let dataList = await app.fs.anxinyun.get(`structures/${strucOne.id}/stations?token=${data.token}`, { query: { factorId: wireCabinetId } }) || [] |
|
|
|
let dataId = [] |
|
|
|
dataList.map(v => { |
|
|
|
v.groups.map(s => { |
|
|
|
s.stations.map(f => { |
|
|
|
dataId.push(f.id) |
|
|
|
}) |
|
|
|
}) |
|
|
|
}) |
|
|
|
|
|
|
|
if (dataId.length) { |
|
|
|
// 当前时间
|
|
|
|
let todayOne = await app.fs.anxinyun.get(`stations/theme/data?token=${data.token}`, { |
|
|
|
query: { |
|
|
|
stations: dataId.join(), |
|
|
|
startTime: moment().startOf('day').format('YYYY-MM-DD HH:mm:ss'), |
|
|
|
endTime: moment().endOf('day').format('YYYY-MM-DD HH:mm:ss'), |
|
|
|
limit: 1 |
|
|
|
} |
|
|
|
}) || {} |
|
|
|
|
|
|
|
let cabinetOne = todayOne.stations && todayOne.stations || [] |
|
|
|
|
|
|
|
cabinet['struc' + strucOne.id] = JSON.stringify(cabinetOne) |
|
|
|
|
|
|
|
cabinetOne.forEach(d => { |
|
|
|
let todayFindOne = d.data[0] || {} |
|
|
|
daySun += todayFindOne.eQF_EQ || 0 |
|
|
|
cabinetSun.push({ |
|
|
|
today: 0, |
|
|
|
sameMonth: 0, |
|
|
|
thisYear: 0, |
|
|
|
eQF_EQ: todayFindOne.eQF_EQ || 0, |
|
|
|
id: d.id, |
|
|
|
name: d.name, |
|
|
|
sQF_CLOSING: todayFindOne.sQF_CLOSING |
|
|
|
}) |
|
|
|
}) |
|
|
|
// 今天
|
|
|
|
let dayCollect = await app.fs.anxinyun.get(`stations/data/theme?token=${data.token}`, { |
|
|
|
query: { |
|
|
|
stations: dataId.join(), |
|
|
|
begin: moment().startOf('day').format('x'), |
|
|
|
end: moment().endOf('day').format('x'), |
|
|
|
aggtype: "h", |
|
|
|
method: 'diff' |
|
|
|
} |
|
|
|
}) || [] |
|
|
|
|
|
|
|
cabinetSun.forEach(p => { |
|
|
|
if (dayCollect.length) { |
|
|
|
dayCollect[0].stations.forEach(f => { |
|
|
|
if (p.id == f.id) { |
|
|
|
f.data.forEach(h => { |
|
|
|
if (!h.changData) { |
|
|
|
p.today = p.today + h.values.eQF_EQ |
|
|
|
p.sameMonth = p.sameMonth + h.values.eQF_EQ |
|
|
|
p.thisYear = p.thisYear + h.values.eQF_EQ |
|
|
|
day1 += h.values.eQF_EQ |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
}) |
|
|
|
|
|
|
|
// 本月
|
|
|
|
let monthCollect = await app.fs.anxinyun.get(`stations/data/theme?token=${data.token}`, { |
|
|
|
query: { |
|
|
|
stations: dataId.join(), |
|
|
|
begin: moment().startOf('month').format('x'), |
|
|
|
end: moment().endOf('month').format('x'), |
|
|
|
aggtype: "d", |
|
|
|
method: 'diff' |
|
|
|
} |
|
|
|
}) || [] |
|
|
|
|
|
|
|
cabinetSun.forEach(p => { |
|
|
|
if (monthCollect.length) { |
|
|
|
monthCollect[0].stations.forEach(f => { |
|
|
|
if (p.id == f.id) { |
|
|
|
f.data.forEach(h => { |
|
|
|
if (!h.changData) { |
|
|
|
p.sameMonth = p.sameMonth + h.values.eQF_EQ |
|
|
|
day30 += h.values.eQF_EQ |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
}) |
|
|
|
|
|
|
|
// 今年
|
|
|
|
let yearCollect = await app.fs.anxinyun.get(`stations/data/theme?token=${data.token}`, { |
|
|
|
query: { |
|
|
|
stations: dataId.join(), |
|
|
|
begin: moment().startOf('year').format('x'), |
|
|
|
end: moment().endOf('year').format('x'), |
|
|
|
aggtype: "d", |
|
|
|
method: 'diff' |
|
|
|
} |
|
|
|
}) || [] |
|
|
|
|
|
|
|
cabinetSun.forEach(p => { |
|
|
|
if (yearCollect.length) { |
|
|
|
yearCollect[0].stations.forEach(f => { |
|
|
|
if (p.id == f.id) { |
|
|
|
f.data.forEach(h => { |
|
|
|
if (!h.changData) { |
|
|
|
p.thisYear = p.thisYear + h.values.eQF_EQ |
|
|
|
day365 += h.values.eQF_EQ |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
}) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sun.day1 = day1 |
|
|
|
sun.day30 = day30 + day1 |
|
|
|
sun.day365 = day365 + day1 |
|
|
|
sun.daySun = daySun |
|
|
|
|
|
|
|
let capacityOne = { pump, cabinetSun, sun } |
|
|
|
|
|
|
|
capacity['struc' + strucOne.id] = JSON.stringify(capacityOne) |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
await app.redis.set("pumpStation_waterLevelAll", JSON.stringify(waterLevelData)) |
|
|
|
await app.redis.hmset("pumpStation_waterLevelSix", waterLevelSix) |
|
|
|
await app.redis.set("pumpStation_waterPumpStateAll", JSON.stringify(waterPumpStateAll)) |
|
|
|
await app.redis.hmset("pumpStation_capacity", capacity) |
|
|
|
await app.redis.hmset("pumpStation_currentSix", currentSix) |
|
|
|
await app.redis.hmset("pumpStation_cabinet", cabinet) |
|
|
|
await app.redis.hmset("pumpStation_threePhase", threePhase) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} catch (error) { |
|
|
|