inventaire : ajout tri par quantité
This commit is contained in:
parent
17052676df
commit
0be13c1c11
118
inventaire.html
118
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}}
|
||||
|
||||
<fieldset class="shortFormRight">
|
||||
<legend>Filtrer par catégorie</legend>
|
||||
@ -31,13 +29,29 @@
|
||||
<p class="help">Inventaire des matériels propriété de l'association</p>
|
||||
</div>
|
||||
|
||||
{{* 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,45 +62,74 @@
|
||||
{{: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'
|
||||
"
|
||||
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}}
|
||||
|
||||
{{if ! $eqpmt|has_key:"stock"}}
|
||||
{{* aucune unité permanente de ce matériel *}}
|
||||
{{:continue}}
|
||||
{{/if}}
|
||||
{{:assign dispo="%d-%d"|math:$col3:$col4}}
|
||||
|
||||
<tr>
|
||||
<td>{{$name}}</td>
|
||||
<td>{{$cat_name}}</td>
|
||||
<td class="num">{{$stock}}</td>
|
||||
<td class="num">{{if $exterieur == null}}0{{else}}{{$exterieur}}{{/if}}</td>
|
||||
<td class="num">{{$col3}}</td>
|
||||
<td class="num">{{$col4}}</td>
|
||||
<td class="num">{{$dispo}}</td>
|
||||
<td class="actions">
|
||||
{{if $exterieur > 0}}
|
||||
{{if $col4 > 0}}
|
||||
{{:linkbutton
|
||||
label="Retour"
|
||||
href="mouvements/entrees/retour.html?key=%s"|args:$eqpmt_key
|
||||
href="mouvements/entrees/retour.html?key=%s"|args:$key
|
||||
shape="history"
|
||||
target="_dialog"}}
|
||||
{{/if}}
|
||||
@ -94,26 +137,25 @@
|
||||
{{:linkbutton
|
||||
label="Sortie"
|
||||
shape="minus"
|
||||
href="mouvements/sorties/stock_disponible.html?key=%s"|args:$eqpmt_key
|
||||
href="mouvements/sorties/stock_disponible.html?key=%s"|args:$key
|
||||
target="_dialog"}}
|
||||
{{/if}}
|
||||
{{:linkbutton
|
||||
label="Entrée"
|
||||
shape="plus"
|
||||
href="mouvements/entrees/repertorie.html?key=%s"|args:$eqpmt_key
|
||||
href="mouvements/entrees/repertorie.html?key=%s"|args:$key
|
||||
target="_dialog"}}
|
||||
{{:linkbutton
|
||||
label="Historique"
|
||||
href="historique.html?key=%s&prop=1"|args:$eqpmt_key
|
||||
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:$eqpmt_key:$stock
|
||||
href="modifier_materiel.html?key=%s&prop=1&stock=%s"|args:$key:$col3
|
||||
shape="edit"
|
||||
target="_dialog"}}
|
||||
</td>
|
||||
</tr>
|
||||
{{/list}}
|
||||
{{else}}
|
||||
<p class="block alert">Aucun matériel.</p>
|
||||
{{/if}}
|
||||
{{/list}}
|
||||
|
@ -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}}
|
||||
|
||||
<fieldset class="shortFormRight">
|
||||
<legend>Filtrer par catégorie</legend>
|
||||
@ -31,13 +29,29 @@
|
||||
<p class="help shortFormLeft">Inventaire des matériels empruntés ou loués</p>
|
||||
</div>
|
||||
|
||||
{{* 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é'
|
||||
"
|
||||
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="%s"|args:$condition
|
||||
where="$$.status <> 'archived' AND %s"|args:$condition
|
||||
group="col1 HAVING (col3 NOT NULL AND col3 > 0)"
|
||||
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}}
|
||||
|
||||
{{if $qte == null}}
|
||||
{{:continue}}
|
||||
{{/if}}
|
||||
{{:assign var=cat_name from=categories.%s|args:$category}}
|
||||
|
||||
<tr>
|
||||
<td>{{$name}}</td>
|
||||
<td>{{$cat_name}}</td>
|
||||
<td class="num">{{$qte}}</td>
|
||||
<td class="num">{{$col3}}</td>
|
||||
<td class="actions">
|
||||
{{if $qte > 0}}
|
||||
{{if $col3 > 0}}
|
||||
{{:linkbutton
|
||||
label="Retour"
|
||||
href="mouvements/sorties/emprunte.html?key=%s"|args:$eqpmt_key
|
||||
href="mouvements/sorties/emprunte.html?key=%s"|args:$key
|
||||
shape="history"
|
||||
target="_dialog"}}
|
||||
{{/if}}
|
||||
{{:linkbutton
|
||||
label="Entrée"
|
||||
shape="plus"
|
||||
href="mouvements/entrees/repertorie.html?key=%s"|args:$eqpmt_key
|
||||
href="mouvements/entrees/repertorie.html?key=%s"|args:$key
|
||||
target="_dialog"}}
|
||||
{{:linkbutton
|
||||
label="Historique"
|
||||
href="historique.html?key=%s&prop=0"|args:$eqpmt_key
|
||||
href="historique.html?key=%s&prop=0"|args:$key
|
||||
shape="table"}}
|
||||
{{:linkbutton
|
||||
label="Modifier"
|
||||
href="modifier_materiel.html?key=%s&prop=0"|args:$eqpmt_key
|
||||
href="modifier_materiel.html?key=%s&prop=0"|args:$key
|
||||
shape="edit"
|
||||
target="_dialog"}}
|
||||
</td>
|
||||
</tr>
|
||||
{{/list}}
|
||||
{{else}}
|
||||
<p class="block alert">Aucun matériel.</p>
|
||||
{{/if}}
|
||||
{{/list}}
|
||||
|
Loading…
Reference in New Issue
Block a user