电话 400-111-2626

# 低代码函数库

# 概述

在脚本编辑器中,七巧低代码封装了丰富的函数便于用户在使用脚本编辑器实现业务逻辑时快速进行调用,本文档主要介绍了相关脚本函数的使用方式与demo。

# 七巧函数库文档说明

# 1.通讯录函数库

# 标识符:contact

# 函数库说明:获取通讯录相关属性, 具有通过部门Id获取部门, 通过部门Id获取子部门集合和通过部门Id获取上级部门等方法

# 提供函数:

# 1.1 获取企业内所有在职人员
  • 调用方式:$.contact.queryAllUser()
  • 返回对象:List 用户列表
  • 函数demo:
(function(){
    return $.contact.queryAllUser();
})()
# 1.2 根据用户组id获取指定用户组
  • 调用方式:$.contact.getUserGroupById(id)
  • 返回对象:TagDTO 用户组对象
  • 参数说明:
参数 数据类型 说明
id String 用户组ID
  • 函数demo:
(function(){
    //获取用户组id
    var id = "2f465563371549a2be1f22ad0e1dd47a";
    //获取指定用户组id下的用户组对象
    var userGroup = $.contact.getUserGroupById(id);
    //返回用户对象集合
    return userGroup;
})()
# 1.3 通过Id获取用户对象
  • 调用方式:$.contact.getUserById(id)
  • 返回对象:UserDTO 用户对象
  • 参数说明:
参数 数据类型 说明
id String 用户ID
  • 函数demo:
(function(){
    //获取用户id
    var id = "b2c26e0438a654765d932c510d071eb8";
    //获取用户对象
    var user = $.contact.getUserById(id);
    //返回用户对象
    return user;
})()
# 1.4 获取指定用户组下的数据(用户+部门)
  • 调用方式:$.contact.listUserGroupMembersByUserGroupId(userGroupId)
  • 返回对象:List 用户组的用户成员和部门信息
  • 参数说明:
参数 数据类型 说明
userGroupId String 用户组ID
  • 函数demo:
(function(){
    //获取用户组id
    var id = "2f465563371549a2be1f22ad0e1dd47a";
    //获取指定用户组id下的用户和部门信息
    var userGroupMembers = $.contact.listUserGroupMembersByUserGroupId(id);
    //返回该用户和部门信息
    return userGroupMembers;
})()
# 1.5 通过部门id获取指定部门的部门主管集合
  • 调用方式:$.contact.listDepartmentManagersByDepartmentId(departmentId)
  • 返回对象:List 用户对象集合
  • 参数说明:
参数 数据类型 说明
departmentId String 部门ID
  • 函数demo:
(function(){
    //获取部门id
    var departmentId = "3fdcd5897531b5227f4bd841cfe778b1";
    //获取部门管理者对象集合
    var departmentManagers = $.contact.listDepartmentManagersByDepartmentId(departmentId);
    //返回部门管理者对象集合
    return departmentManagers;
})()
# 1.6 获取指定用户组下的数据(用户+部门)
  • 调用方式:$.contact.listUserGroupMembersByUserGroupIdAndType(userGroupId,type)
  • 返回对象:List 用户组的用户成员及其部门信息
  • 参数说明:
参数 数据类型 说明
userGroupId String 用户组ID
type String 指定类型
  • 函数demo:
(function(){
    //用户组id
    var userGroupId = "2f465563371549a2be1f22ad0e1dd47a";
    //指定类型
    //部门:DEPARTMENT,用户:USER
    var type = "USER";
    //获取用户成员信息及其部门信息
    var userGroupMembers = $.contact.listUserGroupMembersByUserGroupIdAndType(userGroupId, type);
    //返回该用户和部门信息
    return userGroupMembers;
})()
# 1.7 当前用户所属部门的上级部门
  • 调用方式:$.contact.getSuperiorDepartmentsByDepartmentId(departmentId)
  • 返回对象:List 部门信息集合
  • 参数说明:
参数 数据类型 说明
departmentId String 部门
  • 函数demo:
(function(){
    //查询部门id
    var departmentId = "40c54a7e2f4b4d63fff72115025a07de";
    var departments =  $.contact.getSuperiorDepartmentsByDepartmentId(departmentId);
    //部门相同的人员
    return departments;
})()
# 1.8 获取指定用户组成员分页数据
  • 调用方式:$.contact.queryUserGroupMembersByUserGroupId(userGroupId,type,pageSize,currPage)
  • 返回对象:RestPage 用户组成员分页数据
  • 参数说明:
参数 数据类型 说明
userGroupId String 用户组ID
type String 指定类型
pageSize int 每页记录数
currPage int 当前页数
  • 函数demo:
(function(){
    //用户组id
    var userGroupId = "9541850e1df04e32a7ed8c159f00e709",;
    //指定类型
    //部门:DEPARTMENT,用户:USER
    var type = "USER";
    //每页记录数
    var pageSize = 10;
    //当前页
    var currPage = 1;
    //查询用户组成员分页数据
    var userGroupsMembers = $.contact.queryUserGroupMembersByUserGroupId(userGroupId, type, pageSize, currPage);
    //返回用户组成员分页数据
    return userGroupsMembers;
})()
# 1.9 获取当前用户全部部门下属或直接下属
  • 调用方式:$.contact.getUserUnderlingsByUserId(userId,includeSubDepartment,currPage,pageSize)
  • 返回对象:RestPage 分页用户信息对象
  • 参数说明:
参数 数据类型 说明
userId String 人员id
includeSubDepartment Boolean 获取当前用户全部部门下属
currPage int 当前页数
pageSize int 每页记录数
  • 函数demo:
(function(){
    //查询用户id
    var userId = "b2c26e0438a654765d932c510d071eb8";
    //是否获取当前用户全部部门下属
    var includeSubDepartment = true;
    //当前页
    var currPage = 1;
    //每页记录数
    var pageSize = 10;
    var restPage = $.contact.getUserUnderlingsByUserId(userId, includeSubDepartment, currPage, pageSize);
    var users = restPage.getList();
})()
# 1.10 获取指定用户组的子级用户组集合
  • 调用方式:$.contact.listSubUserGroupsByUserGroupId(userGroupId)
  • 返回对象:List 子级用户组集合
  • 参数说明:
参数 数据类型 说明
userGroupId String 用户组ID
  • 函数demo:
(function(){
    //获取用户组id
    var id = "2f465563371549a2be1f22ad0e1dd47a";
    //获取指定用户组id下的子级用户组集合
    var subUserGroup = $.contact.listSubUserGroupsByUserGroupId(id);
    //返回用户对象集合
    return subUserGroup;
})()
# 1.11 通过部门名称关键字获取Department对象集合(模糊查询)
  • 调用方式:$.contact.listDepartmentByKeyword(keyword)
  • 返回对象:List 部门对象数组
  • 参数说明:
参数 数据类型 说明
keyword String 部门名称关键字
  • 函数demo:
(function(){
    var keyword = "研发";
    return $.contact.listDepartmentByKeyword(keyword);
})()
# 1.12 通过部门id获取指定部门下的用户集合
  • 调用方式:$.contact.listUsersByDepartmentId(departmentId)
  • 返回对象:List 用户对象集合
  • 参数说明:
参数 数据类型 说明
departmentId String 部门ID
  • 函数demo:
(function(){
    //获取部门id
    var departmentId = "3fdcd5897531b5227f4bd841cfe778b1";
    //获取指定部门下的用户集合
    var users = $.contact.listUsersByDepartmentId(departmentId);
    //返回用户对象集合
    return users;
})()
# 1.13 通过用户名称关键字获取User对象集合(模糊查询)
  • 调用方式:$.contact.listUserByKeyword(keyword)
  • 返回对象:List 用户对象数组
  • 参数说明:
参数 数据类型 说明
keyword String 用户名称关键字
  • 函数demo:
(function(){
    var keyword = "小";
    return $.contact.listUserByKeyword(keyword);
})()
# 1.14 获取与当前用户所属一级部门相同的人
  • 调用方式:$.contact.getUsersOfFirstDeptByUserId(userId,currPage,pageSize)
  • 返回对象:RestPage 分页用户信息对象
  • 参数说明:
参数 数据类型 说明
userId String 人员id
currPage int 当前页数
pageSize int 每页记录数
  • 函数demo:
(function(){
    //查询用户id
    var userId = "b2c26e0438a654765d932c510d071eb8";
    //当前页
    var currPage = 1;
    //每页记录数
    var pageSize = 10;
    var restPage=  $.contact.getUsersOfFirstDeptByUserId(userId, currPage, pageSize);
    //部门相同的人员
    var users = restPage.getList();
})()
# 1.15 通过部门Id获取部门
  • 调用方式:$.contact.getDepartmentById(id)
  • 返回对象:DepartmentDTO 部门对象
  • 参数说明:
参数 数据类型 说明
id String 部门ID
  • 函数demo:
(function(){
    //获取部门id
    var id = "64c761a7fb7f4847992466ee76efc195";
    //获取部门对象
    var department = $.contact.getDepartmentById(id);
    //返回部门对象
    return department;
})()
# 1.16 通过部门Id集合获取部门集合
  • 调用方式:$.contact.listDepartmentsByDepartmentIds(departmentIds)
  • 返回对象:List 部门集合
  • 参数说明:
参数 数据类型 说明
departmentIds List 部门ID集合
  • 函数demo:
(function(){
    //获取部门id集合
    var deptIds = new Packages.java.util.ArrayList();
    deptIds.add("64c761a7fb7f4847992466ee76efc195");
    deptIds.add("4381bb13feb94df5a59a0ea046519ee8");
    //获取部门集合
    var departments = $.contact.listDepartmentsByDepartmentIds(deptIds);
    //返回部门集合
    return departments;
})()
# 1.17 通过用户组id获取获取指定用户组的用户集合
  • 调用方式:$.contact.listUsersByUserGroupId(userGroupId)
  • 返回对象:List 用户对象集合
  • 参数说明:
参数 数据类型 说明
userGroupId String 用户组ID
  • 函数demo:
(function(){
    //获取用户组id
    var userGroupId = "03526ca774c14e95b896b417886752e2";
    //获取用户对象集合
    var users = $.contact.listUsersByUserGroupId(userGroupId);
    //返回用户对象集合
    return users;
})()
# 1.18 根据账号名获取用户
  • 调用方式:$.contact.getUserByUserAccount(account)
  • 返回对象:UserDTO 用户对象
  • 参数说明:
参数 数据类型 说明
account String 用户账号
  • 函数demo:
(function(){
    //获取用户账户
    var account = "mayun@A";
    //获取用户对象
    var user = $.contact.getUserByUserAccount(account);
    //返回用户对象
    return user;
})()
# 1.19 根据用户id集合批量获取用户包含离职人员
  • 调用方式:$.contact.listUsersByUserIdsWithResigning(userIds)
  • 返回对象:List 用户对象集合
  • 参数说明:
参数 数据类型 说明
userIds List 用户ID集合
  • 函数demo:
