BudgetBearerBrowserMultiAjax.jsp 4.93 KB
<%@page import="weaver.fna.general.FnaCommon"%>
<%@page import="weaver.fna.maintenance.FnaCostCenter"%>
<%@page import="java.net.URLDecoder"%>
<%@page import="org.apache.commons.lang.StringEscapeUtils"%>
<%@page import="weaver.general.BaseBean"%>
<%@page import="weaver.conn.RecordSet"%>

<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="weaver.general.Util" %>
<%@ page import="weaver.general.SplitPageParaBean" %>
<%@ page import="weaver.general.SplitPageUtil" %>
<%@ page import="java.util.*" %>
<%@ page import="net.sf.json.JSONArray" %>
<%@ page import="net.sf.json.JSONObject" %>
<%@ page import="weaver.hrm.User" %>
<%@ page import="weaver.systeminfo.SystemEnv" %>
<%@ page import="weaver.hrm.HrmUserVarify" %>
<%@ taglib uri="/WEB-INF/weaver.tld" prefix="wea"%>
<%@ taglib uri="/browserTag" prefix="brow"%>
<%
    User user = HrmUserVarify.getUser(request,response);

    String supId=Util.null2String(request.getParameter("bearerId"));

    String src = Util.null2String(request.getParameter("src"));
    String type = Util.null2String(request.getParameter("type"));
    String tableName = Util.null2String(request.getParameter("tableName"));
    String check_per = Util.null2String(request.getParameter("systemIds"));
    if(check_per.trim().startsWith(",")){
        check_per = check_per.substring(1);
    }
    int perpage = Util.getIntValue(request.getParameter("pageSize"),10) ;
    if(src.equalsIgnoreCase("dest")){
        perpage = 99999;
    }
    int pagenum = Util.getIntValue(request.getParameter("currentPage") , 1) ;

    String sqlWhere = " where ( a.isarchive <> 1  or a.isarchive is null) ";
    JSONObject json = new JSONObject();
    if(src.equalsIgnoreCase("dest")){//右侧已选择列表的sql条件
        if (!check_per.equals("")) {
            if(check_per.indexOf(",")==0){
                check_per=check_per.substring(1);
            }
            String per1="";
            String[] check_pers = check_per.split(",");
            for(int var=0;var<check_pers.length;var++){
                per1 = "'"+check_pers[var]+"',";
            }
            per1 +="'-1'";
            sqlWhere += " and a.id in ("+per1+")";
        } else {
            json.put("currentPage", 1);
            json.put("totalPage", 1);
            json.put("mapList","");
            out.println(json.toString());
            return;
        }
    }else{//左侧待选择列表的sql条件
        if("tree".equals(type)){//来自于 结构树
            sqlWhere += " and (a.supId = '"+supId+"' or a.id= '"+supId+"')";

        }else if("query".equals(type)){//来自于 组合查询
            String name = Util.null2String(request.getParameter("name"));
            //name = URLDecoder.decode(name,"utf-8");
            String code = Util.null2String(request.getParameter("code"));
            //code = URLDecoder.decode(code,"utf-8");

            if(!"".equals(name)){
                sqlWhere += " and a.budgetBearerName like '%"+StringEscapeUtils.escapeSql(name)+"%' \n";
            }
            if(!"".equals(code)){
                sqlWhere += " and a.codeName like '%"+StringEscapeUtils.escapeSql(code)+"%' \n";
            }
        }

        if (check_per.equals("")) {
            check_per = Util.null2String(request.getParameter("excludeId"));
        }

        if (!check_per.equals("")) {
            if(check_per.indexOf(',')==0){
                check_per=check_per.substring(1);

            }
            String per = "";
            String[] check_pers = check_per.split(",");
            for(int var=0;var<check_pers.length;var++){
                per = "'"+check_pers[var]+"',";
            }
            per +="'-1'";
            sqlWhere += " and a.id not in ("+per+")";
        }
    }

    SplitPageParaBean spp = new SplitPageParaBean();
    spp.setBackFields(" a.id, a.budgetBearerName, a.supId, a.codeName ,a.displayOrder");
    spp.setSqlFrom(tableName+"  a ");
    spp.setSqlWhere(sqlWhere);
    spp.setSqlOrderBy("a.displayOrder,a.budgetBearerName,a.codeName");
    spp.setPrimaryKey("id");
    spp.setDistinct(true);
    spp.setSortWay(spp.ASC);
    SplitPageUtil spu = new SplitPageUtil();
    spu.setSpp(spp);

    int RecordSetCounts = spu.getRecordCount();
    int totalPage = RecordSetCounts/perpage;
    if(totalPage%perpage>0||totalPage==0){
        totalPage++;
    }

    int i=0;

    RecordSet rs = spu.getCurrentPageRs(pagenum, perpage);

    JSONArray jsonArr = new JSONArray();
    while(rs.next()) {
        String id = rs.getString("id");
        String name = FnaCommon.escapeHtml(Util.null2String(rs.getString("budgetBearerName")));
        String code = FnaCommon.escapeHtml(Util.null2String(rs.getString("codeName")));

        JSONObject tmp = new JSONObject();
        tmp.put("id",id);
        tmp.put("name",name);
        tmp.put("code",code);
        jsonArr.add(tmp);
    }

    json.put("currentPage", pagenum);
    json.put("totalPage", totalPage);
    json.put("mapList",jsonArr.toString());
    out.println(json.toString());
%>