BudgetSubjectBrowserMultiAjax.jsp
5.31 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
<%@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"%>
<jsp:useBean id="rs1" class="weaver.conn.RecordSet" scope="page" />
<%
User user = HrmUserVarify.getUser(request,response);
String supSubjectCode=Util.null2String(request.getParameter("subjectId"));
String src = Util.null2String(request.getParameter("src"));
String type = Util.null2String(request.getParameter("type"));
String accountId = Util.null2String(request.getParameter("accountId"));
String check_per = Util.null2String(request.getParameter("systemIds"));
String tableName = "";
rs1.executeQuery(" select * from FnaAccountDtl where accountId = ? and tableType = ? ", accountId, 1);
if(rs1.next()){
tableName = Util.null2String(rs1.getString("tableName"));
}
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.subjectcode 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)&&!"".equals(supSubjectCode) && !"0".equals(supSubjectCode)){//来自于 结构树
sqlWhere += " and a.subjectcode like '"+StringEscapeUtils.escapeSql(supSubjectCode)+"%' ";
}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.subjectname like '%"+StringEscapeUtils.escapeSql(name)+"%' \n";
}
if(!"".equals(code)){
sqlWhere += " and a.subjectcode like '%"+StringEscapeUtils.escapeSql(code)+"%' \n";
}
}
if (check_per.equals("")) {
check_per = Util.null2String(request.getParameter("excludeId"));
}
String per = "";
if (!check_per.equals("")) {
if(check_per.indexOf(',')==0){
check_per=check_per.substring(1);
}
String[] check_pers = check_per.split(",");
for(int var=0;var<check_pers.length;var++){
per = "'"+check_pers[var]+"',";
}
per +="'-1'";
sqlWhere += " and a.subjectcode not in ("+per+")";
}
}
SplitPageParaBean spp = new SplitPageParaBean();
spp.setBackFields(" a.id, a.subjectname, a.subjectcode ,a.displayOrder");
spp.setSqlFrom(tableName+" a ");
spp.setSqlWhere(sqlWhere);
spp.setSqlOrderBy("a.displayOrder,a.subjectcode,a.subjectname");
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("subjectname")));
String code = FnaCommon.escapeHtml(Util.null2String(rs.getString("subjectcode")));
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());
%>