(function(){
    //获取用户id集合
    var userIds = new Packages.java.util.ArrayList();
    userIds.add("b2c26e0438a654765d932c510d071eb8");
    userIds.add("0d3a5597d0fc9db584d65a9d64f7cce5");
    //获取用户对象集合
    var user = $.contact.listUsersByUserIdsWithResigning(userIds);
    //返回用户对象集合
    return user;
})()
# 1.20 获取指定时间范围内离职的人员列表
  • 调用方式:$.contact.listResignUsersByTimeRange(startTime,endTime)
  • 返回对象:List 用户列表
  • 参数说明:
参数 数据类型 说明
startTime Date 开始时间
endTime Date 结束时间
  • 函数demo:
(function(){
    var startTime = $.date.getCurrentDate();
    var endTime = $.date.getCurrentDate();
    return $.contact.listResignUsersByTimeRange(startTime, endTime);
})()
# 1.21 根据用户id集合批量获取用户
  • 调用方式:$.contact.listUsersByUserIds(userIds)
  • 返回对象:List 用户对象集合
  • 参数说明:
参数 数据类型 说明
userIds List 用户ID集合
  • 函数demo:
(function(){
    //获取用户id集合
    var userIds = new Packages.java.util.ArrayList();
    userIds.add("b2c26e0438a654765d932c510d071eb8");
    userIds.add("0d3a5597d0fc9db584d65a9d64f7cce5");
    //获取用户对象集合
    var user = $.contact.listUsersByUserIds(userIds);
    //返回用户对象集合
    return user;
})()
# 1.22 获取企业所有部门信息(ID与名称映射)
  • 调用方式:$.contact.getAllDepartmentIdAndName()
  • 返回对象:Map Map(key:部门id, value:部门名称)
  • 函数demo:
(function(){
    return $.contact.getAllDepartmentIdAndName();
})()
# 1.23 通过用户组名称关键字获取标签对象集合(模糊查询)
  • 调用方式:$.contact.listUserGroupByKeyword(keyword)
  • 返回对象:List 用户组对象数组
  • 参数说明:
参数 数据类型 说明
keyword String 用户组关键字
  • 函数demo:
(function(){
    var keyword = "权限";
    return $.contact.listUserGroupByKeyword(keyword);
})()
# 1.24 获取与当前用户所属部门相同的人员
  • 调用方式:$.contact.getUsersOfSameDeptByUserId(userId,includeSubDepartment,currPage,pageSize)
  • 返回对象:RestPage 分页用户信息对象
  • 参数说明:
参数 数据类型 说明
userId String 人员id
includeSubDepartment Boolean 是否包含全部下级部门成员
currPage int 当前页数
pageSize int 每页记录数
  • 函数demo:
(function(){
    //查询用户id
    var userId = "b2c26e0438a654765d932c510d071eb8";
    //是否包含全部下级部门成员
    var includeSubDepartment = true;
    //当前页
    var currPage = 1;
    //每页记录数
    var pageSize = 10;
    var restPage=  $.contact.getUsersOfSameDeptByUserId(userId, includeSubDepartment, currPage, pageSize);
    //部门相同的人员
    var users = restPage.getList();
})()
# 1.25 获取指定用户组下的用户集合(分页)
  • 调用方式:$.contact.queryUsersByUserGroupId(userGroupId,pageSize,currPage)
  • 返回对象:RestPage 用户对象集合(分页)
  • 参数说明:
参数 数据类型 说明
userGroupId String 用户组ID
pageSize int 每页记录数
currPage int 当前页数
  • 函数demo:
(function(){
    //获取用户组id
    var userGroupId = "03526ca774c14e95b896b417886752e2";
    //每页记录数
    var pageSize = 10;
    //当前页
    var currPage = 1;
    //获取指定用户组下的用户集合
    var users = $.contact.queryUsersByUserGroupId(userGroupId, pageSize, currPage);
    //返回用户对象集合
    return users;
})()
# 1.26 通过部门id获取指定部门下的用户集合(包括所有子部门)
  • 调用方式:$.contact.listAllUsersByDepartmentId(departmentId)
  • 返回对象:List 用户对象集合
  • 参数说明:
参数 数据类型 说明
departmentId String 部门ID
  • 函数demo:
(function(){
    //获取部门id
    var departmentId = "3fdcd5897531b5227f4bd841cfe778b1";
    //获取指定部门下的用户集合
    var users = $.contact.listUsersByDepartmentId(departmentId);
    //返回用户对象集合
    return users;
})()
# 1.27 通过部门id获取指定部门下的用户集合(分页)
  • 调用方式:$.contact.queryUsersByDepartmentId(departmentId,pageSize,currPage)
  • 返回对象:RestPage 用户对象集合(分页)
  • 参数说明:
参数 数据类型 说明
departmentId String 部门ID
pageSize int 每页记录数
currPage int 当前页数
  • 函数demo:
(function(){
    //获取部门id
    var departmentId = "3fdcd5897531b5227f4bd841cfe778b1";
    //每页记录数
    var pageSize = 10;
    //当前页
    var currPage = 1;
    //分页获取指定部门下的用户集合
    var users = $.contact.queryUsersByDepartmentId(departmentId, pageSize, currPage);
    //返回用户对象集合
    return users;
})()
# 1.28 获取指定用户组下的用户集合
  • 调用方式:$.contact.listAllUsersByUserGroupId(userGroupId)
  • 返回对象:List 用户对象集合
  • 参数说明:
参数 数据类型 说明
userGroupId String 用户组ID
  • 函数demo:
(function(){
    //获取用户组ID
    var userGroupId = "03526ca774c14e95b896b417886752e2";
    //获取指定用户组下的用户集合
    var users = $.contact.listAllUsersByUserGroupId(userGroupId);
    //返回用户对象集合
    return users;
})()
# 1.29 获取用户的所有领导或直接领导
  • 调用方式:$.contact.getUserLeadersByUserId(userId,includeAllLeader)
  • 返回对象:UserConfigDTO 用户信息对象
  • 参数说明:
参数 数据类型 说明
userId String 人员id
includeAllLeader Boolean 是否查询全部上级领导
  • 函数demo:
(function(){
    //查询用户id
    var userId = "b2c26e0438a654765d932c510d071eb8";
    //是否查询全部上级领导
    var includeAllLeader = true;
    var userConfigDTO = $.contact.getUserLeadersByUserId(userId, includeAllLeader);
    //直接领导
    var leaderUser = userConfigDTO.getLeaderUser();
    //所有领导
    var leaderUsers = userConfigDTO.getLeaderUsers();
})()
# 1.30 通过部门Id获取子部门集合
  • 调用方式:$.contact.getSubDepartmentsByDepartmentId(departmentId)
  • 返回对象:List 部门对象集合
  • 参数说明:
参数 数据类型 说明
departmentId String 部门ID
  • 函数demo:
(function(){
    //获取部门id
    var id = "64c761a7fb7f4847992466ee76efc195";
    //获取子部门对象集合
    var subDepartments = $.contact.getSubDepartmentsByDepartmentId(id);
    //返回子部门对象集合
    return subDepartments;
})()
# 1.31 根据用户组id列表获取用户组列表信息
  • 调用方式:$.contact.listUserGroupsByUserGroupIds(userGroupIds)
  • 返回对象:List 用户组列表信息
  • 参数说明:
参数 数据类型 说明
userGroupIds List 用户组ID集合
  • 函数demo:
(function(){
    //用户组id
    var userGroupIds = new Packages.java.util.ArrayList();
    userGroupIds.add("2f465563371549a2be1f22ad0e1dd47a");
    userGroupIds.add("9541850e1df04e32a7ed8c159f00e709");
    //获取用户组列表信息
    var userGroups = $.contact.listUserGroupsByUserGroupIds(userGroupIds);
    //返回用户组列表信息
    return userGroups;
})()
# 1.32 获取当前用户集合的企业微信相关信息
  • 调用方式:$.contact.listUserWxInfoByUserIds(userIds)
  • 返回对象:List 用户信息集合
  • 参数说明:
参数 数据类型 说明
userIds List 用户ID集合
  • 函数demo:
(function(){
    //获取用户id集合
    var userIds = new Packages.java.util.ArrayList();
    userIds.add("b2c26e0438a654765d932c510d071eb8");
    userIds.add("0d3a5597d0fc9db584d65a9d64f7cce5");
    //获取用户对象集合
    var user = $.contact.listUserWxInfoByUserIds(userIds);
    //返回用户信息集合
    return user;
})()
# 1.33 获取当前用户的所属部门
  • 调用方式:$.contact.getDepartmentByUserId(userId)
  • 返回对象:List 部门信息集合
  • 参数说明:
参数 数据类型 说明
userId String 人员id
  • 函数demo:
(function(){
    //查询用户id
    var userId = "b2c26e0438a654765d932c510d071eb8";
    return $.contact.getDepartmentByUserId(userId);
})()
# 1.34 通过部门Id获取直属上级部门
  • 调用方式:$.contact.getDirectParentDepartmentByDepartmentId(departmentId)
  • 返回对象:DepartmentDTO 部门对象
  • 参数说明:
参数 数据类型 说明
departmentId String 部门ID
  • 函数demo:
(function(){
    //获取部门id
    var id = "64c761a7fb7f4847992466ee76efc195";
    //获取上级部门对象
    var parentDepartments = $.contact.getDirectParentDepartmentByDepartmentId(id);
    //返回上级部门对象
    return parentDepartments;
})()

# 2.上下文函数库

# 标识符:context

# 函数库说明:获取上下文相关属性, 具有获取当前应用ID, 获取当前租户ID, 获取当前用户ID等方法

# 提供函数:

# 2.1 获得请求内容
  • 调用方式:$.context.getHttpRequest()
  • 返回对象:HttpServletRequest 请求对象
  • 函数demo:
(function(){
    //获取客户端请求
    var httpRequest = $.context.getHttpRequest();
    //返回客户端请求
    return httpRequest;
})()
# 2.2 获得响应内容
  • 调用方式:$.context.getHttpResponse()
  • 返回对象:HttpServletResponse 响应对象
  • 函数demo:
(function(){
    //获取服务器响应
    var httpResponse = $.context.getHttpResponse();
    //返回服务器响应
    return httpResponse;
})()
# 2.3 获取当前请求token
  • 调用方式:$.context.getCurrentToken()
  • 返回对象:String token
  • 函数demo:
(function(){
    //获取当前请求token
    var token = $.context.getCurrentToken();
    //返回token
    return token;
})()
# 2.4 获取当前用户ID
  • 调用方式:$.context.getCurrentUserId()
  • 返回对象:String 用户ID
  • 函数demo:
(function(){
    //获取当前用户ID
    var userId = $.context.getCurrentUserId();
    //返回当前用户ID
    return userId;
})()
# 2.5 获取当前用户
  • 调用方式:$.context.getCurrentUser()
  • 返回对象:UserDTO 用户
  • 函数demo:
(function(){
    //获取当前用户
    var user = $.context.getCurrentUser();
    //返回当前用户
    return user;
})()
# 2.6 获取当前文档
  • 调用方式:$.context.getCurrentDocument()
  • 返回对象:Document 文档内容
  • 函数demo:
