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}}
|
||||
{{/foreach}}
|
||||
|
||||
{{* récupérer les infos du matériel *}}
|
||||
{{#load key=$_GET.key assign="equipment"}}{{/load}}
|
||||
|
||||
{{* Traiter l'envoi du formulaire *}}
|
||||
{{#form on="save"}}
|
||||
{{* interdire date dans le futur *}}
|
||||
@ -36,9 +39,6 @@
|
||||
{{:assign var="user.name" value=$name}}
|
||||
{{/foreach}}
|
||||
|
||||
{{* récupérer les infos du matériel *}}
|
||||
{{#load type="equipment" key=$_GET.key assign="equipment"}}{{/load}}
|
||||
|
||||
{{:assign stock=0}}
|
||||
{{:assign exterieur=0}}
|
||||
{{:assign nonproprio=0}}
|
||||
@ -151,20 +151,12 @@
|
||||
{{* barre de navigation *}}
|
||||
{{:include file="../../_nav.html" current="sorties"}}
|
||||
{{/if}}
|
||||
{{:form_errors}}
|
||||
|
||||
{{* Extraire et compiler les infos de la base *}}
|
||||
{{:include file="../../_calcul_dispo.html" eqpmt_key=$_GET.key keep="categories,equipments"}}
|
||||
{{: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}}
|
||||
{{#load key=$equipment.category assign="category"}}{{/load}}
|
||||
{{:assign dispo="%d-%d"|math:$equipment.stock:$equipment.out}}
|
||||
|
||||
{{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 *}}
|
||||
<form method="post" action="">
|
||||
<fieldset class="informations">
|
||||
@ -173,7 +165,7 @@
|
||||
<dt>Matériel</dt>
|
||||
<dd>{{$equipment.name}}</dd>
|
||||
<dt>Catégorie</dt>
|
||||
<dd>{{$cat_name}}</dd>
|
||||
<dd>{{$category.name}}</dd>
|
||||
<dt>Quantité disponible</dt>
|
||||
<dd class="num">{{$dispo}}</dd>
|
||||
</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>
|
||||
{{/if}}
|
||||
|
||||
{{:form_errors}}
|
||||
{{: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