{{:admin_header title="Gestion des matériels" custom_css=$custom_css current="module_equipment"}} {{* barre de navigation *}} {{:include file="/%s/_nav.html"|args:$module.name current="index"}}
{{* Extraire et compiler les infos de la base *}} {{#select json_extract(mvt.document, '$.date') as 'date', eqpmt.key as 'eqpmt_key', json_extract(eqpmt.document, '$.designation') as 'designation', cat.key as 'cat_key', json_extract(cat.document, '$.name') as 'category', mvt.key as 'mvt_key', json_extract(mvt.document, '$.direction') as 'direction', CASE json_extract(mvt.document, '$.direction') WHEN 'entrée' THEN json_extract(mvt.document, '$.inputNature') WHEN 'sortie' THEN json_extract(mvt.document, '$.outputNature') END AS 'operation', json_extract(mvt.document, '$.amount') AS 'nombre' FROM module_data_equipment as eqpmt INNER JOIN module_data_equipment as cat ON json_extract(eqpmt.document, '$.category') = cat.key INNER JOIN module_data_equipment as mvt ON json_extract(mvt.document, '$.equipment') = eqpmt.key WHERE json_extract(eqpmt.document, '$.type') = "equipment" ORDER BY json_extract(cat.document, '$.name'), json_extract(eqpmt.document, '$.designation'), json_extract(mvt.document, '$.date'); }} {{:assign var="equipments.%s.name"|args:$cat_key value=$category}} {{:assign var="equipments.%s.eqpmt.%s.designation"|args:$cat_key:$eqpmt_key value=$designation}} {{* matériel propriété de l'asso en stock *}} {{:assign var="stock" from="equipments.%s.eqpmt.%s.stock"|args:$cat_key:$eqpmt_key}} {{if $stock === null}} {{:assign stock=0}} {{/if}} {{* matériel propriété de l'asso à l'extérieur *}} {{:assign var="exterieur" from="equipments.%s.eqpmt.%s.exterieur"|args:$cat_key:$eqpmt_key}} {{if $exterieur === null}} {{:assign exterieur=0}} {{/if}} {{* matériel non propriété de l'asso *}} {{:assign var="nonproprio" from="equipments.%s.eqpmt.%s.nonproprio"|args:$cat_key:$eqpmt_key}} {{if $nonproprio === null}} {{:assign nonproprio=0}} {{/if}} {{if $direction === 'entrée'}} {{* chercher le type d'entrée parmi les types de la config *}} {{#foreach from=$module.config.inputNature item="elem"}} {{if $operation == $elem.label}} {{if $elem.type == 'définitif'}} {{:assign stock="%d+%d"|math:$stock:$nombre}} {{:assign var="equipments.%s.eqpmt.%s.stock"|args:$cat_key:$eqpmt_key from=stock}} {{elseif $elem.type == 'retour'}} {{:assign exterieur="%d-%d"|math:$exterieur:$nombre}} {{:assign var="equipments.%s.eqpmt.%s.exterieur"|args:$cat_key:$eqpmt_key from=exterieur}} {{elseif $elem.type == 'temporaire'}} {{:assign nonproprio="%d+%d"|math:$nonproprio:$nombre}} {{:assign var="equipments.%s.eqpmt.%s.nonproprio"|args:$cat_key:$eqpmt_key from=nonproprio}} {{/if}} {{:break}} {{/if}} {{/foreach}} {{elseif $direction === 'sortie'}} {{* chercher le type de sortie parmi les types de la config *}} {{#foreach from=$module.config.outputNature item="elem"}} {{if $operation == $elem.label}} {{if $elem.type == 'définitif'}} {{:assign stock="%d-%d"|math:$stock:$nombre}} {{:assign var="equipments.%s.eqpmt.%s.stock"|args:$cat_key:$eqpmt_key from=stock}} {{elseif $elem.type == 'temporaire'}} {{:assign exterieur="%d+%d"|math:$exterieur:$nombre}} {{:assign var="equipments.%s.eqpmt.%s.exterieur"|args:$cat_key:$eqpmt_key from=exterieur}} {{elseif $elem.type == 'retour'}} {{:assign nonproprio="%d-%d"|math:nonproprio:$nombre}} {{:assign var="equipments.%s.eqpmt.%s.nonproprio"|args:$cat_key:$eqpmt_key from=nonproprio}} {{/if}} {{:break}} {{/if}} {{/foreach}} {{/if}} {{/select}} {{* Afficher les résultats *}}

Matériels dont l'association est propriétaire

{{* itérer sur les catégories *}} {{#foreach from=$equipments key="cat_key" item="category"}} {{* vérifier s'il y a des matériels dans cette catégorie *}} {{:assign present=false}} {{#foreach from=$category.eqpmt key="eqpmt_key" item="eqpmt"}} {{if $eqpmt.stock !== null && $eqpmt.stock !== 0}} {{:assign present=true}} {{:break}} {{/if}} {{/foreach}} {{if $present}}

{{$category.name}}

{{* itérer sur les matériels de la catégorie *}} {{#foreach from=$category.eqpmt key="eqpmt_key" item="eqpmt"}} {{:assign keys=$eqpmt|keys}} {{if "stock"|in:$keys && $eqpmt.stock !== 0}} {{:assign dispo="%d-%d"|math:$eqpmt.stock:$eqpmt.exterieur}} {{/if}} {{else}}

Il n'y a aucun matériel dans cette catégorie.

{{/foreach}}
Désignation Stock Sortie Disponible
{{$eqpmt.designation}} {{$eqpmt.stock}} {{if $eqpmt.exterieur == null}}0{{else}}{{$eqpmt.exterieur}}{{/if}} {{$dispo}} {{:linkbutton label="Historique des mouvements" href="historique.html?key=%s"|args:$eqpmt_key shape="table" target="_dialog"}}
{{/if}} {{/foreach}}

Matériels dont l'association n'est pas propriétaire

{{* itérer sur les catégories *}} {{#foreach from=$equipments key="cat_key" item="category"}} {{* vérifier s'il y a des matériels dans cette catégorie *}} {{:assign present=false}} {{#foreach from=$category.eqpmt key="eqpmt_key" item="eqpmt"}} {{if $eqpmt.nonproprio !== null && $eqpmt.nonproprio !== 0}} {{:assign present=true}} {{:break}} {{/if}} {{/foreach}} {{if $present}}

{{$category.name}}

{{* itérer sur les matériels de la catégorie *}} {{#foreach from=$category.eqpmt key="eqpmt_key" item="eqpmt"}} {{:assign keys=$eqpmt|keys}} {{if "nonproprio"|in:$keys && $eqpmt.nonproprio !== 0}} {{:assign dispo="%d-%d"|math:$eqpmt.stock:$eqpmt.exterieur}} {{/if}} {{else}}

Il n'y a aucun matériel dans cette catégorie.

{{/foreach}}
Désignation Quantité
{{$eqpmt.designation}} {{$eqpmt.nonproprio}} {{:linkbutton label="Historique des mouvements" href="historique.html?key=%s"|args:$eqpmt_key shape="table" target="_dialog"}}
{{/if}} {{/foreach}}
{{:admin_footer}}