(function(){
    //获取当前文档
    var currentDocument = $.context.getCurrentDocument();
    //返回文档
    return currentDocument;
})()
# 2.7 获取当前应用ID
  • 调用方式:$.context.getCurrentApplicationId()
  • 返回对象:String 应用ID
  • 函数demo:
(function(){
    //获取当前应用ID
    var applicationId = $.context.getCurrentApplicationId();
    //返回当前应用ID
    return applicationId;
})()
# 2.8 获取流程实例
  • 调用方式:$.context.getCurrentProcessInstanceEntity() 返回对象:ProcessInstance 流程实例
  • 函数demo:
(function(){
    //获取当前流程实例
    var processInstance = $.context.getCurrentProcessInstanceEntity();
    //返回流程实例
    return processInstance;
})()
# 2.9 获取当前租户ID
  • 调用方式:$.context.getCurrentTenantId()
  • 返回对象:String 租户ID
  • 函数demo:
(function(){
    //获取当前租户ID
    var tenantId = $.context.getCurrentTenantId();
    //返回当前租户ID
    return tenantId;
})()

# 3.数据工厂函数库

# 标识符:datasource

# 函数库说明:可通过数据流ID关联数据流

# 提供函数:

# 3.1 获取输出表数据
  • 调用方式:$.datasource.getDataFromDataSource(processId,title,OrderObject,currPage,pageSize)
  • 返回对象:RestPage 文档对象集合(分列形式)
  • 参数说明:
参数 数据类型 说明
processId String 数据流id
title List 所查询列集合(即输出表title)
OrderObject List 排序Map
currPage Integer 当前页
pageSize Integer 每页数量
  • 函数demo:
(function(){
    //数据流id
    var processId = "1556520028000";
    //所查询列集合(即输出表title)
    var title = new Packages.java.util.ArrayList();
    //加入需要查询的列的字段名
    title.add("单行文本1") 
    title.add("数字1") 
    //增加排序
    var orderList = new Packages.java.util.ArrayList();
    var orderObject = new Packages.cn.com.do1.qiqiao.external.data.factory.dto.OrderObject();
    //asc: 升序, desc: 降序
    orderObject.setColumn("单行文本1")
    orderObject.setOrder("asc")
    orderList.add(orderObject)
    var currPage = 1;
    var pageSize = 10;
    return $.datasource.getDataFromDataSource(processId, title, orderList, currPage, pageSize);
})()

# 4.日期工具函数库

# 标识符:date

# 函数库说明:获取日期工具, 具有获取当前时间Date对象, 时间字符串转Date对象, 时间戳转Date对象和Date对象转字符串方法

# 提供函数:

# 4.1 时间字符串转Date对象
  • 调用方式:$.date.stringToDate(dateStr,format)
  • 返回对象:Date 日期对象
  • 参数说明:
参数 数据类型 说明
dateStr String 时间字符串
format String 时间格式
  • 函数demo:
(function(){
    //日期字符串
    var dataStr = "2019-04-28 06:50:12";
    //日期格式
    var format = "yyyy-MM-dd hh:mm:ss";
    //获取日期对象
    var dateObject = $.date.stringToDate(dataStr,format);
    //返回
    return dateObject;
})()
# 4.2 Date对象转字符串
  • 调用方式:$.date.dateToString(date,format)
  • 返回对象:String 日期字符串
  • 参数说明:
参数 数据类型 说明
date Date 时间对象
format String 时间格式
  • 函数demo:
(function(){
    var timestamp = "1556520028000";
    //获取日期对象
    var dateObject = $.date.timestampToDate(timestamp);
    //日期格式
    var format = "yyyy-MM-dd hh:mm:ss";
    //获取日期字符串
    var dateStr = $.date.dateToString(dateObject,format);
    //返回
    return dateStr;
})()
# 4.3 获取当前日期
  • 调用方式:$.date.getCurrentDate()
  • 返回对象:Date 日期对象
  • 函数demo:
(function(){
    //获取当前日期对象
    var dateObject = $.date.getCurrentDate();
    //返回
    return dateObject;
})()
# 4.4 时间戳转Date对象
  • 调用方式:$.date.timestampToDate(timestamp)
  • 返回对象:Date 日期对象
  • 参数说明:
参数 数据类型 说明
timestamp long 时间戳
  • 函数demo:
(function(){
    //获取时间戳
    var timestamp = "1556520028000";
    //获取日期对象
    var dateObject = $.date.timestampToDate(timestamp);
    //返回
    return dateObject;
})()

# 5.文件函数库

# 标识符:file

# 函数库说明:提供解析csv、xls、xlsx类型文件数据的方法

# 提供函数:

# 5.1 通过表单上传文件解析文档
  • 调用方式:$.file.privateReadAnalysis(document,fieldName,titleRowNum)
  • 返回对象:FileAnalysisDTO 封装了表头数据集合和行列数据集合的对象
  • 参数说明:
参数 数据类型 说明
document Document 文档对象
fieldName String 字段名
titleRowNum Integer 表头所在行
  • 函数demo:
(function(){
    //获取包含文件的文档对象
    var document = $.context.getCurrentDocument();
    //字段名
    var fieldName = "附件上传1";
    //表头所在行(null代表行号为1,0代表不需要表头)
    var titleRowNum = "1556520028000";
    //获取数据对象
    var fileAnalysisDTO = $.file.privateReadAnalysis(document,fieldName,titleRowNum);
    //返回
    return fileAnalysisDTO;
})()
# 5.2 通过远程文件地址解析文档
  • 调用方式:$.file.publicReadAnalysis(fileAddress,titleRowNum)
  • 返回对象:FileAnalysisDTO 封装了表头数据集合和行列数据集合的对象
  • 参数说明:
参数 数据类型 说明
fileAddress String 文件地址
titleRowNum Integer 表头所在行
  • 函数demo:
(function(){
    //获取文件地址(目前只限定以后缀名结束的url)
    var fileAddress = "https://qiqiao-dev-public-1251961879.cos.ap-guangzhou.myqcloud.com/00e673a185b2401f88566c942fb46c09/20220831/202208311599422365.csv";
    //表头所在行(null代表行号为1,0代表不需要表头)
    var titleRowNum = "1556520028000";
    //获取数据对象
    var fileAnalysisDTO = $.file.publicReadAnalysis(fileAddress,titleRowNum);
    //返回
    return fileAnalysisDTO;
})()

# 6.表单函数库

# 标识符:form

# 函数库说明:操作表单, 具有根据表单实例id获取表单文档, 保存表单和根据表单模型ID获取表单对象等方法

# 提供函数:

# 6.1 获取表单对象
  • 调用方式:$.form.getFormById(formModelId,applicationId)
  • 返回对象:Form 表单对象
  • 参数说明:
参数 数据类型 说明
formModelId String 表单模型ID
applicationId String 应用ID
  • 函数demo:
(function(){
    //表单模型id
    var formModelId ="b1e6ed0a78864a96bea5521403c175d1";
    //获取应用id
    var applicationId = $.context.getCurrentApplicationId();
    //获取表单对象
    var form = $.form.getFormById(formModelId, applicationId);
    //返回文档对象
    return form;
})()
# 6.2 通过子表名称获取子表文档集合
  • 调用方式:$.form.getSubFormDocumentsByName(parentId,parentFieldName,subFormName,applicationId)
  • 返回对象:List 子表文档集合
  • 参数说明:
参数 数据类型 说明
parentId String 主表单实例ID
parentFieldName String 父表中关联主表的外键字段
subFormName String 子表单名称
applicationId String 应用ID
  • 函数demo:
(function(){
    //主表单实例id
    var parentId ="b1e6ed0a78864a96bea5521403c175d1";
    //父表中关联主表的外键字段
    var parentFieldName = "外键控件名称";
    //子表单名称
    var subFormName ="采购表";
    //应用Id
    var applicationId = $.context.getCurrentApplicationId();
    //获取子表单数据集合
    var subFormDocuments = $.form.getSubFormDocumentsByName(parentId, parentFieldName, subFormName, applicationId);
    //返回子表单数据集合
    return subFormDocuments;
})()
# 6.3 获取子表关联对应数据
  • 调用方式:$.form.getSubFormAssociationDocuments(applicationId,formName,fieldName,fieldValue,page,pageSize)
  • 返回对象:PageUtils 子表关联数据值集合
  • 参数说明:
参数 数据类型 说明
applicationId String 应用ID
formName String 表单名称
fieldName String 子表关联字段属性值
fieldValue String 当前主表单条数据id
page Integer page
pageSize Integer pageSize
  • 函数demo:
(function(){
    //应用Id
    var applicationId = $.context.getCurrentApplicationId();
    //表单名称
    var formName = "费用报销单";
    //对应子表字段名称
    var fieldName = "报销明细";
    //当前主表单条数据id
    var fieldValue = "68517eb2a8e8468782968d6cd93649cd";
    //当前页
    var page = 1;
    //每页数据数
    var pageSize = 10;
    return $.form.getSubFormAssociationDocuments(applicationId, formName, fieldName, fieldValue, page, pageSize);
})()
# 6.4 批量删除表单实例数据
  • 调用方式:$.form.batchDeleteFormDocumentsByIdList(applicationId,formName,idList)
  • 返回对象:void
  • 参数说明:
参数 数据类型 说明
applicationId String 应用id
formName String 表单名称
idList List 删除数据id数组
  • 函数demo:
(function(){
    //控件值键对
    var idList = new Packages.java.util.ArrayList();
    idList.add("0d3a5597d0fc9db584d65a9d64f7cce5");
    //表单名称
    var formName ="报销表";
    //应用Id
    var applicationId = $.context.getCurrentApplicationId();
    //删除文档集合
    $.form.batchDeleteFormDocumentsByIdList(applicationId, formName, idList);
})()
# 6.5 多条件查询表单实例JSONObject集合
  • 调用方式:$.form.getDocumentsByConditionAsJson(applicationId,formName,conditionMap)
  • 返回对象:List 文档对象集合(Json对象形式)
  • 参数说明:
参数 数据类型 说明
applicationId String 应用ID
formName String 表单名称
conditionMap Map 查询条件键值对
  • 函数demo:
(function(){
    //应用Id
    var applicationId = $.context.getCurrentApplicationId();
    //表单名称
    var formName = "费用报销单";
    //控件值键对
    var conditionMap = new Packages.java.util.HashMap();
    conditionMap.put("请假人", "张三");
    return $.form.getDocumentsByConditionAsJson(applicationId, formName, conditionMap);
})()
# 6.6 通过表单模型创建空文档对象
  • 调用方式:$.form.createEmptyDocumentByFormModel(applicationId,formModel)
  • 返回对象:Document 文档对象
  • 参数说明:
参数 数据类型 说明
applicationId String 应用ID
formModel FormModelEntity 表单模型实体
  • 函数demo:
