SearchOperation.jsp
6.46 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
<%@page import="weaver.proj.util.SQLUtil"%>
<%@page import="weaver.general.browserData.BrowserManager"%>
<%@page import="java.util.Map.Entry"%>
<%@page import="org.json.JSONObject"%>
<%@page import="weaver.proj.util.PrjFieldComInfo"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" %> <%@ include file="/systeminfo/init_wev8.jsp" %>
<jsp:useBean id="RecordSet" class="weaver.conn.RecordSet" scope="page" />
<jsp:useBean id="Util" class="weaver.general.Util" scope="page" />
<jsp:useBean id="SearchComInfo1" class="weaver.proj.search.SearchComInfo" scope="session" />
<%
SearchComInfo1.resetSearchInfo();
int perpage = Util.getIntValue(request.getParameter("perpage"),10);
String msg=Util.null2String(request.getParameter("msg"));
String from=Util.null2String(request.getParameter("from"));
if(msg.equals("report")){
String settype=Util.null2String(request.getParameter("settype"));
String id=Util.null2String(request.getParameter("id"));
if(settype.equals("projecttype")){
SearchComInfo1.setprjtype(id);
response.sendRedirect("/proj/search/SearchResult.jsp?start=1&perpage="+perpage);
return;
}
if(settype.equals("worktype")){
SearchComInfo1.setworktype(id);
response.sendRedirect("/proj/search/SearchResult.jsp?start=1&perpage="+perpage);
return;
}
if(settype.equals("projectstatus")){
SearchComInfo1.setstatus(id);
response.sendRedirect("/proj/search/SearchResult.jsp?start=1&perpage="+perpage);
return;
}
if(settype.equals("manager")){
SearchComInfo1.setmanager(id);
response.sendRedirect("/proj/search/SearchResult.jsp?start=1&perpage="+perpage);
return;
}
if(settype.equals("department")){
SearchComInfo1.setdepartment(id);
response.sendRedirect("/proj/search/SearchResult.jsp?start=1&perpage="+perpage);
return;
}
response.sendRedirect("/notice/noright.jsp");//返回到一个出错页面,待定义
return;
}
String destination = Util.null2String(request.getParameter("destination"));
if(destination.equals("prjindept"))
{
SearchComInfo1.setdepartment(Util.null2String(request.getParameter("depid")));
response.sendRedirect("/proj/search/SearchResult.jsp?start=1&perpage="+perpage);
return ;
}
if(destination.equals("myProject"))
{
SearchComInfo1.setmanager("" + user.getUID());
response.sendRedirect("/proj/search/SearchResult.jsp?start=1&perpage="+perpage);
return ;
}
SearchComInfo1.setname(Util.null2String(request.getParameter("name")));
if("".equals(SearchComInfo1.getname())){
SearchComInfo1.setname(Util.null2String(request.getParameter("flowTitle")));
}
if(destination.equals("QuickSearch"))
{
response.sendRedirect("/proj/search/SearchResult.jsp?start=1&perpage="+perpage);
return ;
}
String prjtype=Util.null2String( request.getParameter("prjtype") );
String worktype=Util.null2String(request.getParameter("worktype"));
String status=Util.null2String(request.getParameter("status"));
SearchComInfo1.setprjtype(prjtype);
SearchComInfo1.setworktype(worktype);
SearchComInfo1.setstatus(status);
SearchComInfo1.setnameopt(Util.null2String(request.getParameter("nameopt")));
SearchComInfo1.setdescription(Util.null2String(request.getParameter("description")));
SearchComInfo1.setcustomer(Util.null2String(request.getParameter("customer")));
SearchComInfo1.setparent(Util.null2String(request.getParameter("parent")));
SearchComInfo1.setsecurelevel(Util.null2String(request.getParameter("securelevel")));
SearchComInfo1.setdepartment(Util.null2String(request.getParameter("department")));
SearchComInfo1.setmanager(Util.null2String(request.getParameter("manager")));
SearchComInfo1.setmember(Util.null2String(request.getParameter("member")));
SearchComInfo1.setProcode(Util.null2String(request.getParameter("procode")));
SearchComInfo1.setStartDate(Util.null2String(request.getParameter("startdate")));
SearchComInfo1.setStartDateTo(Util.null2String(request.getParameter("startdateTo")));
SearchComInfo1.setEndDate(Util.null2String(request.getParameter("enddate")));
SearchComInfo1.setEndDateTo(Util.null2String(request.getParameter("enddateTo")));
SearchComInfo1.setFinish(Util.null2String(request.getParameter("finish")));
SearchComInfo1.setFinish1(Util.null2String(request.getParameter("finish1")));
SearchComInfo1.setSubcompanyid1(Util.null2String(request.getParameter("subcompanyid1")));
//tagtag
StringBuffer cusSql=new StringBuffer();//自定义字段条件
HashMap<String,String> cusFieldVal= new HashMap<String, String>();//自定义字段值
PrjFieldComInfo CptFieldComInfo=new PrjFieldComInfo();
TreeMap<String,JSONObject> openfieldMap= CptFieldComInfo.getOpenFieldMap();
if(!openfieldMap.isEmpty()){
Iterator it=openfieldMap.entrySet().iterator();
while(it.hasNext()){
Entry<String,JSONObject> entry=(Entry<String,JSONObject>)it.next();
String k= entry.getKey();
JSONObject v=new JSONObject(((JSONObject)entry.getValue()).toString());
int fieldhtmltype= v.getInt("fieldhtmltype");
String fieldid=v.getString("id");
String fieldname=v.getString("fieldname");
int type=v.getInt("type");
if(fieldhtmltype==2||fieldhtmltype==6||fieldhtmltype==7){
continue;
}
String val=Util.null2String( request.getParameter("field"+fieldid));
if(!"".equals(val)){
cusFieldVal.put(fieldid, val);
if(fieldhtmltype==1&&(type==2||type==3||type==4)){
cusSql.append(" and "+fieldname+" ="+val+" ");
}else if(fieldhtmltype==3){
boolean isSingle="true".equalsIgnoreCase( BrowserManager.browIsSingle(""+type));
if(isSingle){
cusSql.append( " and "+fieldname+" ='"+val+"' ");
}else {
String dbtype= RecordSet .getDBType();
if("oracle".equalsIgnoreCase(dbtype)){
cusSql.append(SQLUtil.filteSql(RecordSet .getDBType(), " and ','+"+fieldname+"+',' like '%,"+val+",%' "));
}else if("mysql".equalsIgnoreCase(dbtype)){
cusSql.append(" and concat(',',cast("+fieldname+" as char),',') like '%,"+val+",%' ");
}else{
cusSql.append(" and ','+convert(varchar(2000),"+fieldname+")+',' like '%,"+val+",%' ");
}
}
}else if(fieldhtmltype==4){
if("1".equals(val)){
cusSql.append(" and "+fieldname+" ='"+val+"' ");
}
}else if(fieldhtmltype==5){
cusSql.append(" and exists(select 1 from prj_SelectItem ttt2 where ttt2.fieldid="+fieldid+" and ttt2.selectvalue='"+val+"' and ttt2.selectvalue=t1."+fieldname+" ) ");
}else{
cusSql.append(" and "+fieldname+" like'%"+val+"%' ");
}
}
}
}
SearchComInfo1.setCusSql(cusSql.toString());
SearchComInfo1.setCusFieldInfo(cusFieldVal);
response.sendRedirect("/proj/search/SearchResult.jsp?from="+from+"&start=1&perpage="+perpage);
%>