commit
4e95d67477
@ -291,6 +291,7 @@ def make_time_log(name, operation, from_time, to_time, qty=None, project=None,
|
|||||||
time_log.project = project
|
time_log.project = project
|
||||||
time_log.operation= operation
|
time_log.operation= operation
|
||||||
time_log.workstation= workstation
|
time_log.workstation= workstation
|
||||||
|
time_log.activity_type= "Manufacturing"
|
||||||
time_log.completed_qty = flt(qty)
|
time_log.completed_qty = flt(qty)
|
||||||
if from_time and to_time :
|
if from_time and to_time :
|
||||||
time_log.calculate_total_hours()
|
time_log.calculate_total_hours()
|
||||||
|
|||||||
@ -10,13 +10,6 @@ frappe.ui.form.on("Time Log", "onload", function(frm) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
frappe.ui.form.on("Time Log", "refresh", function(frm) {
|
|
||||||
var is_manufacturing = frm.doc.time_log_for=="Manufacturing" ? true : false;
|
|
||||||
frm.toggle_reqd("production_order", is_manufacturing);
|
|
||||||
frm.toggle_reqd("operation", is_manufacturing);
|
|
||||||
frm.toggle_reqd("completed_qty", is_manufacturing);
|
|
||||||
});
|
|
||||||
|
|
||||||
// set to time if hours is updated
|
// set to time if hours is updated
|
||||||
frappe.ui.form.on("Time Log", "hours", function(frm) {
|
frappe.ui.form.on("Time Log", "hours", function(frm) {
|
||||||
if(!frm.doc.from_time) {
|
if(!frm.doc.from_time) {
|
||||||
@ -75,5 +68,11 @@ $.extend(cur_frm.cscript, {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
time_log_for: function(doc) {
|
||||||
|
if (doc.time_log_for == 'Manufacturing') {
|
||||||
|
cur_frm.set_value("activity_type", "Manufacturing")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@ -68,7 +68,7 @@
|
|||||||
"reqd": 0
|
"reqd": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"depends_on": "eval:doc.time_log_for != 'Manufacturing'",
|
"depends_on": "",
|
||||||
"fieldname": "activity_type",
|
"fieldname": "activity_type",
|
||||||
"fieldtype": "Link",
|
"fieldtype": "Link",
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
|
|||||||
@ -23,6 +23,8 @@ class TimeLog(Document):
|
|||||||
self.validate_time_log_for()
|
self.validate_time_log_for()
|
||||||
self.check_workstation_timings()
|
self.check_workstation_timings()
|
||||||
self.validate_production_order()
|
self.validate_production_order()
|
||||||
|
self.validate_project()
|
||||||
|
self.validate_manufacturing()
|
||||||
|
|
||||||
def on_submit(self):
|
def on_submit(self):
|
||||||
self.update_production_order()
|
self.update_production_order()
|
||||||
@ -127,6 +129,26 @@ class TimeLog(Document):
|
|||||||
from `tabTime Log`
|
from `tabTime Log`
|
||||||
where production_order = %s and operation = %s and docstatus=1""",
|
where production_order = %s and operation = %s and docstatus=1""",
|
||||||
(self.production_order, self.operation), as_dict=1)[0]
|
(self.production_order, self.operation), as_dict=1)[0]
|
||||||
|
|
||||||
|
def validate_project(self):
|
||||||
|
if self.time_log_for == 'Project':
|
||||||
|
if not self.project:
|
||||||
|
frappe.throw(_("Project is Mandatory."))
|
||||||
|
if self.time_log_for == "":
|
||||||
|
self.project = None
|
||||||
|
|
||||||
|
def validate_manufacturing(self):
|
||||||
|
if self.time_log_for == 'Manufacturing':
|
||||||
|
if not self.production_order:
|
||||||
|
frappe.throw(_("Production Order is Mandatory"))
|
||||||
|
if not self.operation:
|
||||||
|
frappe.throw(_("Operation is Mandatory"))
|
||||||
|
if not self.completed_qty:
|
||||||
|
self.completed_qty=0
|
||||||
|
else:
|
||||||
|
self.production_order = None
|
||||||
|
self.operation = None
|
||||||
|
self.quantity = None
|
||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
def get_workstation(production_order, operation):
|
def get_workstation(production_order, operation):
|
||||||
@ -164,7 +186,7 @@ def get_events(start, end, filters=None):
|
|||||||
|
|
||||||
data = frappe.db.sql("""select name, from_time, to_time,
|
data = frappe.db.sql("""select name, from_time, to_time,
|
||||||
activity_type, task, project, production_order, workstation from `tabTime Log`
|
activity_type, task, project, production_order, workstation from `tabTime Log`
|
||||||
where ( from_time between %(start)s and %(end)s or to_time between %(start)s and %(end)s )
|
where docstatus < 2 and ( from_time between %(start)s and %(end)s or to_time between %(start)s and %(end)s )
|
||||||
{conditions}""".format(conditions=conditions), {
|
{conditions}""".format(conditions=conditions), {
|
||||||
"start": start,
|
"start": start,
|
||||||
"end": end
|
"end": end
|
||||||
|
|||||||
@ -135,7 +135,8 @@ def install(country=None):
|
|||||||
{'doctype': 'Activity Type', 'activity_type': _('Proposal Writing')},
|
{'doctype': 'Activity Type', 'activity_type': _('Proposal Writing')},
|
||||||
{'doctype': 'Activity Type', 'activity_type': _('Execution')},
|
{'doctype': 'Activity Type', 'activity_type': _('Execution')},
|
||||||
{'doctype': 'Activity Type', 'activity_type': _('Communication')},
|
{'doctype': 'Activity Type', 'activity_type': _('Communication')},
|
||||||
|
{'doctype': 'Activity Type', 'activity_type': _('Manufacturing')},
|
||||||
|
|
||||||
# Industry Type
|
# Industry Type
|
||||||
{'doctype': 'Industry Type', 'industry': _('Accounting')},
|
{'doctype': 'Industry Type', 'industry': _('Accounting')},
|
||||||
{'doctype': 'Industry Type', 'industry': _('Advertising')},
|
{'doctype': 'Industry Type', 'industry': _('Advertising')},
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user