diff --git a/aumms/aumms_manufacturing/doctype/customer_jewellery_order/customer_jewellery_order.js b/aumms/aumms_manufacturing/doctype/customer_jewellery_order/customer_jewellery_order.js index 721776ca..eac68e29 100644 --- a/aumms/aumms_manufacturing/doctype/customer_jewellery_order/customer_jewellery_order.js +++ b/aumms/aumms_manufacturing/doctype/customer_jewellery_order/customer_jewellery_order.js @@ -42,6 +42,7 @@ frappe.ui.form.on("Customer Jewellery Order Detail", { qty: function (frm, cdt, cdn) { let d = locals[cdt][cdn]; calculate_amount(frm, cdt, cdn); + calculate_totals(frm, cdt, cdn); }, board_rate: function (frm, cdt, cdn) { let d = locals[cdt][cdn]; @@ -62,6 +63,9 @@ frappe.ui.form.on("Customer Jewellery Order Detail", { }, order_items_add : function(frm, cdt, cdn){ frm.events.update_order_item_table(frm); + }, + amount: function(frm, cdt, cdn){ + calculate_totals(frm); } }); diff --git a/aumms/aumms_manufacturing/doctype/jewellery_job_card/jewellery_job_card.js b/aumms/aumms_manufacturing/doctype/jewellery_job_card/jewellery_job_card.js index c908fe6d..b8eaee9f 100644 --- a/aumms/aumms_manufacturing/doctype/jewellery_job_card/jewellery_job_card.js +++ b/aumms/aumms_manufacturing/doctype/jewellery_job_card/jewellery_job_card.js @@ -4,6 +4,7 @@ frappe.ui.form.on("Jewellery Job Card", { refresh: function(frm){ create_custom_buttons(frm); + calculate_total_weight(frm); } }); @@ -94,3 +95,22 @@ frappe.ui.form.on("Job Time", { frm.set_value('duration',total_duration); } }); + +frappe.ui.form.on('Raw Materiel Item',{ + item_details_add : function(frm, cdt, cdn){ + calculate_total_weight(frm); + }, + item_details_remove : function(frm, cdt, cdn){ + calculate_total_weight(frm); + } +}); + +function calculate_total_weight(frm, cdt, cdn){ + let total_weight = 0 + if(frm.doc.item_details){ + frm.doc.item_details.forEach(function(d){ + total_weight += d.weight || 0; + }); + } + frm.set_value('weight', total_weight); +}; diff --git a/aumms/aumms_manufacturing/doctype/jewellery_job_card/jewellery_job_card.json b/aumms/aumms_manufacturing/doctype/jewellery_job_card/jewellery_job_card.json index 68771589..03adba23 100644 --- a/aumms/aumms_manufacturing/doctype/jewellery_job_card/jewellery_job_card.json +++ b/aumms/aumms_manufacturing/doctype/jewellery_job_card/jewellery_job_card.json @@ -28,6 +28,7 @@ "column_break_ojtc", "uom", "required_date", + "expected_execution_time", "raw_material_from_previous_stage_only", "section_break_qjuc", "job_time", @@ -255,11 +256,16 @@ "fieldname": "manufacturing_stage", "fieldtype": "Data", "label": "Manufacturing Stage" + }, + { + "fieldname": "expected_execution_time", + "fieldtype": "Float", + "label": "Expected Execution Time" } ], "is_submittable": 1, "links": [], - "modified": "2024-05-06 16:52:52.023375", + "modified": "2024-05-07 11:34:51.805182", "modified_by": "Administrator", "module": "AuMMS Manufacturing", "name": "Jewellery Job Card", diff --git a/aumms/aumms_manufacturing/doctype/jewellery_job_card/jewellery_job_card.py b/aumms/aumms_manufacturing/doctype/jewellery_job_card/jewellery_job_card.py index 7107b7bd..62cc1390 100644 --- a/aumms/aumms_manufacturing/doctype/jewellery_job_card/jewellery_job_card.py +++ b/aumms/aumms_manufacturing/doctype/jewellery_job_card/jewellery_job_card.py @@ -53,14 +53,12 @@ def update_product(self): def create_metal_ledger(self) : if self.keep_metal_ledger: - # if frappe.db.exists('Metal Ledger Entry',{'voucher_type': self.doctype, 'voucher_no': self.name}): for item in self.item_details: new_metal_ledger = frappe.new_doc('Metal Ledger Entry') new_metal_ledger.posting_date = frappe.utils.today() new_metal_ledger.posting_time = frappe.utils.now() new_metal_ledger.voucher_type = self.doctype new_metal_ledger.voucher_no = self.name - # new_metal_ledger.party_link = self.party_link new_metal_ledger.item_code = item.item new_metal_ledger.item_name = item.item new_metal_ledger.stock_uom = self.uom diff --git a/aumms/aumms_manufacturing/doctype/jewellery_order/jewellery_order.py b/aumms/aumms_manufacturing/doctype/jewellery_order/jewellery_order.py index 1f6e3494..ac58f962 100644 --- a/aumms/aumms_manufacturing/doctype/jewellery_order/jewellery_order.py +++ b/aumms/aumms_manufacturing/doctype/jewellery_order/jewellery_order.py @@ -51,6 +51,7 @@ def validate_jewellery_order_items(self): def create_manufacturing_request(self): """Create Manufacturing Request For Jewellery Order""" manufacturing_request_exists = frappe.db.exists('Manufacturing Request', {"jewellery_order": self.name}) + warehouse = s_warehouse = frappe.get_single("AuMMS Settings").get("default_warehouse") if not manufacturing_request_exists: manufacturing_request_count = 0 for item in self.jewellery_order_items: @@ -69,6 +70,7 @@ def create_manufacturing_request(self): new_manufacturing_request.design_description = self.design_description new_manufacturing_request.keep_metal_ledger = True new_manufacturing_request.jewellery_order_item = item.name + new_manufacturing_request.supervisor_warehouse = warehouse new_manufacturing_request.insert(ignore_permissions=True) manufacturing_request_count += 1 frappe.db.set_value(item.doctype, item.name, 'requested_for_manufacturing', 1) diff --git a/aumms/aumms_manufacturing/doctype/manufacturing_request/manufacturing_request.py b/aumms/aumms_manufacturing/doctype/manufacturing_request/manufacturing_request.py index 969744f4..a23a7d87 100644 --- a/aumms/aumms_manufacturing/doctype/manufacturing_request/manufacturing_request.py +++ b/aumms/aumms_manufacturing/doctype/manufacturing_request/manufacturing_request.py @@ -132,6 +132,7 @@ def create_jewellery_job_card(self, stage_row_id): new_jewellery_job_card.manufacturing_stage = stage.manufacturing_stage new_jewellery_job_card.stage = stage.manufacturing_stage new_jewellery_job_card.supervisor_warehouse = self.supervisor_warehouse + new_jewellery_job_card.supervisor_warehouse = self.supervisor_warehouse new_jewellery_job_card.raw_material_from_previous_stage_only = stage.is_raw_material_from_previous_stage_only new_jewellery_job_card.keep_metal_ledger = True new_jewellery_job_card.flags.ignore_mandatory = True diff --git a/aumms/aumms_manufacturing/doctype/raw_material_bundle/raw_material_bundle.py b/aumms/aumms_manufacturing/doctype/raw_material_bundle/raw_material_bundle.py index a956c34a..e87fe3d1 100644 --- a/aumms/aumms_manufacturing/doctype/raw_material_bundle/raw_material_bundle.py +++ b/aumms/aumms_manufacturing/doctype/raw_material_bundle/raw_material_bundle.py @@ -39,6 +39,7 @@ def mark_as_raw_material_bundle_created(self, created): @frappe.whitelist() def create_raw_material_request(docname): raw_material_bundle = frappe.get_doc("Raw Material Bundle", docname) + uom = s_warehouse = frappe.get_single("AuMMS Settings").get("metal_ledger_uom") for raw_material in raw_material_bundle.items: raw_material_request_exists = frappe.db.exists('Raw Material Request', { 'manufacturing_request': raw_material_bundle.manufacturing_request, @@ -52,6 +53,7 @@ def create_raw_material_request(docname): new_raw_material_request.manufacturing_request = raw_material_bundle.manufacturing_request new_raw_material_request.required_quantity = raw_material.required_quantity - raw_material.available_quantity new_raw_material_request.bundle_id = raw_material.raw_material_id + new_raw_material_request.uom = uom new_raw_material_request.append('raw_material_details', { 'item': raw_material.item, 'warehouse': raw_material.warehouse,