initial upload

This commit is contained in:
2023-06-22 10:34:18 +02:00
parent 6df897b44d
commit 5c621cf669
1030 changed files with 355394 additions and 49 deletions

View File

@@ -0,0 +1,119 @@
<metal:block use-macro="main_template">
<div metal:fill-slot="content">
<div class="alert alert-danger" tal:condition="message" tal:content="message" />
<form id="balance-form" action="${url}" method="post" class="form-horizontal">
<h3 class="text-primary">1. Générer la Balance Clients</h3>
<div class="form-group">
<label class="control-label col-xs-4">Société</label>
<div class="col-xs-8">
<p class="form-control-static"><b>CERRA</b></p>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-4" for="cat">Catégorie</label>
<div class="col-xs-3">
<select class="form-control" id="cat" name="cat">
<div tal:repeat="item permis">
<option value="${item.CAT}" tal:attributes="selected cat==item.CAT and 'selected' or None">${item.CAT}</option>
</div>
</select>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-4" for="date_debut">Période du </label>
<div class="col-xs-6">
<div class="input-group date" id="date_debut">
<input class="form-control" type="text" name="date_debut" value="${layout.date2dmy(date_debut)}"
data-fv-date="true"
data-fv-date-format="DD-MM-YYYY"
data-fv-date-message="La date n'est pas valide" />
<span class="input-group-addon add-on">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-4" for="date_fin">au</label>
<div class="col-xs-6">
<div class="input-group date" id="date_fin">
<input class="form-control" type="text" name="date_fin" value="${layout.date2dmy(date_fin)}"
data-fv-date="true"
data-fv-date-format="DD-MM-YYYY"
data-fv-date-message="La date n'est pas valide" />
<span class="input-group-addon add-on">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
</div>
<div class="form-group">
<div class="col-xs-8 col-xs-offset-4">
<button id="extractButton" class="btn btn-lg btn-primary" type="submit" name="form.submitted">
<span class="glyphicon glyphicon-export"></span>&nbsp;Générer Balance</button>
<a href="/parametres" class="btn btn-lg btn-default" role="button">
<span class="glyphicon glyphicon-chevron-left"></span> Annuler</a>
</div>
</div>
<br />
<h3 class="text-primary">2. Imprimer la Balance Clients</h3>
<div class="form-group">
<label class="control-label col-xs-4">Critères de sélection</label>
<div class="col-xs-8">
<p class="form-control-static">${balance_criteres}</p>
</div>
<label class="control-label col-xs-4">Générée le</label>
<div class="col-xs-8">
<p class="form-control-static">${generer_debut}</p>
</div>
<label class="control-label col-xs-4">Terminée le</label>
<div class="col-xs-8">
<p class="form-control-static">${generer_fin}</p>
</div>
</div>
<div class="form-group" tal:condition="balance_fin">
<div class="col-xs-8 col-xs-offset-4">
<a href="/balance_print" class="btn btn-lg btn-success" role="button">
<span class="glyphicon glyphicon-chevron-print"></span> &nbsp;Imprimer Balance</a>
</div>
</div>
</form>
<br />
<br />
<br />
<br />
<br />
<br />
</div><!-- content -->
<div metal:fill-slot="additional_scripts">
<script>
$(document).ready(function() {
$('#balance-form').formValidation();
$('#date_debut').datetimepicker({
format: 'DD-MM-YYYY',
allowInputToggle: true,
}).on('dp.change', function(e) {
// Revalidate the date field
$('#balance-form').formValidation('revalidateField', 'date_debut');
});
$('#date_fin').datetimepicker({
format: 'DD-MM-YYYY',
allowInputToggle: true,
}).on('dp.change', function(e) {
// Revalidate the date field
$('#balance-form').formValidation('revalidateField', 'date_fin');
});
});
$('#extractButton').on('click', function(){
$('i.gly-spin').removeClass('gly-spin');
$('i').addClass('gly-spin');
});
</script>
</div>
</metal:block>

View File