(function(){
    //应用Id
    var applicationId = $.context.getCurrentApplicationId();
    //表单模型实体
    var formModel = $.form.getFormModel(applicationId,"费用报销单");
    //返回空文档对象
    $.form.createEmptyDocumentByFormModel(applicationId,formModel);
})()
# 6.7 多条件查询表单分页实例集合
  • 调用方式:$.form.getDocumentsPageByCondition(applicationId,formName,conditionMap,page,pageSize)
  • 返回对象:PageUtils 文档对象集合
  • 参数说明:
参数 数据类型 说明
applicationId String 应用ID
formName String 表单名称
conditionMap Map 查询条件键值对
page Integer 页码
pageSize Integer 分页大小
  • 函数demo:
(function(){
    //构建应用Id
    var applicationId = "4";
    //构建表单名称
    var formName = "请假单";
    //构建控件值键对
    var conditionMap = new Packages.java.util.HashMap();
    var page = 1;
    var pageSize = 10;
    conditionMap.put("请假人", "张三");
    return $.form.getDocumentsPageByCondition(applicationId, formName, conditionMap, page, pageSize);
})()
# 6.8 获取多表关联(中间表)对应数据
  • 调用方式:$.form.getManyRelationFormDocuments(applicationId,formName,fieldName,fieldValue,page,pageSize)
  • 返回对象:PageUtils 文档对象
  • 参数说明:
参数 数据类型 说明
applicationId String 应用ID
formName String 表单名称
fieldName String 中间表关联字段属性值
fieldValue String 当前主表单条数据id
page Integer page
pageSize Integer pageSize
  • 函数demo:
(function(){
    //应用Id
    var applicationId = $.context.getCurrentApplicationId();
    //表单名称
    var formName = "费用报销单";
    //对应子表字段名称
    var fieldName = "报销明细";
    //当前主表单条数据id
    var fieldValue = "68517eb2a8e8468782968d6cd93649cd";
    //当前页
    var page = 1;
    //每页条目数
    var pageSize = 10;
    return $.form.getManyRelationFormDocuments(applicationId, formName, fieldName, fieldValue, page, pageSize);
})()
# 6.9 多条件查询表单实例集合
  • 调用方式:$.form.getDocumentsByCondition(applicationId,formName,conditionMap)
  • 返回对象:List 文档对象集合
  • 参数说明:
参数 数据类型 说明
applicationId String 应用ID
formName String 表单名称
conditionMap Map 查询条件键值对
  • 函数demo:
(function(){
    //应用Id
    var applicationId = $.context.getCurrentApplicationId();
    //表单名称
    var formName = "费用报销单";
    //控件值键对
    var conditionMap = new Packages.java.util.HashMap();
    conditionMap.put("请假人", "张三");
    return $.form.getDocumentsByCondition(applicationId, formName, conditionMap);
})()
# 6.10 多条件查询表单实例集合
  • 调用方式:$.form.getDocumentsByFilterParam(applicationId,formName,filterParam)
  • 返回对象:List 文档对象集合
  • 参数说明:
参数 数据类型 说明
applicationId String 应用ID
formName String 表单名称
filterParam List 查询参数
  • 函数demo:
(function(){
    //应用Id
    var applicationId = $.context.getCurrentApplicationId();
    //表单名称
    var formName = "费用报销单";
    //控件值键对
    var filterParamList = new Packages.java.util.ArrayList();
    var filterParam = new Packages.cn.com.do1.do1cloud.runtime.dto.FilterParam("请假人", "eq", "张三");
    filterParamList.add(filterParam);
    return $.form.getDocumentsByFilterParam(applicationId, formName, filterParamList);
})()
# 6.11 查询外键选项(分页)
  • 调用方式:$.form.getForeignOptions(applicationId,formName,fieldName,page,pageSize)
  • 返回对象:PageUtils 外键控件关联表所有选项
  • 参数说明:
参数 数据类型 说明
applicationId String 应用ID
formName String 表单名称
fieldName String 外键字段属性值
page Integer page
pageSize Integer pageSize
  • 函数demo:
(function(){
    //应用Id
    var applicationId = $.context.getCurrentApplicationId();
    //表单名称
    var formName = "费用报销单";
    //对应外键名称
    var fieldName = "报销项目";
    //当前页
    var page = 1;
    //每页条目数
    var pageSize = 10;
    return $.form.getForeignOptions(applicationId, formName, fieldName, page, pageSize);
})()
# 6.12 通过表单id获取文档对象(包括子表,子表关联,多表)
  • 调用方式:$.form.getFormInstanceAllParamDocument(formModelId,id,applicationId)
  • 返回对象:Document 文档对象
  • 参数说明:
参数 数据类型 说明
formModelId String 表单模型ID
id String 文档ID
applicationId String 应用ID
  • 函数demo:
(function(){
    //表单模型id
    var formModelId = "b1e6ed0a78864a96bea5521403c175d1";
    //文档id
    var id = "87e8ac53713c404387b769caa26813e6";
    //获取应用id
    var applicationId = $.context.getCurrentApplicationId();
    //获取文档对象
    var document = $.form.getFormInstanceAllParamDocument(formModelId, id, applicationId);
    //返回文档对象
    return document;
})()
# 6.13 获取表单定义实体
  • 调用方式:$.form.getFormDefinition(applicationId,formName)
  • 返回对象:FormDefinitionEntity 表单定义实体
  • 参数说明:
参数 数据类型 说明
applicationId String 应用ID
formName String 表单名称
  • 函数demo:
(function(){
    //应用Id
    var applicationId = $.context.getCurrentApplicationId();
    //表单名称
    var formName = "费用报销单";
    return $.form.getFormDefinition(applicationId, formName);
})()
# 6.14 删除指定表单的所有数据
  • 调用方式:$.form.deleteAllDocumentsByFormName(applicationId,formName)
  • 返回对象:void
  • 参数说明:
参数 数据类型 说明
applicationId String 应用ID
formName String 表单名称
  • 函数demo:
(function(){
    //应用Id
    var applicationId = $.context.getCurrentApplicationId();
    //表单名称
    var formName = "费用报销单";
    return $.form.deleteAllDocumentsByFormName(applicationId, formName);
})()
# 6.15 通过表单名称创建空文档对象
  • 调用方式:$.form.createEmptyDocument(applicationId,formName)
  • 返回对象:Document 文档对象
  • 参数说明:
参数 数据类型 说明
applicationId String 应用ID
formName String 表单名称
  • 函数demo:
(function(){
    //应用Id
    var applicationId = $.context.getCurrentApplicationId();
    //表单名称
    var formName ="费用报销单";
    //返回空文档对象
    $.form.createEmptyDocument(applicationId, formName);
})()
# 6.16 获取子表对应数据
  • 调用方式:$.form.getSubFormDocumentsByPage(applicationId,formName,fieldName,fieldValue,page,pageSize)
  • 返回对象:PageUtils 子表数据值集合
  • 参数说明:
参数 数据类型 说明
applicationId String 应用ID
formName String 表单名称
fieldName String 子表字段属性值
fieldValue String 当前主表单条数据id
page Integer page
pageSize Integer pageSize
  • 函数demo:
(function(){
    //应用Id
    var applicationId = $.context.getCurrentApplicationId();
    //表单名称
    var formName = "费用报销单";
    //对应子表字段名称
    var fieldName = "报销明细";
    //当前主表单条数据id
    var fieldValue = "68517eb2a8e8468782968d6cd93649cd";
    //当前页
    var page = 1;
    //每页数据数
    var pageSize = 10;
    return $.form.getSubFormDocumentsByPage(applicationId, formName, fieldName, fieldValue, page, pageSize);
})()
# 6.17 删除指定parentId的子表单数据集合
  • 调用方式:$.form.deleteSubFormDocuments(parentId,parentFormId,subFormId,applicationId)
  • 返回对象:void
  • 参数说明:
参数 数据类型 说明
parentId String 主表单实例ID
parentFormId String 主表单formModelID
subFormId String 子表单formModelID
applicationId String 应用ID
  • 函数demo:
(function(){
    //主表单实例id
    var parentId ="b1e6ed0a78864a96bea5521403c175d1";
    //主表单模型id
    var parentFormId = "87e8ac53713c404387b769caa26813e6";
    //子表单模型id
    var subFormId ="f998d878317842ec9d26fc85da433877";
    //应用Id
    var applicationId = $.context.getCurrentApplicationId();
    //删除指定parentId的子表单数据集合
    $.form.deleteSubFormDocuments(parentId, parentFormId, subFormId, applicationId);
})()
# 6.18 通过子表id获取子表文档集合
  • 调用方式:$.form.getSubFormDocumentsByParentFieldName(parentId,parentFieldName,subFormId,applicationId)
  • 返回对象:List 子表文档集合
  • 参数说明:
参数 数据类型 说明
parentId String 主表单实例ID
parentFieldName String 父表中关联主表的外键字段
subFormId String 子表单formModelID
applicationId String 应用ID
  • 函数demo:
(function(){
    //主表单实例id
    var parentId ="b1e6ed0a78864a96bea5521403c175d1";
    //父表中关联主表的外键字段
    var parentFieldName = "外键控件名称";
    //子表单模型id
    var subFormId ="f998d878317842ec9d26fc85da433877";
    //应用Id
    var applicationId = $.context.getCurrentApplicationId();
    //获取子表单数据集合
    var subFormDocuments = $.form.getSubFormDocumentsByParentFieldName(parentId, parentFieldName, subFormId, applicationId);
    //返回子表单数据集合
    return subFormDocuments;
})()
# 6.19 多条件查询表单实例友好值JSONObject集合
  • 调用方式:$.form.getPrettyDocumentsPageByConditionAsJson(applicationId,formName,conditionMap,page,pageSize)
  • 返回对象:PageUtils 文档对象集合(Json对象形式)
  • 参数说明:
参数 数据类型 说明
applicationId String 应用ID
formName String 表单名称
conditionMap Map 查询条件键值对
page Integer 页码
pageSize Integer 分页大小
  • 函数demo:
(function(){
    //构建应用Id
    var applicationId = "4";
    //构建表单名称
    var formName = "请假单";
    //构建控件值键对
    var conditionMap = new Packages.java.util.HashMap();
    conditionMap.put("请假人", "张三");
    var page = 1;
    var pageSize = 10;
    return $.form.getPrettyDocumentsPageByConditionAsJson(applicationId, formName, conditionMap, page, pageSize);
})()
# 6.20 通过表单模型实体和条件获取Document集合
  • 调用方式:$.form.getDocumentsByFormModelAndCondition(applicationId,formModel,conditionMap)
  • 返回对象:List 表单文档集合
  • 参数说明:
参数 数据类型 说明
applicationId String 应用ID
formModel FormModelEntity 表单模型实体
conditionMap Map 查询条件键值对
  • 函数demo:
