issue fixed in packing slip

This commit is contained in:
Nabin Hait 2013-01-24 12:37:50 +05:30
parent b483731c0c
commit a4a20cbf7b
2 changed files with 25 additions and 53 deletions

View File

@ -186,10 +186,30 @@ class DocType:
if not self.doc.from_case_no:
self.doc.from_case_no = self.get_recommended_case_no()
from webnotes.model.code import get_obj
for d in self.doclist:
psd_obj = get_obj(doc=d)
psd_obj.get_item_details(self.doc.delivery_note)
for d in self.doclist.get({"parentfield": "item_details"}):
self.set_item_details(d)
def set_item_details(self, row):
res = webnotes.conn.sql("""\
SELECT item_name, SUM(IFNULL(qty, 0)) as total_qty,
IFNULL(packed_qty, 0) as packed_qty, stock_uom
FROM `tabDelivery Note Item`
WHERE parent=%s AND item_code=%s GROUP BY item_code""",
(self.doc.delivery_note, row.item_code), as_dict=1)
if res and len(res)>0:
qty = res[0]['total_qty'] - res[0]['packed_qty']
if not row.qty:
row.qty = qty >= 0 and qty or 0
res = webnotes.conn.sql("""\
SELECT net_weight, weight_uom FROM `tabItem`
WHERE name=%s""", self.doc.item_code, as_dict=1)
if res and len(res)>0:
row.net_weight = res[0]["net_weight"]
row.weight_uom = res[0]["weight_uom"]
def get_recommended_case_no(self):
@ -201,6 +221,4 @@ class DocType:
SELECT MAX(to_case_no) FROM `tabPacking Slip`
WHERE delivery_note = %(delivery_note)s AND docstatus=1""", self.doc.fields)
return cint(recommended_case_no[0][0]) + 1
return cint(recommended_case_no[0][0]) + 1

View File

@ -1,46 +0,0 @@
# ERPNext - web based ERP (http://erpnext.com)
# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from __future__ import unicode_literals
import webnotes
class DocType:
def __init__(self, d, dl):
self.doc, self.doclist = d, dl
def get_item_details(self, delivery_note):
res = webnotes.conn.sql("""\
SELECT item_name, SUM(IFNULL(qty, 0)) as total_qty,
IFNULL(packed_qty, 0) as packed_qty, stock_uom
FROM `tabDelivery Note Item`
WHERE parent=%s AND item_code=%s GROUP BY item_code""",
(delivery_note, self.doc.item_code), as_dict=1)
if res and len(res)>0:
res = res[0]
res['qty'] = res['total_qty'] - res['packed_qty']
res['qty'] = self.doc.qty or (res['qty']>=0 and res['qty'] or 0)
del res['total_qty']
del res['packed_qty']
self.doc.fields.update(res)
res = webnotes.conn.sql("""\
SELECT net_weight, weight_uom FROM `tabItem`
WHERE name=%s""", self.doc.item_code, as_dict=1)
if res and len(res)>0:
res = res[0]
self.doc.fields.update(res)