@@ -0,0 +1,67 @@
<metal:block use-macro="main_template">
<div metal:fill-slot="content">
<div class="col-xs-6">
<p>
Société : <b>CERRA</b> <br />
Edité le : ${TODAY.strftime('%d-%m-%Y')}
</p>
</div>
<div class="col-xs-6">
<button type="button" class="btn btn-primary" onclick="window.print()">Imprimer</button>
</div>
<table id="jnl_caisse-table" class="table table-condensed table-striped table-bordered">
<thead>
<tr>
<th>Code</th>
<th>Nom prénom</th>
<th>Formule</th>
<th class="text-right">Solde</th>
<th class="text-right">Mt valeur</th>
<th class="text-right">Crédit</th>
<th class="text-right">Solde D</th>
<th class="text-right">Solde C</th>
<th class="text-right">Solde C-D</th>
</tr>
</thead>
</table>
<br />
<br />
<script type="text/javascript">
var dataSet = ${dt_data};
$(document).ready(function() {
$.fn.dataTable.moment('DD-MM-YYYY HH:mm');
$('#jnl_caisse-table').DataTable({
data: dataSet,
pageLength: 100,
bLengthChange: false,
paging: false,
ordering: false,
language: {
url: 'https://cdn.datatables.net/plug-ins/1.10.16/i18n/French.json'
},
order: [[5, 'asc']],
columnDefs: [
{
targets: [3, 4, 5, 6, 7, 8],
className: 'text-right',
},
],
fnRowCallback: function(nRow, aData, iDisplayIndex) {
if (aData[0] == "") {
$('td', nRow).each(function(){
$(this).css('font-weight','bold');
});
}
return nRow;
}
});
});
</script>
</div> <!-- contents -->
</metal:block>

View File

@@ -0,0 +1,116 @@
<metal:block use-macro="main_template">
<div metal:fill-slot="content">
<div class="alert alert-danger" tal:condition="message" tal:content="message" />
<p>
<a href="/parametres" class="btn btn-default" role="button">
<span class="glyphicon glyphicon-chevron-left"></span>&nbsp;Annuler</a>
</p>
<form id="export_cpta" action="${url}" method="post" class="form-horizontal">
<input type="hidden" name="etape" value="${etape}" />
<h3>1. Extraire le brouillard</h3>
<div class="form-group">
<label class="control-label col-xs-4" for="date_fin">Jusqu'à la date du</label>
<div class="col-xs-8">
<div class="input-group date" id="date_fin">
<input class="form-control" type="text" name="date_fin" value="${layout.date2dmy(date_fin)}"
data-fv-notempty="true"
data-fv-notempty-message="La Date de fin est obligatoire"
data-fv-date="true"
data-fv-date-format="DD-MM-YYYY"
data-fv-date-message="La date n'est pas valide" />
<span class="input-group-addon add-on">
<span class="glyphicon glyphicon-calendar"></span>
</span>
<span class="input-group-btn" tal:condition="etape=='1'">
<button id="extractButton" class="btn btn-primary" type="submit" name="form.extraction">
<span class="glyphicon glyphicon-export"></span>&nbsp;Extraire</button>
</span>
</div>
</div>
</div>
<table class="table table-striped table-bordered table-condensed" cellspacing="0" width="100%" tal:condition="etape=='2'">
<thead>
<tr>
<th class="text-center">Jnl</th>
<th>Date</th>
<th>Compte</th>
<th>Désignation</th>
<th class="text-right">Débit</th>
<th class="text-right">Crédit</th>
<th>Analytique</th>
<th>Référence</th>
</tr>
</thead>
<tr tal:repeat="item brouillard">
<td class="text-center">${item.JOURNAL}</td>
<td>${item.DATE.strftime("%d-%m-%Y")}</td>
<td>${item.COMPTE}</td>
<td>${item.LIBELLE}</td>
<td class="text-right" tal:condition="item.SENS=='D'">${item.MONTANT}</td>
<td class="text-right" tal:condition="item.SENS=='D'"></td>
<td class="text-right" tal:condition="item.SENS=='C'"></td>
<td class="text-right" tal:condition="item.SENS=='C'">${item.MONTANT}</td>
<td>${item.CENTRE}</td>
<td>${item.REFERENCE}</td>
</tr>
<tr>
<td class="text-right" colspan="4"><b>Totaux</b></td>
<td class="text-right"><b>${total_debit}</b></td>
<td class="text-right"><b>${total_credit}</b></td>
<td class="text-right" colspan="2"><b>${len(brouillard)} écritures générées</b></td>
</tr>
</table>
<div tal:condition="etape=='2'">
<h3>2. Générer le fichier d'export</h3>
<p>Le fichier d'export se trouve dans le dossier <b>\JUSTIFS\EXPORT</b></p>
<div class="form-group">
<label class="control-label col-xs-4" for="nom_fichier">Nom du fichier</label>
<div class="col-xs-8">
<div class="input-group date" id="nom_fichier">
<input class="form-control" type="text" name="nom_fichier" value="${nom_fichier}" readonly />
<span class="input-group-btn">
<button class="btn btn-primary" type="submit" name="form.generer">
<span class="glyphicon glyphicon-download-alt"></span>&nbsp;Générer</button>
</span>
</div>
</div>
</div>
</div>
</form>
<br />
<br />
<br />
<br />
<br />
<br />
</div><!-- content -->
<div metal:fill-slot="additional_scripts">
<script>
$(document).ready(function() {
$('#export_cpta').formValidation();
$('#date_fin').datetimepicker({
format: 'DD-MM-YYYY',
allowInputToggle: true,
}).on('dp.change', function(e) {
// Revalidate the date field
$('#export_cpta').formValidation('revalidateField', 'date_fin');
});
});
$('#extractButton').on('click', function(){
$('i.gly-spin').removeClass('gly-spin');
$('i').addClass('gly-spin');
});
</script>
</div>
</metal:block>

