Correction erreur si certains types d'entrées ou sorties sont absents

This commit is contained in:
Jean-Christophe Engel 2025-09-25 10:38:08 +02:00
parent b380ad334d
commit 53c0deee22
3 changed files with 53 additions and 46 deletions

View file

@ -2,6 +2,7 @@
{{* {{*
Récupérer soit la config enregistrée, soit la config par défaut Récupérer soit la config enregistrée, soit la config par défaut
@param : default = true si config par défaut
résultat : config.input_nature et config.output_nature résultat : config.input_nature et config.output_nature
*}} *}}
@ -14,7 +15,7 @@
{{#foreach from=$directions key="direction"}} {{#foreach from=$directions key="direction"}}
{{:assign var="nature" from="module.config.%s_nature"|args:$direction}} {{:assign var="nature" from="module.config.%s_nature"|args:$direction}}
{{if $nature != null}} {{if $nature != null && ! $default}}
{{#foreach from=$nature item="elem"}} {{#foreach from=$nature item="elem"}}
{{:assign var="item" label=$label type=$type}} {{:assign var="item" label=$label type=$type}}
{{:assign var="config.%s_nature.%s"|args:$direction:$key value=$item}} {{:assign var="config.%s_nature.%s"|args:$direction:$key value=$item}}

View file

@ -12,8 +12,8 @@
{{* Traiter l'envoi du formulaire *}} {{* Traiter l'envoi du formulaire *}}
{{* lecture config (défaut ou enregistrée) *}} {{* lecture config par défaut *}}
{{:include file="../_get_config.html" keep="config, directions"}} {{:include file="../_get_config.html" keep="config, directions" default=true}}
{{#form on="save"}} {{#form on="save"}}
{{* vérifier s'il existe un type de mouvement de même nom *}} {{* vérifier s'il existe un type de mouvement de même nom *}}

View file

@ -30,29 +30,32 @@
{{/load}} {{/load}}
{{if $table_presente}} {{if $table_presente}}
{{#select {{* vérifier la présence des types d'entrées et de sorties requis *}}
eqpmt.key as eqpmt_key, {{if $output_types|has_key:"temporaire" && $input_types|has_key:"retour"}}
json_extract(eqpmt.document, '$.name') as eqpmt_name, {{#select
mvt.key AS mvt_key, eqpmt.key as eqpmt_key,
json_extract(mvt.document, '$.direction') as direction, json_extract(eqpmt.document, '$.name') as eqpmt_name,
json_extract(mvt.document, '$.operation') as operation, mvt.key AS mvt_key,
json_extract(mvt.document, '$.date') as date, json_extract(mvt.document, '$.direction') as direction,
json_extract(mvt.document, '$.amount') as amount json_extract(mvt.document, '$.operation') as operation,
FROM module_data_equipment AS mvt json_extract(mvt.document, '$.date') as date,
INNER JOIN users ON json_extract(mvt.document, '$.user') = users.id json_extract(mvt.document, '$.amount') as amount
INNER JOIN module_data_equipment AS eqpmt FROM module_data_equipment AS mvt
ON json_extract(mvt.document, '$.equipment') = eqpmt.key INNER JOIN users ON json_extract(mvt.document, '$.user') = users.id
WHERE users.id = :user INNER JOIN module_data_equipment AS eqpmt
AND (json_extract(mvt.document, '$.operation') IN !output_types ON json_extract(mvt.document, '$.equipment') = eqpmt.key
OR json_extract(mvt.document, '$.operation') IN !input_types) WHERE users.id = :user
ORDER BY date AND (json_extract(mvt.document, '$.operation') IN !output_types
; OR json_extract(mvt.document, '$.operation') IN !input_types)
:user = $user.id ORDER BY date
!output_types=$output_types.temporaire ;
!input_types=$input_types.retour :user = $user.id
assign="temp_mat." !output_types=$output_types.temporaire
}} !input_types=$input_types.retour
{{/select}} assign="temp_mat."
}}
{{/select}}
{{/if}}
{{if $temp_mat|count != 0}} {{if $temp_mat|count != 0}}
<h3 class="ruler">Matériels attribués temporairement</h3> <h3 class="ruler">Matériels attribués temporairement</h3>
@ -102,26 +105,29 @@
</table> </table>
{{/if}} {{/if}}
{{#select {{* vérifier la présence des types d'entrées et de sorties requis *}}
eqpmt.key as eqpmt_key, {{ if $output_types|has_key:"définitif"}}
json_extract(eqpmt.document, '$.name') as eqpmt_name, {{#select
json_extract(mvt.document, '$.direction') as direction, eqpmt.key as eqpmt_key,
json_extract(mvt.document, '$.operation') as operation, json_extract(eqpmt.document, '$.name') as eqpmt_name,
json_extract(mvt.document, '$.date') as date, json_extract(mvt.document, '$.direction') as direction,
json_extract(mvt.document, '$.amount') as amount json_extract(mvt.document, '$.operation') as operation,
FROM module_data_equipment AS mvt json_extract(mvt.document, '$.date') as date,
INNER JOIN users ON json_extract(mvt.document, '$.user') = users.id json_extract(mvt.document, '$.amount') as amount
INNER JOIN module_data_equipment AS eqpmt FROM module_data_equipment AS mvt
ON json_extract(mvt.document, '$.equipment') = eqpmt.key INNER JOIN users ON json_extract(mvt.document, '$.user') = users.id
WHERE users.id = :user INNER JOIN module_data_equipment AS eqpmt
AND json_extract(mvt.document, '$.operation') IN !output_types ON json_extract(mvt.document, '$.equipment') = eqpmt.key
ORDER BY date DESC WHERE users.id = :user
; AND json_extract(mvt.document, '$.operation') IN !output_types
:user = $user.id ORDER BY date DESC
!output_types=$output_types.définitif ;
assign="def_mat." :user = $user.id
}} !output_types=$output_types.définitif
{{/select}} assign="def_mat."
}}
{{/select}}
{{/if}}
{{if $def_mat|count != 0}} {{if $def_mat|count != 0}}
<h3 class="ruler">Matériels attribués définitivement</h3> <h3 class="ruler">Matériels attribués définitivement</h3>