Commit 8d87abf8 authored by Laurent Lécluse's avatar Laurent Lécluse
Browse files

Blindage des DMEP : plus possible de payer plus de HETD que le total

parent de8eeb5a
......@@ -3,7 +3,7 @@ title: "Changements intervenus sur OSE"
author: Laurent Lécluse - DSI - Unicaen
---
# OSE alpha
# OSE 9.0 alpha
## Correction de bugs
......@@ -16,6 +16,10 @@ author: Laurent Lécluse - DSI - Unicaen
* La séquence FORMULE_RESULTAT_SERVIC_ID_SEQ se met maintenant correctement à jour (avant, cela entrainait de nombreux bugs, car la formule des HC ne se calculait plus après une mise à jour)
* L'indicateur 120 renvoyait à tort le même résultat que le 110.
## Nouveautés
* Ajout d'un nouveau contrôle lors des demandes de mise en paiement : il n'est plus possible de payer plus d'heures que d'HETD même si des HETD ont déjà été payées à tort
# OSE 8.2.2
## Correction de bugs
......
......@@ -90,7 +90,11 @@ function DemandeMiseEnPaiement(id)
services[sapEl.attr("id")].mep += this.misesEnPaiementListes[id].getHeuresMEP();
services[sapEl.attr("id")].dmep += this.misesEnPaiementListes[id].getHeuresDMEP();
}
totalServices = 0;
totalDmep = 0;
for (var id in services) {
totalServices += Math.round(services[id].total * 100);
totalDmep += Math.round((services[id].mep + services[id].dmep) * 100);
if (Math.round((services[id].mep + services[id].dmep) * 100) > Math.round(services[id].total * 100) && services[id].dmep > 0) {
this.showError(
this.element.find('.service-a-payer#' + id),
......@@ -99,6 +103,12 @@ function DemandeMiseEnPaiement(id)
result = false;
}
}
if (totalDmep > totalServices) {
alert('Le nombre d\'heures demandées en paiement dépasse le nombre total d\'HETD à payer : il y en a ' + ((totalDmep - totalServices) / 100) + ' de trop');
result = false;
}
return result;
}
......@@ -389,12 +399,12 @@ function MiseEnPaiementListe(demandeMiseEnPaiement, element)
if (Util.json.count(children) > 0) {
outC += '<optgroup label="' + this.params['centres-cout'][ccId]['libelle'] + '">';
for (var cccId in children) {
outC += this.renderCentreCoutOption( this.params['centres-cout'][cccId], cccId, data['centre-cout-id'] );
outC += this.renderCentreCoutOption(this.params['centres-cout'][cccId], cccId, data['centre-cout-id']);
}
outC += this.renderCentreCoutOption( this.params['centres-cout'][ccId], ccId, data['centre-cout-id'] );
outC += this.renderCentreCoutOption(this.params['centres-cout'][ccId], ccId, data['centre-cout-id']);
outC += '</optgroup>';
} else if (this.params['centres-cout'][ccId]['parent'] == null) {
outC += this.renderCentreCoutOption( this.params['centres-cout'][ccId], ccId, data['centre-cout-id'] );
outC += this.renderCentreCoutOption(this.params['centres-cout'][ccId], ccId, data['centre-cout-id']);
}
}
outC += '</select>';
......@@ -564,7 +574,7 @@ function MiseEnPaiementListe(demandeMiseEnPaiement, element)
this.element.find('.heures-non-dmep').html(Util.formattedHeures(this.params['heures-non-dmep']));
if (Math.round((this.params['heures-dmep'] + this.params['heures-mep'])*100)/100 > this.params['heures-total']) {
if (Math.round((this.params['heures-dmep'] + this.params['heures-mep']) * 100) / 100 > this.params['heures-total']) {
this.element.addClass('bg-danger');
if (0 == this.params['heures-non-dmep']) {
this.element.find('.heures-non-dmep').parents('tr').hide();
......@@ -885,18 +895,18 @@ $.widget("ose.dmepBudget", {
this.updateBlocageDepassement();
setTimeout( function(){ that.update() }, 5000);
setTimeout(function () { that.update() }, 5000);
},
update: function()
update: function ()
{
var that = this;
var updateUrl = this.element.data('update-url');
var diffData = this.getDiffData();
data = $.getJSON( updateUrl, function(data){
data = $.getJSON(updateUrl, function (data) {
that.getElementsEnveloppes().each(function ()
{
......@@ -906,7 +916,7 @@ $.widget("ose.dmepBudget", {
if (data[structureId] !== undefined && data[structureId][typeRessourceId] !== undefined) {
var value = data[structureId][typeRessourceId];
var diffVal = 0;
if (diffData[structureId] !== undefined && diffData[structureId][typeRessourceId] !== undefined){
if (diffData[structureId] !== undefined && diffData[structureId][typeRessourceId] !== undefined) {
diffVal = diffData[structureId][typeRessourceId];
}
......@@ -921,7 +931,7 @@ $.widget("ose.dmepBudget", {
that.updateBlocageDepassement();
});
setTimeout( function(){ that.update() }, 5000);
setTimeout(function () { that.update() }, 5000);
},
......@@ -1010,7 +1020,7 @@ $.widget("ose.dmepBudget", {
var usage = progress.data('usage') + value;
var restant = dotation - usage;
var percent = 100 - Math.round(usage * 10000 / dotation) / 100;
if (restant <= 0){
if (restant <= 0) {
percent = 0;
}
if (percent < 0) percent = 0;
......@@ -1035,7 +1045,7 @@ $.widget("ose.dmepBudget", {
updateBlocageDepassement: function()
updateBlocageDepassement: function ()
{
if (this.depassement) {
$('.demande-mise-en-paiement .sauvegarde').hide();
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment