feat(Asset Repair): Decrease stock quantity if consumed during Asset Repair
diff --git a/erpnext/assets/doctype/asset_repair/asset_repair.py b/erpnext/assets/doctype/asset_repair/asset_repair.py
index ed022fd..3b7587e 100644
--- a/erpnext/assets/doctype/asset_repair/asset_repair.py
+++ b/erpnext/assets/doctype/asset_repair/asset_repair.py
@@ -37,21 +37,25 @@
 
 	def on_submit(self):
 		self.check_repair_status()
-		self.check_stock_items()
+		self.check_for_stock_items_and_warehouse()
 		self.check_for_payable_account()
 		self.check_for_cost_center()
 
 		self.increase_asset_value()
+		if self.stock_consumption:
+			self.decrease_stock_quantity()
 		self.make_gl_entries()
 
 	def check_repair_status(self):
 		if self.repair_status == "Pending":
 			frappe.throw(_("Please update Repair Status."))
 
-	def check_stock_items(self):
+	def check_for_stock_items_and_warehouse(self):
 		if self.stock_consumption:
 			if not self.stock_items:
 				frappe.throw(_("Please enter Stock Items consumed during Asset Repair."))
+			if not self.warehouse:
+				frappe.throw(_("Please enter Warehouse from which Stock Items consumed during Asset Repair were taken."))
 
 	def check_for_payable_account(self):
 		if not self.payable_account:
@@ -68,6 +72,22 @@
 				asset_value += item.total_value
 
 			frappe.db.set_value('Asset', self.asset, 'asset_value', asset_value)
+		
+	def decrease_stock_quantity(self):
+		stock_entry = frappe.get_doc({
+			"doctype": "Stock Entry",
+			"stock_entry_type": "Material Issue"
+		})
+
+		for stock_item in self.stock_items:
+			stock_entry.append('items', {
+				"s_warehouse": self.warehouse,
+				"item_code": stock_item.item,
+				"qty": stock_item.consumed_quantity
+			})
+
+		stock_entry.insert()
+		stock_entry.submit()
 
 	def on_cancel(self):
 		if self.payable_account: