Merge pull request #2944 from neilLasrado/po

fixes in Production Order
This commit is contained in:
Nabin Hait 2015-03-12 17:52:59 +05:30
commit 53ea6fa686
7 changed files with 238 additions and 232 deletions

View File

@ -59,12 +59,12 @@ erpnext.production_order = {
var doc = frm.doc; var doc = frm.doc;
if (doc.docstatus === 1) { if (doc.docstatus === 1) {
if (flt(doc.material_transferred_for_qty) < flt(doc.qty)) { if (flt(doc.material_transferred_for_manufacturing) < flt(doc.qty)) {
frm.add_custom_button(__('Transfer Materials for Manufacture'), frm.add_custom_button(__('Transfer Materials for Manufacture'),
cur_frm.cscript['Transfer Raw Materials'], frappe.boot.doctype_icons["Stock Entry"]); cur_frm.cscript['Transfer Raw Materials'], frappe.boot.doctype_icons["Stock Entry"]);
} }
if (flt(doc.produced_qty) < flt(doc.material_transferred_for_qty)) { if (flt(doc.produced_qty) < flt(doc.material_transferred_for_manufacturing)) {
frm.add_custom_button(__('Update Finished Goods'), frm.add_custom_button(__('Update Finished Goods'),
cur_frm.cscript['Update Finished Goods'], frappe.boot.doctype_icons["Stock Entry"]); cur_frm.cscript['Update Finished Goods'], frappe.boot.doctype_icons["Stock Entry"]);
} }
@ -160,8 +160,8 @@ $.extend(cur_frm.cscript, {
make_se: function(purpose) { make_se: function(purpose) {
var me = this; var me = this;
var max = (purpose === "Manufacture") ? var max = (purpose === "Manufacture") ?
flt(this.frm.doc.material_transferred_for_qty) - flt(this.frm.doc.produced_qty) : flt(this.frm.doc.qty) - flt(this.frm.doc.produced_qty) :
flt(this.frm.doc.qty) - flt(this.frm.doc.material_transferred_for_qty); flt(this.frm.doc.qty) - flt(this.frm.doc.material_transferred_for_manufacturing);
frappe.prompt({fieldtype:"Int", label: __("Qty for {0}", [purpose]), fieldname:"qty", frappe.prompt({fieldtype:"Int", label: __("Qty for {0}", [purpose]), fieldname:"qty",
description: __("Max: {0}", [max]) }, description: __("Max: {0}", [max]) },

View File

@ -94,10 +94,13 @@
"reqd": 1 "reqd": 1
}, },
{ {
"default": "0",
"depends_on": "eval:doc.docstatus==1",
"description": "", "description": "",
"fieldname": "material_transferred_for_qty", "fieldname": "material_transferred_for_manufacturing",
"fieldtype": "Int", "fieldtype": "Float",
"label": "Material Transferred for Qty", "label": "Material Transferred for Manufacturing",
"no_copy": 1,
"permlevel": 0, "permlevel": 0,
"precision": "", "precision": "",
"read_only": 1 "read_only": 1
@ -352,7 +355,7 @@
"idx": 1, "idx": 1,
"in_create": 0, "in_create": 0,
"is_submittable": 1, "is_submittable": 1,
"modified": "2015-03-09 15:28:12.535414", "modified": "2015-03-10 17:02:28.401930",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Manufacturing", "module": "Manufacturing",
"name": "Production Order", "name": "Production Order",

View File

@ -124,8 +124,9 @@ class ProductionOrder(Document):
def update_production_order_qty(self): def update_production_order_qty(self):
"""Update **Manufactured Qty** and **Material Transferred for Qty** in Production Order """Update **Manufactured Qty** and **Material Transferred for Qty** in Production Order
based on Stock Entry""" based on Stock Entry"""
print "call"
for purpose, fieldname in (("Manufacture", "produced_qty"), for purpose, fieldname in (("Manufacture", "produced_qty"),
("Material Transfer for Manufacture", "material_transferred_for_qty")): ("Material Transfer for Manufacture", "material_transferred_for_manufacturing")):
qty = flt(frappe.db.sql("""select sum(fg_completed_qty) qty = flt(frappe.db.sql("""select sum(fg_completed_qty)
from `tabStock Entry` where production_order=%s and docstatus=1 from `tabStock Entry` where production_order=%s and docstatus=1
and purpose=%s""", (self.name, purpose))[0][0]) and purpose=%s""", (self.name, purpose))[0][0])

View File

@ -118,7 +118,7 @@ erpnext.patches.v5_0.rename_customer_issue
erpnext.patches.v5_0.update_material_transfer_for_manufacture erpnext.patches.v5_0.update_material_transfer_for_manufacture
erpnext.patches.v5_0.manufacturing_activity_type erpnext.patches.v5_0.manufacturing_activity_type
erpnext.patches.v5_0.update_item_description_and_image erpnext.patches.v5_0.update_item_description_and_image
erpnext.patches.v5_0.update_material_transferred_for_qty erpnext.patches.v5_0.update_material_transferred_for_manufacturing
erpnext.patches.v5_0.stock_entry_update_value erpnext.patches.v5_0.stock_entry_update_value
erpnext.patches.v5_0.convert_stock_reconciliation erpnext.patches.v5_0.convert_stock_reconciliation
erpnext.patches.v5_0.update_projects erpnext.patches.v5_0.update_projects

View File

@ -2,7 +2,7 @@ import frappe
def execute(): def execute():
frappe.reload_doctype("Production Order") frappe.reload_doctype("Production Order")
frappe.db.sql("""update `tabProduction Order` set material_transferred_for_qty= frappe.db.sql("""update `tabProduction Order` set material_transferred_for_manufacturing=
(select sum(fg_completed_qty) from `tabStock Entry` (select sum(fg_completed_qty) from `tabStock Entry`
where docstatus=1 where docstatus=1
and production_order=`tabProduction Order`.name and production_order=`tabProduction Order`.name

View File

@ -135,10 +135,12 @@
{ {
"fieldname": "operation_id", "fieldname": "operation_id",
"fieldtype": "Data", "fieldtype": "Data",
"hidden": 1,
"label": "Operation ID", "label": "Operation ID",
"options": "", "options": "",
"permlevel": 0, "permlevel": 0,
"precision": "", "precision": "",
"print_hide": 1,
"read_only": 1 "read_only": 1
}, },
{ {
@ -242,7 +244,7 @@
"icon": "icon-time", "icon": "icon-time",
"idx": 1, "idx": 1,
"is_submittable": 1, "is_submittable": 1,
"modified": "2015-02-26 02:22:10.312376", "modified": "2015-03-10 17:07:35.506886",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Projects", "module": "Projects",
"name": "Time Log", "name": "Time Log",

View File

@ -470,7 +470,7 @@ class StockEntry(StockController):
pro_doc = frappe.get_doc("Production Order", self.production_order) pro_doc = frappe.get_doc("Production Order", self.production_order)
_validate_production_order(pro_doc) _validate_production_order(pro_doc)
pro_doc.run_method("update_status") pro_doc.run_method("update_status")
if self.purpose in "Manufacture": if self.purpose in ["Material Transfer for Manufacture","Manufacture"]:
pro_doc.run_method("update_production_order_qty") pro_doc.run_method("update_production_order_qty")
self.update_planned_qty(pro_doc) self.update_planned_qty(pro_doc)