diff --git a/inventaire.html b/inventaire.html index 78bbc4f..249df13 100644 --- a/inventaire.html +++ b/inventaire.html @@ -4,19 +4,17 @@ inventaire des entrées/sorties des matériels permanents *}} -{{* Extraire et compiler les infos de la base *}} -{{:include file="./_calcul_dispo.html" keep="categories,equipments"}} - {{* Sélecteur catégories *}} {{:assign var="options." value="" label="Toutes les catégories" href="?prop=1"}} -{{#foreach from=$categories key=key item=name}} +{{#load type="category" order="$$.name"}} + {{:assign var="categories.%s"|args:$key value=$name}} {{:assign var="options." value=$key label=$name href="?cat_key=%s&prop=1"|args:$key }} -{{/foreach}} +{{/load}}
Filtrer par catégorie @@ -31,13 +29,29 @@

Inventaire des matériels propriété de l'association

-{{* Vérifier s'il y a au moins un matériel non archivé propriété de l'asso *}} -{{:assign mat_present=false}} -{{#foreach from=$equipments key=key item=eqpmt}} - {{if $eqpmt|has_key:"stock" && $eqpmt.status != "archived"}} - {{:assign mat_present=true}} - {{:break}} - {{/if}} +{{* types d'entrées et sorties *}} +{{:include file="./_get_config.html" keep="config"}} + +{{#foreach from=$config.input_nature key=key}} + {{:assign var="types.input.%s."|args:$type value=$key}} +{{/foreach}} + +{{#foreach from=$types.input key=key}} + {{:assign var=elem from="types.input.%s"|args:$key}} + {{:assign elem=$elem|quote_sql|implode:","}} + {{:assign elem="("|cat:$elem|cat:")"}} + {{:assign var="input_types.%s"|args:$key value=$elem}} +{{/foreach}} + +{{#foreach from=$config.output_nature key=key}} + {{:assign var="types.output.%s."|args:$type value=$key}} +{{/foreach}} + +{{#foreach from=$types.output key=key}} + {{:assign var=elem from="types.output.%s"|args:$key}} + {{:assign elem=$elem|quote_sql|implode:","}} + {{:assign elem="("|cat:$elem|cat:")"}} + {{:assign var="output_types.%s"|args:$key value=$elem}} {{/foreach}} {{* filtrer selon la catégorie *}} @@ -48,72 +62,100 @@ {{:assign condition="$$.category == %s"|args:$cat_key}} {{/if}} -{{if $mat_present}} - {{#list - select=" - $$.name AS 'Matériel' ; - (SELECT $$.name - FROM @TABLE as cat - WHERE cat.key = @TABLE.$$.category) AS "Catégorie" ; - "" AS 'Stock' ; - "" AS 'Sorti' ; - "" AS 'Dispo' - " - type="equipment" - where="$$.status<>'archived' AND %s"|args:$condition - order=1 +{{#list + select=" + $$.name AS 'Matériel' ; + (SELECT $$.name + FROM @TABLE as cat + WHERE cat.key = @TABLE.$$.category) AS 'Catégorie' ; + (SELECT + SUM($$.amount) + FROM module_data_equipment AS mvt + WHERE + $$.type = 'movement' + AND + $$.operation IN %s + AND + $$.equipment = module_data_equipment.key + ) - + (SELECT + COALESCE(SUM($$.amount), 0) + FROM module_data_equipment AS mvt + WHERE + $$.type = 'movement' + AND + $$.operation IN %s + AND + $$.equipment = module_data_equipment.key + ) AS 'Stock' ; + (SELECT + COALESCE(SUM($$.amount), 0) + FROM module_data_equipment AS mvt + WHERE + $$.type = 'movement' + AND + $$.operation IN %s + AND + $$.equipment = module_data_equipment.key + ) - + (SELECT + COALESCE(SUM($$.amount), 0) + FROM module_data_equipment AS mvt + WHERE + $$.type = 'movement' + AND + $$.operation IN %s + AND + $$.equipment = module_data_equipment.key + ) AS 'Sorti' ; + '' AS 'Disponible' + "|args:$input_types.définitif:$output_types.définitif:$output_types.temporaire:$input_types.retour + type="equipment" + where="$$.status <> 'archived' AND %s"|args:$condition + group="col1 HAVING col3 NOT NULL" + order=1 }} - {{:assign var=eqpmt_key value=$key}} - {{:assign var=cat_name from=categories.%s|args:$category}} - {{:assign var=stock from="equipments.%s.stock"|args:$eqpmt_key}} - {{:assign var=exterieur from="equipments.%s.exterieur"|args:$eqpmt_key}} - {{:assign dispo="%d-%d"|math:$stock:$exterieur}} - {{:assign var=eqpmt from="equipments.%s"|args:$eqpmt_key}} + {{:assign var=cat_name from=categories.%s|args:$category}} + {{:assign dispo="%d-%d"|math:$col3:$col4}} - {{if ! $eqpmt|has_key:"stock"}} - {{* aucune unité permanente de ce matériel *}} - {{:continue}} - {{/if}} - - - {{$name}} - {{$cat_name}} - {{$stock}} - {{if $exterieur == null}}0{{else}}{{$exterieur}}{{/if}} - {{$dispo}} - - {{if $exterieur > 0}} - {{:linkbutton - label="Retour" - href="mouvements/entrees/retour.html?key=%s"|args:$eqpmt_key - shape="history" - target="_dialog"}} - {{/if}} - {{if $dispo > 0}} - {{:linkbutton - label="Sortie" - shape="minus" - href="mouvements/sorties/stock_disponible.html?key=%s"|args:$eqpmt_key - target="_dialog"}} - {{/if}} + + {{$name}} + {{$cat_name}} + {{$col3}} + {{$col4}} + {{$dispo}} + + {{if $col4 > 0}} {{:linkbutton - label="Entrée" - shape="plus" - href="mouvements/entrees/repertorie.html?key=%s"|args:$eqpmt_key + label="Retour" + href="mouvements/entrees/retour.html?key=%s"|args:$key + shape="history" target="_dialog"}} + {{/if}} + {{if $dispo > 0}} {{:linkbutton - label="Historique" - href="historique.html?key=%s&prop=1"|args:$eqpmt_key - shape="table"}} - {{:linkbutton - label="Modifier" - href="modifier_materiel.html?key=%s&prop=1&stock=%s"|args:$eqpmt_key:$stock - shape="edit" + label="Sortie" + shape="minus" + href="mouvements/sorties/stock_disponible.html?key=%s"|args:$key target="_dialog"}} - - - {{/list}} + {{/if}} + {{:linkbutton + label="Entrée" + shape="plus" + href="mouvements/entrees/repertorie.html?key=%s"|args:$key + target="_dialog"}} + {{:linkbutton + label="Historique" + href="historique.html?key=%s&prop=1"|args:$key + shape="table"}} + {{:linkbutton + label="Modifier" + href="modifier_materiel.html?key=%s&prop=1&stock=%s"|args:$key:$col3 + shape="edit" + target="_dialog"}} + + {{else}}

Aucun matériel.

-{{/if}} +{{/list}} diff --git a/inventaire_nonprop.html b/inventaire_nonprop.html index e09b172..68c4419 100644 --- a/inventaire_nonprop.html +++ b/inventaire_nonprop.html @@ -4,19 +4,17 @@ inventaire des entrées/sorties des matériels temporaires *}} -{{* Extraire et compiler les infos de la base *}} -{{:include file="./_calcul_dispo.html" keep="categories,equipments"}} - {{* Sélecteur catégories *}} {{:assign var="options." value="" label="Toutes les catégories" href="?prop=0"}} -{{#foreach from=$categories key=key item=name}} +{{#load type="category" order="$$.name"}} + {{:assign var="categories.%s"|args:$key value=$name}} {{:assign var="options." value=$key label=$name href="?cat_key=%s&prop=0"|args:$key }} -{{/foreach}} +{{/load}}
Filtrer par catégorie @@ -31,13 +29,29 @@

Inventaire des matériels empruntés ou loués

-{{* Vérifier s'il y a au moins un matériel non propriété de l'asso *}} -{{:assign mat_present=false}} -{{#foreach from=$equipments key=key item=eqpmt}} - {{if $eqpmt|has_key:"nonproprio" && $eqpmt.status != "archived"}} - {{:assign mat_present=true}} - {{:break}} - {{/if}} +{{* types d'entrées et sorties *}} +{{:include file="./_get_config.html" keep="config"}} + +{{#foreach from=$config.input_nature key=key}} + {{:assign var="types.input.%s."|args:$type value=$key}} +{{/foreach}} + +{{#foreach from=$types.input key=key}} + {{:assign var=elem from="types.input.%s"|args:$key}} + {{:assign elem=$elem|quote_sql|implode:","}} + {{:assign elem="("|cat:$elem|cat:")"}} + {{:assign var="input_types.%s"|args:$key value=$elem}} +{{/foreach}} + +{{#foreach from=$config.output_nature key=key}} + {{:assign var="types.output.%s."|args:$type value=$key}} +{{/foreach}} + +{{#foreach from=$types.output key=key}} + {{:assign var=elem from="types.output.%s"|args:$key}} + {{:assign elem=$elem|quote_sql|implode:","}} + {{:assign elem="("|cat:$elem|cat:")"}} + {{:assign var="output_types.%s"|args:$key value=$elem}} {{/foreach}} {{* filtrer selon la catégorie *}} @@ -48,56 +62,69 @@ {{:assign condition="$$.category == %s"|args:$cat_key}} {{/if}} -{{if $mat_present}} - {{#list - select=" - $$.name AS 'Matériel' ; - (SELECT $$.name - FROM @TABLE as cat - WHERE cat.key = @TABLE.$$.category) AS "Catégorie" ; - "" AS 'Quantité' - " - type="equipment" - where="%s"|args:$condition - order=1 - }} - {{:assign var=eqpmt_key value=$key}} - {{:assign var=cat_name from=categories.%s|args:$category}} - {{:assign var=qte from="equipments.%s.nonproprio"|args:$eqpmt_key}} +{{#list + select=" + $$.name AS 'Matériel' ; + (SELECT $$.name + FROM @TABLE as cat + WHERE cat.key = @TABLE.$$.category) AS 'Catégorie' ; + (SELECT + SUM($$.amount) + FROM module_data_equipment AS mvt + WHERE + $$.type = 'movement' + AND + $$.operation IN %s + AND + $$.equipment = module_data_equipment.key + ) - + (SELECT + COALESCE(SUM($$.amount), 0) + FROM module_data_equipment AS mvt + WHERE + $$.type = 'movement' + AND + $$.operation IN %s + AND + $$.equipment = module_data_equipment.key + ) AS 'Quantité' + "|args:$input_types.temporaire:$output_types.retour + type="equipment" + where="$$.status <> 'archived' AND %s"|args:$condition + group="col1 HAVING (col3 NOT NULL AND col3 > 0)" + order=1 + }} - {{if $qte == null}} - {{:continue}} - {{/if}} + {{:assign var=cat_name from=categories.%s|args:$category}} - - {{$name}} - {{$cat_name}} - {{$qte}} - - {{if $qte > 0}} - {{:linkbutton - label="Retour" - href="mouvements/sorties/emprunte.html?key=%s"|args:$eqpmt_key - shape="history" - target="_dialog"}} - {{/if}} + + {{$name}} + {{$cat_name}} + {{$col3}} + + {{if $col3 > 0}} {{:linkbutton - label="Entrée" - shape="plus" - href="mouvements/entrees/repertorie.html?key=%s"|args:$eqpmt_key + label="Retour" + href="mouvements/sorties/emprunte.html?key=%s"|args:$key + shape="history" target="_dialog"}} - {{:linkbutton - label="Historique" - href="historique.html?key=%s&prop=0"|args:$eqpmt_key - shape="table"}} - {{:linkbutton - label="Modifier" - href="modifier_materiel.html?key=%s&prop=0"|args:$eqpmt_key - shape="edit" - target="_dialog"}} - - - {{/list}} + {{/if}} + {{:linkbutton + label="Entrée" + shape="plus" + href="mouvements/entrees/repertorie.html?key=%s"|args:$key + target="_dialog"}} + {{:linkbutton + label="Historique" + href="historique.html?key=%s&prop=0"|args:$key + shape="table"}} + {{:linkbutton + label="Modifier" + href="modifier_materiel.html?key=%s&prop=0"|args:$key + shape="edit" + target="_dialog"}} + + {{else}}

Aucun matériel.

-{{/if}} +{{/list}}