[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:
parent
d5ee490f86
commit
8fdc2693a5
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue