SubjectSettingLeftAjax.jsp 3.6 KB
<%@page import="weaver.conn.RecordSet"%>
<%@page import="weaver.systeminfo.SystemEnv"%>
<%@page import="weaver.general.BaseBean"%>
<%@page import="org.apache.commons.lang.StringEscapeUtils"%>
<%@page import="org.json.JSONObject"%>

<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="weaver.general.Util" %>
<%@ page import="java.util.*,java.sql.Timestamp" %>
<%@ page import="weaver.general.GCONST" %>
<%@page import="weaver.hrm.HrmUserVarify"%>
<%@page import="weaver.hrm.User"%>
<jsp:useBean id="rs1" class="weaver.conn.RecordSet" scope="page" />
<jsp:useBean id="rs2" class="weaver.conn.RecordSet" scope="page" />
<jsp:useBean id="rs3" class="weaver.conn.RecordSet" scope="page" />
<%
StringBuffer result = new StringBuffer();

User user = HrmUserVarify.getUser(request , response);
if(user != null){
    int userId = user.getUID();
    
    String id = Util.null2String(request.getParameter("id"));
    String name = Util.null2String(request.getParameter("name"));
    String otherParam = Util.null2String(request.getParameter("otherParam"));
    String tableName = Util.null2String(request.getParameter("tableName"));
    String accountId = Util.null2String(request.getParameter("accountId"));
    rs1.executeQuery(" select * from FnaAccountDtl where accountId = ? and tableType = ? ", accountId, 1);
    if(rs1.next()){
        tableName = Util.null2String(rs1.getString("tableName"));
    }
    if("".equals(id)){//初始化组织架构树
        String _id = "0";
        String _name = SystemEnv.getHtmlLabelName(332,user.getLanguage());//全部
        //String _feelevel = "0";
        
        result.append("{"+
            "id:"+JSONObject.quote(_id)+","+
            "name:"+JSONObject.quote(_name)+","+
            "isParent:true"+
            "}");
    }else{
        if(!"".equals(tableName)){
            if("0".equals(id)){
                id = "";
            }
            int idx = 0;
            String sql = "";
            if("".equals(id)){
            	sql = " select subjectname,subjectcode from " +tableName+ " where subjectcode like '"+id+"_%' and subjectLevel = 1";
            }else{
            	rs1.executeQuery("select subjectLevel from "+tableName+" where subjectcode = ?", id);
            	int subjectLevel = 0;
            	if(rs1.next()){
            		subjectLevel = Util.getIntValue(rs1.getString("subjectLevel"));
            	}
            	sql = " select subjectname,subjectcode from " +tableName+ " where subjectcode like '"+id+"_%' and subjectLevel = "+(subjectLevel+1);
            }
            String orderby = " order by subjectlevel,subjectcode,displayOrder,subjectname ";
            sql += orderby;
            rs1.execute(sql);
            
            while(rs1.next()){
                String _subjectcode = rs1.getString("subjectcode");
                String _name = rs1.getString("subjectname");
                
                if(idx>0){
                    result.append(",");
                }
                
                String isParent = "true";
                rs2.executeQuery(" select count(*) cnt from "+tableName+" a where subjectcode like '"+_subjectcode+"_%'");
                if(rs2.next() && rs2.getInt("cnt") > 0){
                    isParent = "true";
                }else{
                    isParent = "false";
                }
                
                result.append("{"+
                    "id:"+JSONObject.quote(_subjectcode)+","+
                    "name:"+JSONObject.quote(_name)+","+
                    "isParent:"+isParent+""+
                    "}");
                idx++;
            }
        }
    }

}
%><%="["+result.toString()+"]" %>