|
|
【myApps/OBPM版本号】:v5.0
【浏览器类型】:Chrome/其他
【联系方式-QQ】:请留下您的QQ号码
【联系电话】: 请留下您的联系电话,以便技术同事更好解决您的问题
【问题描述】:
Q: 列这些名称也要用脚本去获取?如果用sql的话?
A:看这段示例脚本脚本
//可以自己部门的数据,系统管理员可以查看所有数据 查询需要自己审批的数据及审批过后的数据
(function(){
var webUser =getWebUser();//获取当前用户
var userdeptid=webUser.getDefaultDepartment();//获取当前用户默认部门
var roles = webUser.getRoles();//获取当前用户角色集
//获取当前登录用户所有角色
var rolename = "";
if(roles !=null){
for(var iter = roles.iterator();iter.hasNext();){
var roler = iter.next();
rolename+=roler.getName()+";";
}}
var sql="select * from tlk_SecondmentNotice where 1=1 ";
if(rolename.indexOf("系统管理员")>=0){
}else if(rolename.indexOf("部门经理")>=0){
sql +=" and item_DefaultDepartment ='"+userdeptid+"'";
}else{
sql +=" and ( author ='"+webUser.getId()+"'";
sql += " OR id in (select DOC_ID from T_ACTORHIS his WHERE his.ACTORID ='"+webUser.getId()+"' union all select DOC_ID from T_ACTORRT rt WHERE rt.ACTORID ='"+webUser.getId()+"' union all select DOC_ID from T_FLOWHISTORY rt WHERE rt.ACTORID ='"+webUser.getId()+"' ))";
}
// 查询条件过滤
var ProcessStatus = getItemValueAsString("_ProcessStatus");
var _UserID = getItemValueAsString("_UserID");
var _RestStartTime = getItemValueAsString("_RestStartTime");
var _RestEndTime = getItemValueAsString("_RestEndTime");
if(isNotNull(_UserID)){
sql += "AND item_applicant = '"+_UserID+"'";
}
if(isNotNull(_RestStartTime)){
sql += "AND item_RestTime >= '"+_RestStartTime+"'";
}
if(isNotNull(_RestEndTime)){
sql += "AND item_RestTime <= '"+_RestEndTime+"'";
}
if(isNotNull(ProcessStatus)){
if("全部".equals(ProcessStatus)){
sql += "AND STATELABEL in('申请人','结束')"
}else{
sql += "AND STATELABEL <= '"+ProcessStatus+"'";
}
}
println("sql==="+sql);
return sql
})()
|
|