From b6743ad3b395cf74dd4c0b83b38fa54e8a2d6c08 Mon Sep 17 00:00:00 2001 From: Jean-Christophe Engel Date: Thu, 23 Oct 2025 10:39:01 +0200 Subject: [PATCH] =?UTF-8?q?Simplification=20d=C3=A9tails=20membre?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- snippets/user_details.html | 176 +++++++++++++------------------------ 1 file changed, 63 insertions(+), 113 deletions(-) diff --git a/snippets/user_details.html b/snippets/user_details.html index ae4b346..3268dec 100644 --- a/snippets/user_details.html +++ b/snippets/user_details.html @@ -35,116 +35,85 @@ {{if $output_types|has_key:"temporaire" && $input_types|has_key:"retour"}} {{* - Calculer les quantités de matériel en prêt, retourné et restant + Calculer les quantités de matériel en prêt *}} {{:assign premier=true}} {{#select - mvt.key AS mvt_key, - json_extract(mvt.document, '$.date') AS out_date, + json_extract(mvt.document, '$.direction') AS direction, + json_extract(mvt.document, '$.date') AS date, + eqpmt.key as eqpmt_key, json_extract(eqpmt.document, '$.name') AS eqpmt_name, json_extract(mvt.document, '$.amount') AS qte, - IFNULL(SUM(json_extract(retour.document, '$.amount')), 0) AS return_amount, json_extract(mvt.document, '$.operation') AS operation - FROM module_data_equipment AS mvt + FROM {!$module.table} AS mvt INNER JOIN users ON json_extract(mvt.document, '$.user') = users.id - LEFT JOIN module_data_equipment AS links ON mvt.key = json_extract(links.document, '$.temp_key') - LEFT JOIN module_data_equipment AS retour ON retour.key = json_extract(links.document, '$.return') - INNER JOIN module_data_equipment AS eqpmt ON json_extract(mvt.document, '$.equipment') = eqpmt.key + INNER JOIN {!$module.table} AS eqpmt ON json_extract(mvt.document, '$.equipment') = eqpmt.key WHERE users.id = :user AND json_extract(mvt.document, '$.type') = 'movement' AND - json_extract(mvt.document, '$.operation') IN !output_types - GROUP BY mvt.key - ORDER BY eqpmt_name, json_extract(mvt.document, '$.date') + (json_extract(mvt.document, '$.operation') IN !output_types + OR + json_extract(mvt.document, '$.operation') IN !input_types) + ORDER BY eqpmt_name, date ; :user = $user.id !output_types=$output_types.temporaire + !input_types=$input_types.retour }} - {{:assign reste="%d-%d"|math:$qte:$return_amount}} - {{if $reste > 0}} - {{:assign class=""}} - {{else}} - {{:assign class="r0"}} - {{/if}} - {{:assign var="op_label" from="config.output_nature.%s.label"|args:$operation}} - {{:assign total=$qte}} {{if $premier}} {{:assign premier=false}} -

Matériels attribués temporairement

-
-
- {{:input type="checkbox" value=1 name="no_return" label="Masquer les matériels rendus en totalité"}} -
-
- - - - - - - - - - - - + {{:assign total=0}} + {{:assign old_eqpmt_key=$eqpmt_key}} + {{:assign var="ligne.date" value=$date}} + {{:assign var="ligne.materiel" value=$eqpmt_name}} {{/if}} - {{* Sortie temporaire *}} - - - - - - - - + {{if $eqpmt_key != $old_eqpmt_key}} + {{if $total > 0}} + {{:assign var="ligne.qte" value=$total}} + {{:assign var="lignes." value=$ligne}} + {{/if}} + {{:assign total=0}} + {{:assign old_eqpmt_key=$eqpmt_key}} + {{:assign var="ligne.date" value=$date}} + {{:assign var="ligne.materiel" value=$eqpmt_name}} + {{/if}} - {{* chercher les retours *}} - {{#select - json_extract(links.document, '$.return') AS return_key, - json_extract(return_mvt.document, '$.amount') AS return_amount, - json_extract(return_mvt.document, '$.date') AS return_date, - json_extract(return_mvt.document, '$.operation') AS operation - FROM module_data_equipment AS links - INNER JOIN module_data_equipment AS return_mvt ON return_mvt.key = return_key - WHERE json_extract(links.document, '$.temp_key') = :mvt_key - ORDER BY return_date - ; - :mvt_key=$mvt_key - }} - {{:assign var="op_label" from="config.input_nature.%s.label"|args:$operation}} - {{:assign total="%d-%d"|math:$total:$return_amount}} - - {{* retour de sortie temporaire *}} - - - - - - - - - {{/select}} + {{if $direction == "output"}} + {{:assign total="%d+%d"|math:$total:$qte}} + {{else}} + {{:assign total="%d-%d"|math:$total:$qte}} + {{/if}} {{/select}} - -
DateMatérielOpérationQuantitéTotal
{{$out_date|date_short}}{{$eqpmt_name}}{{$op_label}}{{$qte}}{{$total}} - {{if $reste > 0}} - {{if $reste > 1}} - {{:assign msg_reste="Reste %s unités"|args:$reste}} - {{else}} - {{:assign msg_reste="Reste %s unité"|args:$reste}} - {{/if}} - {{:linkbutton - label="Retour" - href="%smovements/output_return.html?key=%s&prop=0&user=%s"|args:$module.url:$mvt_key:$user.id - shape="history" - title=$msg_reste - target="_dialog"}} - {{/if}} -
{{$return_date|date_short}}{{$eqpmt_name}}{{$op_label}}{{$return_amount}}{{$total}}
+ + {{if $total > 0}} + {{:assign var="ligne.qte" value=$total}} + {{:assign var="lignes." value=$ligne}} + {{/if}} + + {{if $lignes|count > 0}} +

Matériels attribués temporairement

+ + + + + + + + + + {{#foreach from=$lignes}} + + + + + + {{/foreach}} + +
DateMatérielQuantité
{{$date|date_short}}{{$materiel}}{{$qte}}
+ {{/if}} {{/if}} {{* Matériels attribués définitivement *}} @@ -155,15 +124,16 @@ json_extract(eqpmt.document, '$.name') as eqpmt_name, json_extract(mvt.document, '$.direction') as direction, json_extract(mvt.document, '$.operation') as operation, - json_extract(mvt.document, '$.date') as date, - json_extract(mvt.document, '$.amount') as amount - FROM module_data_equipment AS mvt + MIN(json_extract(mvt.document, '$.date')) as date, + SUM(json_extract(mvt.document, '$.amount')) as amount + FROM {!$module.table} AS mvt INNER JOIN users ON json_extract(mvt.document, '$.user') = users.id - INNER JOIN module_data_equipment AS eqpmt + INNER JOIN {!$module.table} AS eqpmt ON json_extract(mvt.document, '$.equipment') = eqpmt.key WHERE users.id = :user AND json_extract(mvt.document, '$.operation') IN !output_types - ORDER BY date DESC + GROUP BY eqpmt_key, operation + ORDER BY eqpmt_name, date ; :user = $user.id !output_types=$output_types.définitif @@ -208,23 +178,3 @@ {{/if}} {{/if}} - -