You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
129 lines
5.8 KiB
129 lines
5.8 KiB
|
|
<% |
|
/************************************************************@@ |
|
* Program Name : subtree.jsp |
|
* Description : 하위트리 ajax |
|
* Author : 배정환 |
|
* Create Date : 2009-02-03 |
|
* History : |
|
@@************************************************************/ |
|
%> |
|
<%@ page contentType="text/html; charset=UTF-8" |
|
import="kr.co.kihyun.lang.MLong" import="kr.co.kihyun.beans.user.Part" |
|
import="kr.co.kihyun.beans.user.Dept" |
|
import="kr.co.kihyun.beans.user.DeptList"%> |
|
<%@page import="kr.co.kihyun.lang.MString"%> |
|
<%@page import="javax.jdo.Query"%> |
|
<%@page import="kr.co.kihyun.beans.entity.MUser"%> |
|
<%@page import="java.util.List"%> |
|
<%@page import="java.util.ArrayList"%> |
|
<%@page import="kr.co.kihyun.beans.entity.MDept"%> |
|
<%@page import="kr.co.kihyun.beans.entity.util.*"%> |
|
<%@page import="javax.jdo.PersistenceManager"%> |
|
<%@page import="javax.jdo.Transaction"%> |
|
<%@page import="org.slf4j.Logger"%> |
|
<%@page import="org.slf4j.LoggerFactory"%> |
|
|
|
<% |
|
Logger LOG = LoggerFactory.getLogger(this.getClass()); |
|
PersistenceManager pm = new MPersistenceManager(PMF.get().getPersistenceManager()); |
|
Transaction tx = pm.currentTransaction(); |
|
try{ |
|
response.setHeader("Cache-Control","no-cache"); |
|
response.setHeader("Pragma","no-cache"); |
|
response.setDateHeader("Expires",0); |
|
/********** session내의 userId **********/ |
|
String upperID = request.getParameter("id"); |
|
boolean hideUser = MString.isNull(request.getParameter("hideUser")) ? true : new Boolean(request.getParameter("hideUser")); |
|
LOG.debug("hideUser: {}", hideUser); |
|
|
|
/************ PartList **************/ |
|
int deptCount = 0; |
|
String[] deptIDList; |
|
String[] deptNameList; |
|
String[] deptOrganList; |
|
boolean[] deptSelTypeList; |
|
int userCount = 0; |
|
|
|
MDept mDept = null; |
|
Query q = null; |
|
List<MUser> mUsers = new ArrayList<MUser>(); |
|
|
|
DeptList deptList = new DeptList(); |
|
deptList.lowIDList(upperID); |
|
deptCount = deptList.getCount(); |
|
deptIDList = deptList.getIDList(); |
|
deptNameList = deptList.getNameList(); |
|
deptOrganList = deptList.getOrganList(); |
|
deptSelTypeList = deptList.getSelTypeList(); |
|
|
|
tx.begin(); |
|
|
|
mDept = (MDept)pm.getObjectById(MDept.class, upperID); |
|
q = pm.newQuery(MUser.class); |
|
q.setFilter("isDeleted == false && mDept == dept"); |
|
q.declareParameters("String dept"); |
|
if (!hideUser) { |
|
//v2. 13.SQL 삽입 : JDO형식이므로 해결책에 따른 prepare SQL 문으로 변경할 수 없음 |
|
mUsers = (List<MUser>) q.execute(mDept.getId()); |
|
//================= |
|
userCount = mUsers.size(); |
|
} |
|
|
|
StringBuffer stringTree = new StringBuffer(); |
|
Dept dept = new Dept(); |
|
Part part = new Part(); |
|
|
|
String dtName = dept.getName(upperID); |
|
String ptName = part.getName(dept.getPartID(upperID)); |
|
|
|
|
|
|
|
|
|
if(deptCount>0 || userCount>0){ |
|
stringTree.append("<ul class=\"mktree_b\">"); |
|
for(int u=0; !hideUser && u<userCount; u++){ |
|
String uname=ptName+"-"+dtName+"-"+mUsers.get(u).getName(pm); |
|
stringTree.append("<li id=\""+mUsers.get(u).getId()+"\"><span id=\"span_"+mUsers.get(u).getId()+"\" style=\"cursor:pointer;\" onclick=\"parent.userList('"+mUsers.get(u).getId()+"/"+upperID+"','"+uname+"', 'user'); selectItem('"+mUsers.get(u).getId()+"', 'user');\"><img src=\"/totsys/common/images/bullet.gif\"></span> <span id=\"spanA_"+mUsers.get(u).getId()+"\" style=\"cursor:pointer;\" onclick=\"parent.userList('"+mUsers.get(u).getId()+"/"+upperID+"','"+uname+"', 'user'); selectItem('"+mUsers.get(u).getId()+"', 'user');\">"+mUsers.get(u).getName(pm)+" ("+mUsers.get(u).getId()+")"+" "+MString.checkNull(mUsers.get(u).getDutyName())+"</span></li>"); |
|
} |
|
|
|
|
|
for(int d=0; d<deptCount; d++){ |
|
|
|
String dname=deptNameList[d]; |
|
|
|
if(!deptOrganList[d].equals(deptIDList[d])){ |
|
dname=part.getName(deptOrganList[d])+"-"+dname; |
|
} |
|
|
|
if(deptSelTypeList[d]){ |
|
stringTree.append("<li id=\""+deptIDList[d]+"\"><span id=\"span_"+deptIDList[d]+"\" style=\"cursor:pointer;\" onclick=\"toggleF('"+deptIDList[d]+"', '"+deptSelTypeList[d]+"'); selectItem('"+deptIDList[d]+"', 'dept'); parent.userList('"+deptIDList[d]+"','"+dname+"', 'dept');\"><img src=\"/totsys/common/images/open_plus.gif\" id='i_"+deptIDList[d]+"'> <img src=\"/totsys/common/images/plus.gif\" id='k_"+deptIDList[d]+"'></span><span id=\"spanA_"+deptIDList[d]+"\" style=\"cursor:pointer;\" onclick=\"selectItem('"+deptIDList[d]+"', 'dept'); parent.userList('"+deptIDList[d]+"','"+dname+"', 'dept');\"> "+deptNameList[d]+"</span><input id='h_"+deptIDList[d]+"' type='hidden' value='close'/><div id=\"t_"+deptIDList[d]+"\" style='display:none'></div></li>"); |
|
}else{ |
|
stringTree.append("<li id=\""+deptIDList[d]+"\"><span id=\"span_"+deptIDList[d]+"\" style=\"cursor:pointer;\" onclick=\"toggleF('"+deptIDList[d]+"', '"+deptSelTypeList[d]+"'); selectItem('"+deptIDList[d]+"', 'dept'); parent.userList('"+deptIDList[d]+"','"+dname+"', '');\"><img src=\"/totsys/common/images/open_plus.gif\" id='i_"+deptIDList[d]+"'> <img src=\"/totsys/common/images/uplus.gif\" id='k_"+deptIDList[d]+"'></span><span id=\"spanA_"+deptIDList[d]+"\" style=\"cursor:pointer;\" onclick=\"selectItem('"+deptIDList[d]+"', 'dept'); parent.userList('"+deptIDList[d]+"','"+dname+"', '');\"> "+deptNameList[d]+"</span><input id='h_"+deptIDList[d]+"' type='hidden' value='close'/><div id=\"t_"+deptIDList[d]+"\" style='display:none'></div></li>"); |
|
} |
|
|
|
} |
|
|
|
stringTree.append("</ul>"); |
|
} |
|
else{ |
|
|
|
stringTree.append(""); |
|
} |
|
|
|
tx.rollback(); |
|
|
|
if(deptCount>0 || userCount>0){ |
|
%> |
|
<%=stringTree.toString()%> |
|
<% |
|
} |
|
}catch(Exception ex){ |
|
ex.printStackTrace(); |
|
out.println(kr.co.kihyun.text.html.ServletUtil.getJavaScript("location='/servlet/kr.co.kihyun.beans.user.HttpSSOLogin?mode=logout';")); |
|
}finally{ |
|
if(tx.isActive()) |
|
tx.rollback(); |
|
pm.close(); |
|
} |
|
%>
|
|
|