Simplification calcul dispo
This commit is contained in:
parent
74ee34104f
commit
7364deda87
5 changed files with 106 additions and 120 deletions
|
|
@ -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}}
|
||||
{{* 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}}
|
||||
{{#load type="category" where="key"|sql_where:'IN':$category_keys}}
|
||||
{{:assign var="cumul_mvt.%s.name"|args:$key value=$name}}
|
||||
{{* 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}}
|
||||
|
||||
{{#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}}
|
||||
{{: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}}
|
||||
{{: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}}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue