脚本逻辑出错导致,参考示例- /**
- *判断指定的用户在指定部门是否具有指定的角色
- *roleCode:角色编号 department:部门id
- *userId:用户ID
- */
- function isTheUserOwenTheDeptRolesByCode(userId, roleCode, department) {
- var doc = getCurrentDocument();
- var flag = false;
- var process = new Packages.cn.myapps.designtime.role.service.RoleServiceImpl();
- var role = process.findByRoleNo(roleCode, doc.getApplicationid());
- var roleId = role.getId();
- var sql = "select '" + getDomainid() + "'AS DOMAINID , userid as item_userid from " + DATASOURENAME + ".t_user_department_role_set where departmentid='" + department + "' and roleid='" + roleId + "' and userid='" + userId + "' ";
- var count = countBySQL(sql);
- if (count > 0) {
- flag = true;
- }
- return flag;
- };
- /**
- *根据角色编码判断当前用户是否具有下列角色(可以传多个角色编码)
- *roleCode:角色编码 传多个角色编码用";"隔开
- */
- function isOwenTheRolesByRoleCodes(roleCode) {
- var applicationid = getApplication();
- var flag = false;
- var process = new Packages.cn.myapps.runtime.role.service.RoleServiceImpl();
- if (roleCode != null && !"".equals(roleCode)) {
- if (roleCode.indexOf(";") >= 0) {
- var roleCodes = roleCode.split(";");
- if (roleCodes != null && roleCodes.length > 0) {
- for (var i = 0; i < roleCodes.length; i++) {
- var roleCodeI = roleCodes[i];
- var role1 = process.findByRoleNo(roleCodeI, applicationid);
- if (role1 != null) {
- var crRoleId = role1.getId();
- if (crRoleId != null && !"".equals(crRoleId)) {
- var roles = getWebUser().getRoles();
- for (var it = roles.iterator(); roles != null && it.hasNext(); ) {
- var role = it.next();
- var roleId = role.getId();
- if (crRoleId.equals(roleId)) {
- flag = true;
- break;
- }
- }
- }
- }
- }
- }
- } else {
- var role1 = process.findByRoleNo(roleCode, applicationid);
- if (role1 != null) {
- var crRoleId = role1.getId();
- if (crRoleId != null && !"".equals(crRoleId)) {
- var roles = getWebUser().getRoles();
- for (var it = roles.iterator(); roles != null && it.hasNext(); ) {
- var role = it.next();
- var roleId = role.getId();
- if (crRoleId.equals(roleId)) {
- flag = true;
- break;
- }
- }
- }
- }
- }
- }
- return flag;
- };
复制代码 |