fix: Added gram, pound to ounce conversion (#21709)

* fix: pound, grams to Ounce converion factor added

* fix: patch date updated for UOM Conversion Factor

* fix: grams move to gram

* fix: duplicate entry of uom converion factor and patch added

* fix: typo fix

* fix: minor changes

* Update patches.txt

Co-authored-by: Marica <maricadsouza221197@gmail.com>
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index cb82901..05f42bd 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -692,3 +692,4 @@
 erpnext.patches.v12_0.update_bom_in_so_mr
 execute:frappe.delete_doc("Report", "Department Analytics")
 execute:frappe.rename_doc("Desk Page", "Loan Management", "Loan", force=True)
+erpnext.patches.v12_0.update_uom_conversion_factor
diff --git a/erpnext/patches/v12_0/update_uom_conversion_factor.py b/erpnext/patches/v12_0/update_uom_conversion_factor.py
new file mode 100644
index 0000000..b5a20aa
--- /dev/null
+++ b/erpnext/patches/v12_0/update_uom_conversion_factor.py
@@ -0,0 +1,11 @@
+from __future__ import unicode_literals
+import frappe, json
+
+def execute():
+	from erpnext.setup.setup_wizard.operations.install_fixtures import add_uom_data
+
+	frappe.reload_doc("setup", "doctype", "UOM Conversion Factor")
+	frappe.reload_doc("setup", "doctype", "UOM")
+	frappe.reload_doc("stock", "doctype", "UOM Category")
+
+	add_uom_data()
\ No newline at end of file
diff --git a/erpnext/setup/setup_wizard/data/uom_conversion_data.json b/erpnext/setup/setup_wizard/data/uom_conversion_data.json
index 174ecd5..27a917d 100644
--- a/erpnext/setup/setup_wizard/data/uom_conversion_data.json
+++ b/erpnext/setup/setup_wizard/data/uom_conversion_data.json
@@ -1571,5 +1571,19 @@
 		"to_uom": "Parts Per Million",
 		"abbr": "ppm",
 		"value": "10000"
+	},
+	{
+		"category": "Mass",
+		"from_uom": "Pound",
+		"to_uom": "Ounce",
+		"abbr": "oz",
+		"value": "16"
+	},
+	{
+		"category": "Mass",
+		"from_uom": "Gram",
+		"to_uom": "Ounce",
+		"abbr": "oz",
+		"value": "0.035274"
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/setup/setup_wizard/operations/install_fixtures.py b/erpnext/setup/setup_wizard/operations/install_fixtures.py
index 8bb0a05..0d70d91 100644
--- a/erpnext/setup/setup_wizard/operations/install_fixtures.py
+++ b/erpnext/setup/setup_wizard/operations/install_fixtures.py
@@ -336,13 +336,14 @@
 				"category_name": _(d.get("category"))
 			}).insert(ignore_permissions=True)
 
-		uom_conversion = frappe.get_doc({
-			"doctype": "UOM Conversion Factor",
-			"category": _(d.get("category")),
-			"from_uom": _(d.get("from_uom")),
-			"to_uom": _(d.get("to_uom")),
-			"value": d.get("value")
-		}).insert(ignore_permissions=True)
+		if not frappe.db.exists("UOM Conversion Factor", {"from_uom": _(d.get("from_uom")), "to_uom": _(d.get("to_uom"))}):
+			uom_conversion = frappe.get_doc({
+				"doctype": "UOM Conversion Factor",
+				"category": _(d.get("category")),
+				"from_uom": _(d.get("from_uom")),
+				"to_uom": _(d.get("to_uom")),
+				"value": d.get("value")
+			}).insert(ignore_permissions=True)
 
 def add_market_segments():
 	records = [