View File

@@ -0,0 +1,51 @@
<metal:block use-macro="main_template">
<div metal:fill-slot="content">
<div class="alert alert-danger" tal:condition="message" tal:content="message" />
<!-- JNL_CAISSE -->
<form id="jnl_caisse-form" action="${url}" method="post" class="form-horizontal">
<div class="form-group">
<label class="control-label col-xs-4" for="date_edition">Date d'édition</label>
<div class="col-xs-8">
<div class="input-group date" id="date_edition">
<input class="form-control" type="text" name="date_edition" value="${layout.date2dmy(date_edition)}"
data-fv-date="true"
data-fv-date-format="DD-MM-YYYY"
data-fv-date-message="La date n'est pas valide" />
<span class="input-group-addon add-on">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
</div>
<div class="form-group">
<div class="col-xs-8 col-xs-offset-4">
<button id="extractButton" class="btn btn-primary" type="submit" name="form.submitted">
<span class="glyphicon glyphicon-export"></span>&nbsp;Imprimer</button>
<a href="/" class="btn btn-default" role="button">
<span class="glyphicon glyphicon-chevron-left"></span> Annuler</a>
</div>
</div>
</form>
<br />
<br />
<script type="text/javascript">
$(document).ready(function() {
$('#jnl_caisse-form').formValidation();
$('#date_edition').datetimepicker({
format: 'DD-MM-YYYY',
allowInputToggle: true,
}).on('dp.change', function(e) {
// Revalidate the date field
$('#jnl_caisse-form').formValidation('revalidateField', 'date_fin');
});
});
</script>
</div><!-- content -->
</metal:block>

View File

@@ -0,0 +1,83 @@
<metal:block use-macro="main_template">
<div metal:fill-slot="content">
<!-- PRINT_CAISSE -->
<form action="" method="post" class="form-horizontal">
<div class="form-group">
<label class="control-label col-xs-3">Caisse effectuée par :</label>
</div>
<div class="form-group">
<label tal:condition="agence==6" class="control-label col-xs-3">Fond de caisse :</label>
<label tal:condition="agence!=6" class="control-label col-xs-3">Dépôt en banque le et par :</label>
</div>
<div class="form-group">
<label class="control-label col-xs-3">Enveloppe ESP Banque :</label>
</div>
<div class="form-group">
<label class="control-label col-xs-3">Enveloppe ESP Compta :</label>
<div class="col-xs-6 col-xs-offset-3">
<button type="button" class="btn btn-primary" onclick="window.print()">Imprimer</button>
</div>
</div>
</form>
<table id="jnl_caisse-table" class="table table-condensed table-striped table-bordered">
<thead>
<tr>
<th>Code</th>
<th>Nom prénom</th>
<th>Cat.</th>
<th>Intitulé</th>
<th class="text-right">Montant</th>
<th class="text-center">Mode</th>
<th>Util.</th>
<th>Créé, Modif</th>
</tr>
</thead>
</table>
<br />
<br />
<script type="text/javascript">
var dataSet = ${dt_data};
$(document).ready(function() {
$.fn.dataTable.moment('DD-MM-YYYY HH:mm');
$('#jnl_caisse-table').DataTable({
data: dataSet,
paging: false,
bLengthChange: false,
searching: false,
ordering: false,
language: {
url: 'https://cdn.datatables.net/plug-ins/1.10.16/i18n/French.json'
},
order: [[5, 'asc']],
columnDefs: [
{
targets: 4,
className: 'text-right',
},
{
targets: 5,
className: 'text-center',
}
],
fnRowCallback: function(nRow, aData, iDisplayIndex) {
if (aData[0] == "") {
$('td', nRow).each(function(){
$(this).css('font-weight','bold');
});
}
return nRow;
}
});
});
</script>
</div><!-- content -->
</metal:block>

