diff --git a/bin/signatureBook/process_mailsFromSignatoryBook.php b/bin/signatureBook/process_mailsFromSignatoryBook.php index 3752f0a513a1e6e2e9d448730ada56639f91bfee..af4a8e7c0544e5e5a62c0e08ff19bf4a08657b62 100755 --- a/bin/signatureBook/process_mailsFromSignatoryBook.php +++ b/bin/signatureBook/process_mailsFromSignatoryBook.php @@ -255,7 +255,8 @@ foreach ($retrievedMails['noVersion'] as $resId => $value) { 'status' => 'TRA', 'encodedFile' => $value['encodedFile'], 'inSignatureBook' => true, - 'originId' => $resId + 'originId' => $resId, + 'signatory_user_serial_id' => $value['signatory_user_serial_id'] ?? null ]); } diff --git a/src/app/external/externalSignatoryBook/controllers/FastParapheurController.php b/src/app/external/externalSignatoryBook/controllers/FastParapheurController.php index c328944e696bffabc7e2e4bdd20fe9cc1a2a4825..a40a6d450fb00f9a381cd31a852f1badd2565ae7 100755 --- a/src/app/external/externalSignatoryBook/controllers/FastParapheurController.php +++ b/src/app/external/externalSignatoryBook/controllers/FastParapheurController.php @@ -79,20 +79,15 @@ class FastParapheurController $aArgs['idsToRetrieve'][$version][$resId]['status'] = 'validated'; $aArgs['idsToRetrieve'][$version][$resId]['format'] = 'pdf'; $aArgs['idsToRetrieve'][$version][$resId]['encodedFile'] = $response['b64FileContent']; + $signatoryInfo = FastParapheurController::getSignatoryUserInfo(['resId' => $aArgs['idsToRetrieve'][$version][$resId]['res_id_master']]); + $aArgs['idsToRetrieve'][$version][$resId]['signatory_user_serial_id'] = $signatoryInfo['id']; FastParapheurController::processVisaWorkflow(['res_id_master' => $value['res_id_master'], 'res_id' => $value['res_id'], 'processSignatory' => true]); break; } elseif ($state == $aArgs['config']['data']['refusedState']) { - $res = DatabaseModel::select([ - 'select' => ['firstname', 'lastname'], - 'table' => ['listinstance', 'users'], - 'left_join' => ['listinstance.item_id = users.id'], - 'where' => ['res_id = ?', 'item_mode = ?'], - 'data' => [$aArgs['idsToRetrieve'][$version][$resId]['res_id_master'], 'sign'] - ])[0]; - + $signatoryInfo = FastParapheurController::getSignatoryUserInfo(['resId' => $aArgs['idsToRetrieve'][$version][$resId]['res_id_master']]); $response = FastParapheurController::getRefusalMessage(['config' => $aArgs['config'], 'documentId' => $value['external_id']]); $aArgs['idsToRetrieve'][$version][$resId]['status'] = 'refused'; - $aArgs['idsToRetrieve'][$version][$resId]['noteContent'] = $res['lastname'] . ' ' . $res['firstname'] . ' : ' . $response; + $aArgs['idsToRetrieve'][$version][$resId]['noteContent'] = $signatoryInfo['lastname'] . ' ' . $signatoryInfo['firstname'] . ' : ' . $response; break; } else { $aArgs['idsToRetrieve'][$version][$resId]['status'] = 'waiting'; @@ -103,6 +98,19 @@ class FastParapheurController return $aArgs['idsToRetrieve']; } + public static function getSignatoryUserInfo($args = []) + { + $res = DatabaseModel::select([ + 'select' => ['firstname', 'lastname', 'users.id'], + 'table' => ['listinstance', 'users'], + 'left_join' => ['listinstance.item_id = users.id'], + 'where' => ['res_id = ?', 'process_date is null', 'difflist_type = ?'], + 'data' => [$args['resId'], 'VISA_CIRCUIT'] + ])[0]; + + return $res; + } + public static function processVisaWorkflow($aArgs = []) { $resIdMaster = $aArgs['res_id_master'] ?? $aArgs['res_id']; diff --git a/src/app/external/externalSignatoryBook/controllers/MaarchParapheurController.php b/src/app/external/externalSignatoryBook/controllers/MaarchParapheurController.php index 7b387e5557e04429f246e90733282d51bd099849..4e78e6e4fa0aa394809aaec85487b19a6d933fb2 100755 --- a/src/app/external/externalSignatoryBook/controllers/MaarchParapheurController.php +++ b/src/app/external/externalSignatoryBook/controllers/MaarchParapheurController.php @@ -528,12 +528,13 @@ class MaarchParapheurController } if (!empty($state['signatoryUserId'])) { $signatoryUser = UserModel::getByExternalId([ - 'select' => ['user_id'], + 'select' => ['user_id', 'id'], 'externalId' => $state['signatoryUserId'], 'externalName' => 'maarchParapheur' ]); if (!empty($signatoryUser['user_id'])) { $aArgs['idsToRetrieve'][$version][$resId]['typist'] = $signatoryUser['user_id']; + $aArgs['idsToRetrieve'][$version][$resId]['signatory_user_serial_id'] = $signatoryUser['id']; } } $aArgs['idsToRetrieve'][$version][$resId]['workflowInfo'] = implode(", ", $state['workflowInfo']);