任务自动化:将日志时间简化为工作时间

2025-02-2519 阅读量3 分钟Lu Yin
任务自动化:将日志时间简化为工作时间

大家好,今天小编继续分享项目管理软件的强大之处,通过任务自动化将日志时间简化为工作时间。在日常工作中,日志记录是不可或缺的一部分,尤其是在需要追踪任务进展或分析系统问题时。为了提高效率,我们可以将这些精确时间简化为更具意义的工作时间段。

一、自定义函数

自定义函数是一组用户编写的代码,用于实现特定要求。

自定义函数的作用

使用工作流规则(无论是任务/项目)设置触发时间所需的条件,并将自定义函数与其关联。

二、用户实际需求

Zoho Projects的一位客户希望在任务完成后将工作时间值更新为与日志时间相同。例如,如果工作时间值为8,日志时间值为5,那么当任务状态更新为已关闭时,工作时间也应更新为5。这可确保准确的用户分配,允许将剩余的可用时间分配给其他任务。通过使用Zoho Projects中的任务自动化成功实现。

自定义函数代码:

endPoint = "https://projects.zoho.com/restapi/portal/";
getLogHours = invokeurl
[
url :endPoint + portalId + "/projects/" + projectId + "/tasks/" + taskId + "/logs/"
type :GET
connection:"XXXXXXX"
];
hours = getLogHours.get("timelogs").get("tasklogs");
logMap = Map();
for each  logHours in hours
{
// info "logs : " + logHours.get("hours_display") + " owner_id : " + logHours.get("owner_id");
if(logMap.containsKey(logHours.get("owner_id"))) {
prev = logHours.get("hours_display").toList(":");
curr = logMap.get(logHours.get("owner_id")).toList(":");
sumFirst = prev.get(0).toLong()+curr.get(0).toLong();
sumSec = prev.get(1).toLong()+curr.get(1).toLong();
if(sumSec >= 60) {
sumFirst = sumFirst+(sumSec/60).round(0);
sumSec = sumSec-(sumSec/60).round(0)*60;
}
// info "sumFirst : "+sumFirst+" sumSec : "+sumSec;
logMap.put(logHours.get("owner_id"),sumFirst.toString()+":"+sumSec.toString());
} else {
logMap.put(logHours.get("owner_id"),logHours.get("hours_display"));
}
}
// info logMap;
taskResponse = zoho.projects.getRecordById(portalId,projectId,"Tasks",taskId,"XXXXXXX");
owners = taskResponse.get("tasks").get(0).get("details").get("owners");
// info owners;
taskWorks = List();
ownerIds = "";
for each  owner in owners
{
if(owner.get("name").containsIgnoreCase("Unassigned"))
{
break;
}
else
{
isOwnerPresent = true;
ownerId = owner.get("id");
ownerWorkHours = logMap.get(ownerId);
taskWork = Map();
taskWork.put("user_id",ownerId);
taskWork.put("working_hours",ownerWorkHours);
taskWorks.add(taskWork);
ownerIds = ownerIds + owner.get("id") + ",";
// info ownerWorkHours;
}
}
taskOwners = ownerIds.removeLastOccurence(",");
// info taskOwners;
updateTaskParameter = Map();
if(isOwnerPresent)
{
updateTaskParameter.put("owner_work",taskWorks);
updateTaskParameter.put("work_type","work_hours");
updateTaskParameter.put("person_responsible",taskOwners);
updateTaskResponse = zoho.projects.update(portalId,projectId,"tasks",taskId,updateTaskParameter,"XXXXXXX");
info updateTaskResponse;
}
return "success";

注意事项

确保将 XXXXX 替换为 Zoho Projects 连接链接名称以及范围 ZohoProjects.portals.READ、ZohoProjects.tasks.ALL、ZohoProjects.timesheets.READ。

三、FAQ:常见问题

1.什么是日志时间?为什么需要简化?

日志时间是指员工记录和管理日常任务、工作进度以及项目状态所花费的时间。通过任务自动化工具,可以将日志记录过程简化甚至完全自动化,减少人工干预,从而节省时间并提高准确性。

2.任务自动化如何帮助简化日志时间?

任务自动化工具通过集成多种功能,不仅减少了手动记录的麻烦,还能确保数据的完整性,为后续决策提供可靠支持。

3.哪些工具可以实现日志时间的自动化?

目前市场上有多种任务自动化工具可供选择,企业可以根据身需求选解决方案,以实现工作流程的全面优化。

Zoho Projects项目管理软件,深受国内外项目协作团队一致喜爱,Zoho是专业项目管理软件厂商。

欢迎咨询:400-660-8680转841。立即免费体验: https://www.zoho.com.cn/projects/

相关话题

任务自动化任务流程自动化项目管理任务管理工具项目任务管理时间管理项目时间管理工具时间跟踪软件项目时间管理软件项目管理时间表
上一页免费的在线项目管理工具查看文章
下一页任务自动化:根据里程碑自动更新项目状态查看文章

Zoho Projects项目管理系统是一款SaaS云端项目管理工具,多次荣获项目管理国际大奖。180多个国家的20万+企业在Zoho Projects的帮助下,管理项目进度、分配任务、制作甘特图、计算工时等,加强团队协作能力,保障项目成功交付。