Inventaire différencié propriétaire/non propriétaire
This commit is contained in:
parent
43270faf38
commit
77fd548eff
226
index.html
226
index.html
@ -5,51 +5,217 @@
|
|||||||
|
|
||||||
<section class="inventaire">
|
<section class="inventaire">
|
||||||
|
|
||||||
{{* itérer sur les catégories *}}
|
{{* Extraire et compiler les infos de la base *}}
|
||||||
{{#load type="category" assign="category" order="$$.name"}}
|
|
||||||
{{:assign key_cat=$key}}
|
|
||||||
|
|
||||||
<h3>{{$category.name}}</h3>
|
{{#select
|
||||||
|
json_extract(mvt.document, '$.date') as 'date',
|
||||||
{{* itérer sur les matériels de la catégorie courante *}}
|
eqpmt.key as 'eqpmt_key',
|
||||||
{{#list
|
json_extract(eqpmt.document, '$.designation') as 'designation',
|
||||||
select="$$.designation AS 'Désignation'; '' AS 'Stock' ; '' AS 'Sortie' ; '' AS 'Disponible'"
|
cat.key as 'cat_key',
|
||||||
type="equipment"
|
json_extract(cat.document, '$.name') as 'category',
|
||||||
category=$key_cat
|
mvt.key as 'mvt_key',
|
||||||
order=1
|
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 equipment_key=$key}}
|
{{:assign
|
||||||
{{:assign var="stock" value=0}}
|
var="equipments.%s.name"|args:$cat_key
|
||||||
{{:assign var="sortie" value=0}}
|
value=$category}}
|
||||||
|
{{:assign
|
||||||
|
var="equipments.%s.eqpmt.%s.designation"|args:$cat_key:$eqpmt_key
|
||||||
|
value=$designation}}
|
||||||
|
|
||||||
{{* itérer sur les mouvements du matériel courant *}}
|
{{* matériel propriété de l'asso en stock *}}
|
||||||
{{#load type="movement" equipment=$equipment_key assign="movement"}}
|
{{:assign
|
||||||
{{if $movement.direction === 'entrée'}}
|
var="stock"
|
||||||
{{:assign stock="%d+%d"|math:$stock:$movement.amount}}
|
from="equipments.%s.eqpmt.%s.stock"|args:$cat_key:$eqpmt_key}}
|
||||||
{{else}}
|
{{if $stock === null}}
|
||||||
{{:assign sortie="%d+%d"|math:$sortie:$movement.amount}}
|
{{:assign stock=0}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/load}}
|
|
||||||
{{:assign dispo="%d-%d"|math:$stock:$sortie}}
|
|
||||||
|
|
||||||
|
{{* 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 *}}
|
||||||
|
|
||||||
|
<h2 class="ruler">Matériels dont l'association est propriétaire</h2>
|
||||||
|
|
||||||
|
{{* 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}}
|
||||||
|
<h3>{{$category.name}}</h3>
|
||||||
|
|
||||||
|
<table class="list">
|
||||||
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>{{$designation}}</th>
|
<th>Désignation</th>
|
||||||
<td>{{$stock}}</td>
|
<th>Stock</th>
|
||||||
<td>{{$sortie}}</td>
|
<th>Sortie</th>
|
||||||
|
<th>Disponible</th>
|
||||||
|
<th class="actions"></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
|
||||||
|
{{* 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}}
|
||||||
|
<tr>
|
||||||
|
<td>{{$eqpmt.designation}}</td>
|
||||||
|
<td>{{$eqpmt.stock}}</td>
|
||||||
|
<td>{{if $eqpmt.exterieur == null}}0{{else}}{{$eqpmt.exterieur}}{{/if}}</td>
|
||||||
<td>{{$dispo}}</td>
|
<td>{{$dispo}}</td>
|
||||||
<td class="actions">
|
<td class="actions">
|
||||||
{{:linkbutton label="Historique des mouvements" href="historique.html?key=%s"|args:$equipment_key shape="table" target="_dialog"}}
|
{{:linkbutton label="Historique des mouvements" href="historique.html?key=%s"|args:$eqpmt_key shape="table" target="_dialog"}}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
{{/if}}
|
||||||
{{else}}
|
{{else}}
|
||||||
<p class="block alert">Il n'y a aucun matériel dans cette catégorie.</p>
|
<p class="block alert">Il n'y a aucun matériel dans cette catégorie.</p>
|
||||||
{{/list}}
|
{{/foreach}}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
{{/if}}
|
||||||
|
{{/foreach}}
|
||||||
|
|
||||||
|
<h2 class="ruler">Matériels dont l'association n'est pas propriétaire</h2>
|
||||||
|
|
||||||
|
{{* 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}}
|
||||||
|
<h3>{{$category.name}}</h3>
|
||||||
|
|
||||||
|
<table class="list">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Désignation</th>
|
||||||
|
<th>Quantité</th>
|
||||||
|
<th class="actions"></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
|
||||||
|
{{* 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}}
|
||||||
|
<tr>
|
||||||
|
<td>{{$eqpmt.designation}}</td>
|
||||||
|
<td>{{$eqpmt.nonproprio}}</td>
|
||||||
|
<td class="actions">
|
||||||
|
{{:linkbutton label="Historique des mouvements" href="historique.html?key=%s"|args:$eqpmt_key shape="table" target="_dialog"}}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{{/if}}
|
||||||
{{else}}
|
{{else}}
|
||||||
<p class="block alert">Il n'y a aucune catégorie => il faut en créer au moins une.</p>
|
<p class="block alert">Il n'y a aucun matériel dans cette catégorie.</p>
|
||||||
{{/load}}
|
{{/foreach}}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
{{/if}}
|
||||||
|
{{/foreach}}
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
{{:admin_footer}}
|
{{:admin_footer}}
|
||||||
|
Loading…
Reference in New Issue
Block a user