Browse Source

Correção nos cálculos da saúde das metas

stable/1.0
Sesostris Vieira 12 years ago
parent
commit
45ebadead6
  1. 25
      sigi/apps/metas/models.py

25
sigi/apps/metas/models.py

@ -49,34 +49,29 @@ class Meta(models.Model):
@property @property
def valor_desejado(self): def valor_desejado(self):
total_meses = (self.data_fim - self.data_inicio).days / 30 total_dias = (self.data_fim - self.data_inicio).days + 1
meses_gastos = (date.today() - self.data_inicio).days / 30 dias_gastos = (date.today() - self.data_inicio).days + 1
meta_mensal = self.valor_meta / total_meses meta_dia = self.valor_meta / total_dias
return meta_mensal * meses_gastos return meta_dia * dias_gastos
@property @property
def percentual_desejado_low(self): def percentual_desejado_low(self):
return self.valor_desejado * 0.9 / self.valor_meta return (self.valor_desejado / self.valor_meta) - 0.05 # 5% abaixo do desejado
@property @property
def percentual_desejado_high(self): def percentual_desejado_high(self):
return self.valor_desejado * 1.1 / self.valor_meta return (self.valor_desejado / self.valor_meta) + 0.05 # 5% acima do desejado
@property @property
def saude(self): def saude(self):
valor_executado = self.valor_executado percentual_concluido = self.percentual_concluido / 100.0
if valor_executado >= self.valor_meta: if percentual_concluido >= 1:
return 'A2BBED' # Blue return 'A2BBED' # Blue
total_meses = (self.data_fim - self.data_inicio).days / 30 if percentual_concluido > self.percentual_desejado_high:
meses_gastos = (date.today() - self.data_inicio).days / 30
meta_mensal = self.valor_meta / total_meses
valor_desejado = meta_mensal * meses_gastos
if valor_executado > (valor_desejado * 1.1):
return '89D7AF' # Green return '89D7AF' # Green
if valor_executado > (valor_desejado * 0.9): if percentual_concluido > self.percentual_desejado_low:
return 'FFDB6E' # Orange return 'FFDB6E' # Orange
return 'E74A69' # Red return 'E74A69' # Red

Loading…
Cancel
Save