FccBrowserMultiAjax.jsp
5.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
<%@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" %>
<%@ page import="weaver.fna.maintenance.BudgetfeeTypeComInfo" %>
<%@ taglib uri="/WEB-INF/weaver.tld" prefix="wea"%>
<%@ taglib uri="/browserTag" prefix="brow"%>
<%
User user = HrmUserVarify.getUser(request,response);
int supFccId=Util.getIntValue(request.getParameter("fccId"), 0);
String src = Util.null2String(request.getParameter("src"));
String type = Util.null2String(request.getParameter("type"));
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 1=1 ";
if(!src.equalsIgnoreCase("dest")){
sqlWhere += " and "+FnaCostCenter.getDbUserName()+"getFccArchive1(a.id) = 0 ";
}
sqlWhere += " and type=1 ";
JSONObject json = new JSONObject();
BudgetfeeTypeComInfo budgetfeeTypeComInfo = new BudgetfeeTypeComInfo();
if(src.equalsIgnoreCase("dest")){//右侧已选择列表的sql条件
if (!check_per.equals("")) {
if(check_per.indexOf(",")==0){
check_per=check_per.substring(1);
}
if (check_per.split(",").length > 1000) {//长度大于1000
ArrayList<String> list = new ArrayList<String>();
for (int i = 0; i < check_per.split(",").length; i++) {
list.add(check_per.split(",")[i]);
}
ArrayList<String> li = budgetfeeTypeComInfo.initData(list);
for (int j = 0; j < li.size(); j++) {
if (j == 0) {
sqlWhere += " and a.id in (" + li.get(j) + ")";
} else {
sqlWhere += " or a.id in (" + li.get(j) + ")";
}
}
} else {
sqlWhere += " and a.id in (" + check_per + ")";
}
} 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.supFccId = "+supFccId+" ";
}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.name like '%"+StringEscapeUtils.escapeSql(name)+"%' \n";
}
if(!"".equals(code)){
sqlWhere += " and a.code 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);
}
if (check_per.split(",").length > 1000) {//长度大于1000
ArrayList<String> list = new ArrayList<String>();
for (int i = 0; i < check_per.split(",").length; i++) {
list.add(check_per.split(",")[i]);
}
ArrayList<String> li = budgetfeeTypeComInfo.initData(list);
for (int j = 0; j < li.size(); j++) {
sqlWhere += " and a.id not in (" + li.get(j) + ")";
}
} else {
sqlWhere += " and a.id not in (" + check_per + ")";
}
}
}
//out.println("select a.id, a.name, a.supFccId, a.code from FnaCostCenter a "+sqlWhere+" order by a.code,a.name");
SplitPageParaBean spp = new SplitPageParaBean();
spp.setBackFields(" a.id, a.name, a.supFccId, a.code ");
spp.setSqlFrom(" FnaCostCenter a ");
spp.setSqlWhere(sqlWhere);
spp.setSqlOrderBy("a.code,a.name");
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("name")));
String code = FnaCommon.escapeHtml(Util.null2String(rs.getString("code")));
//new BaseBean().writeLog("id="+id+";name="+name);
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());
%>