Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file.
8 changes: 8 additions & 0 deletions aumms/aumms/doctype/item_sub_category/item_sub_category.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
// Copyright (c) 2025, efeone and contributors
// For license information, please see license.txt

// frappe.ui.form.on("Item Sub Category", {
// refresh(frm) {

// },
// });
69 changes: 69 additions & 0 deletions aumms/aumms/doctype/item_sub_category/item_sub_category.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
{
"actions": [],
"allow_rename": 1,
"autoname": "field:sub_category_name",
"creation": "2025-01-20 13:04:50.821764",
"doctype": "DocType",
"engine": "InnoDB",
"field_order": [
"sub_category_name",
"item_category",
"column_break_rsms",
"making_charge_in_percentage"
],
"fields": [
{
"fieldname": "sub_category_name",
"fieldtype": "Data",
"in_list_view": 1,
"label": "Sub Category Name",
"reqd": 1,
"unique": 1
},
{
"fieldname": "item_category",
"fieldtype": "Link",
"in_list_view": 1,
"label": "Item Category",
"options": "Item Category",
"reqd": 1
},
{
"fieldname": "making_charge_in_percentage",
"fieldtype": "Percent",
"in_list_view": 1,
"label": "Making Charge in Percentage",
"precision": "2",
"reqd": 1
},
{
"fieldname": "column_break_rsms",
"fieldtype": "Column Break"
}
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2025-01-20 13:06:33.275060",
"modified_by": "Administrator",
"module": "AuMMS",
"name": "Item Sub Category",
"naming_rule": "By fieldname",
"owner": "Administrator",
"permissions": [
{
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"print": 1,
"read": 1,
"report": 1,
"role": "System Manager",
"share": 1,
"write": 1
}
],
"sort_field": "modified",
"sort_order": "DESC",
"states": []
}
9 changes: 9 additions & 0 deletions aumms/aumms/doctype/item_sub_category/item_sub_category.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Copyright (c) 2025, efeone and contributors
# For license information, please see license.txt

# import frappe
from frappe.model.document import Document


class ItemSubCategory(Document):
pass
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Copyright (c) 2025, efeone and Contributors
# See license.txt

# import frappe
from frappe.tests.utils import FrappeTestCase


class TestItemSubCategory(FrappeTestCase):
pass
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@
"fieldname": "gold_weight",
"fieldtype": "Float",
"in_list_view": 1,
"label": "Gold Weight",
"label": "Net Weight",
"precision": "3",
"reqd": 1
},
Expand All @@ -68,7 +68,7 @@
{
"fieldname": "net_weight",
"fieldtype": "Float",
"label": "Net Weight",
"label": "Total Weight",
"read_only": 1
},
{
Expand Down Expand Up @@ -233,7 +233,7 @@
"index_web_pages_for_search": 1,
"istable": 1,
"links": [],
"modified": "2024-11-07 14:25:09.197843",
"modified": "2025-01-20 12:56:15.072112",
"modified_by": "Administrator",
"module": "AuMMS",
"name": "Jewellery Item Receipt",
Expand Down
138 changes: 80 additions & 58 deletions aumms/aumms/doctype/jewellery_receipt/jewellery_receipt.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,13 @@ frappe.ui.form.on("Jewellery Receipt", {
},
};
});
set_sub_category_filter(frm);
},
item_sub_category: function (frm) {
frm.events.update_item_details_table(frm);
},
item_category: function (frm) {
set_sub_category_filter(frm);
frm.events.update_item_details_table(frm);
},
item_type: function (frm) {
Expand All @@ -40,49 +45,58 @@ frappe.ui.form.on("Jewellery Receipt", {
if (frm.doc.item_details) {
let making_charge = 0;

const updateItems = () => {
frm.doc.item_details.forEach(function (item) {
frappe.model.set_value(
item.doctype,
item.name,
"item_category",
frm.doc.item_category
);
frappe.model.set_value(
item.doctype,
item.name,
"item_type",
frm.doc.item_type
);
frappe.model.set_value(
item.doctype,
item.name,
"item_group",
frm.doc.item_group
);
frappe.model.set_value(
item.doctype,
item.name,
"purity",
frm.doc.purity
);
frappe.model.set_value(
item.doctype,
item.name,
"board_rate",
frm.doc.board_rate
);
frappe.model.set_value(
item.doctype,
item.name,
"making_chargein_percentage",
making_charge
);
});
frm.refresh_fields();
};
frappe.db
.get_value(
"Item Sub Category",
frm.doc.item_sub_category,
"making_charge_in_percentage"
)
.then((r) => {
making_charge = r.message.making_charge_in_percentage;
const updateItems = () => {
frm.doc.item_details.forEach(function (item) {
frappe.model.set_value(
item.doctype,
item.name,
"item_category",
frm.doc.item_category
);
frappe.model.set_value(
item.doctype,
item.name,
"item_type",
frm.doc.item_type
);
frappe.model.set_value(
item.doctype,
item.name,
"item_group",
frm.doc.item_group
);
frappe.model.set_value(
item.doctype,
item.name,
"purity",
frm.doc.purity
);
frappe.model.set_value(
item.doctype,
item.name,
"board_rate",
frm.doc.board_rate
);
frappe.model.set_value(
item.doctype,
item.name,
"making_chargein_percentage",
making_charge
);
});
frm.refresh_fields();
};

updateItems();
updateItems();
});
}
},

Expand Down Expand Up @@ -188,23 +202,21 @@ frappe.ui.form.on("Jewellery Item Receipt", {
},
add_stone: function (frm, cdt, cdn) {
let row = locals[cdt][cdn];
if (frm.is_new()) {
frm.add_child("item_wise_stone_details", {
reference: row.idx,
stone: row.stone,
uom: row.stone_uom,
stone_weight: row.stone_weight,
rate: row.rate,
amount: row.rate * row.stone_weight,
});
frm.add_child("item_wise_stone_details", {
reference: row.idx,
stone: row.stone,
uom: row.stone_uom,
stone_weight: row.stone_weight,
rate: row.rate,
amount: row.rate * row.stone_weight,
});

if (row.stone_weight_gold_weight_uom)
row.stone_weight_gold_weight_uom += row.stone_weight;
else row.stone_weight_gold_weight_uom = row.stone_weight;
row.net_weight += row.stone_weight;
if (row.stone_charge) row.stone_charge += row.rate * row.stone_weight;
else row.stone_charge = row.rate * row.stone_weight;
}
if (row.stone_weight_gold_weight_uom)
row.stone_weight_gold_weight_uom += row.stone_weight;
else row.stone_weight_gold_weight_uom = row.stone_weight;
row.net_weight += row.stone_weight;
if (row.stone_charge) row.stone_charge += row.rate * row.stone_weight;
else row.stone_charge = row.rate * row.stone_weight;

row.stone = "";
row.stone_uom = "";
Expand Down Expand Up @@ -383,3 +395,13 @@ function item_group_filters(frm) {
};
});
}

function set_sub_category_filter(frm) {
frm.set_query("item_sub_category", () => {
return {
filters: {
item_category: frm.doc.item_category,
},
};
});
}
10 changes: 9 additions & 1 deletion aumms/aumms/doctype/jewellery_receipt/jewellery_receipt.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
"field_order": [
"section_break_urwi",
"item_category",
"item_sub_category",
"item_type",
"item_group",
"supplier",
Expand Down Expand Up @@ -122,12 +123,19 @@
"label": "Item Wise Stone Details",
"options": "Item Wise Stone Details",
"read_only": 1
},
{
"fieldname": "item_sub_category",
"fieldtype": "Link",
"label": "Item Sub Category",
"options": "Item Sub Category",
"reqd": 1
}
],
"index_web_pages_for_search": 1,
"is_submittable": 1,
"links": [],
"modified": "2024-08-20 10:13:09.368757",
"modified": "2025-01-20 14:25:31.637164",
"modified_by": "Administrator",
"module": "AuMMS",
"name": "Jewellery Receipt",
Expand Down
Loading