已解决,代码如下(省略了 var sql=一行)
var user = getWebUser();
var userid=user.getId();
var doc = getCurrentDocument();
var curdept = user.getDepartments();
var depid ="";
for(var im = curdept .iterator();curdept !=null && im.hasNext();){
depid = im.next().getId();
}
println("depid :==============" + depid );
var depNameList = depid +",";
if (depid != null) {
var deptProcess = createProcess("cn.myapps.core.department.ejb.DepartmentProcess");
var dept = deptProcess.doView(depid); //doView的参数是部门的id
//var odeps = deptProcess.getSuperiorDeptList(depid); //当前部门上级的id集合
var odeps= deptProcess.getUnderDeptList(depid);//当前部门下级的id集合
if (odeps != null && odeps.size() > 0) {
for (var j = 0; j < odeps.size(); j++) {
for (var it = odeps.iterator(); it.hasNext();) {
var department = it.next();
depNameList += department.getId() +","; //取得各级部门名称并合并
}
}
}
println("depNameList :==============" + depNameList );
if(depid!=null){
sql += " and charindex( b.DEPARTMENTID ,'" + depNameList + "')>0" ;
}
}
println("sql :==============" + sql );
sql; |