From 483cea38d9b54874c6fd02116c29e71db9ddeb93 Mon Sep 17 00:00:00 2001 From: Joe Hunt Date: Thu, 15 Oct 2015 10:28:09 +0200 Subject: [PATCH] Fixed correct calculation of stock_moves standard_cost when producing an Advanced Assembly. Petros --- .../includes/db/work_order_produce_items_db.inc | 17 +++++++++++++++-- .../includes/db/work_orders_quick_db.inc | 7 +++++-- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/manufacturing/includes/db/work_order_produce_items_db.inc b/manufacturing/includes/db/work_order_produce_items_db.inc index b37dd23c..21dfc3e3 100644 --- a/manufacturing/includes/db/work_order_produce_items_db.inc +++ b/manufacturing/includes/db/work_order_produce_items_db.inc @@ -53,12 +53,25 @@ function work_order_produce($woid, $ref, $quantity, $date_, $memo_, $close_wo) // Chaitanya: stamp BOM cost to finished item $m_cost = 0; - $result = get_bom($details["stock_id"]); + $result = get_bom($details["stock_id"]); while ($bom_item = db_fetch($result)) { $standard_cost = get_standard_cost($bom_item['component']); $m_cost += ($bom_item['quantity'] * $standard_cost); - } + } + // new Joe Hunt 2015.10.15 + // additilnal costs. + if (work_order_has_issues($woid)) + { + $res = get_additional_issues($woid); + while ($issue = db_fetch($res)) + { + $standard_cost = get_standard_cost($issue['stock_id']); + $m_cost += ($issue['qty_issued'] * $standard_cost); + } + } + $m_cost += get_gl_wo_cost($woid, WO_LABOUR); + $m_cost += get_gl_wo_cost($woid, WO_OVERHEAD); // insert a +ve stock move for the item being manufactured // negative means "unproduce" or unassemble diff --git a/manufacturing/includes/db/work_orders_quick_db.inc b/manufacturing/includes/db/work_orders_quick_db.inc index 63c69475..72b5c8df 100644 --- a/manufacturing/includes/db/work_orders_quick_db.inc +++ b/manufacturing/includes/db/work_orders_quick_db.inc @@ -225,8 +225,11 @@ function work_order_quick_costs($woid, $stock_id, $units_reqd, $date_, $advanced 0, 0, $memo, -$total_cost); //Chaitanya : Update cost of the manufactured item in stock moves table - $UnitWOCost = ($total_material_cost + $costs + $labour)/$units_reqd; - update_stock_move(ST_WORKORDER, $woid, $stock_id, $UnitWOCost); + if (!$advanced) + { + $UnitWOCost = ($total_material_cost + $costs + $labour)/$units_reqd; + update_stock_move(ST_WORKORDER, $woid, $stock_id, $UnitWOCost); + } } //-------------------------------------------------------------------------------------- -- 2.30.2