equipment/mouvements/valider_modification.html

51 lines
2.1 KiB
HTML

{{*
Vérifier la cohérence des E/S d'un matériel
- paramètres :
- movements : liste de mouvements
- eqpmt_key : clé du matériel à vérifier
*}}
{{* récupérer la config des entrées/sorties *}}
{{:include file="../_get_config.html" keep="config"}}
{{:assign erreur = false}}
{{:assign stock=0}}
{{:assign exterieur=0}}
{{:assign nonprop=0}}
{{#foreach from=$movements item="movement"}}
{{if $movement.equipment == $eqpmt_key}}
{{if $movement.direction == 'input'}}
{{* chercher le type d'entrée parmi les types de la config *}}
{{#foreach from=$config.input_nature item="elem"}}
{{if $movement.input_nature == $elem.label}}
{{if $elem.type == 'définitif'}}
{{:assign stock="%d+%d"|math:$stock:$movement.amount}}
{{elseif $elem.type == 'retour'}}
{{:assign exterieur="%d-%d"|math:$exterieur:$movement.amount}}
{{elseif $elem.type == 'temporaire'}}
{{:assign nonprop="%d+%d"|math:$nonprop:$movement.amount}}
{{/if}}
{{/if}}
{{/foreach}}
{{elseif $movement.direction == 'output'}}
{{* chercher le type de sortie parmi les types de la config *}}
{{#foreach from=$config.output_nature item="elem"}}
{{if $movement.output_nature == $elem.label}}
{{if $elem.type == 'définitif'}}
{{:assign stock="%d-%d"|math:$stock:$movement.amount}}
{{elseif $elem.type == 'temporaire'}}
{{:assign exterieur="%d+%d"|math:$exterieur:$movement.amount}}
{{elseif $elem.type == 'retour'}}
{{:assign nonprop="%d-%d"|math:$nonprop:$movement.amount}}
{{/if}}
{{/if}}
{{/foreach}}
{{/if}}
{{:assign dispo="%d-%d"|math:$stock:$exterieur}}
{{if $dispo < 0 || $stock < 0 || $exterieur < 0 || $nonprop < 0}}
{{:assign erreur=true}}
{{:break}}
{{/if}}
{{/if}}
{{/foreach}}