[Minor] Update Status based on Asset Maintenance and Asse Repair (#11886)

This commit is contained in:
KanchanChauhan 2017-12-12 15:03:21 +05:30 committed by Nabin Hait
parent d18423d9c7
commit 34ed1df9ef
3 changed files with 16 additions and 5 deletions

View File

@ -154,7 +154,7 @@
"label": "Status",
"length": 0,
"no_copy": 1,
"options": "Draft\nSubmitted\nPartially Depreciated\nFully Depreciated\nSold\nScrapped\nIn Repair\nOut of Order",
"options": "Draft\nSubmitted\nPartially Depreciated\nFully Depreciated\nSold\nScrapped\nIn Maintenance\nOut of Order",
"permlevel": 0,
"precision": "",
"print_hide": 0,
@ -1221,7 +1221,7 @@
"issingle": 0,
"istable": 0,
"max_attachments": 0,
"modified": "2017-12-01 15:11:47.466859",
"modified": "2017-12-08 12:58:44.137460",
"modified_by": "Administrator",
"module": "Assets",
"name": "Asset",

View File

@ -5,7 +5,7 @@
from __future__ import unicode_literals
import frappe
from frappe import _
from frappe.utils import flt, add_months, cint, nowdate, getdate
from frappe.utils import flt, add_months, cint, nowdate, getdate, today
from frappe.model.document import Document
from erpnext.accounts.doctype.purchase_invoice.purchase_invoice import get_fixed_asset_account
from erpnext.assets.doctype.asset.depreciation \
@ -174,7 +174,7 @@ class Asset(Document):
def set_status(self, status=None):
'''Get and update status'''
if not status:
status = self.get_status()
status = self.get_status()
self.db_set("status", status)
def get_status(self):
@ -193,6 +193,16 @@ class Asset(Document):
status = "Cancelled"
return status
def update_maintenance_status():
assets = frappe.get_all('Asset', filters = {'docstatus': 1, 'maintenance_required': 1})
for asset in assets:
asset = frappe.get_doc("Asset", asset.name)
if frappe.db.exists('Asset Maintenance Task', {'parent': asset.name, 'next_due_date': today()}):
asset.set_status('In Maintenance')
if frappe.db.exists('Asset Repair', {'asset_name': asset.name, 'repair_status': 'Pending'}):
asset.set_status('Out of Order')
@frappe.whitelist()
def make_purchase_invoice(asset, item_code, gross_purchase_amount, company, posting_date):
pi = frappe.new_doc("Purchase Invoice")

View File

@ -224,7 +224,8 @@ scheduler_events = {
"erpnext.stock.doctype.serial_no.serial_no.update_maintenance_status",
"erpnext.buying.doctype.supplier_scorecard.supplier_scorecard.refresh_scorecards",
"erpnext.setup.doctype.company.company.cache_companies_monthly_sales_history",
"erpnext.manufacturing.doctype.bom_update_tool.bom_update_tool.update_latest_price_in_all_boms"
"erpnext.manufacturing.doctype.bom_update_tool.bom_update_tool.update_latest_price_in_all_boms",
"erpnext.assets.doctype.asset.asset.update_maintenance_status"
]
}