2024-03-26 17:58:24 +01:00
|
|
|
{{* -*- brindille -*- *}}
|
|
|
|
|
2024-11-14 16:21:10 +01:00
|
|
|
{{*
|
2024-11-16 10:26:48 +01:00
|
|
|
inventaire des entrées/sorties des matériels permanents
|
2024-11-14 16:21:10 +01:00
|
|
|
*}}
|
2023-11-17 11:15:26 +01:00
|
|
|
|
2024-12-10 15:05:50 +01:00
|
|
|
{{* Sélecteur catégories *}}
|
2025-01-31 15:34:31 +01:00
|
|
|
{{:assign var="options." value="" label="Toutes les catégories" href="?prop=1"}}
|
2025-02-21 13:34:49 +01:00
|
|
|
{{#load type="category" order="$$.name"}}
|
|
|
|
{{:assign var="categories.%s"|args:$key value=$name}}
|
2025-01-31 15:34:31 +01:00
|
|
|
{{:assign
|
|
|
|
var="options."
|
|
|
|
value=$key
|
|
|
|
label=$name
|
|
|
|
href="?cat_key=%s&prop=1"|args:$key
|
|
|
|
}}
|
2025-02-21 13:34:49 +01:00
|
|
|
{{/load}}
|
2025-01-31 15:34:31 +01:00
|
|
|
|
2025-01-31 17:09:41 +01:00
|
|
|
<fieldset class="shortFormRight">
|
2024-12-10 15:05:50 +01:00
|
|
|
<legend>Filtrer par catégorie</legend>
|
2025-01-31 17:09:41 +01:00
|
|
|
{{:dropdown
|
|
|
|
title="Filtrer par catégorie"
|
|
|
|
options=$options
|
|
|
|
value="%s"|args:$_GET.cat_key
|
|
|
|
}}
|
2024-12-10 15:05:50 +01:00
|
|
|
</fieldset>
|
2023-11-17 11:15:26 +01:00
|
|
|
|
2025-01-21 10:39:43 +01:00
|
|
|
<div class="shortFormLeft">
|
|
|
|
<p class="help">Inventaire des matériels propriété de l'association</p>
|
|
|
|
</div>
|
|
|
|
|
2025-02-21 13:34:49 +01:00
|
|
|
{{* types d'entrées et sorties *}}
|
|
|
|
{{:include file="./_get_config.html" keep="config"}}
|
|
|
|
|
|
|
|
{{#foreach from=$config.input_nature key=key}}
|
|
|
|
{{:assign var="types.input.%s."|args:$type value=$key}}
|
|
|
|
{{/foreach}}
|
|
|
|
|
|
|
|
{{#foreach from=$types.input key=key}}
|
|
|
|
{{:assign var=elem from="types.input.%s"|args:$key}}
|
|
|
|
{{:assign elem=$elem|quote_sql|implode:","}}
|
|
|
|
{{:assign elem="("|cat:$elem|cat:")"}}
|
|
|
|
{{:assign var="input_types.%s"|args:$key value=$elem}}
|
|
|
|
{{/foreach}}
|
|
|
|
|
|
|
|
{{#foreach from=$config.output_nature key=key}}
|
|
|
|
{{:assign var="types.output.%s."|args:$type value=$key}}
|
|
|
|
{{/foreach}}
|
|
|
|
|
|
|
|
{{#foreach from=$types.output key=key}}
|
|
|
|
{{:assign var=elem from="types.output.%s"|args:$key}}
|
|
|
|
{{:assign elem=$elem|quote_sql|implode:","}}
|
|
|
|
{{:assign elem="("|cat:$elem|cat:")"}}
|
|
|
|
{{:assign var="output_types.%s"|args:$key value=$elem}}
|
2024-11-16 10:26:48 +01:00
|
|
|
{{/foreach}}
|
|
|
|
|
2025-02-20 11:40:27 +01:00
|
|
|
{{* filtrer selon la catégorie *}}
|
|
|
|
{{if $_GET.cat_key == null}}
|
|
|
|
{{:assign condition="1"}}
|
|
|
|
{{else}}
|
|
|
|
{{:assign cat_key=$_GET.cat_key|quote_sql}}
|
|
|
|
{{:assign condition="$$.category == %s"|args:$cat_key}}
|
|
|
|
{{/if}}
|
|
|
|
|
2025-02-21 13:34:49 +01:00
|
|
|
{{#list
|
|
|
|
select="
|
|
|
|
$$.name AS 'Matériel' ;
|
|
|
|
(SELECT $$.name
|
|
|
|
FROM @TABLE as cat
|
|
|
|
WHERE cat.key = @TABLE.$$.category) AS 'Catégorie' ;
|
|
|
|
(SELECT
|
|
|
|
SUM($$.amount)
|
2025-02-24 14:53:26 +01:00
|
|
|
FROM @TABLE AS mvt
|
2025-02-21 13:34:49 +01:00
|
|
|
WHERE
|
|
|
|
$$.type = 'movement'
|
|
|
|
AND
|
|
|
|
$$.operation IN %s
|
|
|
|
AND
|
2025-02-24 14:53:26 +01:00
|
|
|
$$.equipment = @TABLE.key
|
2025-02-21 13:34:49 +01:00
|
|
|
) -
|
|
|
|
(SELECT
|
|
|
|
COALESCE(SUM($$.amount), 0)
|
2025-02-24 14:53:26 +01:00
|
|
|
FROM @TABLE AS mvt
|
2025-02-21 13:34:49 +01:00
|
|
|
WHERE
|
|
|
|
$$.type = 'movement'
|
|
|
|
AND
|
|
|
|
$$.operation IN %s
|
|
|
|
AND
|
2025-02-24 14:53:26 +01:00
|
|
|
$$.equipment = @TABLE.key
|
2025-02-21 13:34:49 +01:00
|
|
|
) AS 'Stock' ;
|
|
|
|
(SELECT
|
|
|
|
COALESCE(SUM($$.amount), 0)
|
2025-02-24 14:53:26 +01:00
|
|
|
FROM @TABLE AS mvt
|
2025-02-21 13:34:49 +01:00
|
|
|
WHERE
|
|
|
|
$$.type = 'movement'
|
|
|
|
AND
|
|
|
|
$$.operation IN %s
|
|
|
|
AND
|
2025-02-24 14:53:26 +01:00
|
|
|
$$.equipment = @TABLE.key
|
2025-02-21 13:34:49 +01:00
|
|
|
) -
|
|
|
|
(SELECT
|
|
|
|
COALESCE(SUM($$.amount), 0)
|
2025-02-24 14:53:26 +01:00
|
|
|
FROM @TABLE AS mvt
|
2025-02-21 13:34:49 +01:00
|
|
|
WHERE
|
|
|
|
$$.type = 'movement'
|
|
|
|
AND
|
|
|
|
$$.operation IN %s
|
|
|
|
AND
|
2025-02-24 14:53:26 +01:00
|
|
|
$$.equipment = @TABLE.key
|
2025-02-21 13:34:49 +01:00
|
|
|
) AS 'Sorti' ;
|
2025-02-24 14:53:26 +01:00
|
|
|
|
|
|
|
(SELECT
|
|
|
|
SUM($$.amount)
|
|
|
|
FROM @TABLE AS mvt
|
|
|
|
WHERE
|
|
|
|
$$.type = 'movement'
|
|
|
|
AND
|
|
|
|
$$.operation IN %s
|
|
|
|
AND
|
|
|
|
$$.equipment = @TABLE.key
|
|
|
|
) -
|
|
|
|
(SELECT
|
|
|
|
COALESCE(SUM($$.amount), 0)
|
|
|
|
FROM @TABLE AS mvt
|
|
|
|
WHERE
|
|
|
|
$$.type = 'movement'
|
|
|
|
AND
|
|
|
|
$$.operation IN %s
|
|
|
|
AND
|
|
|
|
$$.equipment = @TABLE.key
|
|
|
|
) -
|
|
|
|
(SELECT
|
|
|
|
COALESCE(SUM($$.amount), 0)
|
|
|
|
FROM @TABLE AS mvt
|
|
|
|
WHERE
|
|
|
|
$$.type = 'movement'
|
|
|
|
AND
|
|
|
|
$$.operation IN %s
|
|
|
|
AND
|
|
|
|
$$.equipment = @TABLE.key
|
|
|
|
) + (SELECT
|
|
|
|
COALESCE(SUM($$.amount), 0)
|
|
|
|
FROM @TABLE AS mvt
|
|
|
|
WHERE
|
|
|
|
$$.type = 'movement'
|
|
|
|
AND
|
|
|
|
$$.operation IN %s
|
|
|
|
AND
|
|
|
|
$$.equipment = @TABLE.key
|
|
|
|
) AS 'Disponible'
|
|
|
|
"|args:$input_types.définitif:$output_types.définitif:$output_types.temporaire:$input_types.retour:$input_types.définitif:$output_types.définitif:$output_types.temporaire:$input_types.retour
|
2025-02-21 13:34:49 +01:00
|
|
|
type="equipment"
|
|
|
|
where="$$.status <> 'archived' AND %s"|args:$condition
|
|
|
|
group="col1 HAVING col3 NOT NULL"
|
|
|
|
order=1
|
2025-02-20 10:29:57 +01:00
|
|
|
}}
|
|
|
|
|
2025-02-21 13:34:49 +01:00
|
|
|
{{:assign var=cat_name from=categories.%s|args:$category}}
|
2024-11-16 10:26:48 +01:00
|
|
|
|
2025-02-21 13:34:49 +01:00
|
|
|
<tr>
|
|
|
|
<td>{{$name}}</td>
|
|
|
|
<td>{{$cat_name}}</td>
|
|
|
|
<td class="num">{{$col3}}</td>
|
|
|
|
<td class="num">{{$col4}}</td>
|
2025-02-24 14:53:26 +01:00
|
|
|
<td class="num">{{$col5}}</td>
|
2025-02-21 13:34:49 +01:00
|
|
|
<td class="actions">
|
|
|
|
{{if $col4 > 0}}
|
2024-11-16 10:26:48 +01:00
|
|
|
{{:linkbutton
|
2025-02-21 13:34:49 +01:00
|
|
|
label="Retour"
|
|
|
|
href="mouvements/entrees/retour.html?key=%s"|args:$key
|
|
|
|
shape="history"
|
2024-11-16 10:26:48 +01:00
|
|
|
target="_dialog"}}
|
2025-02-21 13:34:49 +01:00
|
|
|
{{/if}}
|
2025-02-24 14:53:26 +01:00
|
|
|
{{if $col5 > 0}}
|
2024-11-16 10:26:48 +01:00
|
|
|
{{:linkbutton
|
2025-02-21 13:34:49 +01:00
|
|
|
label="Sortie"
|
|
|
|
shape="minus"
|
|
|
|
href="mouvements/sorties/stock_disponible.html?key=%s"|args:$key
|
2024-11-16 10:26:48 +01:00
|
|
|
target="_dialog"}}
|
2025-02-21 13:34:49 +01:00
|
|
|
{{/if}}
|
|
|
|
{{:linkbutton
|
|
|
|
label="Entrée"
|
|
|
|
shape="plus"
|
|
|
|
href="mouvements/entrees/repertorie.html?key=%s"|args:$key
|
|
|
|
target="_dialog"}}
|
|
|
|
{{:linkbutton
|
|
|
|
label="Historique"
|
|
|
|
href="historique.html?key=%s&prop=1"|args:$key
|
|
|
|
shape="table"}}
|
|
|
|
{{:linkbutton
|
|
|
|
label="Modifier"
|
|
|
|
href="modifier_materiel.html?key=%s&prop=1&stock=%s"|args:$key:$col3
|
|
|
|
shape="edit"
|
|
|
|
target="_dialog"}}
|
|
|
|
</td>
|
|
|
|
</tr>
|
2024-11-16 10:26:48 +01:00
|
|
|
{{else}}
|
|
|
|
<p class="block alert">Aucun matériel.</p>
|
2025-02-21 13:34:49 +01:00
|
|
|
{{/list}}
|
2025-02-22 13:09:46 +01:00
|
|
|
|
|
|
|
<script type="text/javascript" src="scripts.js"></script>
|
|
|
|
<script type="text/javascript">
|
|
|
|
(function () {
|
|
|
|
disableColumSort(document.querySelector("table[class=list]"));
|
|
|
|
})();
|
|
|
|
</script>
|