(function(){
    //控件值键对
    var conditionMap = new Packages.java.util.HashMap();
    conditionMap.put("名称","Tom");
    //应用Id
    var applicationId = $.context.getCurrentApplicationId();
    //表单模型
    var formModel =$.form.getFormModel(applicationId,"费用报销单")
    //获取文档集合
    return $.form.getDocumentsByFormModelAndCondition(applicationId, formModel, conditionMap);
})()
# 6.21 获取表单实例数据
  • 调用方式:$.form.getFormDocumentsByFieldNameAndValue(applicationId,formName,fieldMap)
  • 返回对象:List 表单文档集合
  • 参数说明:
参数 数据类型 说明
applicationId String 应用id
formName String 表单名称
fieldMap Map 控件值键对
  • 函数demo:
(function(){
    //控件值键对
    var fieldMap = new Packages.java.util.HashMap();
    fieldMap.put("报销人","Tom");
    //表单名称
    var formName ="费用报销单";
    //应用Id
    var applicationId = $.context.getCurrentApplicationId();
    //获取文档集合
    return $.form.getFormDocumentsByFieldNameAndValue(applicationId, formName, fieldMap);
})()
# 6.22 删除表单实例数据
  • 调用方式:$.form.deleteFormDocumentsByFieldNameAndValue(applicationId,formName,fieldMap)
  • 返回对象:void
  • 参数说明:
参数 数据类型 说明
applicationId String 应用id
formName String 表单名称
fieldMap Map 控件值键对
  • 函数demo:
(function(){
    //控件值键对
    var fieldMap = new Packages.java.util.HashMap();
    fieldMap.put("报销人","Tom");
    //表单名称
    var formName ="费用报销单";
    //应用Id
    var applicationId = $.context.getCurrentApplicationId();
    //删除文档集合
    $.form.deleteFormDocumentsByFieldNameAndValue(applicationId, formName, fieldMap);
})()
# 6.23 删除子表文档集合
  • 调用方式:$.form.deleteSubFormDocumentsByParentFieldName(parentId,parentFieldName,subFormId,applicationId)
  • 返回对象:void
  • 参数说明:
参数 数据类型 说明
parentId String 主表单实例ID
parentFieldName String 父表中关联主表的外键字段
subFormId String 子表单formModelID
applicationId String 应用ID
  • 函数demo:
(function(){
    //主表单实例id
    var parentId ="b1e6ed0a78864a96bea5521403c175d1";
    //父表中关联主表的外键字段
    var parentFieldName = "外键控件名称";
    //子表单模型id
    var subFormId ="f998d878317842ec9d26fc85da433877";
    //应用Id
    var applicationId = $.context.getCurrentApplicationId();
    //删除文档集合
    $.form.deleteSubFormDocumentsByParentFieldName(parentId, parentFieldName, subFormId, applicationId);
})()
# 6.24 保存表单(Document序列化对象)
  • 调用方式:$.form.addNewDocument(applicationId,formName,documentInfo)
  • 返回对象:void 文档对象
  • 参数说明:
参数 数据类型 说明
applicationId String 应用ID
formName String 表单名称
documentInfo Map 表单document数据
  • 函数demo:
(function(){
    //应用Id
    var applicationId = $.context.getCurrentApplicationId();
    //表单名称
    var formName = "费用报销单";
    var documentInfo = new Packages.java.util.HashMap();
    documentInfo.put("请假人", "张三");
    return $.form.addNewDocument(applicationId, formName, documentInfo);
})()
# 6.25 修改表单数据
  • 调用方式:$.form.updateDocument(applicationId,formName,documentInfo)
  • 返回对象:void 文档对象
  • 参数说明:
参数 数据类型 说明
applicationId String 应用ID
formName String 表单名称
documentInfo Map 表单document数据
  • 函数demo:
(function(){
    //应用Id
    var applicationId = $.context.getCurrentApplicationId();
    //表单名称
    var formName = "费用报销单";
    var documentInfo = new Packages.java.util.HashMap();
    //documentInfo必须存在id字段
    documentInfo.put("id", "68517eb2a8e8468782968d6cd93649cd");
    documentInfo.put("请假人", "张三");
    return $.form.updateDocument(applicationId, formName, documentInfo);
})()
# 6.26 渲染表单结构
  • 调用方式:$.form.renderForm(applicationId,formName)
  • 返回对象:JSONObject 结构
  • 参数说明:
参数 数据类型 说明
applicationId String 应用ID
formName String 表单名称
  • 函数demo:
(function(){
    //应用Id
    var applicationId = $.context.getCurrentApplicationId();
    //表单名称
    var formName ="费用报销单";
    //返回空文档对象
    $.form.renderForm(applicationId, formName);
})()
# 6.27 查询外键选项
  • 调用方式:$.form.getForeignOption(applicationId,formName,fieldName,fieldValue)
  • 返回对象:Map 外键控件关联表所有选项
  • 参数说明:
参数 数据类型 说明
applicationId String 应用ID
formName String 表单名称
fieldName String 外键字段属性值
fieldValue String 外键字段对应值
  • 函数demo:
(function(){
    //应用Id
    var applicationId = $.context.getCurrentApplicationId();
    //表单名称
    var formName = "费用报销单";
    //对应外键名称
    var fieldName = "报销项目";
    //对应外键名值
    var fieldValue = "019cf70a66bd49b487549aeed7824db5";
    return $.form.getForeignOption(applicationId, formName, fieldName, fieldValue);
})()
# 6.28 获取表单模型实体
  • 调用方式:$.form.getFormModel(applicationId,formName)
  • 返回对象:FormModelEntity 表单模型实体
  • 参数说明:
参数 数据类型 说明
applicationId String 应用ID
formName String 表单名称
  • 函数demo:
(function(){
    //应用Id
    var applicationId = $.context.getCurrentApplicationId();
    //表单名称
    var formName = "费用报销单";
    return $.form.getFormModel(applicationId, formName);
})()
# 6.29 保存表单(Document对象)
  • 调用方式:$.form.saveFormDocument(document,applicationId)
  • 返回对象:Document 文档对象
  • 参数说明:
参数 数据类型 说明
document Document 文档对象
applicationId String 应用ID
  • 函数demo:
(function(){
    //获取当前文档
    var document = $.context.getCurrentDocument();
    //获取应用id
    var applicationId = $.context.getCurrentApplicationId();
    //获取文档对象
    var formDocument = $.form.saveFormDocument(document, applicationId);
    //返回文档对象
    return formDocument;
})()
# 6.30 通过表单id获取文档对象
  • 调用方式:$.form.getFormInstanceDocument(formModelId,id,applicationId)
  • 返回对象:Document 文档对象
  • 参数说明:
参数 数据类型 说明
formModelId String 表单模型ID
id String 文档ID
applicationId String 应用ID
  • 函数demo:
(function(){
    //表单模型id
    var formModelId = "b1e6ed0a78864a96bea5521403c175d1";
    //文档id
    var id = "87e8ac53713c404387b769caa26813e6";
    //获取应用id
    var applicationId = $.context.getCurrentApplicationId();
    //获取文档对象
    var document = $.form.getFormInstanceDocument(formModelId, id, applicationId);
    //返回文档对象
    return document;
})()
# 6.31 通过表单名称获取文档对象
  • 调用方式:$.form.getFormInstanceDocumentByName(formName,id,applicationId)
  • 返回对象:Document 文档对象
  • 参数说明:
参数 数据类型 说明
formName String 表单名
id String 文档ID
applicationId String 应用ID
  • 函数demo:
(function(){
    //表单名称
    var formName = "采购单";
    //表单实例id
    var id = "87e8ac53713c404387b769caa26813e6";
    //获取应用id
    var applicationId = $.context.getCurrentApplicationId();
    //获取文档对象
    var document = $.form.getFormInstanceDocumentByName(formName, id, applicationId);
    //返回文档对象
    return document;
})()
# 6.32 通过控件名称获取对应的腾讯云上私有读文件的临时访问地址
  • 调用方式:$.form.getTemporaryFileAccessAddress(applicationId,formName,docId,fieldName)
  • 返回对象:List 临时文件访问链接数组
  • 参数说明:
参数 数据类型 说明
applicationId String 应用ID
formName String 表单名
docId String 文档ID
fieldName String 控件名称
  • 函数demo:
# 6.33 删除表单
  • 调用方式:$.form.deleteFormDocument(formModelId,id,applicationId)
  • 返回对象:void
  • 参数说明:
参数 数据类型 说明
formModelId String 表单模型ID
id String 表单实例ID
applicationId String 应用ID
  • 函数demo:
(function(){
    //表单模型id
    var formModelId ="b1e6ed0a78864a96bea5521403c175d1";
    //表单实例id
    var id = "87e8ac53713c404387b769caa26813e6";
    //获取应用id
    var applicationId = $.context.getCurrentApplicationId();
    //删除表单对象
    $.form.deleteFormDocument(formModelId, id, applicationId);
})()
# 6.34 获取指定parentId的子表单数据集合
  • 调用方式:$.form.getSubFormDocuments(parentId,parentFormId,subFormId,applicationId)
  • 返回对象:List 表单数据集合
  • 参数说明:
参数 数据类型 说明
parentId String 主表单实例ID
parentFormId String 主表单formModelID
subFormId String 子表单formModelID
applicationId String 应用ID
  • 函数demo:
(function(){
    //主表单实例id
    var parentId ="b1e6ed0a78864a96bea5521403c175d1";
    //主表单模型id
    var parentFormId = "87e8ac53713c404387b769caa26813e6";
    //子表单模型id
    var subFormId ="f998d878317842ec9d26fc85da433877";
    //应用Id
    var applicationId = $.context.getCurrentApplicationId();
    //获取子表单数据集合
    var subFormDocuments = $.form.getSubFormDocuments(parentId, parentFormId, subFormId, applicationId);
    //返回子表单数据集合
    return subFormDocuments;
})()
# 6.35 多条件查询表单实例友好值JSONObject集合(分页)
  • 调用方式:$.form.getPrettyDocumentsPageByConditionAndOrderByAsJson(applicationId,formName,conditionMap,orderByMap,page,pageSize)
  • 返回对象:PageUtils 文档对象集合(Json对象形式)
  • 参数说明:
参数 数据类型 说明
applicationId String 应用ID
formName String 表单名称
conditionMap Map 查询条件键值对
orderByMap Map 排序
page Integer 页码
pageSize Integer 分页大小
  • 函数demo:
(function(){
    //构建应用Id
    var applicationId = "4";
    //构建表单名称
    var formName = "请假单";
    //构建控件值键对
    var conditionMap = new Packages.java.util.HashMap();
    conditionMap.put("请假人", "张三");
    var orderByMap = new Packages.java.util.HashMap();
    orderByMap.put("请假人", true);
    var page = 1;
    var pageSize = 10;
    return $.form.getPrettyDocumentsPageByConditionAndOrderByAsJson(applicationId, formName, conditionMap, orderByMap, page, pageSize);
})()

# 7.HTTP请求函数库

# 标识符:httpclient

# 函数库说明:用于执行与HTTP请求相关的操作, 具有发送get请求, 发送post请求, 发送put请求和发送get请求

# 提供函数:

# 7.1 发送put请求
  • 调用方式:$.httpclient.sendPut(uri,params,headers,body)
  • 返回对象:String 响应字符串
  • 参数说明:
