51 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
 | |
| # License: GNU General Public License v3. See license.txt
 | |
| 
 | |
| 
 | |
| import frappe
 | |
| 
 | |
| 
 | |
| def execute():
 | |
| 	frappe.reload_doc("manufacturing", "doctype", "job_card_time_log")
 | |
| 
 | |
| 	if frappe.db.table_exists("Job Card") and frappe.get_meta("Job Card").has_field(
 | |
| 		"actual_start_date"
 | |
| 	):
 | |
| 		time_logs = []
 | |
| 		for d in frappe.get_all(
 | |
| 			"Job Card",
 | |
| 			fields=["actual_start_date", "actual_end_date", "time_in_mins", "name", "for_quantity"],
 | |
| 			filters={"docstatus": ("<", 2)},
 | |
| 		):
 | |
| 			if d.actual_start_date:
 | |
| 				time_logs.append(
 | |
| 					[
 | |
| 						d.actual_start_date,
 | |
| 						d.actual_end_date,
 | |
| 						d.time_in_mins,
 | |
| 						d.for_quantity,
 | |
| 						d.name,
 | |
| 						"Job Card",
 | |
| 						"time_logs",
 | |
| 						frappe.generate_hash("", 10),
 | |
| 					]
 | |
| 				)
 | |
| 
 | |
| 		if time_logs:
 | |
| 			frappe.db.sql(
 | |
| 				""" INSERT INTO
 | |
|                 `tabJob Card Time Log`
 | |
|                     (from_time, to_time, time_in_mins, completed_qty, parent, parenttype, parentfield, name)
 | |
|                 values {values}
 | |
|             """.format(
 | |
| 					values=",".join(["%s"] * len(time_logs))
 | |
| 				),
 | |
| 				tuple(time_logs),
 | |
| 			)
 | |
| 
 | |
| 		frappe.reload_doc("manufacturing", "doctype", "job_card")
 | |
| 		frappe.db.sql(
 | |
| 			""" update `tabJob Card` set total_completed_qty = for_quantity,
 | |
|             total_time_in_mins = time_in_mins where docstatus < 2 """
 | |
| 		)
 |