From a0181a5b74255f7155df6b232bf6907c135709f8 Mon Sep 17 00:00:00 2001 From: Benjamin <Benjamin@MBP-de-Benj.(none)> Date: Tue, 26 Sep 2017 12:03:15 +0200 Subject: [PATCH] add fonds propres --- models/lefilament_tdb.py | 12 ++++++----- static/src/js/tresorerie.js | 41 ++++++++++++++++++++++++++++--------- 2 files changed, 38 insertions(+), 15 deletions(-) diff --git a/models/lefilament_tdb.py b/models/lefilament_tdb.py index d1a84af..493989e 100644 --- a/models/lefilament_tdb.py +++ b/models/lefilament_tdb.py @@ -191,10 +191,12 @@ class LeFilamentTdb(models.Model): tresorerie = self._cr.dictfetchall() self._cr.execute("""SELECT - sum(es.total_amount) as cca - from hr_expense_sheet es, hr_expense e - where es.id = e.sheet_id and e.payment_mode='own_account' and es.state!='done';""") - cca = self._cr.fetchone()[0] + (select sum(es.total_amount) as fonds_propres from hr_expense_sheet es, hr_expense e where es.id = e.sheet_id and e.payment_mode='own_account' and es.state!='done') as cca, + (select sum(capital) as capital from hr_employee) as capital;""") + fonds_propres = self._cr.dictfetchall()[0] - return { 'tresorerie': tresorerie, 'cca': cca } + if not fonds_propres['cca']: + fonds_propres['cca'] = 0 + + return { 'tresorerie': tresorerie, 'fonds_propres': fonds_propres } diff --git a/static/src/js/tresorerie.js b/static/src/js/tresorerie.js index 5f754ef..f1a8038 100644 --- a/static/src/js/tresorerie.js +++ b/static/src/js/tresorerie.js @@ -51,6 +51,7 @@ odoo.define('lefilament_tdb.tresorerie', function (require) { var variation = []; var treso = []; var cca = []; + var fonds_propres = [] var labels = []; var tabLength = this.values.tresorerie.length - 1; @@ -69,28 +70,48 @@ odoo.define('lefilament_tdb.tresorerie', function (require) { entree.push(this.values.tresorerie[i].entree); sortie.push(this.values.tresorerie[i].sortie * (-1) ); variation.push(this.values.tresorerie[i].variation); - cca.push(this.values.cca); + cca.push(this.values.fonds_propres.cca); + fonds_propres.push(this.values.fonds_propres.cca+this.values.fonds_propres.capital); labels.push(moment(this.values.tresorerie[i].mois).format('MMM YYYY')); } - - console.log(this.values); var datasets = [ - { label: 'Trésorerie', data: treso.slice(tabLength-11, tabLength+1), backgroundColor: 'transparent',borderColor: '#5E8ED5' }, - { label: 'CCA', data: cca, backgroundColor: 'transparent',borderColor: '#FFA063' }, - { label: 'Variation', data: variation, backgroundColor: 'rgba(255, 197, 98, 0.3)',borderColor: '#FFC562' }, - { label: 'Entrées', data: entree, backgroundColor: 'rgba(81, 210, 183, 0.3)', borderColor: '#51d2b7' }, - { label: 'Sorties', data: sortie, backgroundColor: 'rgba(249, 96, 117, 0.3)', borderColor: '#F96075' }, + { label: 'Trésorerie', data: treso.slice(tabLength-11, tabLength+1), backgroundColor: 'transparent',borderColor: '#5E8ED5', }, + { label: 'CCA', data: cca, backgroundColor: 'transparent',borderColor: '#FFA063', borderWidth: 1, radius: 0, }, + { label: 'Fonds Propres', data: fonds_propres, backgroundColor: 'transparent',borderColor: '#A65520', borderWidth: 1, radius: 0, }, + { label: 'Variation', data: variation, backgroundColor: 'rgba(255, 197, 98, 0.3)',borderColor: '#FFC562', borderWidth: 1, radius: 1, }, + { label: 'Entrées', data: entree, backgroundColor: 'rgba(81, 210, 183, 0.3)', borderColor: '#51d2b7', borderWidth: 1, radius: 1, }, + { label: 'Sorties', data: sortie, backgroundColor: 'rgba(249, 96, 117, 0.3)', borderColor: '#F96075', borderWidth: 1, radius: 1, }, ]; - // var label = 'Année ' + moment(Date.now()).format('YYYY'); + var options = { + scales: { + yAxes: [{ + ticks: { + beginAtZero:true, + } + }] + }, + tooltips: { + backgroundColor: 'rgba(255,255,255,0.8)', + titleFontStyle: 'normal', + titleFontColor: '#999', + bodyFontColor: '#777', + callbacks: { + label: function(tooltipItems, data) { + return ' ' + (tooltipItems.yLabel / 1000).toLocaleString('fr', { maximumFractionDigits: 1 }) + ' k€'; + } + } + }, + responsive: true, + } this.targetData = { labels : labels, datasets : datasets }; - var myLineChart = new Chart(this.ctx, { type: 'line', data: this.targetData, } ); + var myLineChart = new Chart(this.ctx, { type: 'line', data: this.targetData, options: options } ); }, -- GitLab