mirror of
https://github.com/frappe/erpnext.git
synced 2026-06-05 21:29:11 +00:00
refactor: variable names and suggested changes
This commit is contained in:
@@ -212,7 +212,7 @@ frappe.ui.form.on('Production Plan', {
|
|||||||
},
|
},
|
||||||
|
|
||||||
get_items: function (frm) {
|
get_items: function (frm) {
|
||||||
frm.clear_table('prod_plan_ref');
|
frm.clear_table('prod_plan_references');
|
||||||
|
|
||||||
frappe.call({
|
frappe.call({
|
||||||
method: "get_items",
|
method: "get_items",
|
||||||
@@ -224,15 +224,13 @@ frappe.ui.form.on('Production Plan', {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
combine_items: function (frm) {
|
combine_items: function (frm) {
|
||||||
frm.clear_table('prod_plan_ref');
|
frm.clear_table('prod_plan_references');
|
||||||
|
|
||||||
frappe.call({
|
frappe.call({
|
||||||
method: "get_items",
|
method: "get_items",
|
||||||
freeze: true,
|
freeze: true,
|
||||||
doc: frm.doc,
|
doc: frm.doc,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
get_items_for_mr: function(frm) {
|
get_items_for_mr: function(frm) {
|
||||||
|
|||||||
@@ -171,20 +171,28 @@ class ProductionPlan(Document):
|
|||||||
for data in items:
|
for data in items:
|
||||||
item_details = get_item_details(data.item_code)
|
item_details = get_item_details(data.item_code)
|
||||||
if self.combine_items:
|
if self.combine_items:
|
||||||
if item_details.bom_no in refs.keys():
|
if item_details.bom_no in refs:
|
||||||
|
refs[item_details.bom_no]['so_details'].append({
|
||||||
|
'sales_order': data.parent,
|
||||||
|
'sales_order_item': data.name,
|
||||||
|
'qty': data.pending_qty
|
||||||
|
})
|
||||||
refs[item_details.bom_no]['qty'] += data.pending_qty
|
refs[item_details.bom_no]['qty'] += data.pending_qty
|
||||||
refs[item_details.bom_no]['so'].append(data.parent)
|
|
||||||
refs[item_details.bom_no]['so_items'].append(data.name)
|
|
||||||
refs[item_details.bom_no]['planned_qty'].append(data.pending_qty)
|
|
||||||
continue
|
continue
|
||||||
|
|
||||||
else:
|
else:
|
||||||
refs[item_details.bom_no] = {'qty': data.pending_qty, 'ref': data.name}
|
refs[item_details.bom_no] = {
|
||||||
refs[item_details.bom_no]['so'] = [data.parent]
|
'qty': data.pending_qty,
|
||||||
refs[item_details.bom_no]['so_items'] = [data.name]
|
'po_item_ref': data.name,
|
||||||
refs[item_details.bom_no]['planned_qty'] = [data.pending_qty]
|
'so_details': []
|
||||||
|
}
|
||||||
|
refs[item_details.bom_no]['so_details'].append({
|
||||||
|
'sales_order': data.parent,
|
||||||
|
'sales_order_item': data.name,
|
||||||
|
'qty': data.pending_qty
|
||||||
|
})
|
||||||
|
|
||||||
pi = self.append('po_items', {
|
pi = self.append('po_items', {
|
||||||
'name': data.name,
|
|
||||||
'include_exploded_items': 1,
|
'include_exploded_items': 1,
|
||||||
'warehouse': data.warehouse,
|
'warehouse': data.warehouse,
|
||||||
'item_code': data.item_code,
|
'item_code': data.item_code,
|
||||||
@@ -201,8 +209,6 @@ class ProductionPlan(Document):
|
|||||||
pi.sales_order = data.parent
|
pi.sales_order = data.parent
|
||||||
pi.sales_order_item = data.name
|
pi.sales_order_item = data.name
|
||||||
pi.description = data.description
|
pi.description = data.description
|
||||||
pi.item_reference = data.name
|
|
||||||
|
|
||||||
|
|
||||||
elif self.get_items_from == "Material Request":
|
elif self.get_items_from == "Material Request":
|
||||||
pi.material_request = data.parent
|
pi.material_request = data.parent
|
||||||
@@ -210,24 +216,21 @@ class ProductionPlan(Document):
|
|||||||
pi.description = data.description
|
pi.description = data.description
|
||||||
|
|
||||||
if refs:
|
if refs:
|
||||||
for d in self.po_items:
|
for po_item in self.po_items:
|
||||||
d.planned_qty = refs[d.bom_no]['qty']
|
po_item.planned_qty = refs[po_item.bom_no]['qty']
|
||||||
d.pending_qty = refs[d.bom_no]['qty']
|
po_item.pending_qty = refs[po_item.bom_no]['qty']
|
||||||
d.sales_order = ''
|
po_item.sales_order = ''
|
||||||
self.add_pp_ref(refs)
|
self.add_pp_ref(refs)
|
||||||
|
|
||||||
def add_pp_ref(self, refs):
|
def add_pp_ref(self, refs):
|
||||||
for bom_no in refs:
|
for bom_no in refs:
|
||||||
idx = 0
|
for so_detail in refs[bom_no]['so_details']:
|
||||||
for so in refs[bom_no]['so']:
|
|
||||||
self.append('prod_plan_references', {
|
self.append('prod_plan_references', {
|
||||||
'item_reference': refs[bom_no]['ref'],
|
'item_reference': refs[bom_no]['po_item_ref'],
|
||||||
'sales_order': so,
|
'sales_order': so_detail['sales_order'],
|
||||||
'sales_order_item':refs[bom_no]['so_items'][idx],
|
'sales_order_item': so_detail['sales_order_item'],
|
||||||
'qty':refs[bom_no]['planned_qty'][idx]
|
'qty': so_detail['qty']
|
||||||
})
|
})
|
||||||
idx+=1
|
|
||||||
|
|
||||||
|
|
||||||
def calculate_total_planned_qty(self):
|
def calculate_total_planned_qty(self):
|
||||||
self.total_planned_qty = 0
|
self.total_planned_qty = 0
|
||||||
|
|||||||
@@ -166,16 +166,16 @@ class TestProductionPlan(unittest.TestCase):
|
|||||||
'grand_total': so.grand_total
|
'grand_total': so.grand_total
|
||||||
})
|
})
|
||||||
pln.combine_items = 1
|
pln.combine_items = 1
|
||||||
pln.get_so_items()
|
pln.get_items()
|
||||||
for plan_reference in pln.prod_plan_references:
|
|
||||||
plan_reference.item_reference = pln.po_items[0].name
|
|
||||||
pln.submit()
|
pln.submit()
|
||||||
|
|
||||||
self.assertTrue(pln.po_items[0].planned_qty,3)
|
self.assertTrue(pln.po_items[0].planned_qty, 3)
|
||||||
|
|
||||||
pln.make_work_order()
|
pln.make_work_order()
|
||||||
work_order = frappe.db.get_value('Work Order', {'production_plan_item': pln.po_items[0].name,
|
work_order = frappe.db.get_value('Work Order', {
|
||||||
'production_plan': pln.name,}, 'name')
|
'production_plan_item': pln.po_items[0].name,
|
||||||
|
'production_plan': pln.name
|
||||||
|
}, 'name')
|
||||||
|
|
||||||
wo_doc = frappe.get_doc('Work Order', work_order)
|
wo_doc = frappe.get_doc('Work Order', work_order)
|
||||||
wo_doc.update({
|
wo_doc.update({
|
||||||
@@ -194,8 +194,8 @@ class TestProductionPlan(unittest.TestCase):
|
|||||||
so_wo_qty = frappe.db.get_value('Sales Order Item', so_item, 'work_order_qty')
|
so_wo_qty = frappe.db.get_value('Sales Order Item', so_item, 'work_order_qty')
|
||||||
self.assertEqual(so_wo_qty, 0.0)
|
self.assertEqual(so_wo_qty, 0.0)
|
||||||
|
|
||||||
lat_plan = frappe.get_doc('Production Plan',pln.name)
|
latest_plan = frappe.get_doc('Production Plan', pln.name)
|
||||||
lat_plan.cancel()
|
latest_plan.cancel()
|
||||||
|
|
||||||
def test_pp_to_mr_customer_provided(self):
|
def test_pp_to_mr_customer_provided(self):
|
||||||
#Material Request from Production Plan for Customer Provided
|
#Material Request from Production Plan for Customer Provided
|
||||||
|
|||||||
@@ -377,7 +377,7 @@ class WorkOrder(Document):
|
|||||||
total_bundle_qty = 1
|
total_bundle_qty = 1
|
||||||
|
|
||||||
prod_plan = frappe.get_doc('Production Plan', self.production_plan)
|
prod_plan = frappe.get_doc('Production Plan', self.production_plan)
|
||||||
item_reference = frappe.get_value('Production Plan Item', self.production_plan_item,'item_reference')
|
item_reference = frappe.get_value('Production Plan Item', self.production_plan_item, 'sales_order_item')
|
||||||
|
|
||||||
for plan_reference in prod_plan.prod_plan_references:
|
for plan_reference in prod_plan.prod_plan_references:
|
||||||
work_order_qty = 0.0
|
work_order_qty = 0.0
|
||||||
|
|||||||
Reference in New Issue
Block a user