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