fix: Procurement Tracker report not showing material request items (backport #36768) (#36774)

fix: Procurement Tracker report not showing material request items (#36768)

(cherry picked from commit 6a9935c00e502a28fa976c963a218f7e11b891ec)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
This commit is contained in:
mergify[bot] 2023-08-22 22:09:45 +05:30 committed by GitHub
parent 611c2bf775
commit a77e9d36cc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -154,31 +154,35 @@ def get_data(filters):
procurement_record = [] procurement_record = []
if procurement_record_against_mr: if procurement_record_against_mr:
procurement_record += procurement_record_against_mr procurement_record += procurement_record_against_mr
for po in purchase_order_entry: for po in purchase_order_entry:
# fetch material records linked to the purchase order item # fetch material records linked to the purchase order item
mr_record = mr_records.get(po.material_request_item, [{}])[0] material_requests = mr_records.get(po.material_request_item, [{}])
procurement_detail = {
"material_request_date": mr_record.get("transaction_date"), for mr_record in material_requests:
"cost_center": po.cost_center, procurement_detail = {
"project": po.project, "material_request_date": mr_record.get("transaction_date"),
"requesting_site": po.warehouse, "cost_center": po.cost_center,
"requestor": po.owner, "project": po.project,
"material_request_no": po.material_request, "requesting_site": po.warehouse,
"item_code": po.item_code, "requestor": po.owner,
"quantity": flt(po.qty), "material_request_no": po.material_request,
"unit_of_measurement": po.stock_uom, "item_code": po.item_code,
"status": po.status, "quantity": flt(po.qty),
"purchase_order_date": po.transaction_date, "unit_of_measurement": po.stock_uom,
"purchase_order": po.parent, "status": po.status,
"supplier": po.supplier, "purchase_order_date": po.transaction_date,
"estimated_cost": flt(mr_record.get("amount")), "purchase_order": po.parent,
"actual_cost": flt(pi_records.get(po.name)), "supplier": po.supplier,
"purchase_order_amt": flt(po.amount), "estimated_cost": flt(mr_record.get("amount")),
"purchase_order_amt_in_company_currency": flt(po.base_amount), "actual_cost": flt(pi_records.get(po.name)),
"expected_delivery_date": po.schedule_date, "purchase_order_amt": flt(po.amount),
"actual_delivery_date": pr_records.get(po.name), "purchase_order_amt_in_company_currency": flt(po.base_amount),
} "expected_delivery_date": po.schedule_date,
procurement_record.append(procurement_detail) "actual_delivery_date": pr_records.get(po.name),
}
procurement_record.append(procurement_detail)
return procurement_record return procurement_record
@ -301,7 +305,7 @@ def get_po_entries(filters):
& (parent.name == child.parent) & (parent.name == child.parent)
& (parent.status.notin(("Closed", "Completed", "Cancelled"))) & (parent.status.notin(("Closed", "Completed", "Cancelled")))
) )
.groupby(parent.name, child.item_code) .groupby(parent.name, child.material_request_item)
) )
query = apply_filters_on_query(filters, parent, child, query) query = apply_filters_on_query(filters, parent, child, query)