Skip to content
Snippets Groups Projects
Commit 4c4c2da9 authored by Guillaume Heurtier's avatar Guillaume Heurtier
Browse files

FEAT #12428 TIME 0:15 fixed for v1

parent 0b4cde74
No related branches found
No related tags found
No related merge requests found
...@@ -145,19 +145,18 @@ class SummarySheetController ...@@ -145,19 +145,18 @@ class SummarySheetController
'orderBy' => [$order] 'orderBy' => [$order]
]); ]);
// $pdf = new Fpdi('P', 'pt');
// $pdf->setPrintHeader(false);
$resourcesIds = array_column($resources, 'res_id'); $resourcesIds = array_column($resources, 'res_id');
// Data for resources // Data for resources
$data = SummarySheetController::prepareData(['units' => $units, 'resourcesIds' => $resourcesIds]); $data = SummarySheetController::prepareData(['units' => $units, 'resourcesIds' => $resourcesIds]);
foreach ($resources as $resource) { foreach ($resources as $resource) {
SummarySheetController::createSummarySheet($pdf, ['resource' => $resource, 'units' => $units, SummarySheetController::createSummarySheet($pdf, [
'login' => $GLOBALS['userId'], 'resource' => $resource, 'units' => $units,
'data' => $data, 'login' => $GLOBALS['userId'],
'fieldsIdentifier' => $fieldsIdentifier]); 'data' => $data,
'fieldsIdentifier' => $fieldsIdentifier
]);
} }
} }
...@@ -226,6 +225,14 @@ class SummarySheetController ...@@ -226,6 +225,14 @@ class SummarySheetController
]); ]);
$allResourcesInBasket = array_column($rawResourcesInBasket, 'res_id'); $allResourcesInBasket = array_column($rawResourcesInBasket, 'res_id');
$resourcesByModelIds = DatabaseModel::select([
'select' => ["string_agg(cast(res_id as text), ',') as res_ids", 'model_id'],
'table' => ['res_letterbox'],
'where' => ['res_id in (?)'],
'data' => [$allResourcesInBasket],
'groupBy' => ['model_id']
]);
$order = 'CASE res_view_letterbox.res_id '; $order = 'CASE res_view_letterbox.res_id ';
foreach ($resourcesData as $key => $resId) { foreach ($resourcesData as $key => $resId) {
if (!in_array($resId, $allResourcesInBasket)) { if (!in_array($resId, $allResourcesInBasket)) {
...@@ -252,23 +259,57 @@ class SummarySheetController ...@@ -252,23 +259,57 @@ class SummarySheetController
'destination' 'destination'
]; ];
$resources = ResModel::getOnView([ $possibleFields = [
'select' => $select, 'documentDate' => 'doc_date',
'where' => ['res_view_letterbox.res_id in (?)'], 'arrivalDate' => 'admission_date',
'data' => [$resourcesData], 'initiator' => 'initiator',
'orderBy' => [$order] 'priority' => 'priority',
]); 'processLimitDate' => 'process_limit_date',
'destination' => 'destination'
];
$pdf = new Fpdi('P', 'pt'); $pdf = new Fpdi('P', 'pt');
$pdf->setPrintHeader(false); $pdf->setPrintHeader(false);
$resourcesIds = array_column($resources, 'res_id'); foreach ($resourcesByModelIds as $resourcesByModelId) {
$resourcesIdsByModel = $resourcesByModelId['res_ids'];
$resourcesIdsByModel = explode(',', $resourcesIdsByModel);
// Data for resources $indexingFields = IndexingModelFieldModel::get([
$data = SummarySheetController::prepareData(['units' => $units, 'resourcesIds' => $resourcesIds]); 'select' => ['identifier', 'unit'],
'where' => ['model_id = ?'],
'data' => [$resourcesByModelId['model_id']]
]);
$fieldsIdentifier = array_column($indexingFields, 'identifier');
foreach ($resources as $resource) { foreach ($possibleFields as $key => $possibleField) {
SummarySheetController::createSummarySheet($pdf, ['resource' => $resource, 'units' => $units, 'login' => $GLOBALS['userId'], 'data' => $data]); if (!in_array($key, $fieldsIdentifier)) {
unset($select[$possibleField]);
}
}
$resources = ResModel::getOnView([
'select' => $select,
'where' => ['res_view_letterbox.res_id in (?)'],
'data' => [$resourcesIdsByModel],
'orderBy' => [$order]
]);
$resourcesIds = array_column($resources, 'res_id');
// Data for resources
$data = SummarySheetController::prepareData(['units' => $units, 'resourcesIds' => $resourcesIds]);
foreach ($resources as $resource) {
SummarySheetController::createSummarySheet($pdf, [
'resource' => $resource,
'units' => $units,
'login' => $GLOBALS['userId'],
'data' => $data,
'fieldsIdentifier' => $fieldsIdentifier
]);
}
} }
$fileContent = $pdf->Output('', 'S'); $fileContent = $pdf->Output('', 'S');
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment