|
|
for team in self:
team.todo_request_ids = self.env['maintenance.request'].search([('maintenance_team_id', '=', team.id), ('stage_id.done', '=', False), ('archive', '=', False)])
data = self.env['maintenance.request']._read_group(
[('maintenance_team_id', '=', team.id), ('stage_id.done', '=', False), ('archive', '=', False)],
['schedule_date:year', 'priority', 'kanban_state'],
['__count']
)
team.todo_request_count = sum(count for (_, _, _, count) in data)
team.todo_request_count_date = sum(count for (schedule_date, _, _, count) in data if schedule_date)
team.todo_request_count_high_priority = sum(count for (_, priority, _, count) in data if priority == '3')
team.todo_request_count_block = sum(count for (_, _, kanban_state, count) in data if kanban_state == 'blocked')
team.todo_request_count_unscheduled = team.todo_request_count - team.todo_request_count_date
|
|