Simplification calcul dispo
This commit is contained in:
parent
74ee34104f
commit
7364deda87
@ -3,35 +3,38 @@
|
||||
{{*
|
||||
Calcul des entrées/sorties de matériels à une date donnée
|
||||
paramètres :
|
||||
- category_keys : liste de clés de catégories
|
||||
- date : date supérieure des mouvements
|
||||
résultat : cumul_mvt,category_keys,equipments
|
||||
- key : clé du matériel concerné
|
||||
- cat_key : clé de la catégorie des matériels concernés
|
||||
- date
|
||||
résultat :
|
||||
- categories : tableau clé => nom
|
||||
- equipments : tableau clé => { clé cat, libellé mat, stock, exter, nonproprio }
|
||||
*}}
|
||||
|
||||
{{* liste des catégories *}}
|
||||
{{if $category_keys === null}}
|
||||
{{#load type="category"}}
|
||||
{{:assign var="cumul_mvt.%s.name"|args:$key value=$name}}
|
||||
{{/load}}
|
||||
{{else}}
|
||||
{{#load type="category" where="key"|sql_where:'IN':$category_keys}}
|
||||
{{:assign var="cumul_mvt.%s.name"|args:$key value=$name}}
|
||||
{{/load}}
|
||||
{{/if}}
|
||||
|
||||
{{#foreach from=$cumul_mvt key="cat_key" item="elem"}}
|
||||
{{:assign var="in_categories." value="'%s'"|args:$cat_key}}
|
||||
{{/foreach}}
|
||||
|
||||
{{:assign in_categories=$in_categories|implode:","}}
|
||||
{{:assign in_categories="("|cat:$in_categories|cat:")"}}
|
||||
|
||||
{{* liste des matériels dans les catégories passées en paramètre *}}
|
||||
{{#load type="equipment" where="$$.category IN %s"|args:$in_categories}}
|
||||
{{* liste des matériels *}}
|
||||
{{:assign equipments=null}}
|
||||
{{if $_GET.key}}
|
||||
{{* le matériel paramètre *}}
|
||||
{{#load key=$_GET.key}}
|
||||
{{:assign var="equipments.%s.category"|args:$key value=$category}}
|
||||
{{:assign var="equipments.%s.designation"|args:$key value=$designation}}
|
||||
{{:assign var="in_equipments." value="'%s'"|args:$key}}
|
||||
{{/load}}
|
||||
{{elseif $_GET.cat_key}}
|
||||
{{* matériels de la catégorie paramètre *}}
|
||||
{{#load type="equipment" where="$$.category = :category_key" :category_key=$_GET.cat_key}}
|
||||
{{:assign var="equipments.%s.category"|args:$key value=$category}}
|
||||
{{:assign var="equipments.%s.designation"|args:$key value=$designation}}
|
||||
{{:assign var="in_equipments." value="'%s'"|args:$key}}
|
||||
{{/load}}
|
||||
{{else}}
|
||||
{{* tous les matériels *}}
|
||||
{{#load type="equipment"}}
|
||||
{{:assign var="equipments.%s.category"|args:$key value=$category}}
|
||||
{{:assign var="equipments.%s.designation"|args:$key value=$designation}}
|
||||
{{:assign var="in_equipments." value="'%s'"|args:$key}}
|
||||
{{/load}}
|
||||
{{/if}}
|
||||
{{:assign in_equipments=$in_equipments|implode:","}}
|
||||
{{:assign in_equipments="("|cat:$in_equipments|cat:")"}}
|
||||
|
||||
@ -109,12 +112,9 @@
|
||||
from=nonproprio}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
{{/load}}
|
||||
|
||||
{{* grouper les résultats par catégorie *}}
|
||||
{{#foreach from=$equipments key="eqpmt_key" item="eqpmt"}}
|
||||
{{:assign
|
||||
var="cumul_mvt.%s.eqpmt.%s"|args:$eqpmt.category:$eqpmt_key
|
||||
value=$eqpmt}}
|
||||
{{/foreach}}
|
||||
{{* catégories *}}
|
||||
{{#load type="category" order="$$.name"}}
|
||||
{{:assign var="categories.%s"|args:$key value=$name}}
|
||||
{{/load}}
|
||||
|
@ -22,11 +22,9 @@
|
||||
<p class="block error">Modification refusée</p>
|
||||
{{/if}}
|
||||
|
||||
{{#load type="category"}}
|
||||
{{:assign var="category_keys." value=$key}}
|
||||
{{/load}}
|
||||
{{#load type="category" count=true assign="result"}}{{/load}}
|
||||
|
||||
{{if $category_keys|count == 0}}
|
||||
{{if $result.count == 0}}
|
||||
<p class="block alert">Il n'y a aucune catégorie : vous devez en ajouter.</p>
|
||||
{{else}}
|
||||
{{if $_GET.prop == null || $_GET.prop}}
|
||||
|
@ -2,12 +2,28 @@
|
||||
|
||||
{{*
|
||||
inventaire des entrées/sorties des matériels permanents
|
||||
paramètres
|
||||
- category_keys : catégories dont on veut faire l'inventaire
|
||||
*}}
|
||||
|
||||
{{* Extraire et compiler les infos de la base *}}
|
||||
{{:include file="./_calcul_dispo.html" keep="cumul_mvt,equipments"}}
|
||||
{{:include file="./_calcul_dispo.html" keep="categories,equipments"}}
|
||||
|
||||
{{* Sélecteur catégories *}}
|
||||
<fieldset class="shortForm" style="width: 30%;">
|
||||
<legend>Filtrer par catégorie</legend>
|
||||
<nav class="dropdown">
|
||||
<ul>
|
||||
<li><a></a></li>
|
||||
<li{{if $_GET.cat_key == null}} class="selected"{{/if}}><a href="?prop=1">Toutes les catégories</a></li>
|
||||
{{#foreach from=$categories key=key item=name}}
|
||||
<li {{if $_GET.cat_key == $key}}class="selected"{{/if}}>
|
||||
<a href="?cat_key={{$key}}&prop=1">
|
||||
<strong>{{$name}}</strong>
|
||||
</a>
|
||||
</li>
|
||||
{{/foreach}}
|
||||
</ul>
|
||||
</nav>
|
||||
</fieldset>
|
||||
|
||||
{{* Vérifier s'il y a au moins un matériel propriété de l'asso *}}
|
||||
{{:assign mat_present=false}}
|
||||
@ -20,50 +36,29 @@
|
||||
|
||||
{{if $mat_present}}
|
||||
|
||||
{{* Sélecteur catégories *}}
|
||||
<fieldset class="shortForm" style="width: 30%;">
|
||||
<legend>Filtrer par catégorie</legend>
|
||||
<nav class="dropdown">
|
||||
<ul>
|
||||
<li><a></a></li>
|
||||
<li{{if $_GET.cat_key == null}} class="selected"{{/if}}><a href="?prop=1">Toutes les catégories</a></li>
|
||||
{{#load type="category" assign="category" order="$$.name"}}
|
||||
<li {{if $_GET.cat_key == $key}}class="selected"{{/if}}>
|
||||
<a href="?cat_key={{$key}}&prop=1">
|
||||
<strong>{{$category.name}}</strong>
|
||||
</a>
|
||||
</li>
|
||||
{{/load}}
|
||||
</ul>
|
||||
</nav>
|
||||
</fieldset>
|
||||
|
||||
<h2>Matériels propriété de l'association</h2>
|
||||
|
||||
{{#list
|
||||
select="
|
||||
(SELECT $$.designation
|
||||
FROM @TABLE AS b
|
||||
WHERE b.key = @TABLE.$$.equipment) AS 'Matériel' ;
|
||||
"" as 'Catégorie' ;
|
||||
$$.designation AS 'Matériel' ;
|
||||
"" AS 'Catégorie' ;
|
||||
"" AS 'Stock' ;
|
||||
"" AS 'Sorti' ;
|
||||
"" AS 'Dispo'
|
||||
"
|
||||
type="movement"
|
||||
group="$$.equipment"
|
||||
direction="input"
|
||||
type="equipment"
|
||||
order=1
|
||||
}}
|
||||
{{:assign var=eqpmt_key value=$key}}
|
||||
{{:assign var=cat_key value=$category}}
|
||||
{{:assign var=cat_name from=categories.%s|args:$cat_key}}
|
||||
|
||||
{{:assign var=cat_key from="equipments.%s.category"|args:$equipment}}
|
||||
{{if $_GET.cat_key != null && $_GET.cat_key != $cat_key}}
|
||||
{{:continue}}
|
||||
{{/if}}
|
||||
|
||||
{{:assign var=cat_name from="cumul_mvt.%s.name"|args:$cat_key}}
|
||||
{{:assign var=stock from="equipments.%s.stock"|args:$equipment}}
|
||||
{{:assign var=exterieur from="equipments.%s.exterieur"|args:$equipment}}
|
||||
{{: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}}
|
||||
|
||||
{{if $stock == null}}
|
||||
@ -71,7 +66,7 @@
|
||||
{{/if}}
|
||||
|
||||
<tr>
|
||||
<td>{{$col1}}</td>
|
||||
<td>{{$designation}}</td>
|
||||
<td>{{$cat_name}}</td>
|
||||
<td>{{$stock}}</td>
|
||||
<td>{{if $exterieur == null}}0{{else}}{{$exterieur}}{{/if}}</td>
|
||||
@ -80,7 +75,7 @@
|
||||
{{if $exterieur > 0}}
|
||||
{{:linkbutton
|
||||
label="Retour"
|
||||
href="mouvements/entrees/retour.html?key=%s"|args:$equipment
|
||||
href="mouvements/entrees/retour.html?key=%s"|args:$eqpmt_key
|
||||
shape="history"
|
||||
target="_dialog"}}
|
||||
{{/if}}
|
||||
@ -88,21 +83,21 @@
|
||||
{{:linkbutton
|
||||
label="Sortie"
|
||||
shape="plus"
|
||||
href="mouvements/sorties/stock_disponible.html?key=%s"|args:$equipment
|
||||
href="mouvements/sorties/stock_disponible.html?key=%s"|args:$eqpmt_key
|
||||
target="_dialog"}}
|
||||
{{/if}}
|
||||
{{:linkbutton
|
||||
label="Entrée"
|
||||
shape="plus"
|
||||
href="mouvements/entrees/repertorie.html?key=%s"|args:$equipment
|
||||
href="mouvements/entrees/repertorie.html?key=%s"|args:$eqpmt_key
|
||||
target="_dialog"}}
|
||||
{{:linkbutton
|
||||
label="Mouvements"
|
||||
href="historique.html?key=%s&prop=1"|args:$equipment
|
||||
href="historique.html?key=%s&prop=1"|args:$eqpmt_key
|
||||
shape="table"}}
|
||||
{{:linkbutton
|
||||
label="Modifier"
|
||||
href="modifier_materiel.html?key=%s&prop=1"|args:$equipment
|
||||
href="modifier_materiel.html?key=%s&prop=1"|args:$eqpmt_key
|
||||
shape="edit"
|
||||
target="_dialog"}}
|
||||
</td>
|
||||
|
@ -2,12 +2,28 @@
|
||||
|
||||
{{*
|
||||
inventaire des entrées/sorties des matériels temporaires
|
||||
paramètres
|
||||
- category_keys : catégories dont on veut faire l'inventaire
|
||||
*}}
|
||||
|
||||
{{* Extraire et compiler les infos de la base *}}
|
||||
{{:include file="./_calcul_dispo.html" keep="cumul_mvt,equipments"}}
|
||||
{{:include file="./_calcul_dispo.html" keep="categories,equipments"}}
|
||||
|
||||
{{* Sélecteur catégories *}}
|
||||
<fieldset class="shortForm" style="width: 30%;">
|
||||
<legend>Filtrer par catégorie</legend>
|
||||
<nav class="dropdown">
|
||||
<ul>
|
||||
<li><a></a></li>
|
||||
<li{{if $_GET.cat_key == null}} class="selected"{{/if}}><a href="?prop=0">Toutes les catégories</a></li>
|
||||
{{#foreach from=$categories key=key item=name}}
|
||||
<li {{if $_GET.cat_key == $key}}class="selected"{{/if}}>
|
||||
<a href="?cat_key={{$key}}&prop=0">
|
||||
<strong>{{$name}}</strong>
|
||||
</a>
|
||||
</li>
|
||||
{{/foreach}}
|
||||
</ul>
|
||||
</nav>
|
||||
</fieldset>
|
||||
|
||||
{{* Vérifier s'il y a au moins un matériel non propriété de l'asso *}}
|
||||
{{:assign mat_present=false}}
|
||||
@ -20,75 +36,55 @@
|
||||
|
||||
{{if $mat_present}}
|
||||
|
||||
{{* Sélecteur catégories *}}
|
||||
<fieldset class="shortForm" style="width: 30%;">
|
||||
<legend>Filtrer par catégorie</legend>
|
||||
<nav class="dropdown">
|
||||
<ul>
|
||||
<li><a></a></li>
|
||||
<li{{if $_GET.cat_key == null}} class="selected"{{/if}}><a href="?prop=0">Toutes les catégories</a></li>
|
||||
{{#load type="category" assign="category" order="$$.name"}}
|
||||
<li {{if $_GET.cat_key == $key}}class="selected"{{/if}}>
|
||||
<a href="?cat_key={{$key}}&prop=0">
|
||||
<strong>{{$category.name}}</strong>
|
||||
</a>
|
||||
</li>
|
||||
{{/load}}
|
||||
</ul>
|
||||
</nav>
|
||||
</fieldset>
|
||||
|
||||
<h2>Matériels temporairement dans l'association</h2>
|
||||
|
||||
{{#list
|
||||
select="
|
||||
(SELECT $$.designation
|
||||
FROM @TABLE AS b
|
||||
WHERE b.key = @TABLE.$$.equipment) AS 'Matériel' ;
|
||||
"" as 'Catégorie' ;
|
||||
$$.designation AS 'Matériel' ;
|
||||
"" AS 'Catégorie' ;
|
||||
"" AS 'Quantité'
|
||||
"
|
||||
type="movement"
|
||||
group="$$.equipment"
|
||||
direction="input"
|
||||
type="equipment"
|
||||
order=1
|
||||
}}
|
||||
{{:assign var=eqpmt_key value=$key}}
|
||||
{{:assign var=cat_key value=$category}}
|
||||
{{:assign var=cat_name from=categories.%s|args:$cat_key}}
|
||||
|
||||
{{:assign var=cat_key from="equipments.%s.category"|args:$equipment}}
|
||||
{{if $_GET.cat_key != null && $_GET.cat_key != $cat_key}}
|
||||
{{:continue}}
|
||||
{{/if}}
|
||||
|
||||
{{:assign var=cat_name from="cumul_mvt.%s.name"|args:$cat_key}}
|
||||
{{:assign var=qte from="equipments.%s.nonproprio"|args:$equipment}}
|
||||
{{:assign var=qte from="equipments.%s.nonproprio"|args:$eqpmt_key}}
|
||||
|
||||
{{if $qte == null}}
|
||||
{{:continue}}
|
||||
{{/if}}
|
||||
|
||||
<tr>
|
||||
<td>{{$col1}}</td>
|
||||
<td>{{$designation}}</td>
|
||||
<td>{{$cat_name}}</td>
|
||||
<td>{{$qte}}</td>
|
||||
<td class="actions">
|
||||
{{if $qte > 0}}
|
||||
{{:linkbutton
|
||||
label="Retour"
|
||||
href="mouvements/sorties/emprunte.html?key=%s"|args:$equipment
|
||||
href="mouvements/sorties/emprunte.html?key=%s"|args:$eqpmt_key
|
||||
shape="history"
|
||||
target="_dialog"}}
|
||||
{{/if}}
|
||||
{{:linkbutton
|
||||
label="Entrée"
|
||||
shape="plus"
|
||||
href="mouvements/entrees/repertorie.html?key=%s"|args:$equipment
|
||||
href="mouvements/entrees/repertorie.html?key=%s"|args:$eqpmt_key
|
||||
target="_dialog"}}
|
||||
{{:linkbutton
|
||||
label="Mouvements"
|
||||
href="historique.html?key=%s&prop=0"|args:$equipment
|
||||
href="historique.html?key=%s&prop=0"|args:$eqpmt_key
|
||||
shape="table"}}
|
||||
{{:linkbutton
|
||||
label="Modifier"
|
||||
href="modifier_materiel.html?key=%s&prop=0"|args:$equipment
|
||||
href="modifier_materiel.html?key=%s&prop=0"|args:$eqpmt_key
|
||||
shape="edit"
|
||||
target="_dialog"}}
|
||||
</td>
|
||||
|
@ -5,7 +5,7 @@
|
||||
- key : clé du matériel qui revient
|
||||
*}}
|
||||
|
||||
{{:admin_header title="Entrée de matériel" current="module_equipment"}}
|
||||
{{:admin_header title="Retour de matériel" current="module_equipment"}}
|
||||
|
||||
{{* barre de navigation *}}
|
||||
{{if ! $dialog}}
|
||||
@ -27,19 +27,18 @@
|
||||
{{* récupérer les infos du matériel *}}
|
||||
{{#load type="equipment" key=$_GET.key assign="equipment"}}
|
||||
{{:assign designation=$equipment.designation}}
|
||||
{{:assign var="categories." value=$equipment.category}}
|
||||
{{/load}}
|
||||
|
||||
{{* Extraire et compiler les infos de la base *}}
|
||||
{{:include
|
||||
file="../../_calcul_dispo.html"
|
||||
keep="cumul_mvt"
|
||||
keep="equipments"
|
||||
date=$_POST.date|parse_date
|
||||
}}
|
||||
|
||||
{{* déterminer la quantité sortie temporairement de ce matériel à la date donnée *}}
|
||||
{{:assign var=sorti from="cumul_mvt.%s.eqpmt.%s.exterieur"|args:$equipment.category:$_GET.key}}
|
||||
{{*:debug cumul_mvt=$cumul_mvt sorti=$sorti*}}
|
||||
{{:assign var=sorti from="equipments.%s.exterieur"|args:$_GET.key}}
|
||||
|
||||
{{if $_POST.quantite|intval > $sorti}}
|
||||
{{:error message="Erreur : la quantité indiquée (%s) est supérieure à celle sortie (%d) à la date du %s"|args:$_POST.quantite:$sorti:$_POST.date}}
|
||||
{{/if}}
|
||||
@ -61,13 +60,12 @@
|
||||
}}
|
||||
|
||||
{{:redirect force="../../historique.html?ok=1&key=%s&prop=1&msg=retour"|args:$_GET.key}}
|
||||
|
||||
{{else}}
|
||||
{{:form_errors}}
|
||||
{{/form}}
|
||||
|
||||
{{* Extraire et compiler les infos de la base *}}
|
||||
{{:include file="../../_calcul_dispo.html" keep="cumul_mvt,equipments"}}
|
||||
{{:include file="../../_calcul_dispo.html" keep="categories, equipments"}}
|
||||
{{:assign var=sorti from="equipments.%s.exterieur"|args:$_GET.key}}
|
||||
|
||||
{{if $sorti > 0}}
|
||||
@ -75,8 +73,7 @@
|
||||
{{* déterminer le matériel concerné par le mouvement *}}
|
||||
{{#load key=$_GET.key assign="equipment"}}
|
||||
{{/load}}
|
||||
{{#load key=$equipment.category assign="category"}}
|
||||
{{/load}}
|
||||
{{:assign var=cat_name from=categories.%s|args:$equipment.category}}
|
||||
|
||||
{{* formulaire d'entrée de matériel *}}
|
||||
<form method="post" action="">
|
||||
@ -86,9 +83,9 @@
|
||||
{{:input type="select" name="type_operation" label="Type" required=true options=$input_labels}}
|
||||
{{:input type="date" name="date" label="Date" required=true default=$now|date_short}}
|
||||
{{:input type="text" name="equipment" label="Matériel" required=true disabled=true default=$equipment.designation}}
|
||||
{{:input type="text" name="category" label="Catégorie" required=true disabled=true default=$category.name}}
|
||||
{{:input type="text" name="sorti" label="Qté sortie" disabled=true default=$sorti}}
|
||||
<p><span class="alert">La quantité indiquée est celle à la date du jour</span></p>
|
||||
{{:input type="text" name="category" label="Catégorie" required=true disabled=true default=$cat_name}}
|
||||
{{:input type="text" name="sorti" label="Quantité sortie" disabled=true default=$sorti}}
|
||||
<p><span class="alert">La quantité sortie est celle à la date du jour</span></p>
|
||||
{{:input type="number" name="quantite" label="Quantité" min=1 required=true default=1}}
|
||||
{{:input type="textarea" name="remarques" label="Remarques" cols="40", rows="3" required=false}}
|
||||
</dl>
|
||||
|
Loading…
Reference in New Issue
Block a user