parent
28a93b02f5
commit
28b125ca58
1 changed files with 87 additions and 0 deletions
@ -0,0 +1,87 @@ |
|||||||
|
initFunctionData = async (data) => { |
||||||
|
const { |
||||||
|
processId, |
||||||
|
payload, |
||||||
|
previousData, |
||||||
|
ref1Id, |
||||||
|
ref2Id, |
||||||
|
ref3Id, |
||||||
|
ref4Id, |
||||||
|
ref5Id, |
||||||
|
description, |
||||||
|
} = data; |
||||||
|
let { unitId } = data; |
||||||
|
// if (unitId == 14166153)
|
||||||
|
// return { statusCode: 403, message: "درحال توسعه", error: data };
|
||||||
|
const process = |
||||||
|
data.process || |
||||||
|
(await bpmsDB.bpms_process.findOne({ |
||||||
|
where: { id: processId, type: { [Op.in]: [0, 1] } }, |
||||||
|
raw: true, |
||||||
|
})); |
||||||
|
if (process.networkId) { |
||||||
|
const processNetwork = await db.network.findByPk(process.networkId, { |
||||||
|
raw: true, |
||||||
|
attributes: ["level"], |
||||||
|
}); |
||||||
|
const payloadNetwork = await db.network.findOne({ |
||||||
|
where: { |
||||||
|
[`level${processNetwork.level}Id`]: process.networkId, |
||||||
|
id: payload.networkId, |
||||||
|
}, |
||||||
|
raw: true, |
||||||
|
}); |
||||||
|
} |
||||||
|
let processChecklist = await bpmsDB.bpms_processChecklist.findAll({ |
||||||
|
where: { processId: process.id }, |
||||||
|
attributes: ["checklistId"], |
||||||
|
order: [["ord", "asc"]], |
||||||
|
}); |
||||||
|
|
||||||
|
const checklistIds = |
||||||
|
data?.checklists?.length |
||||||
|
? data.checklists.map((item) => +item.id).filter(Boolean).join(",") |
||||||
|
: processChecklist |
||||||
|
.map((e) => +e.checklistId) |
||||||
|
.filter((id) => !isNaN(id) && id !== 0) |
||||||
|
.join(","); |
||||||
|
|
||||||
|
const previousTask = data.previousTask;
|
||||||
|
const network = await db.network.findByPk(payload.networkId, { |
||||||
|
raw: true, |
||||||
|
}); |
||||||
|
let newData = { |
||||||
|
workflowId: process.workflowId, |
||||||
|
processId, |
||||||
|
userId: payload.userId, |
||||||
|
..._.pick(network, [ |
||||||
|
"level1Id", |
||||||
|
"level2Id", |
||||||
|
"level3Id", |
||||||
|
"level4Id", |
||||||
|
"level5Id", |
||||||
|
"level6Id", |
||||||
|
]), |
||||||
|
}; |
||||||
|
|
||||||
|
if (unitId) { |
||||||
|
const unit = |
||||||
|
data.unit || |
||||||
|
(await db.unit.findOne({ |
||||||
|
where: { id: unitId, status: 1 }, |
||||||
|
})); |
||||||
|
newData = { ...newData, data: [{ questionId: 100009, answer: unitId }] }; |
||||||
|
} else { |
||||||
|
const unitQuestion = data?.data?.find( |
||||||
|
(r) => r.questionId == 100009 && r.answer |
||||||
|
); |
||||||
|
if (unitQuestion) { |
||||||
|
unitId = unitQuestion.answer; |
||||||
|
const unit = |
||||||
|
data.unit || |
||||||
|
(await db.unit.findOne({ |
||||||
|
where: { id: unitId, status: 1 }, |
||||||
|
})); |
||||||
|
} |
||||||
|
return { data: newData, transaction: data.transaction } |
||||||
|
}} |
Loading…
Reference in new issue