Skip to content
Extraits de code Groupes Projets
Valider b1ee6bba rédigé par Rémi - Le Filament's avatar Rémi - Le Filament
Parcourir les fichiers

[FIX] calculations for cashflow

parent 2c9787a4
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -62,33 +62,30 @@ class LeFilamentTdb(models.Model):
# Trésorerie
self.env.cr.execute(
"SELECT SUM(amount_total_signed) \
FROM account_move \
"SELECT SUM(amount) \
FROM account_bank_statement_line \
WHERE date < date_trunc('month', %s \
+ interval '1' month) \
AND statement_line_id is not NULL;",
+ interval '1' month)",
(date_tdb,),
)
treso_total = self.env.cr.fetchone()[0]
# CHARGES
self.env.cr.execute(
"SELECT SUM(amount_total_signed) \
FROM account_move \
WHERE amount_total_signed < 0 \
"SELECT SUM(amount) \
FROM account_bank_statement_line \
WHERE amount < 0 \
AND date >= date_trunc('month', %s) \
AND date < date_trunc('month', %s + interval '1' month) \
AND statement_line_id is not NULL;",
AND date < date_trunc('month', %s + interval '1' month)",
(date_tdb, date_tdb),
)
charges = self.env.cr.fetchone()[0]
# ENCAISSE
self.env.cr.execute(
"SELECT SUM(amount_total_signed) \
FROM account_move \
WHERE amount_total_signed > 0 \
"SELECT SUM(amount) \
FROM account_bank_statement_line \
WHERE amount > 0 \
AND date >= date_trunc('month', %s) \
AND date < date_trunc('month', %s + interval '1' month) \
AND statement_line_id is not NULL;",
AND date < date_trunc('month', %s + interval '1' month)",
(date_tdb, date_tdb),
)
encaisse = self.env.cr.fetchone()[0]
......@@ -240,23 +237,21 @@ class LeFilamentTdb(models.Model):
FROM account_bank_statement
ORDER BY ID DESC LIMIT 1
) AS date_maj,
(SELECT SUM(amount_total_signed)
FROM account_move
WHERE statement_line_id is NOT NULL
(SELECT SUM(amount)
FROM account_bank_statement_line
) AS tresorerie,
(SELECT SUM(amount_total_signed)
FROM account_move
WHERE amount_total_signed > 0 AND date > %s
AND statement_line_id is NOT NULL
(SELECT SUM(amount)
FROM account_bank_statement_line
WHERE amount > 0 AND date > %s
) AS entree,
(SELECT SUM(amount_total_signed)
FROM account_move
WHERE amount_total_signed < 0 AND date > %s
(SELECT SUM(amount)
FROM account_bank_statement_line
WHERE amount < 0 AND date > %s
AND statement_line_id is NOT NULL
) AS sortie,
(SELECT SUM(amount_total_signed)
FROM account_move
WHERE date > %s AND statement_line_id is NOT NULL
(SELECT SUM(amount)
FROM account_bank_statement_line
WHERE date > %s
) AS variation,
(SELECT SUM(e.total_amount)
FROM hr_expense_sheet es, hr_expense e
......@@ -329,13 +324,12 @@ class LeFilamentTdb(models.Model):
self._cr.execute(
"""
SELECT to_char(date_trunc('month', date),'YYYY-MM') AS mois,
SUM(CASE WHEN amount_total_signed > 0
SUM(CASE WHEN amount > 0
THEN amount_total_signed ELSE 0 END) AS entree,
SUM(CASE WHEN amount_total_signed < 0
SUM(CASE WHEN amount < 0
THEN amount_total_signed ELSE 0 END) AS sortie,
SUM(amount_total_signed) AS variation
FROM account_move
WHERE statement_line_id is not NULL
SUM(amount) AS variation
FROM account_bank_statement_line
GROUP BY date_trunc('month', date)
ORDER BY date_trunc('month', date);
"""
......@@ -366,11 +360,10 @@ class LeFilamentTdb(models.Model):
self._cr.execute(
"""
SELECT to_char(date_trunc('month', date),'YYYY-MM') AS mois,
SUM(SUM(amount_total_signed)) OVER (
SUM(SUM(amount)) OVER (
ORDER BY date_trunc('month', date)
) AS treso
FROM account_move
WHERE statement_line_id is not NULL
FROM account_bank_statement_line
GROUP BY date_trunc('month', date)
ORDER BY date_trunc('month', date) DESC LIMIT 6;
"""
......@@ -403,7 +396,8 @@ class LeFilamentTdb(models.Model):
ELSE 0 END
) AS f_client
FROM account_move
WHERE state != 'draft' AND state != 'paid'
WHERE state = 'posted'
AND payment_state IN ('not_paid','in_payment','partial')
GROUP BY date_trunc('month', invoice_date_due)
ORDER BY date_trunc('month', invoice_date_due);
"""
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter