You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Zoho上创建响应时间KPI:调整工作时段内的响应时间计算规则

响应时间KPI计算逻辑优化(仅统计工作时段)

当前响应时间KPI计算包含非工作时段(18点后)的时长,需更新计算逻辑,使其仅基于周一至周日9:00-17:00的工作时段。例如:若咨询在17点后提交,响应时间应从次日9:00开始计算。

原实现代码

id = id[Response Time == null];
if (time(id.get("Received Time")) >= time("09:00:00") and time(id.get("Received Time")) <= time("17:00:00"))
{
  id.put("Response Time", id.get("Received Time"));
}
else
{
  next_day = dateAddDays(date(id.get("Received Time")), 1);
  response_time = dateAddHours(date(next_day), 9);
  id.put("Response Time", response_time + time("00:00:00"));
}

原代码存在的问题

原代码只区分了“工作时段内”和“非工作时段”两种情况,所有非工作时段的提交都直接跳转到次日9点,但忽略了关键场景:如果提交时间是当天9点前,应该用当天9点作为响应计算起点,而非次日。

优化后的代码

id = id[Response Time == null];
var receivedTime = id.get("Received Time");
var receivedDate = date(receivedTime);
var receivedTimeOfDay = time(receivedTime);

// 定义工作时段起止时间,方便后续调整
var workStartTime = time("09:00:00");
var workEndTime = time("17:00:00");

if (receivedTimeOfDay >= workStartTime && receivedTimeOfDay <= workEndTime) {
  // 提交时间在工作时段内,直接用提交时间作为响应计算起点
  id.put("Response Time", receivedTime);
} else if (receivedTimeOfDay < workStartTime) {
  // 提交时间早于当天上班时间,用当天9点作为起点
  var responseTime = dateAddHours(receivedDate, 9);
  id.put("Response Time", responseTime + time("00:00:00"));
} else {
  // 提交时间晚于当天下班时间,用次日9点作为起点
  var nextWorkDay = dateAddDays(receivedDate, 1);
  var responseTime = dateAddHours(nextWorkDay, 9);
  id.put("Response Time", responseTime + time("00:00:00"));
}

优化说明

  • 拆分三种时间场景的判断逻辑,覆盖所有非工作时段的正确处理方式
  • 将工作时段起止时间抽为变量,后续调整上下班时间只需修改这两个值
  • 新增变量存储接收时间的日期和时分部分,提升代码可读性

内容的提问来源于stack exchange,提问作者Quinn C

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 15:57:48