void schedule.Test_Overdue_Tasks()
{
tasks = zoho.crm.getRecords("Tasks",1,200);
today = zoho.currentdate;
overdue_threshold = today.addDay(-90);
for each task in tasks
{
due_date_str = task.get("Due_Date");
if(due_date_str != null)
{
due_date = due_date_str.toDate();
info "Task ID: " + task.get("id") + ", Due Date: " + due_date + ", Overdue Threshold: " + overdue_threshold;
if(due_date <= overdue_threshold)
{
// Modified to include exactly 90 days overdue
owner_field = task.get("Owner");
// Fetch Owner field directly
if(owner_field != null && owner_field.containsKey("id"))
{
owner_id = owner_field.get("id");
expected_owner_id = "4736246000017109001";
// Expected owner ID
info "Task " + task.get("id") + " current owner ID: " + owner_id;
if(owner_id == expected_owner_id)
{
update_map = Map();
owner_map = Map();
owner_map.put("id","4736246000001133001");
// New owner ID
update_map.put("Owner",owner_map);
update_response = zoho.crm.updateRecord("Tasks",task.get("id").toLong(),update_map);
if(update_response.get("status") == "success")
{
info "Task " + task.get("id") + " ownership updated successfully.";
}
else
{
info "Failed to update Task " + task.get("id") + ". Error: " + update_response.get("message");
}
}
else
{
info "Task " + task.get("id") + " does not belong to the specified owner. Expected: " + expected_owner_id + ", Found: " + owner_id;
}
}
else
{
info "Task " + task.get("id") + " Owner field structure: " + owner_field;
info "Task " + task.get("id") + " does not have a valid Owner id.";
}
}
else
{
info "Task " + task.get("id") + " is not overdue.";
}
}
else
{
info "Task " + task.get("id") + " does not have a Due_Date.";
}
}
}