参数 数据类型 说明
uri String 请求uri
params Map 请求参数
headers Map header设置
body String json字符串
  • 函数demo:
(function(){
    //构建URI
    var uri = "http://www.baidu.com";
    //构建参数
    var params = new Packages.java.util.HashMap();
    params.put("word","hello");
    //构建请求头
    var headers = new Packages.java.util.HashMap();
    headers.put("Content-Type","application/json;charset=UTF-8");
    //构建json字符串
    var jsonStr = "{ "key": "I am a key", "value": 100 }";
    //获取响应字符串
    var response = $.httpclient.sendPut(uri,params,headers,jsonStr);
    //返回响应字符串
    return response;
})()
# 7.2 发送GET请求
  • 调用方式:$.httpclient.sendGet(uri,params,headers)
  • 返回对象:String 响应字符串
  • 参数说明:
参数 数据类型 说明
uri String 请求uri
params Map 请求参数
headers Map header设置
  • 函数demo:
(function(){
    //构建URI
    var uri = "http://www.baidu.com";
    //构建参数
    var params = new Packages.java.util.HashMap();
    params.put("word","hello");
    //构建请求头
    var headers = new Packages.java.util.HashMap();
    headers.put("Content-Type","application/json;charset=UTF-8");
    //获取响应字符串
    var response = $.httpclient.sendGet(uri,params,headers);
    //返回响应字符串
    return response;
})()
# 7.3 发送post请求
  • 调用方式:$.httpclient.sendPost(uri,params,headers,body)
  • 返回对象:String 响应字符串
  • 参数说明:
参数 数据类型 说明
uri String 请求uri
params Map 请求参数
headers Map header设置
body String json字符串
  • 函数demo:
(function(){
    //构建URI
    var uri = "http://www.baidu.com";
    //构建参数
    var params = new Packages.java.util.HashMap();
    params.put("word","hello");
    //构建请求头
    var headers = new Packages.java.util.HashMap();
    headers.put("Content-Type","application/json;charset=UTF-8");
    //构建json字符串
    var jsonStr = "{ "key": "I am a key", "value": 100 }";
    //获取响应字符串
    var response = $.httpclient.sendPost(uri,params,headers,jsonStr);
    //返回响应字符串
    return response;
})()
# 7.4 发送delete请求
  • 调用方式:$.httpclient.sendDel(uri,params,headers)
  • 返回对象:String 响应字符串
  • 参数说明:
参数 数据类型 说明
uri String 请求uri
params Map 请求参数
headers Map header设置
  • 函数demo:
(function(){
    //构建URI
    var uri = "http://www.baidu.com";
    //构建参数
    var params = new Packages.java.util.HashMap();
    params.put("word","hello");
    //构建请求头
    var headers = new Packages.java.util.HashMap();
    headers.put("Content-Type","application/json;charset=UTF-8");
    //获取响应字符串
    var response = $.httpclient.sendDel(uri,params,headers);
    //返回响应字符串
    return response;
})()

# 8.JSON转换工具函数库

# 标识符:json

# 函数库说明:转换JSON格式的工具, 具有字符串转json对象, 字符串转json数组对象, object转json字符串和object转json对象方法

# 提供函数:

# 8.1 对象转JSON字符串
  • 调用方式:$.json.objectToJsonString(object)
  • 返回对象:String JSON字符串
  • 参数说明:
参数 数据类型 说明
object Object 对象
  • 函数demo:
(function(){
    //构造JSON字符串
    var jsonStr = "{ 'name': 'xiaoming', 'sex': 'man' }";
    //获取JSON对象
    var jsonObject = $.json.stringToJsonObject(jsonStr);
    //获取JSON字符串
    var string = $.json.objectToJsonString(jsonObject);
    //返回JSON字符串
    return string;
})()
# 8.2 对象转JSON对象
  • 调用方式:$.json.objectToJsonObject(object)
  • 返回对象:JSONObject JSON对象(类: com.alibaba.fastjson.JSONObject())
  • 参数说明:
参数 数据类型 说明
object Object 对象
  • 函数demo:
(function(){
    //获取对象
    var map = new Packages.java.util.HashMap();
    map.put('key','value')
    //获取JSON对象
    var jsonObject = $.json.objectToJsonObject(map);
    //返回JSON对象
    return jsonObject;
})()
# 8.3 JSON字符串转为JSON对象
  • 调用方式:$.json.stringToJsonObject(jsonStr)
  • 返回对象:JSONObject JSON对象(类: com.alibaba.fastjson.JSONObject())
  • 参数说明:
参数 数据类型 说明
jsonStr String JSON字符串
  • 函数demo:
(function(){
    //获取JSON字符串
    var jsonStr = "{ 'name': 'xiaoming', 'sex': 'man' }";
    //获取JSON对象
    var jsonObject = $.json.stringToJsonObject(jsonStr);
    //返回JSON对象
    return jsonObject;
})()
# 8.4 字符串转JSON数组对象
  • 调用方式:$.json.stringToJsonArray(jsonStr)
  • 返回对象:JSONArray JSON数组对象(类: com.alibaba.fastjson.JSONArray())
  • 参数说明:
参数 数据类型 说明
jsonStr String JSON字符串
  • 函数demo:
(function(){
    //获取JSON字符串
    var jsonStr = "[{'key': 'keyA','value': 'A'}, {'key': 'keyB','value': 'B'}]";
    //获取JSON数组对象
    var jsonArray = $.json.stringToJsonArray(jsonStr);
    //返回JSON数组对象
    return jsonArray;
})()

# 9.日志函数库

# 标识符:log

# 函数库说明:与日志有关的操作, 具有打印提示日志内容, 捕获异常和校验的方法

# 提供函数:

# 9.1 异常
  • 调用方式:$.log.error(logger,objects)
  • 返回对象:void
  • 参数说明:
参数 数据类型 说明
logger String 日志字符串
objects Object[] 替换对象
  • 函数demo:
(function(){
    //日志字符串
    var logger = "{}+{}={}";
    //替换对象
    var add1 = 1;
    var add2 = 2;
    var result = 3;
    //获取异常日志内容
    var errorInfo = $.log.error(logger, add1, add2, result);
    //返回
    return errorInfo;
   })()
# 9.2 校验
  • 调用方式:$.log.debug(logger,objects)
  • 返回对象:void
  • 参数说明:
参数 数据类型 说明
logger String 日志字符串
objects Object[] 替换对象
  • 函数demo:
(function(){
    //日志字符串
    var logger = "{}+{}={}";
    //替换对象
    var add1 = 1;
    var add2 = 2;
    var result = 3;
    //获取校验日志内容
    var debugInfo = $.log.debug(logger, add1, add2, result);
   //返回校验内容
    return debugInfo;
   })()
# 9.3 警告
  • 调用方式:$.log.warn(logger,objects)
  • 返回对象:void
  • 参数说明:
参数 数据类型 说明
logger String 日志字符串
objects Object[] 替换对象
  • 函数demo:
(function(){
    //日志字符串
    var logger = "{}+{}={}";
    //替换对象
    var add1 = 1;
    var add2 = 2;
    var result = 3;
    //获取警告日志内容
    var warnInfo = $.log.warn(logger, add1, add2, result);
    //返回
    return warnInfo;
   })()
# 9.4 提示
  • 调用方式:$.log.info(logger,objects)
  • 返回对象:void
  • 参数说明:
参数 数据类型 说明
logger String 日志字符串
objects Object[] 替换对象
  • 函数demo:
(function(){
    //日志字符串
    var logger = "{}+{}={}";
    //替换对象
    var add1 = 1;
    var add2 = 2;
    var result = 3;
    //获取提示日志内容
    var info = $.log.info(logger, add1, add2, result);
    //返回
    return info;
   })()

# 10.消息发送函数库

# 标识符:message

# 函数库说明:获取消息发送相关属性, 具有发送邮箱消息和发送普通消息类型站内信方法

# 提供函数:

# 10.1 发送渠道图片消息
  • 调用方式:$.message.sendImageCard(title,description,url,picurl,receiveUserIds)
  • 返回对象:void
  • 参数说明:
参数 数据类型 说明
title String 消息标题
description String 消息描述
url String 跳转链接
picurl String 图片地址
receiveUserIds List 消息接收人Id集合
  • 函数demo:
(function(){
    // 消息标题(标题内容字节长度限制:128)
    var title = "消息标题";
    // 消息描述(标题内容字节长度限制:512)
    var description = "消息描述";
    // 点击后跳转的链接(标题内容字节长度限制:2048),请确保包含了协议头(http/https)
    var url = "消息链接";
    // 图片地址,请确保包含了协议头(http/https)
    var picurl = "https://do1.test.com/123.jpg";
    // 接收用户id数组
    var receiveUserIds = new Packages.java.util.ArrayList();
    receiveUserIds.add("12345678");

    // 发送图片消息到租户绑定渠道中
    $.message.sendImageCard(title, description, url, btntxt, picurl, receiveUserIds);
})()
# 10.2 发送单个邮件(自定义内容模式)
  • 调用方式:$.message.sendEmail(title,content,ccArrayList,receiverName)
  • 返回对象:void
  • 参数说明:
参数 数据类型 说明
title String 邮件标题
content String 邮件正文
ccArrayList List 抄送人
receiverName String 接收用户邮箱地址
  • # 函数demo:

(function(){
    //邮件标题
    var title = "邮件的标题";
    //邮件正文, 可通过插入H5标签的方式定义正文格式(正文内容字节长度限制:2048)
    var content = "<h1>邮件的正文内容</h1>";
    //抄送人
    var ccArrayList = new Packages.java.util.ArrayList();
    ccArrayList.add("aaa@qq.com");
    //接收用户id
    var receiverName = "aaa@qq.com";
    //发送邮件
    $.message.sendEmail(title, content, ccArrayList, receiverName);
})()
# 10.3 发送企业微信图文消息
  • 调用方式:$.message.sendImageCard(title,description,url,picurl,receiveUserIds)
  • 返回对象:void
  • 参数说明:
参数 数据类型 说明
title String 消息标题
description String 消息描述
url String 消息跳转链接
picurl String 图片地址
receiveUserIds List 消息接收人Id集合
  • 函数demo:
(function(){
    // 消息标题(标题内容字节长度限制:128)
    var title = "消息标题";
    // 消息描述(标题内容字节长度限制:512)
    var description = "消息描述";
    // 点击后跳转的链接(标题内容字节长度限制:2048),请确保包含了协议头(http/https)
    var url = "跳转链接";
    // 图片地址,必须是图片链接,请确保包含了协议头(http/https)
    var picurl = "https://do1.test.com/123.jpg";
    // 接收用户id数组
    var receiveUserIds = new Packages.java.util.ArrayList();
    receiveUserIds.add("12345678");

    // 发送图文消息到企业微信
    $.message.sendImageCard(title, description, url, picurl, receiveUserIds);
})()
# 10.4 批量发送邮件(自定义内容模式)
  • 调用方式:$.message.batchSendEmail(title,content,ccArrayList,receiverArrayList)
  • 返回对象:void
  • 参数说明:
