diff --git a/src/app/contentManagement/controllers/MergeController.php b/src/app/contentManagement/controllers/MergeController.php index 34bfc01712a96a441aaf4af7d1bc04259ce82479..5717278de233972a499417578eff697b87904530 100644 --- a/src/app/contentManagement/controllers/MergeController.php +++ b/src/app/contentManagement/controllers/MergeController.php @@ -19,6 +19,7 @@ use Contact\models\ContactModel; use Doctype\models\DoctypeModel; use Entity\models\EntityModel; use Entity\models\ListInstanceModel; +use IndexingModel\models\IndexingModelModel; use Note\models\NoteModel; use Resource\models\ResModel; use SrcCore\models\TextFormatModel; @@ -85,36 +86,55 @@ class MergeController ValidatorModel::stringType($args, ['attachmentChrono', 'attachmentTitle']); //Resource - $resource = []; if (!empty($args['resId'])) { $resource = ResModel::getById(['select' => ['*'], 'resId' => [$args['resId']]]); - $allDates = ['doc_date', 'departure_date', 'admission_date', 'process_limit_date', 'opinion_limit_date', 'closing_date', 'creation_date']; - foreach ($allDates as $date) { - $resource[$date] = TextFormatModel::formatDate($resource[$date], 'd/m/Y'); + } else { + if (!empty($args['modelId'])) { + $indexingModel = IndexingModelModel::getById(['id' => $args['modelId'], 'select' => ['category']]); } - $resource['category_id'] = ResModel::getCategoryLabel(['category_id' => $resource['category_id']]); + $resource = [ + 'model_id' => $args['modelId'] ?? null, + 'category_id' => $indexingModel['category'] ?? null, + 'type_id' => $args['doctype'] ?? null, + 'subject' => $args['subject'] ?? null, + 'destination' => $args['destination'] ?? null, + 'initiator' => $args['initiator'] ?? null, + 'doc_date' => $args['documentDate'] ?? null, + 'admission_date' => $args['arrivalDate'] ?? null, + 'departure_date' => $args['departureDate'] ?? null, + 'process_limit_date' => $args['processLimitDate'] ?? null, + 'barcode' => $args['barcode'] ?? null, + 'origin' => $args['origin'] ?? null + ]; + } + $allDates = ['doc_date', 'departure_date', 'admission_date', 'process_limit_date', 'opinion_limit_date', 'closing_date', 'creation_date']; + foreach ($allDates as $date) { + $resource[$date] = TextFormatModel::formatDate($resource[$date], 'd/m/Y'); + } + $resource['category_id'] = ResModel::getCategoryLabel(['category_id' => $resource['category_id']]); + if (!empty($resource['type_id'])) { $doctype = DoctypeModel::getById(['id' => $resource['type_id'], 'select' => ['process_delay', 'process_mode', 'description']]); $resource['type_label'] = $doctype['description']; $resource['process_delay'] = $doctype['process_delay']; $resource['process_mode'] = $doctype['process_mode']; + } - if (!empty($resource['initiator'])) { - $initiator = EntityModel::getByEntityId(['entityId' => $resource['initiator'], 'select' => ['*']]); - if (!empty($initiator)) { - foreach ($initiator as $key => $value) { - $resource["initiator_{$key}"] = $value; - } - } - if (!empty($initiator['parent_entity_id'])) { - $parentInitiator = EntityModel::getByEntityId(['entityId' => $initiator['parent_entity_id'], 'select' => ['*']]); + if (!empty($resource['initiator'])) { + $initiator = EntityModel::getByEntityId(['entityId' => $resource['initiator'], 'select' => ['*']]); + if (!empty($initiator)) { + foreach ($initiator as $key => $value) { + $resource["initiator_{$key}"] = $value; } } - if (!empty($resource['destination'])) { - $destination = EntityModel::getByEntityId(['entityId' => $resource['destination'], 'select' => ['*']]); - if (!empty($destination['parent_entity_id'])) { - $parentDestination = EntityModel::getByEntityId(['entityId' => $destination['parent_entity_id'], 'select' => ['*']]); - } + if (!empty($initiator['parent_entity_id'])) { + $parentInitiator = EntityModel::getByEntityId(['entityId' => $initiator['parent_entity_id'], 'select' => ['*']]); + } + } + if (!empty($resource['destination'])) { + $destination = EntityModel::getByEntityId(['entityId' => $resource['destination'], 'select' => ['*']]); + if (!empty($destination['parent_entity_id'])) { + $parentDestination = EntityModel::getByEntityId(['entityId' => $destination['parent_entity_id'], 'select' => ['*']]); } } diff --git a/src/app/resource/controllers/ResController.php b/src/app/resource/controllers/ResController.php index 0bf0c281564a1ca9c31b58befd38b02747dda8cf..acf480a75eb6d390f19ea4d1523971e75f7c2ddf 100755 --- a/src/app/resource/controllers/ResController.php +++ b/src/app/resource/controllers/ResController.php @@ -257,37 +257,14 @@ class ResController return $response->withStatus(400)->withJson(['errors' => 'Document has no file']); } - if ($document['category_id'] == 'outgoing') { - $attachment = AttachmentModel::get([ - 'select' => ['res_id', 'docserver_id', 'path', 'filename'], - 'where' => ['res_id_master = ?', 'attachment_type = ?', 'status not in (?)'], - 'data' => [$aArgs['resId'], 'outgoing_mail', ['DEL', 'OBS']], - 'limit' => 1 - ]); - if (!empty($attachment[0])) { - $attachmentTodisplay = $attachment[0]; - $id = $attachmentTodisplay['res_id']; - $collId = "attachments_coll"; - - $convertedDocument = ConvertPdfController::getConvertedPdfById(['resId' => $id, 'collId' => $collId]); - if (empty($convertedDocument['errors'])) { - $attachmentTodisplay = $convertedDocument; - } - $document['docserver_id'] = $attachmentTodisplay['docserver_id']; - $document['path'] = $attachmentTodisplay['path']; - $document['filename'] = $attachmentTodisplay['filename']; - $document['fingerprint'] = $attachmentTodisplay['fingerprint']; - } - } else { - $convertedDocument = ConvertPdfController::getConvertedPdfById(['resId' => $aArgs['resId'], 'collId' => 'letterbox_coll']); - - if (empty($convertedDocument['errors'])) { - $documentTodisplay = $convertedDocument; - $document['docserver_id'] = $documentTodisplay['docserver_id']; - $document['path'] = $documentTodisplay['path']; - $document['filename'] = $documentTodisplay['filename']; - $document['fingerprint'] = $documentTodisplay['fingerprint']; - } + $convertedDocument = ConvertPdfController::getConvertedPdfById(['resId' => $aArgs['resId'], 'collId' => 'letterbox_coll']); + + if (empty($convertedDocument['errors'])) { + $documentTodisplay = $convertedDocument; + $document['docserver_id'] = $documentTodisplay['docserver_id']; + $document['path'] = $documentTodisplay['path']; + $document['filename'] = $documentTodisplay['filename']; + $document['fingerprint'] = $documentTodisplay['fingerprint']; } $docserver = DocserverModel::getByDocserverId(['docserverId' => $document['docserver_id'], 'select' => ['path_template', 'docserver_type_id']]);