Anand Doshi
9 years ago
4 changed files with 22 additions and 20 deletions
@ -1,2 +1,2 @@ |
|||
from __future__ import unicode_literals |
|||
__version__ = '6.10.0' |
|||
__version__ = '6.10.1' |
|||
|
@ -1,37 +1,39 @@ |
|||
import frappe |
|||
|
|||
def execute(): |
|||
frappe.reload_doctype("Purchase Order") |
|||
frappe.reload_doctype("Purchase Order Item") |
|||
|
|||
for po in frappe.get_all("Purchase Order", filters={"delivered_by_supplier": 1}, fields=["name"]): |
|||
purchase_order = frappe.get_doc("Purchase Order", po) |
|||
|
|||
|
|||
for item in purchase_order.items: |
|||
if item.prevdoc_doctype == "Sales Order": |
|||
delivered_by_supplier = frappe.get_value("Sales Order Item", item.prevdoc_detail_docname, |
|||
delivered_by_supplier = frappe.get_value("Sales Order Item", item.prevdoc_detail_docname, |
|||
"delivered_by_supplier") |
|||
|
|||
|
|||
if delivered_by_supplier: |
|||
frappe.db.sql("""update `tabPurchase Order Item` |
|||
frappe.db.sql("""update `tabPurchase Order Item` |
|||
set delivered_by_supplier=1, billed_amt=amount, received_qty=qty |
|||
where name=%s """, item.name) |
|||
|
|||
|
|||
update_per_received(purchase_order) |
|||
update_per_billed(purchase_order) |
|||
|
|||
|
|||
def update_per_received(po): |
|||
frappe.db.sql(""" update `tabPurchase Order` |
|||
set per_received = round((select sum(if(qty > ifnull(received_qty, 0), |
|||
ifnull(received_qty, 0), qty)) / sum(qty) *100 |
|||
from `tabPurchase Order Item` |
|||
where parent = %(name)s), 2) |
|||
frappe.db.sql(""" update `tabPurchase Order` |
|||
set per_received = round((select sum(if(qty > ifnull(received_qty, 0), |
|||
ifnull(received_qty, 0), qty)) / sum(qty) *100 |
|||
from `tabPurchase Order Item` |
|||
where parent = %(name)s), 2) |
|||
where name = %(name)s """, {"name": po.name}) |
|||
|
|||
def update_per_billed(po): |
|||
frappe.db.sql(""" update `tabPurchase Order` |
|||
set per_billed = round((select sum( if(amount > ifnull(billed_amt, 0), |
|||
ifnull(billed_amt, 0), amount)) / sum(amount) *100 |
|||
from `tabPurchase Order Item` |
|||
where parent = %(name)s), 2) |
|||
frappe.db.sql(""" update `tabPurchase Order` |
|||
set per_billed = round((select sum( if(amount > ifnull(billed_amt, 0), |
|||
ifnull(billed_amt, 0), amount)) / sum(amount) *100 |
|||
from `tabPurchase Order Item` |
|||
where parent = %(name)s), 2) |
|||
where name = %(name)s """, {"name": po.name}) |
|||
|
|||
|
|||
|
|||
|
Loading…
Reference in new issue