[FIX] sale:picked progressbar now shows the amount(percentage) of picking done

lp bug: https://launchpad.net/bugs/705766 fixed

bzr revid: mtr@mtr-20110124054130-uegp9am6no347f6v
This commit is contained in:
mtr 2011-01-24 11:11:30 +05:30
parent d5ee490f86
commit 8fdc2693a5
1 changed files with 14 additions and 8 deletions

View File

@ -95,7 +95,7 @@ class sale_order(osv.osv):
for id in ids:
res[id] = [0.0, 0.0]
cr.execute('''SELECT
p.sale_id, sum(m.product_qty), mp.state as mp_state
p.sale_id, sum(m.product_qty), mp.state as mp_state, m.state as state, p.type as tp
FROM
stock_move m
LEFT JOIN
@ -103,15 +103,21 @@ class sale_order(osv.osv):
LEFT JOIN
procurement_order mp on (mp.move_id=m.id)
WHERE
p.sale_id IN %s GROUP BY mp.state, p.sale_id''', (tuple(ids),))
for oid, nbr, mp_state in cr.fetchall():
if mp_state == 'cancel':
p.sale_id IN %s GROUP BY m.state, mp.state, p.sale_id, p.type''', (tuple(ids),))
for oid, nbr, state, move_state, type_pick in cr.fetchall():
if state == 'cancel':
continue
if mp_state == 'done':
res[oid][1] += nbr or 0.0
if state == 'done' or move_state == 'done':
res[oid][0] += nbr or 0.0
res[oid][1] += nbr or 0.0
else:
res[oid][1] += nbr or 0.0
if type_pick == 'in':#this is a returned picking
res[oid][1] -= 2*nbr or 0.0 # Deducting the return picking qty
if state == 'done' or move_state == 'done':
nbr += nbr
res[oid][0] -= nbr or 0.0
for r in res:
if not res[r][1]:
res[r] = 0.0