<% /************************************************************@@ * 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 checkFlag=""; String upperID = request.getParameter("id"); String flag = request.getParameter("flag"); if(flag!=null && flag.equals("99")) checkFlag="checked"; 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 mUsers = new ArrayList(); 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 = 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) 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("
    "); for(int u=0; !hideUser && u "+mUsers.get(u).getName(pm)+" ("+mUsers.get(u).getId()+")"+" "+MString.checkNull(mUsers.get(u).getDutyName())+""); } for(int d=0; d  "+deptNameList[d]+""); else stringTree.append("
  •   "+deptNameList[d]+"
  • "); }else{ if(flag!=null && flag.equals("99")) stringTree.append("
  •   "+deptNameList[d]+"
  • "); else stringTree.append("
  •   "+deptNameList[d]+"
  • "); } } stringTree.append("
"); } 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(); } %>