def update_serial_no_warranty_amc_status(self, serial_no_list = []): if serial_no_list: sr_list = serial_no_list else: sr_list = [s[0] for s in sql("select name from `tabSerial No` where docstatus = 1")] for s in sr_list: sr = Document('Serial No', s) if sr.amc_expiry_date: sr.warranty_amc_status = (sr.amc_expiry_date < nowdate()) and 'Out of AMC' or 'Under AMC' elif sr.warranty_expiry_date: sr.warranty_amc_status = (sr.warranty_expiry_date < nowdate()) and 'Out of Warranty' or 'Under Warranty' sr.save()
def update_warranty_amc_history(self, submit = 1): if self.doc.order_type in ['AMC', 'OTS (One Time Service)']: sr_list = [] if submit: for d in getlist(self.doclist, 'service_order_details'): sr = Document('Serial No', d.serial_no) child = addchild(sr, 'warranty_amc_history', 'Warranty AMC History', 0) child.from_date = d.start_date child.to_date = d.end_date child.status = (self.doc.order_type == 'AMC') and 'Under AMC' or 'OTS (One Time Service)' child.against_doctype = self.doc.doctype child.against_docname = self.doc.name child.customer = self.doc.customer child.territory = self.doc.territory child.save() sr.warranty_amc_status = (self.doc.order_type == 'AMC') and 'Under AMC' or 'OTS (One Time Service)' sr.amc_expiry_date = d.end_date sr.save() sr_list.append(d.serial_no) else: sql("delete from `tabWarranty AMC History` where against_doctype = %s and against_docname = %s", (self.doc.doctype, self.doc.name)) for d in getlist(self.doclist, 'service_order_details'): sql("update `tabSerial No` set amc_expiry_date = '' where name = '%s'" % (d.serial_no)) sr_list.append(d.serial_no) self.update_serial_no_warranty_amc_status(serial_no_list = sr_list)
def update_warranty_amc_history(self, submit = 1): if submit: for d in getlist(self.doclist, 'delivery_note_details'): if d.serial_no: serial_nos = self.get_sr_no_list(d.serial_no) for s in serial_nos: sr = Document('Serial No', s) child = addchild(sr, 'warranty_amc_history', 'Warranty AMC History', 0) child.from_date = self.doc.transaction_date child.to_date = d.warranty_expiry_date child.status = 'Under Warranty' child.against_doctype = self.doc.doctype child.against_docname = self.doc.name child.customer = self.doc.customer child.territory = self.doc.territory child.save() sr.warranty_amc_status = 'Under Warranty' sr.warranty_expiry_date = d.warranty_expiry_date sr.save() else: sql("delete from `tabWarranty AMC History` where against_doctype = %s and against_docname = %s", (self.doc.doctype, self.doc.name)) sr_list = [] for d in getlist(self.doclist, 'service_order_details'): if d.serial_no: serial_nos = self.get_sr_no_list(d.serial_no) for s in serial_nos: sql("update `tabSerial No` set warranty_expiry_date = '' where name = '%s'" % (s)) sr_list.append(s) self.update_serial_no_warranty_amc_status(serial_no_list = sr_list)
def update_warranty_amc_history(self, submit=1): if self.doc.order_type in ["AMC", "OTS (One Time Service)"]: sr_list = [] if submit: for d in getlist(self.doclist, "service_order_details"): sr = Document("Serial No", d.serial_no) child = addchild(sr, "warranty_amc_history", "Warranty AMC History", 0) child.from_date = d.start_date child.to_date = d.end_date child.status = (self.doc.order_type == "AMC") and "Under AMC" or "OTS (One Time Service)" child.against_doctype = self.doc.doctype child.against_docname = self.doc.name child.customer = self.doc.customer child.territory = self.doc.territory child.save() sr.warranty_amc_status = (self.doc.order_type == "AMC") and "Under AMC" or "OTS (One Time Service)" sr.amc_expiry_date = d.end_date sr.save() sr_list.append(d.serial_no) else: sql( "delete from `tabWarranty AMC History` where against_doctype = %s and against_docname = %s", (self.doc.doctype, self.doc.name), ) for d in getlist(self.doclist, "service_order_details"): sql("update `tabSerial No` set amc_expiry_date = '' where name = '%s'" % (d.serial_no)) sr_list.append(d.serial_no) self.update_serial_no_warranty_amc_status(serial_no_list=sr_list)