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