From 58fef715a8be2fe6a5d4e55dbb6b0b5777c5e06e Mon Sep 17 00:00:00 2001 From: Jean-Laurent <jean-laurent.duzant@xelians.fr> Date: Tue, 5 Apr 2022 12:18:32 +0200 Subject: [PATCH] FIX #20298 TIME 1:10 valide circuit visa when all document of letterbox are signed --- .../process_mailsFromSignatoryBook.php | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/bin/signatureBook/process_mailsFromSignatoryBook.php b/bin/signatureBook/process_mailsFromSignatoryBook.php index 386dbf2a3b6..cec48b8b321 100755 --- a/bin/signatureBook/process_mailsFromSignatoryBook.php +++ b/bin/signatureBook/process_mailsFromSignatoryBook.php @@ -311,6 +311,10 @@ foreach ($retrievedMails['noVersion'] as $resId => $value) { } Bt_validatedMail(['status' => $status, 'resId' => $value['res_id_master']]); + if (empty($validateVisaWorkflow[$value['res_id_master']]['WorkflowCompleted']) || $validateVisaWorkflow[$value['res_id_master']]['WorkflowCompleted'] == false) { + $validateVisaWorkflow[$value['res_id_master']]['WorkflowCompleted'] = true; + } + $historyInfo = 'La signature de la pièce jointe ' . $historyIdentifier . ' a été validée dans le parapheur externe' . $additionalHistoryInfo; } elseif ($value['status'] == 'refused') { if (!empty($value['encodedFile'])) { @@ -346,7 +350,8 @@ foreach ($retrievedMails['noVersion'] as $resId => $value) { 'where' => ['res_id = ?'], 'data' => [$value['res_id_master']] ]); - + + $validateVisaWorkflow[$value['res_id_master']]['WorkflowCompleted'] = false; $historyInfo = 'La signature de la pièce jointe ' . $historyIdentifier . ' a été refusée dans le parapheur externe' . $additionalHistoryInfo; } if (in_array($value['status'], ['validated', 'refused'])) { @@ -432,6 +437,11 @@ foreach ($retrievedMails['resLetterbox'] as $resId => $value) { if ($value['status'] == 'validatedNote') { $status = $validatedStatusAnnot; } + + if (empty($validateVisaWorkflow[$value['res_id']]['WorkflowCompleted']) || $validateVisaWorkflow[$value['res_id_master']]['WorkflowCompleted'] == false) { + $validateVisaWorkflow[$value['res_id']]['WorkflowCompleted'] = true; + } + $history = 'Le document ' . $historyIdentifier . ' a été validé dans le parapheur externe' . $additionalHistoryInfo; } elseif (in_array($value['status'], ['refusedNote', 'refused'])) { Bt_writeLog(['level' => 'INFO', 'message' => 'Document refused']); @@ -439,6 +449,7 @@ foreach ($retrievedMails['resLetterbox'] as $resId => $value) { if ($value['status'] == 'refusedNote') { $status = $refusedStatusAnnot; } + $validateVisaWorkflow[$value['res_id']]['WorkflowCompleted'] = false; $history = 'Le document ' . $historyIdentifier . ' a été refusé dans le parapheur externe' . $additionalHistoryInfo; } Bt_history([ @@ -459,6 +470,14 @@ foreach ($retrievedMails['resLetterbox'] as $resId => $value) { } } +// valide circuit visa +// only, if all documents of letterbox are signed +foreach ($validateVisaWorkflow as $key => $value) { + if (!empty($value['WorkflowCompleted']) && $value['WorkflowCompleted']) { + \ExternalSignatoryBook\controllers\FastParapheurController::processVisaWorkflow(['res_id' => $key, 'processSignatory' => true]); + } +} + Bt_writeLog(['level' => 'INFO', 'message' => 'End of process']); Bt_writeLog(['level' => 'INFO', 'message' => $nbMailsRetrieved.' document(s) retrieved']); -- GitLab