Browse Source

fix 项目集等级信息

dev
CODE 1 year ago
parent
commit
d054a70ae8
  1. 20
      api/app/lib/controllers/project/group.js

20
api/app/lib/controllers/project/group.js

@ -174,7 +174,8 @@ async function groupStatistic (ctx) {
console.log(`查询pepm项目`, pepmProjectIdArr.join(','));
let pepmCustomerLevelRes = pepmProjectIdArr.length ? await clickHouse.projectManage.query(
`
SELECT DISTINCT t_rpm_customer_level.id AS id, t_rpm_customer_level.name AS name FROM t_pim_project
SELECT t_rpm_customer_level.id AS id, t_rpm_customer_level.name AS name, t_pim_project.id AS projectId
FROM t_pim_project
LEFT JOIN t_rpm_customer
ON t_rpm_customer.id = t_pim_project.related_customers_id
LEFT JOIN t_rpm_customer_level
@ -183,7 +184,7 @@ async function groupStatistic (ctx) {
`
).toPromise() : []
console.log(pepmCustomerLevelRes);
pepmCustomerLevelRes.sort((a, b) => a.id - b.id)
// pepmCustomerLevelRes = pepmCustomerLevelRes.filter(item => item && item.id > 0)
// 统计安心云项目下的结构物
const strucRes = anxinProjectIdArr.length ? await clickHouse.anxinyun.query(
@ -245,10 +246,14 @@ async function groupStatistic (ctx) {
).toPromise() : []
let rslt = []
// progectGroupList 是自定义分组信息
for (let pg of progectGroupList) {
let strucCount = 0
let maxOffLineTime = 0
let todayAlarms = 0
let pepmCustomerLevels = []
// groupProjectRes 是poms项目信息
let anxinProjectCount = groupProjectRes.reduce((count, gp) => {
if (pg.pomsProjectIds.some(id => gp.id == id)) {
// 如果 pg 分组信息 存储的 pomsProjectIds 运维项目id 和 真正的 groupProjectRes 运维项目id 相等
@ -264,6 +269,13 @@ async function groupStatistic (ctx) {
return p + c.alarmCount
}, 0)
//
if (gp.pepProjectId) {
let corLevel = pepmCustomerLevelRes.find(p => p.projectId == gp.pepProjectId)
if (corLevel) {
pepmCustomerLevels.push(corLevel)
}
}
//
for (let { dataValues: off } of deviceOffTimeRes) {
if (strucIdArr_.some((s) => s.strucId == off.structure)) {
if (off.offline > maxOffLineTime) {
@ -274,13 +286,15 @@ async function groupStatistic (ctx) {
}
return count
}, 0)
console.log(pg.id, pepmCustomerLevels);
pepmCustomerLevels.sort((a, b) => a.id - b.id)
rslt.unshift({
...pg.dataValues,
strucCount,
todayAlarms,
maxOffLineTime,
anxinProjectCount,
level: pepmCustomerLevelRes.length ? pepmCustomerLevelRes[0] : null
level: pepmCustomerLevels.length ? pepmCustomerLevels[0] : null
})
}

Loading…
Cancel
Save