View File

@@ -0,0 +1,99 @@
<metal:block use-macro="main_template">
<div metal:fill-slot="content">
<div class="alert alert-danger" tal:condition="message" tal:content="message" />
<form id="balance-form" action="${url}" method="post" class="form-horizontal">
<div class="form-group">
<label class="control-label col-xs-4" for="cd_mon1">Moniteur début</label>
<div class="col-xs-6">
<select class="form-control" id="cd_mon1" name="cd_mon1">
<div tal:repeat="item moniteurs">
<option value="${item.CD_MON}" tal:attributes="selected cd_mon1 == item.CD_MON and 'selected' or None">${item.CD_MON} - ${item.NOM} </option>
</div>
</select>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-4" for="cd_mon2">Moniteur fin</label>
<div class="col-xs-6">
<select class="form-control" id="cd_mon2" name="cd_mon2">
<div tal:repeat="item moniteurs">
<option value="${item.CD_MON}" tal:attributes="selected cd_mon2 == item.CD_MON and 'selected' or None">${item.CD_MON} - ${item.NOM}</option>
</div>
</select>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-4" for="date_debut">Période du </label>
<div class="col-xs-6">
<div class="input-group date" id="date_debut">
<input class="form-control" type="text" name="date_debut" value="${layout.date2dmy(date_debut)}"
data-fv-date="true"
data-fv-date-format="DD-MM-YYYY"
data-fv-date-message="La date n'est pas valide" />
<span class="input-group-addon add-on">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-4" for="date_fin">au</label>
<div class="col-xs-6">
<div class="input-group date" id="date_fin">
<input class="form-control" type="text" name="date_fin" value="${layout.date2dmy(date_fin)}"
data-fv-date="true"
data-fv-date-format="DD-MM-YYYY"
data-fv-date-message="La date n'est pas valide" />
<span class="input-group-addon add-on">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
</div>
<div class="form-group">
<div class="col-xs-8 col-xs-offset-4">
<button id="extractButton" class="btn btn-primary" type="submit" name="form.submitted">
<span class="glyphicon glyphicon-export"></span>&nbsp;Générer Récap</button>
<a href="/parametres" class="btn btn-default" role="button">
<span class="glyphicon glyphicon-chevron-left"></span> Annuler</a>
</div>
</div>
</form>
<br />
<br />
<br />
<br />
<br />
<br />
</div><!-- content -->
<div metal:fill-slot="additional_scripts">
<script>
$(document).ready(function() {
$('#balance-form').formValidation();
$('#date_debut').datetimepicker({
format: 'DD-MM-YYYY',
allowInputToggle: true,
}).on('dp.change', function(e) {
// Revalidate the date field
$('#balance-form').formValidation('revalidateField', 'date_debut');
});
$('#date_fin').datetimepicker({
format: 'DD-MM-YYYY',
allowInputToggle: true,
}).on('dp.change', function(e) {
// Revalidate the date field
$('#balance-form').formValidation('revalidateField', 'date_fin');
});
});
$('#extractButton').on('click', function(){
$('i.gly-spin').removeClass('gly-spin');
$('i').addClass('gly-spin');
});
</script>
</div>
</metal:block>

View File