参数 数据类型 说明
title String 邮件标题
content String 邮件正文
ccArrayList List 抄送人
receiverArrayList List 接收用户邮箱地址
  • 函数demo:
(function(){
    //邮件标题
    var title = "邮件的标题";
    //邮件正文
    var content = "邮件的正文内容";
    //抄送人
    var ccArrayList = new Packages.java.util.ArrayList();
    ccArrayList.add("aaa@qq.com");
    //接收用户id集合(单次发送不超过100人)
    var receiverArrayList = new Packages.java.util.ArrayList();
    receiverArrayList.add("aaa@qq.com");
    //发送邮件
    $.message.batchSendEmail(title, content, ccArrayList, receiverArrayList);
})()
# 10.5 发送企业微信文本消息
  • 调用方式:$.message.sendWxText(content,receiveUserIds)
  • 返回对象:void
  • 参数说明:
参数 数据类型 说明
content String 正文
receiveUserIds List 消息接收人Id
  • 函数demo:
(function(){
    // 文本消息(文本内容字节长度限制:2048)
    var content = "文本消息内容";
    // 接收用户id数组
    var receiveUserIds = new Packages.java.util.ArrayList();
    receiveUserIds.add("12345678");

    // 发送文本消息到企业微信中
    $.message.sendWxText(content, receiveUserIds);
})()
# 10.6 发送微信公众号模板消息
  • 调用方式:$.message.sendWxOfficialCountTemplateMessage(templateId,context,wxOpenIds,url)
  • 返回对象:void
  • 参数说明:
参数 数据类型 说明
templateId String 模板id
context JSONObject 模板数据
wxOpenIds List 接收人集合
url String 跳转链接
  • 函数demo:
(function () {
   //模板消息id
   var templateId = "1X0ek7H2r2tKVMS3BjAxcUyA5iJyXNImXyMXyHpsLp8";

   //接收人微信openId
   //从表单文档里面获取(外部单数据)
   var currentDocument = $.context.getCurrentDocument();
   var wxOpenId = currentDocument.getAuthor();
   var wxOpenIds = new Packages.java.util.ArrayList();
   wxOpenIds.add(wxOpenId);

   //跳转链接(可以为空)
   var url = "http://baidu.com.cn"

   //模板消息value(按照模板内容进行填写)
   var valueJsonObject1 = new Packages.com.alibaba.fastjson.JSONObject();
   var valueJsonObject2 = new Packages.com.alibaba.fastjson.JSONObject();
   var valueJsonObject3 = new Packages.com.alibaba.fastjson.JSONObject();
   var valueJsonObject4 = new Packages.com.alibaba.fastjson.JSONObject();
   valueJsonObject1.put("value", "恭喜你购买成功!");
   valueJsonObject1.put("color", "#173177");
   valueJsonObject2.put("value", "巧克力");
   valueJsonObject2.put("color", "#173177");
   valueJsonObject3.put("value", "39.8元");
   valueJsonObject3.put("color", "#173177");
   valueJsonObject4.put("value", "欢迎再次购买!");
   valueJsonObject4.put("color", "#173177");
   //模板内容(按照模板内容进行填写)
   var context = new Packages.com.alibaba.fastjson.JSONObject();
   context.put("first", valueJsonObject1);
   context.put("keyword1", valueJsonObject2);
   context.put("keyword2", valueJsonObject3);
   context.put("remark", valueJsonObject4);

   //发送微信公众号模板消息
   $.message.sendWxOfficialCountTemplateMessage(templateId, context, wxOpenIds, url)
})()
# 10.7 发送企业微信文本消息(可选以应用方式发送)
  • 调用方式:$.message.sendApplicationWxText(content,receiveUserIds,applicationId)
  • 返回对象:void
  • 参数说明:
参数 数据类型 说明
content String 正文
receiveUserIds List 消息接收人Id
applicationId String 应用ID
  • 函数demo:
(function(){
    // 文本消息(文本内容字节长度限制:2048)
    var content = "文本消息内容";
    // 接收用户id数组
    var receiveUserIds = new Packages.java.util.ArrayList();
    receiveUserIds.add("12345678");
    //获取应用id
    var applicationId = $.context.getCurrentApplicationId();

    // 发送文本消息到企业微信中
    $.message.sendWxText(content, receiveUserIds, applicationId);
})()
# 10.8 发送普通消息类型站内信
  • 调用方式:$.message.sendGeneralStationMessage(subject,context,receiveUserIds)
  • 返回对象:void
  • 参数说明:
参数 数据类型 说明
subject String 站内信标题
context String 站内信正文
receiveUserIds String 接收用户id集合
  • 函数demo:
(function(){
    //站内信标题
    var subject = "站内信的标题";
    //站内信正文
    var context = "站内信的正文内容";
    //接收用户id集合
    var receiveUserIds = $.context.getCurrentUserId();
    //发送站内信
    $.message.sendGeneralStationMessage(subject, context, receiveUserIds);
})()
# 10.9 发送企业微信卡片消息(以可选应用方式发送)
  • 调用方式:$.message.sendApplicationWxTextCard(title,description,url,btntxt,receiveUserIds,applicationId)
  • 返回对象:void
  • 参数说明:
参数 数据类型 说明
title String 卡片消息标题
description String 消息描述
url String 跳转链接
btntxt String 按钮文字,默认为“详情”
receiveUserIds List 消息接收人Id
applicationId String 应用ID
  • 函数demo:
(function(){
    // 卡片消息内容
    // 消息标题(标题内容字节长度限制:128)
    var title = "消息标题";
    // 消息描述(标题内容字节长度限制:512)
    var description = "消息描述";
    //获取应用id
    var applicationId = $.context.getCurrentApplicationId();
    // 点击后跳转的链接(标题内容字节长度限制:2048),请确保包含了协议头(http/https)
    var url = "消息链接";
    // 按钮文字,默认为“详情”(按钮文字内容长度限制:4)
    var btntxt = "按钮文字";
    // 接收用户id数组
    var receiveUserIds = new Packages.java.util.ArrayList();
    receiveUserIds.add("12345678");

    // 发送卡片消息到企业微信中
    $.message.sendApplicationWxTextCard(title, description, url, btntxt, receiveUserIds, applicationId);
})()

# 11.流程函数库

# 标识符:process

# 函数库说明:流程相关操作, 具有启动流程, 完成任务和任务驳回等方法

# 提供函数:

# 11.1 获取任务列表
  • 调用方式:$.process.getTaskListByProcessInstanceIdAndApplicationId(processInstanceId,applicationId)
  • 返回对象:List 任务列表
  • 参数说明:
参数 数据类型 说明
processInstanceId String 流程实例ID
applicationId String 应用ID
  • 函数demo:
(function(){
   //流程实例id
   var processInstanceId = "24ce6ae513534a4f80f2db0c3646c7b2";
   //应用id
   var applicationId = $.context.getCurrentApplicationId();
   //获取任务列表
   var taskList = $.process.getTaskListByProcessInstanceIdAndApplicationId(processInstanceId, applicationId);
   //返回任务列表
   return taskList;
})()
# 11.2 获取执行人员
  • 调用方式:$.process.getApproversByTaskIdAndApplicationId(taskId,applicationId)
  • 返回对象:List 执行人员列表
  • 参数说明:
参数 数据类型 说明
taskId String 任务ID
applicationId String 应用ID
  • 函数demo:
(function(){
   //任务id
   var taskId = "63e5cde3aebb4fafaa7026098eb5a810";
   //应用id
   var applicationId = $.context.getCurrentApplicationId();
   //获取执行人员列表
   var approvers = $.process.getApproversByTaskIdAndApplicationId(taskId, applicationId);
   //返回执行人员列表
   return approvers;
})()
# 11.3 通过用户id获取流程实例列表(分页)
  • 调用方式:$.process.getTodoProcessInstanceListByUserId(userId,page,pageSize)
  • 返回对象:RestPage 流程实例列表
  • 参数说明:
参数 数据类型 说明
userId String 用户ID
page int 页数
pageSize int 每页记录数
  • 函数demo:
(function(){
   //用户id
   var userId = $.context.getCurrentUserId();
   //当前页
   var page = 1;
   //每页记录数
   var pageSize = 10;
   //获取分页流程实例列表
   var todoProcessInstanceList = $.process.getTodoProcessInstanceListByUserId(userId, page, pageSize);
   //返回流程实例列表
   return todoProcessInstanceList;
})()
# 11.4 获取操作历史内容
  • 调用方式:$.process.getCommentHistoriesByProcessInstanceIdAndApplicationId(processInstanceId,applicationId)
  • 返回对象:List 操作历史内容
  • 参数说明:
参数 数据类型 说明
processInstanceId String 流程实例ID
applicationId String 应用ID
  • 函数demo:
(function(){
   //流程实例id
   var processInstanceId = "24ce6ae513534a4f80f2db0c3646c7b2";
   //应用id
   var applicationId = $.context.getCurrentApplicationId();
   //获取操作历史内容
   var commentHistories = $.process.getCommentHistoriesByProcessInstanceIdAndApplicationId(processInstanceId, applicationId);
   //返回操作历史内容
   return commentHistories;
})()
# 11.5 获取流程定义对象
  • 调用方式:$.process.getProcessDefinitionByProcessDefinitionIdAndApplication(processDefinitionId,applicationId)
  • 返回对象:ProcessDefinitionDTO 流程定义对象
  • 参数说明:
参数 数据类型 说明
processDefinitionId String 流程定义ID
applicationId String 应用ID
  • 函数demo:
(function(){
   //流程定义id
   var processDefinitionId = "f5633f8c564b4e8f8ed0d6dffdefecf5";
   //构建应用id
   var applicationId = $.context.getCurrentApplicationId();
   //获取流程定义对象
   var processDefinition = $.process.getProcessDefinitionByProcessDefinitionIdAndApplication(processDefinitionId, applicationId);
   //返回流程定义对象
   return processDefinition;
})()
# 11.6 获取任务实例
  • 调用方式:$.process.getTaskListByProcessInstanceIdAndUserIdAndApplicationId(processInstanceId,userId,applicationId)
  • 返回对象:List 任务实例对象
  • 参数说明:
参数 数据类型 说明
processInstanceId String 流程实例ID
userId String 用户ID
applicationId String 应用ID
  • 函数demo:
(function(){
   //流程实例id
   var processInstanceId = "24ce6ae513534a4f80f2db0c3646c7b2";
   //用户id
   var userId = $.context.getCurrentUserId();
   //应用id
   var applicationId = $.context.getCurrentApplicationId();
   //获取任务实例对象
   var task = $.process.getTaskListByProcessInstanceIdAndUserIdAndApplicationId(processInstanceId, userId, applicationId);
   //返回任务实例对象
   return task;
})()
# 11.7 获取流程实例
  • 调用方式:$.process.getProcessInstanceById(processInstanceId)
  • 返回对象:ProcessInstanceDTO 流程实例对象
  • 参数说明:
