Browse Source

绑定项目的结构物支持多id查询

dev
巴林闲侠 2 years ago
parent
commit
b1a4d03bb5
  1. 42
      api/app/lib/controllers/project/index.js
  2. 8
      script/0.10/schema/1.alter_alarm_push_config.sql

42
api/app/lib/controllers/project/index.js

@ -57,7 +57,7 @@ async function pomsProject (ctx) {
if (p.pepProjectId) { if (p.pepProjectId) {
pepProjectIds.add(p.pepProjectId) pepProjectIds.add(p.pepProjectId)
} }
if(p.createUser){ if (p.createUser) {
createUsers.add(p.createUser) createUsers.add(p.createUser)
} }
for (let ap of p.anxinProjectId) { for (let ap of p.anxinProjectId) {
@ -66,18 +66,18 @@ async function pomsProject (ctx) {
} }
} }
} }
const pomsUser = await models.User.findAll({ const pomsUser = await models.User.findAll({
where: { where: {
id: { $in: [...createUsers]} id: { $in: [...createUsers] }
} }
}) })
let pepUserIds = new Set() let pepUserIds = new Set()
for (let p of pomsUser) { for (let p of pomsUser) {
if (p.pepUserId) { if (p.pepUserId) {
pepUserIds.add(p.pepUserId) pepUserIds.add(p.pepUserId)
} }
} }
const pepcaUser = pepUserIds.size ? const pepcaUser = pepUserIds.size ?
await clickHouse.pepEmis.query( await clickHouse.pepEmis.query(
` `
SELECT * FROM user SELECT * FROM user
@ -112,7 +112,7 @@ async function pomsProject (ctx) {
for (let p of proRes.rows) { for (let p of proRes.rows) {
const corPro = pepProjectRes.find(pp => pp.id == p.pepProjectId) || {} const corPro = pepProjectRes.find(pp => pp.id == p.pepProjectId) || {}
const pepUserName = (pepcaUser.find(qq => qq.id == (pomsUser.find(oo => oo.id == p.createUser)||{}).pepUserId)||{}).name ||'' const pepUserName = (pepcaUser.find(qq => qq.id == (pomsUser.find(oo => oo.id == p.createUser) || {}).pepUserId) || {}).name || ''
p.dataValues.pepProjectName = corPro.project_name p.dataValues.pepProjectName = corPro.project_name
p.dataValues.pepProjectIsDelete = corPro.isdelete p.dataValues.pepProjectIsDelete = corPro.isdelete
p.dataValues.constructionStatusId = corPro.construction_status_id p.dataValues.constructionStatusId = corPro.construction_status_id
@ -210,15 +210,23 @@ async function strucWithPomsProject (ctx) {
const { clickHouse } = ctx.app.fs const { clickHouse } = ctx.app.fs
const { pomsProjectId } = ctx.query const { pomsProjectId } = ctx.query
const bindRes = await models.ProjectCorrelation.findOne({ const bindRes = await models.ProjectCorrelation.findAll({
where: { where: {
id: pomsProjectId id: { $in: pomsProjectId.split(',') }
} }
}) })
let anxinProjectIds = new Set()
for (let b of bindRes) {
if (b.anxinProjectId.length) {
for (let aid of b.anxinProjectId) {
anxinProjectIds.add(aid)
}
}
}
let undelStruc = [] let undelStruc = []
if (bindRes) { if (bindRes) {
const undelStrucRes = bindRes.anxinProjectId.length ? const undelStrucRes = anxinProjectIds.size ?
await clickHouse.anxinyun.query( await clickHouse.anxinyun.query(
` `
SELECT SELECT
@ -249,7 +257,7 @@ async function strucWithPomsProject (ctx) {
WHERE WHERE
project_state != -1 project_state != -1
AND AND
t_project.id IN (${bindRes.anxinProjectId.join(',')}) t_project.id IN (${[...anxinProjectIds].join(',')}, -1)
ORDER BY strucId ORDER BY strucId
` `
).toPromise() : ).toPromise() :

8
script/0.10/schema/1.alter_alarm_push_config.sql

@ -6,3 +6,11 @@ comment on column alarm_push_config.alarm_sub_type is '存对应监听模块(ala
camera.kind_id, camera.kind_id,
app_alarm.errType app_alarm.errType
)'; )';
ALTER TABLE alarm_push_config ALTER COLUMN poms_project_id TYPE INTEGER []
USING CASE
WHEN poms_project_id is NULL
then NULL
ELSE array [poms_project_id]
END ::INTEGER [];
Loading…
Cancel
Save