2019-11-07 08:46:26 +00:00
|
|
|
# Copyright (c) 2017, Frappe and Contributors
|
|
|
|
# License: GNU General Public License v3. See license.txt
|
|
|
|
|
|
|
|
from __future__ import unicode_literals
|
2021-09-02 11:14:59 +00:00
|
|
|
|
2019-11-07 08:46:26 +00:00
|
|
|
import frappe
|
|
|
|
|
2021-09-02 11:14:59 +00:00
|
|
|
|
2019-11-07 08:46:26 +00:00
|
|
|
def execute():
|
|
|
|
frappe.reload_doc('setup', 'doctype', 'global_defaults', force=True)
|
|
|
|
frappe.reload_doc('stock', 'doctype', 'delivery_trip')
|
|
|
|
frappe.reload_doc('stock', 'doctype', 'delivery_stop', force=True)
|
|
|
|
|
|
|
|
for trip in frappe.get_all("Delivery Trip"):
|
|
|
|
trip_doc = frappe.get_doc("Delivery Trip", trip.name)
|
|
|
|
|
|
|
|
status = {
|
|
|
|
0: "Draft",
|
|
|
|
1: "Scheduled",
|
|
|
|
2: "Cancelled"
|
|
|
|
}[trip_doc.docstatus]
|
|
|
|
|
|
|
|
if trip_doc.docstatus == 1:
|
|
|
|
visited_stops = [stop.visited for stop in trip_doc.delivery_stops]
|
|
|
|
if all(visited_stops):
|
|
|
|
status = "Completed"
|
|
|
|
elif any(visited_stops):
|
|
|
|
status = "In Transit"
|
|
|
|
|
|
|
|
frappe.db.set_value("Delivery Trip", trip.name, "status", status, update_modified=False)
|