MutiResourceBrowserAjax.jsp
9.42 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
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="weaver.general.*,weaver.file.Prop" %>
<%@ page import="weaver.hrm.*" %>
<%@ page import="java.util.*" %>
<%@ page import="net.sf.json.JSONArray" %>
<%@ page import="net.sf.json.JSONObject" %>
<jsp:useBean id="DepartmentComInfo" class="weaver.hrm.company.DepartmentComInfo" scope="page"/>
<jsp:useBean id="SubCompanyComInfo" class="weaver.hrm.company.SubCompanyComInfo" scope="page"/>
<jsp:useBean id="rs" class="weaver.conn.RecordSet" scope="page"/>
<%
User user = HrmUserVarify.getUser(request, response);
if (user == null) return;
String src = Util.null2String(request.getParameter("src"));
String systemIds = Util.null2String(request.getParameter("systemIds"));
if (systemIds.trim().startsWith(",")) {
systemIds = systemIds.substring(1);
}
int perpage = Util.getIntValue(request.getParameter("pageSize"), 10);
int pagenum = Util.getIntValue(request.getParameter("currentPage"), 1);
String sqlWhere = " where 1=1 ";
JSONObject json = new JSONObject();
if (src.equalsIgnoreCase("dest")) {//右侧已选择列表的sql条件
if (!systemIds.equals("")) {
sqlWhere += " and id in (" + systemIds + ")";
SplitPageParaBean spp = new SplitPageParaBean();
spp.setBackFields(" HrmResource.id, lastname, departmentid, subcompanyid1, jobtitle, dsporder ");
spp.setSqlFrom(" HrmResource ");
spp.setSqlWhere(sqlWhere);
spp.setSqlOrderBy("dsporder,lastname");
spp.setPrimaryKey("id");
spp.setDistinct(true);
spp.setSortWay(spp.ASC);
SplitPageUtil spu = new SplitPageUtil();
spu.setSpp(spp);
String id = null;
String departmentname = null;
String subcompanyname = null;
rs = spu.getAllRs();
JSONArray jsonArr = new JSONArray();
while (rs.next()) {
id = rs.getString("id");
departmentname = DepartmentComInfo.getDepartmentName(rs.getString("departmentid"));
subcompanyname = SubCompanyComInfo.getSubCompanyname(rs.getString("subcompanyid1"));
JSONObject tmp = new JSONObject();
tmp.put("id", id);
tmp.put("lastname", rs.getString("lastname"));
tmp.put("departmentname", departmentname);
tmp.put("subcompanyname", subcompanyname);
jsonArr.add(tmp);
}
json.put("currentPage", 1);
json.put("totalPage", 1);
json.put("mapList", jsonArr.toString());
out.println(json.toString());
return;
} else {
json.put("currentPage", 1);
json.put("totalPage", 1);
json.put("mapList", "");
out.println(json.toString());
return;
}
} else {//左侧待选择列表的sql条件
Calendar today = Calendar.getInstance();
String currentdate = Util.add0(today.get(Calendar.YEAR), 4) + "-" +
Util.add0(today.get(Calendar.MONTH) + 1, 2) + "-" +
Util.add0(today.get(Calendar.DAY_OF_MONTH), 2);
String publicid = Util.null2String(request.getParameter("publicid"));
String tabId = Util.null2String(request.getParameter("tabId"));
String subcompanyid = Util.null2String(request.getParameter("subcompanyid"));
String departmentid = Util.null2String(request.getParameter("departmentid"));
String lastname = Util.null2String(request.getParameter("lastname"));
String jobtitle = Util.null2String(request.getParameter("jobtitle"));
String status = Util.null2String(request.getParameter("status"));
String roleid = Util.null2String(request.getParameter("roleid"));
String groupid = Util.null2String(request.getParameter("groupid"));
String resourcetype = Util.null2String(request.getParameter("resourcetype"));
String resourcestatus = Util.null2String(request.getParameter("resourcestatus"));
String firstname = Util.null2String(request.getParameter("firstname"));
String seclevelto = Util.fromScreen(request.getParameter("seclevelto"), user.getLanguage());
sqlWhere = " where 1=1 ";
if (departmentid.equals("0")) departmentid = "";
if (subcompanyid.equals("0")) subcompanyid = "";
if (status.equals("-1")) status = "";
if ("".equals(tabId) || "1".equals(tabId) || "2".equals(tabId) || "3".equals(tabId)) {//有效tab页签
if (!lastname.equals("")) {
sqlWhere += " and( lastname like '%" + Util.fromScreen2(lastname, user.getLanguage()) + "%' or pinyinlastname like '%" + Util.fromScreen2(lastname, user.getLanguage()).toLowerCase() + "%')";
}
if (!firstname.equals("")) {
sqlWhere += " and firstname like '%" + Util.fromScreen2(firstname, user.getLanguage()) + "%' ";
}
if (!seclevelto.equals("")) {
sqlWhere += " and HrmResource.seclevel <= '" + seclevelto + "' ";
}
if (!resourcetype.equals("")) {
sqlWhere += " and resourcetype = '" + resourcetype + "' ";
}
if (!jobtitle.equals("")) {
sqlWhere += " and jobtitle in(select id from HrmJobTitles where jobtitlename like '%" + Util.fromScreen2(jobtitle, user.getLanguage()) + "%') ";
}
if (!departmentid.equals("")) {
sqlWhere += " and departmentid =" + departmentid + " ";
}
if (departmentid.equals("") && !subcompanyid.equals("")) {
sqlWhere += " and subcompanyid1 =" + subcompanyid + " ";
}
if (!status.equals("") && !status.equals("9")) {
sqlWhere += " and status =" + status + " ";
}
if (status.equals("")) {
sqlWhere += " and (status =0 or status = 1 or status = 2 or status = 3) ";
}
if (!roleid.equals("")) {
sqlWhere += " and HrmResource.ID in (select t1.ResourceID from hrmrolemembers t1,hrmroles t2 where t1.roleid = t2.ID and t2.ID=" + roleid + " ) ";
}
if (!groupid.equals("")) {
sqlWhere += " and HrmResource.ID in (select h2.id from hrmgroupmembers h1,HrmResource h2 where h1.userid=h2.id and groupid=" + groupid + " ) ";
}
} else {
sqlWhere += " and 1=2 ";
}
if (!systemIds.equals("")) {
sqlWhere += " and HrmResource.ID not in (" + systemIds + ") ";
}
String moduleManageDetach = Util.null2String(request.getParameter("moduleManageDetach"));//(模块管理分权-分权管理员专用)
String moduleManageDetachSQL = "";
if (moduleManageDetach != null && "1".equals(moduleManageDetach)) {
//根据分权管理员id查询其所管辖的分部(分权管理员设置页面有设置其分权管理员管理的分部)
String subcompanyidsStr = "";
List subcompanyidsList = new ArrayList();
String sql1 = "select * from HrmResourceManager where id='" + user.getUID() + "' ";
rs.executeSql(sql1);
if (rs.next()) {
subcompanyidsStr = rs.getString("subcompanyids");
}
if (subcompanyidsStr != null && !"".equals(subcompanyidsStr)) {
moduleManageDetachSQL = " and subcompanyid1 in(" + subcompanyidsStr + ") ";
}
}
sqlWhere = sqlWhere + ("1".equals(moduleManageDetach) ? moduleManageDetachSQL : "");
String publicStr = " and exists (select 1 from wechat_band where publicid='" + publicid + "' and openid is not null and usertype=1 and userid=hrmresource.id ) ";
sqlWhere = sqlWhere + publicStr;
//System.out.println("sqlWhere:"+sqlWhere);
SplitPageParaBean spp = new SplitPageParaBean();
spp.setBackFields(" HrmResource.id, lastname, departmentid, subcompanyid1, jobtitle, dsporder ");
spp.setSqlFrom(" HrmResource ");
spp.setSqlWhere(sqlWhere);
spp.setSqlOrderBy("dsporder,lastname");
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++;
}
String id = null;
String departmentname = null;
String subcompanyname = null;
rs = spu.getCurrentPageRs(pagenum, perpage);
JSONArray jsonArr = new JSONArray();
while (rs.next()) {
id = rs.getString("id");
departmentname = DepartmentComInfo.getDepartmentName(rs.getString("departmentid"));
subcompanyname = SubCompanyComInfo.getSubCompanyname(rs.getString("subcompanyid1"));
JSONObject tmp = new JSONObject();
tmp.put("id", id);
tmp.put("lastname", rs.getString("lastname"));
tmp.put("departmentname", departmentname);
tmp.put("subcompanyname", subcompanyname);
jsonArr.add(tmp);
}
json.put("currentPage", pagenum);
json.put("totalPage", totalPage);
json.put("mapList", jsonArr.toString());
out.println(json.toString());
//System.out.println(json.toString());
}
%>