参数 数据类型 说明
processInstanceId String 流程实例ID
  • 函数demo:
(function(){
   //流程实例id
   var processInstanceId = "24ce6ae513534a4f80f2db0c3646c7b2";
   //获取流程实例对象
   var processInstance = $.process.getProcessInstanceById(processInstanceId);
   //返回流程实例对象
   return processInstance;
})()
# 11.8 获取已经完成的流程实例列表
  • 调用方式:$.process.getHaveDoneProcessInstanceList(userId,page,pageSize)
  • 返回对象:RestPage 流程实例列表
  • 参数说明:
参数 数据类型 说明
userId String 用户ID
page int 页数
pageSize int 每页记录数
  • 函数demo:
(function(){
   //用户id
   var userId = $.context.getCurrentUserId();
   //当前页
   var page = 1;
   //每页记录数
   var pageSize = 10;
   //获取已经完成的流程实例列表
   var haveDoneProcessInstanceList = $.process.getHaveDoneProcessInstanceList(userId, page, pageSize);
   //返回流程实例列表
   return haveDoneProcessInstanceList;
})()
# 11.9 启动流程
  • 调用方式:$.process.startProcessInstance(processModelKey,userId,document)
  • 返回对象:ProcessInstanceDTO 流程实例对象
  • 参数说明:
参数 数据类型 说明
processModelKey String 流程模型key
userId String 用户ID
document Document 文档对象
  • 函数demo:
(function(){
   //流程模型key
   var processModelKey = "key";
   //用户id
   var userId = $.context.getCurrentUserId();
   //文档对象
   var document = $.context.getCurrentDocument();
   //获取流程实例对象
   var processInstance = $.process.startProcessInstance(processModelKey, userId, document);
   //返回流程实例对象
   return processInstance;
})()
# 11.10 获取初始流程实例列表
  • 调用方式:$.process.getInitiateProcessInstanceList(userId,page,pageSize)
  • 返回对象:RestPage 流程实例列表
  • 参数说明:
参数 数据类型 说明
userId String 用户ID
page int 页数
pageSize int 每页记录数
  • 函数demo:
(function(){
   //用户id
   var userId = $.context.getCurrentUserId();
   //当前页
   var page = 1;
   //每页记录数
   var pageSize = 10;
   //获取初始流程实例列表
   var initiateProcessInstanceList = $.process.getInitiateProcessInstanceList(userId, page, pageSize);
   //返回流程实例列表
   return initiateProcessInstanceList;
})()
# 11.11 任务委托
  • 调用方式:$.process.entrustTask(taskId,userId,entrustUserId,processInstanceId,comment)
  • 返回对象:void
  • 参数说明:
参数 数据类型 说明
taskId String 任务ID
userId String 用户ID
entrustUserId String 受委托用户ID
processInstanceId String 流程实例ID
comment String 评论信息
  • 函数demo:
(function(){
   //任务id
   var taskId = "63e5cde3aebb4fafaa7026098eb5a810";
   //用户id
   var userId = $.context.getCurrentUserId();
   //受委托用户id
   var entrustUserId = "85b5abdc85054509a9eab5054053e2f0";
   //流程实例id
   var processInstanceId = "24ce6ae513534a4f80f2db0c3646c7b2";
   //评论信息
   var comment = "comment";
   //委托任务
   $.process.entrustTask(taskId, userId, entrustUserId, processInstanceId, comment);
})()
# 11.12 完成任务
  • 调用方式:$.process.completeTask(processInstanceId,taskId,userId,document,comment)
  • 返回对象:TaskDTO 任务对象
  • 参数说明:
参数 数据类型 说明
processInstanceId String 流程实例ID
taskId String 任务ID
userId String 用户ID
document Document 表单数据
comment String 评论信息
  • 函数demo:
(function(){
   //流程实例id
   var processInstanceId = "24ce6ae513534a4f80f2db0c3646c7b2";
   //任务id
   var taskId = "63e5cde3aebb4fafaa7026098eb5a810";
   //用户id
   var userId = $.context.getCurrentUserId();
   //表单数据
   var document = $.context.getCurrentDocument();
   //评论信息
   var comment = "comment";
   //获取任务对象
   var task = $.process.completeTask(processInstanceId, taskId, userId, document, comment);
   //返回任务对象
   return task;
})()
# 11.13 任务驳回
  • 调用方式:$.process.returnTask(processInstanceId,taskId,returnNodeId,userId,comment)
  • 返回对象:TaskDTO 任务对象
  • 参数说明:
参数 数据类型 说明
processInstanceId String 流程实例ID
taskId String 任务ID
returnNodeId String 驳回节点ID
userId String 用户ID
comment String 评论信息
  • 函数demo:
(function(){
   //流程实例id
   var processInstanceId = "24ce6ae513534a4f80f2db0c3646c7b2";
   //任务id
   var taskId = "63e5cde3aebb4fafaa7026098eb5a810";
   //驳回节点id
   var returnNodeId = "obj_1rgeuk5";
   //用户id
   var userId = $.context.getCurrentUserId();
   //评论信息
   var comment = "comment";
   //获取任务对象
   var task = $.process.returnTask(processInstanceId, taskId, returnNodeId, userId, comment);
   //返回任务对象
   return task;
})()
# 11.14 更新流程标题
  • 调用方式:$.process.updateTitle(title,processInstanceId)
  • 返回对象:void
  • 参数说明:
参数 数据类型 说明
title String 标题信息
processInstanceId String 流程实例ID
  • 函数demo:
(function(){
   //标题信息
   var title = "title1";
   //流程实例id
   //途径1
   //从流程实例页面中F12获取
   //途径2
   //从上下文中获取  $.context.getCurrentProcessInstanceEntity().getId()
   //途径3
   //从当前document中获取 $.context.getCurrentDocument().getProcessInstanceId()
   var processInstanceId = "24ce6ae513534a4f80f2db0c3646c7b2";
   //更新流程标题
   $.process.updateTitle(title, processInstanceId);
})()
# 11.15 获取任务对象
  • 调用方式:$.process.getTaskById(taskId)
  • 返回对象:TaskDTO 任务对象
  • 参数说明:
参数 数据类型 说明
taskId String 任务ID
  • 函数demo:
(function(){
   //任务id
   var taskId = "63e5cde3aebb4fafaa7026098eb5a810";
   //获取任务对象
   var task = $.process.getTaskById(taskId);
   //返回任务对象
   return task;
})()
# 11.16 任务传阅
  • 调用方式:$.process.circularizeTask(taskId,userId,circulatedUserIds,processInstanceId,comment)
  • 返回对象:void
  • 参数说明:
参数 数据类型 说明
taskId String 任务ID
userId String 用户ID
circulatedUserIds List 所传阅人员ID集合
processInstanceId String 流程实例ID
comment String 评论信息
  • 函数demo:
(function(){
   //任务id
   var taskId = "63e5cde3aebb4fafaa7026098eb5a810";
   //用户id
   var userId = $.context.getCurrentUserId();
   //所传阅人员id集合
   var circulatedUserIds = new Packages.java.util.ArrayList();
   circulatedUserIds.add("b3470ea897d04748981a39df8b0750ec");
   circulatedUserIds.add("85b5abdc85054509a9eab5054053e2f0");
   //构建流程实例id
   var processInstanceId = "24ce6ae513534a4f80f2db0c3646c7b2";
   //构建评论信息
   var comment = "comment";
   //委托任务
   $.process.entrustTask(taskId, userId, circulatedUserIds, processInstanceId, comment);
})()

# 12.角色函数库

# 标识符:role

# 函数库说明:获取应用下配置角色相关信息, 具有获取角色信息及相关通讯录信息等方法

# 提供函数:

# 12.1 通过应用id,角色id获取绑定的用户信息集合(分页)
  • 调用方式:$.role.getUsersByAppIdAndRoleId(applicationId,roleId,pageSize,currentPage)
  • 返回对象:RestPage 用户信息集合(包含分页信息)
  • 参数说明:
参数 数据类型 说明
applicationId String 应用id
roleId String 角色id
pageSize int 每页条数
currentPage int 当前页
  • 函数demo:
(function(){
    //获取部门id
    var appId = "64c761a7fb7f4847992466ee76efc195";
    //获取角色id
    var roleId = "64c761a7fb7f4847992466ee76efc998";
    //返回用户信息集合(包含分页信息)
    return $.role.getUsersByAppIdAndRoleId(appId, roleId, 10, 1);
})()
# 12.2 通过应用id获取角色信息
  • 调用方式:$.role.getRolesByApplicationId(applicationId)
  • 返回对象:List 角色信息集合
  • 参数说明:
参数 数据类型 说明
applicationId String 应用id
  • 函数demo:
(function(){
    //应用id
    var appId = "64c761a7fb7f4847992466ee76efc195";
    //获取角色信息
    var roles = $.role.getRolesByApplicationId(appId);
    //获取角色信息
    return roles;
})()

# 13.校验函数库

# 标识符:validate

# 函数库说明:获取校验信息, 具有获取校验信息存储对象的方法

# 提供函数:

# 13.1 获取校验信息存储对象
  • 调用方式:$.validate.create()
  • 返回对象:DefaultValidationMessages 校验信息存储对象
  • 函数demo:
(function(){
    //获取默认校验信息集合
    var message = $.validate.create();
    message.addError("校验失败");
    //返回默认校验信息集合
    return message;
})()

# 14.HTTP请求新函数库

# 标识符:http

# 函数库说明:用于执行与HTTP请求相关的操作, 目前只具有发送post请求能力

# 提供函数:

# 14.1 发送post请求 支持form-data/json/x-www-form-urlencoded等格式请求,目前以header中的Content-type区分
  • 调用方式:$.http.sendPost(uri,params,headers,bodyMap)
  • 返回对象:String 响应字符串
  • 参数说明:
参数 数据类型 说明
uri String 请求uri
params Map 请求参数
headers Map header设置
bodyMap Map post请求body数据
  • 函数demo:
(function(){
    //构建URI
    var uri = "http://www.baidu.com";
    //构建参数
    var params = new Packages.java.util.HashMap();
    params.put("word","hello");
    //构建请求头
    var headers = new Packages.java.util.HashMap();
    //注意Content-Type目前只支持设置mediaType和charSet
    headers.put("Content-Type","multipart/form-data;");
    //构建body
    var bodyMap = new Packages.java.util.HashMap();
    //获取document的文件上传字段数据
    var doc = $.context.getCurrentDocument();
    var element = doc.getElementByName("文件上传字段");
    var jsonArray = element.getValue();
    var jsonObject = jsonArray.getJSONObject(0);
    //构建文件对象
    var fileDTO = new Packages.cn.com.do1.do1cloud.runtime.dto.FileDTO();
    //获取文件上传的fileId
    fileDTO.setFileId(jsonObject.get("fileId"));
    bodyMap.put("对接系统文件参数名称", fileDTO);
    //获取响应字符串
    var response = $.http.sendPost(uri,params,headers,bodyMap);
    //返回响应字符串
    return response;
})()
1 / 0