Browse Source

测试44444

master
wenlele 1 year ago
parent
commit
147bfe7597
  1. 5
      api/app/lib/routes/organization/index.js
  2. 678
      api/app/lib/schedule/workorder_statistics.js
  3. 2
      web/client/src/sections/bigScreen/actions/index.js

5
api/app/lib/routes/organization/index.js

@ -7,7 +7,7 @@ module.exports = function (app, router, opts) {
try { try {
app.fs.api.logAttr['get/pump/station'] = { content: '获取所有站点信息', visible: true }; app.fs.api.logAttr['get/pump/station'] = { content: '获取所有站点信息', visible: true };
router.get('/pump/station', data.getPumpStation); router.get('/pump1/station1', data.getPumpStation);
app.fs.api.logAttr['POST/axyData'] = { content: '获取安心云数据', visible: true }; app.fs.api.logAttr['POST/axyData'] = { content: '获取安心云数据', visible: true };
@ -51,7 +51,4 @@ module.exports = function (app, router, opts) {
console.log(error.response); console.log(error.response);
} }
}; };

678
api/app/lib/schedule/workorder_statistics.js

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

2
web/client/src/sections/bigScreen/actions/index.js

@ -13,7 +13,7 @@ export function getPumpStation (query = {}) {
type: 'get', type: 'get',
dispatch: dispatch, dispatch: dispatch,
actionType: 'GET_PUMP_STATION', actionType: 'GET_PUMP_STATION',
url: 'pump/station', url: 'pump1/station1',
query, query,
msg: { error: '获取所有站点信息失败' } msg: { error: '获取所有站点信息失败' }
}); });

Loading…
Cancel
Save