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

[FIX] wrong values for employee query

parent 5a273831
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -444,11 +444,11 @@ class LeFilamentTdb(models.Model): ...@@ -444,11 +444,11 @@ class LeFilamentTdb(models.Model):
return result return result
def _employee_time(self, date_start=None, date_end=None): def _employee_time(self, date_start=None, date_end=None):
clause = "where 1=1 " clause = ""
if date_start: if date_start:
clause += f"and line_date >= '{date_start}' " clause += f" and aal.date >= '{date_start}'"
if date_end: if date_end:
clause += f"and line_date <= '{date_end}' " clause += f" and aal.date <= '{date_end}'"
query = """ query = """
select select
...@@ -456,14 +456,13 @@ class LeFilamentTdb(models.Model): ...@@ -456,14 +456,13 @@ class LeFilamentTdb(models.Model):
sum(production) as "Prod", sum(production) as "Prod",
sum(internal) as "Interne", sum(internal) as "Interne",
sum(revenue) as "CA" sum(revenue) as "CA"
from
( from (
select select
p.name as employee, p.name as employee,
0 as production, 0 as production,
0 as internal, 0 as internal,
aal.amount as revenue, sum(aal.amount) as revenue
aal.date as line_date
from from
account_analytic_line aal account_analytic_line aal
left join left join
...@@ -474,15 +473,16 @@ class LeFilamentTdb(models.Model): ...@@ -474,15 +473,16 @@ class LeFilamentTdb(models.Model):
res_partner p on aa.partner_id = p.id res_partner p on aa.partner_id = p.id
where where
aap.id = 3 aap.id = 3
%s
group by p.name
union union
select select
e.name as employee, e.name as employee,
case when aal.partner_id != 1 or aal.partner_id is null and aal.holiday_id is null then unit_amount else 0 end as production, sum(case when aal.partner_id != 1 or aal.partner_id is null and aal.holiday_id is null then unit_amount else 0 end) as production,
case when aal.partner_id = 1 and aal.holiday_id is null then unit_amount else 0 end as internal, sum(case when aal.partner_id = 1 and aal.holiday_id is null then unit_amount else 0 end) as internal,
0 as revenue, 0 as revenue
aal.date as line_date
from from
account_analytic_line aal account_analytic_line aal
left join left join
...@@ -493,13 +493,13 @@ class LeFilamentTdb(models.Model): ...@@ -493,13 +493,13 @@ class LeFilamentTdb(models.Model):
hr_leave_type lt on l.holiday_status_id = lt.id hr_leave_type lt on l.holiday_status_id = lt.id
where where
aal.project_id is not null aal.project_id is not null
and (lt.active is true or lt.active is null)
) query
%s %s
group by e.name
) query
group by employee group by employee
order by sum(production) desc order by sum(production) desc
""" """
self.env.cr.execute(query, (AsIs(clause),)) self.env.cr.execute(query, (AsIs(clause), AsIs(clause),))
result = self.env.cr.dictfetchall() result = self.env.cr.dictfetchall()
return result return result
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