简介
不少客户有排班/轮值的场景。本文主要采用自定义函数设置条件,然后在业务规则或自定义触发器中,根据对应条件,执行自定义动作。
比如:针对工单的创建时间,周一是甲支持,周二是乙支持,周三是丙支持。或工作日由甲支持,周末由乙支持。
针对这样的场景,系统默认的无代码的方式无法设置此条件。需要使用Deluge低代码脚本设置条件。
配置一个条件
配置位置
管理>>开发者空间>>自定义函数
1、判断创建时间是周几
由于条件的返回值只能为"是"或"否”,因此需要针对今天是否是周一,今天是否是周二等分别创建条件。
如判断创建时间是否是周一:
代码详情:

currentDateTime = requestObj.get("created_time").get("display_value");
weekday = currentDateTime.weekday();
return weekday==2;
因为在英文语境下,一般认为周日才是一周的第一天。因此在1对应周日,2对应周一,3对应周二......
判断创建时间是否是周二:

currentDateTime = requestObj.get("created_time").get("display_value");
weekday = currentDateTime.weekday();
return weekday==3;
判断创建时间是否是周三:

currentDateTime = requestObj.get("created_time").get("display_value");
weekday = currentDateTime.weekday();
return weekday==4;
2、判断创建时间是否是工作日
同理,如下
判断是否为工作日

currentDateTime = requestObj.get("created_time").get("display_value");
weekday = currentDateTime.weekday();
return weekday>1&&weekday<6;
判断是否为周末

currentDateTime = requestObj.get("created_time").get("display_value");
weekday = currentDateTime.weekday();
return weekday=1||weekday==7;
3、其他
帮助文档中还存在其他取日期的格式,可以适用于不同场景

获取一个日期是一年的第几周。
<variable> = <dateTimeValue>.getWeekOfYear([start_day]);
获取当前时间
<variable> = now;
获取一个日期是几点
<variable> = <dateTimeValue>.getHour();
使用一个条件
在业务规则或自定义触发器中都可以使用:
如下图,在条件栏中,选择“使用自定义函数应用条件”,然后再选择之前创建的条件即可。