Simplification sortie matériel en stock
This commit is contained in:
parent
c681b47e7f
commit
d3b48c677e
@ -1,121 +0,0 @@
|
|||||||
{{* -*- brindille -*- *}}
|
|
||||||
|
|
||||||
{{*
|
|
||||||
Calcul des entrées/sorties de matériels à une date donnée
|
|
||||||
paramètres :
|
|
||||||
- eqpmt_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 matériels *}}
|
|
||||||
{{:assign equipments=null}}
|
|
||||||
{{if $eqpmt_key}}
|
|
||||||
{{* le matériel paramètre *}}
|
|
||||||
{{#load key=$eqpmt_key}}
|
|
||||||
{{:assign var="equipments.%s.category"|args:$key value=$category}}
|
|
||||||
{{:assign var="equipments.%s.name"|args:$key value=$name}}
|
|
||||||
{{: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.name"|args:$key value=$name}}
|
|
||||||
{{:assign var="equipments.%s.status"|args:$key value=$status}}
|
|
||||||
{{: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.name"|args:$key value=$name}}
|
|
||||||
{{:assign var="equipments.%s.status"|args:$key value=$status}}
|
|
||||||
{{:assign var="in_equipments." value="'%s'"|args:$key}}
|
|
||||||
{{/load}}
|
|
||||||
{{/if}}
|
|
||||||
{{:assign in_equipments=$in_equipments|implode:","}}
|
|
||||||
{{:assign in_equipments="("|cat:$in_equipments|cat:")"}}
|
|
||||||
|
|
||||||
{{* récupérer la config des entrées/sorties *}}
|
|
||||||
{{:include file="./_get_config.html" keep="config"}}
|
|
||||||
|
|
||||||
{{* parcourir les mouvements et cumuler les entrées/sorties *}}
|
|
||||||
{{if $date == null}}
|
|
||||||
{{:assign condition="$$.equipment IN %s"|args:$in_equipments}}
|
|
||||||
{{else}}
|
|
||||||
{{:assign condition="$$.equipment IN %s AND $$.date <= '%s'"|args:$in_equipments:$date}}
|
|
||||||
{{/if}}
|
|
||||||
|
|
||||||
{{#load type="movement" where="%s"|args:$condition assign="mvt" order="$$.date ASC"}}
|
|
||||||
{{* matériel propriété de l'asso en stock *}}
|
|
||||||
{{:assign
|
|
||||||
var="stock"
|
|
||||||
from="equipments.%s.stock"|args:$mvt.equipment}}
|
|
||||||
{{if $stock == null}}
|
|
||||||
{{:assign stock=0}}
|
|
||||||
{{/if}}
|
|
||||||
|
|
||||||
{{* matériel propriété de l'asso à l'extérieur *}}
|
|
||||||
{{:assign
|
|
||||||
var="exterieur"
|
|
||||||
from="equipments.%s.exterieur"|args:$mvt.equipment}}
|
|
||||||
{{if $exterieur == null}}
|
|
||||||
{{:assign exterieur=0}}
|
|
||||||
{{/if}}
|
|
||||||
|
|
||||||
{{* matériel non propriété de l'asso *}}
|
|
||||||
{{:assign
|
|
||||||
var="nonproprio"
|
|
||||||
from="equipments.%s.nonproprio"|args:$mvt.equipment}}
|
|
||||||
{{if $nonproprio == null}}
|
|
||||||
{{:assign nonproprio=0}}
|
|
||||||
{{/if}}
|
|
||||||
|
|
||||||
{{if $mvt.direction === 'input'}}
|
|
||||||
{{* déterminer le type de mouvement *}}
|
|
||||||
{{:assign var=type_mvt from="config.input_nature.%s.type"|args:$mvt.operation}}
|
|
||||||
{{if $type_mvt == 'définitif'}}
|
|
||||||
{{:assign stock="%d+%d"|math:$stock:$mvt.amount}}
|
|
||||||
{{:assign
|
|
||||||
var="equipments.%s.stock"|args:$mvt.equipment
|
|
||||||
from=stock}}
|
|
||||||
{{elseif $type_mvt == 'retour'}}
|
|
||||||
{{:assign exterieur="%d-%d"|math:$exterieur:$mvt.amount}}
|
|
||||||
{{:assign
|
|
||||||
var="equipments.%s.exterieur"|args:$mvt.equipment
|
|
||||||
from=exterieur}}
|
|
||||||
{{elseif $type_mvt == 'temporaire'}}
|
|
||||||
{{:assign nonproprio="%d+%d"|math:$nonproprio:$mvt.amount}}
|
|
||||||
{{:assign
|
|
||||||
var="equipments.%s.nonproprio"|args:$mvt.equipment
|
|
||||||
from=nonproprio}}
|
|
||||||
{{/if}}
|
|
||||||
{{elseif $mvt.direction === 'output'}}
|
|
||||||
{{* déterminer le type de mouvement *}}
|
|
||||||
{{:assign var=type_mvt from="config.output_nature.%s.type"|args:$mvt.operation}}
|
|
||||||
{{if $type_mvt == 'définitif'}}
|
|
||||||
{{:assign stock="%d-%d"|math:$stock:$mvt.amount}}
|
|
||||||
{{:assign
|
|
||||||
var="equipments.%s.stock"|args:$mvt.equipment
|
|
||||||
from=stock}}
|
|
||||||
{{elseif $type_mvt == 'temporaire'}}
|
|
||||||
{{:assign exterieur="%d+%d"|math:$exterieur:$mvt.amount}}
|
|
||||||
{{:assign
|
|
||||||
var="equipments.%s.exterieur"|args:$mvt.equipment
|
|
||||||
from=exterieur}}
|
|
||||||
{{elseif $type_mvt == 'retour'}}
|
|
||||||
{{:assign nonproprio="%d-%d"|math:$nonproprio:$mvt.amount}}
|
|
||||||
{{:assign
|
|
||||||
var="equipments.%s.nonproprio"|args:$mvt.equipment
|
|
||||||
from=nonproprio}}
|
|
||||||
{{/if}}
|
|
||||||
{{/if}}
|
|
||||||
{{/load}}
|
|
||||||
|
|
||||||
{{* catégories *}}
|
|
||||||
{{#load type="category" order="$$.name"}}
|
|
||||||
{{:assign var="categories.%s"|args:$key value=$name}}
|
|
||||||
{{/load}}
|
|
@ -15,6 +15,9 @@
|
|||||||
{{/if}}
|
{{/if}}
|
||||||
{{/foreach}}
|
{{/foreach}}
|
||||||
|
|
||||||
|
{{* récupérer les infos du matériel *}}
|
||||||
|
{{#load key=$_GET.key assign="equipment"}}{{/load}}
|
||||||
|
|
||||||
{{* Traiter l'envoi du formulaire *}}
|
{{* Traiter l'envoi du formulaire *}}
|
||||||
{{#form on="save"}}
|
{{#form on="save"}}
|
||||||
{{* interdire date dans le futur *}}
|
{{* interdire date dans le futur *}}
|
||||||
@ -36,9 +39,6 @@
|
|||||||
{{:assign var="user.name" value=$name}}
|
{{:assign var="user.name" value=$name}}
|
||||||
{{/foreach}}
|
{{/foreach}}
|
||||||
|
|
||||||
{{* récupérer les infos du matériel *}}
|
|
||||||
{{#load type="equipment" key=$_GET.key assign="equipment"}}{{/load}}
|
|
||||||
|
|
||||||
{{:assign stock=0}}
|
{{:assign stock=0}}
|
||||||
{{:assign exterieur=0}}
|
{{:assign exterieur=0}}
|
||||||
{{:assign nonproprio=0}}
|
{{:assign nonproprio=0}}
|
||||||
@ -151,20 +151,12 @@
|
|||||||
{{* barre de navigation *}}
|
{{* barre de navigation *}}
|
||||||
{{:include file="../../_nav.html" current="sorties"}}
|
{{:include file="../../_nav.html" current="sorties"}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{:form_errors}}
|
|
||||||
|
|
||||||
{{* Extraire et compiler les infos de la base *}}
|
{{#load key=$equipment.category assign="category"}}{{/load}}
|
||||||
{{:include file="../../_calcul_dispo.html" eqpmt_key=$_GET.key keep="categories,equipments"}}
|
{{:assign dispo="%d-%d"|math:$equipment.stock:$equipment.out}}
|
||||||
{{:assign var=stock from="equipments.%s.stock"|args:$_GET.key}}
|
|
||||||
{{:assign var=exterieur from="equipments.%s.exterieur"|args:$_GET.key}}
|
|
||||||
{{:assign dispo="%d-%d"|math:$stock:$exterieur}}
|
|
||||||
|
|
||||||
{{if $dispo > 0}}
|
{{if $dispo > 0}}
|
||||||
|
|
||||||
{{* déterminer le matériel concerné par le mouvement *}}
|
|
||||||
{{#load key=$_GET.key assign="equipment"}}{{/load}}
|
|
||||||
{{:assign var=cat_name from=categories.%s|args:$equipment.category}}
|
|
||||||
|
|
||||||
{{* formulaire de sortie de matériel *}}
|
{{* formulaire de sortie de matériel *}}
|
||||||
<form method="post" action="">
|
<form method="post" action="">
|
||||||
<fieldset class="informations">
|
<fieldset class="informations">
|
||||||
@ -173,7 +165,7 @@
|
|||||||
<dt>Matériel</dt>
|
<dt>Matériel</dt>
|
||||||
<dd>{{$equipment.name}}</dd>
|
<dd>{{$equipment.name}}</dd>
|
||||||
<dt>Catégorie</dt>
|
<dt>Catégorie</dt>
|
||||||
<dd>{{$cat_name}}</dd>
|
<dd>{{$category.name}}</dd>
|
||||||
<dt>Quantité disponible</dt>
|
<dt>Quantité disponible</dt>
|
||||||
<dd class="num">{{$dispo}}</dd>
|
<dd class="num">{{$dispo}}</dd>
|
||||||
</dl>
|
</dl>
|
||||||
@ -203,12 +195,5 @@
|
|||||||
<p class="block error">Il n'y a aucune unité de ce matériel disponible à la date du {{$now|date_short}}</p>
|
<p class="block error">Il n'y a aucune unité de ce matériel disponible à la date du {{$now|date_short}}</p>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
|
{{:form_errors}}
|
||||||
{{:admin_footer}}
|
{{:admin_footer}}
|
||||||
|
|
||||||
<script type="text/javascript" src="scripts.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
let op = $('#f_operation');
|
|
||||||
op.addEventListener("change", (evt) => {
|
|
||||||
toggleUserChoice(document.querySelector("#user"));
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
Loading…
Reference in New Issue
Block a user