@@ -136,6 +136,20 @@ def get_columns(filters):
136136 "fieldtype" : "Date" ,
137137 "width" : 140
138138 },
139+ {
140+ "label" : _ ("Batch No" ),
141+ "fieldname" : "batch_no" ,
142+ "fieldtype" : "Link" ,
143+ "options" : "Batch" ,
144+ "width" : 140
145+ },
146+ {
147+ "label" : _ ("Package Tag" ),
148+ "fieldname" : "package_tag" ,
149+ "fieldtype" : "Link" ,
150+ "options" : "Package Tag" ,
151+ "width" : 140
152+ }
139153 ]
140154 return columns
141155
@@ -168,6 +182,13 @@ def get_data(filters):
168182 if procurement_record_against_mr :
169183 procurement_record += procurement_record_against_mr
170184 for po in purchase_order_entry :
185+ # get batch and package tag related information form purchase receipt.
186+ posting_date , batch_no , package_tag = None , None , None
187+ if pr_records .get (po .name ):
188+ posting_date = pr_records .get (po .name ).get ('posting_date' )
189+ batch_no = pr_records .get (po .name ).get ('batch_no' )
190+ package_tag = pr_records .get (po .name ).get ('package_tag' )
191+
171192 # fetch material records linked to the purchase order item
172193 mr_record = mr_records .get (po .material_request_item , [{}])[0 ]
173194 procurement_detail = {
@@ -189,7 +210,9 @@ def get_data(filters):
189210 "purchase_order_amt" : flt (po .amount ),
190211 "purchase_order_amt_in_company_currency" : flt (po .base_amount ),
191212 "expected_delivery_date" : po .schedule_date ,
192- "actual_delivery_date" : pr_records .get (po .name )
213+ "actual_delivery_date" : posting_date ,
214+ "batch_no" : batch_no ,
215+ "package_tag" : package_tag
193216 }
194217 procurement_record .append (procurement_detail )
195218 return procurement_record
@@ -252,17 +275,21 @@ def get_mapped_pi_records():
252275 """ ))
253276
254277def get_mapped_pr_records ():
255- return frappe . _dict ( frappe .db .sql ("""
278+ pr_records = frappe .db .sql ("""
256279 SELECT
257280 pr_item.purchase_order_item,
258- pr.posting_date
281+ pr.posting_date,
282+ pr_item.batch_no,
283+ pr_item.package_tag
259284 FROM `tabPurchase Receipt` pr, `tabPurchase Receipt Item` pr_item
260285 WHERE
261286 pr.docstatus=1
262287 AND pr.name=pr_item.parent
263288 AND pr_item.purchase_order_item IS NOT NULL
264289 AND pr.status not in ("Closed","Completed","Cancelled")
265- """ ))
290+ """ , as_dict = 1 )
291+ pr_records_dict = {item ['purchase_order_item' ]:item for item in pr_records }
292+ return pr_records_dict
266293
267294def get_po_entries (conditions ):
268295 return frappe .db .sql ("""
0 commit comments