|
|
@ -183,29 +183,29 @@ class mis_report_kpi(orm.Model): |
|
|
|
if value is None or base_value is None: |
|
|
|
return '' |
|
|
|
if kpi.type == 'pct': |
|
|
|
return self._render_num(cr, uid, lang_id, |
|
|
|
value - base_value, |
|
|
|
0.01, kpi.dp, |
|
|
|
_('pp'), sign='+', |
|
|
|
context=context) |
|
|
|
return self._render_num( |
|
|
|
cr, uid, lang_id, |
|
|
|
value - base_value, |
|
|
|
0.01, kpi.dp, _('pp'), sign='+', |
|
|
|
context=context) |
|
|
|
elif kpi.type == 'num': |
|
|
|
if average_value: |
|
|
|
value = value / float(average_value) |
|
|
|
if average_base_value: |
|
|
|
base_value = base_value / float(average_base_value) |
|
|
|
if kpi.compare_method == 'diff': |
|
|
|
return self._render_num(cr, uid, lang_id, |
|
|
|
value - base_value, |
|
|
|
kpi.divider, kpi.dp, |
|
|
|
kpi.suffix, sign='+', |
|
|
|
context=context) |
|
|
|
return self._render_num( |
|
|
|
cr, uid, lang_id, |
|
|
|
value - base_value, |
|
|
|
kpi.divider, kpi.dp, kpi.suffix, sign='+', |
|
|
|
context=context) |
|
|
|
elif kpi.compare_method == 'pct': |
|
|
|
if round(base_value, kpi.dp) != 0: |
|
|
|
return self._render_num(cr, uid, lang_id, |
|
|
|
(value - base_value) / abs(base_value), |
|
|
|
0.01, kpi.dp, |
|
|
|
'%', sign='+', |
|
|
|
context=context) |
|
|
|
return self._render_num( |
|
|
|
cr, uid, lang_id, |
|
|
|
(value - base_value) / abs(base_value), |
|
|
|
0.01, kpi.dp, '%', sign='+', |
|
|
|
context=context) |
|
|
|
return '' |
|
|
|
|
|
|
|
def _render_num(self, cr, uid, lang_id, value, divider, |
|
|
|