@@ -0,0 +1,72 @@
<metal:block use-macro="main_template">
<div metal:fill-slot="content">
<h3>${periode}</h3>
<br />
<div class="col-xs-6">
<p>
Société : <b>CERRA</b> <br />
Edité le : ${TODAY.strftime('%d-%m-%Y')}
</p>
</div>
<div class="col-xs-6">
<button type="button" class="btn btn-primary" onclick="window.print()">Imprimer</button>
</div>
<table id="recap_moniteurs-table" class="table table-condensed table-bordered">
<thead>
<tr>
<th>Moniteur</th>
<th>Statut</th>
<th>Réf.</th>
<th>Intitulé</th>
<th class="text-right">Heures</th>
</tr>
</thead>
</table>
<br />
<br />
<script type="text/javascript">
var dataSet = ${dt_data};
$(document).ready(function() {
$.fn.dataTable.moment('DD-MM-YYYY HH:mm');
$('#recap_moniteurs-table').DataTable({
data: dataSet,
paging: false,
bLengthChange: false,
searching: false,
ordering: false,
language: {
url: 'https://cdn.datatables.net/plug-ins/1.10.16/i18n/French.json'
},
order: [[0, 'asc']],
columnDefs: [
{
targets: 4,
className: 'text-right',
},
],
createdRow: function( row, data, dataIndex ) {
if ( data[1] == "(15)" ) {
$('td', row).eq(1).css('background-color', 'Yellow');
$('td', row).eq(4).css('background-color', 'Yellow');
}
},
fnRowCallback: function(nRow, aData, iDisplayIndex) {
if (aData[1] == "") {
$('td', nRow).each(function(){
$(this).css('font-weight','bold');
});
}
return nRow;
}
});
});
</script>
</div> <!-- contents -->
</metal:block>

View File

@@ -0,0 +1,67 @@
<metal:block use-macro="main_template">
<div metal:fill-slot="content">
<div class="alert alert-danger" tal:condition="message" tal:content="message" />
<p>
<a href="/parametres" class="btn btn-default" role="button">
<span class="glyphicon glyphicon-chevron-left"></span>&nbsp;Annuler</a>
</p>
<form id="solder_contrats" action="${url}" method="post" class="form-horizontal">
<div class="col-xs-6">
<div class="panel panel-primary">
<div class="panel-heading"><h3>SOLDER les CONTRATS AUTO</h3></div>
<div class="panel-body">
<p>
Ce traitement sélectionne tous les contrats AUTO qui sont :<br />
- inactifs depuis plus de 6 mois<br />
- dont le statut = 0<br />
- dont la date de fin de contrat est atteinte depuis plus d'un an<br />
- dont le SOLDE est positif (total CREDIT > total MT_VALEUR)<br />
pour les solder :<br />
- ajout d'une ligne 'REGUL FIN AUTO' d'un montant = SOLDE du compte élève
</p>
<p>Procédure appelée : <b>spUpd_SOLDER_CONTRAT_B</b></p>
<br />
<p class="text-center">
<button id="extractButton" class="btn btn-primary" type="submit" name="form.solder_auto">
<span class="glyphicon glyphicon-check"></span>&nbsp;Solder les contrats AUTO</button>
</p>
</div>
</div>
</div>
<div class="col-xs-6">
<div class="panel panel-primary">
<div class="panel-heading"><h3>SOLDER les CONTRATS 2 ROUES</h3></div>
<div class="panel-body">
<p>
Ce traitement sélectionne tous les contrats 2 ROUES qui sont :<br />
- inactifs depuis plus de 6 mois<br />
- dont le statut = 0<br />
- dont la date de fin de contrat est atteinte depuis plus d'un an<br />
- dont le SOLDE est positif (total CREDIT > total MT_VALEUR)<br />
pour les solder :<br />
- ajout d'une ligne 'REGUL FIN MOTO' d'un montant = SOLDE du compte élève<br />
</p>
<p>Procédure appelée : <b>spUpd_SOLDER_CONTRAT_2R</b></p>
<br />
<p class="text-center">
<button id="extractButton" class="btn btn-primary" type="submit" name="form.solder_moto">
<span class="glyphicon glyphicon-check"></span>&nbsp;Solder contrats 2 ROUES</button>
</p>
</div>
</div>
</div>
</form>
<br />
<br />
<br />
<br />
<br />
<br />
</div><!-- content -->
</metal:block>