[IMP] project_mrp: Improved code. Fixed computation problem.

bzr revid: uco@tinyerp.com-20110916073452-qg0k91uzw7jdj1sk
This commit is contained in:
Ujjvala Collins (OpenERP)
2011-09-16 13:04:52 +05:30
parent de4a858a25
commit d809f79881
+9 -8
View File
@@ -74,12 +74,13 @@ class sale_order(osv.osv):
return res
for id in ids:
res_sale[id] = {}
res_sale[id]['number_of_done'] = 0
res_sale[id]['percentage'] = 0.0
res_sale[id]['number_of_stockable'] = 0.0
res_sale[id]['total_no_task'] = 0
res_sale[id]['total'] = 0
res_sale[id] = {
'number_of_done': 0,
'percentage': 0.0,
'number_of_stockable': 0.0,
'total_no_task': 0,
'total': 0
}
for item in sale_task_data:
res_sale[item['sale_id']]['total_no_task'] += item['total']
@@ -87,7 +88,7 @@ class sale_order(osv.osv):
res_sale[item['sale_id']]['number_of_done'] += 1
else:
pass
for sale in self.browse(cr, uid, ids, context=None):
for sale in self.browse(cr, uid, ids, context=context):
# Percent of service + other' Type product
res_sale[sale.id]['percentage'] = res_sale[sale.id]['total_no_task'] and (float(res_sale[sale.id]['number_of_done']) / res_sale[sale.id]['total_no_task']) * 100
res_sale[sale.id]['number_of_stockable'] = len(sale.order_line) - res_sale[sale.id]['total_no_task']
@@ -96,7 +97,7 @@ class sale_order(osv.osv):
elif res_sale[sale.id]['number_of_stockable'] == 0:
res[sale.id] = (res_sale[sale.id]['percentage'])
else:
res[sale.id] = round((res[sale.id] + res_sale[sale.id]['percentage']) / (res_sale[sale.id]['number_of_stockable'] + res_sale[sale.id]['total_no_task']), 2)
res[sale.id] = round((res[sale.id] + res_sale[sale.id]['percentage']) / (res_sale[sale.id]['total_no_task']), 2)
if res[sale.id] > 100:
res[sale.id] = 100
return res