GridSuperviseExtProxy.jsp
7.37 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
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="java.util.*" %>
<%@ page import="org.json.*" %>
<%@ page import="weaver.general.Util" %>
<%@ page import="weaver.hrm.*" %>
<%@ page import="java.lang.*" %>
<%@ page import="weaver.systeminfo.*" %>
<%@ page import="java.sql.Timestamp" %>
<%@ page import="weaver.general.*,weaver.workflow.request.WFWorkflows,weaver.workflow.request.WFWorkflowTypes"%>
<%@ page import="weaver.systeminfo.menuconfig.LeftMenuInfoHandler" %>
<%@ page import="weaver.systeminfo.menuconfig.LeftMenuInfo" %>
<jsp:useBean id="SearchClause" class="weaver.search.SearchClause" scope="session" />
<jsp:useBean id="RecordSet" class="weaver.conn.RecordSet" scope="page" />
<jsp:useBean id="DocDsp" class="weaver.docs.docs.DocDsp" scope="page"/>
<jsp:useBean id="WFUrgerManager" class="weaver.workflow.request.WFUrgerManager" scope="page" />
<%
response.setHeader("cache-control", "no-cache");
response.setHeader("pragma", "no-cache");
response.setHeader("expires", "Mon 1 Jan 1990 00:00:00 GMT");
%>
<%
response.setHeader("cache-control", "no-cache");
response.setHeader("pragma", "no-cache");
response.setHeader("expires", "Mon 1 Jan 1990 00:00:00 GMT");
%>
<%
User user = HrmUserVarify.getUser (request , response) ;
String method = Util.null2String(request.getParameter("method"));
String objid = Util.null2String(request.getParameter("objid"));
String workflowid = Util.null2String(request.getParameter("workflowid"));
String nodetype = Util.null2String(request.getParameter("nodetype"));
String fromdate = Util.null2String(request.getParameter("fromdate"));
String todate = Util.null2String(request.getParameter("todate"));
String creatertype = Util.null2String(request.getParameter("creatertype"));
String createrid = Util.null2String(request.getParameter("createrid"));
String requestlevel = Util.null2String(request.getParameter("requestlevel"));
String fromdate2 = Util.null2String(request.getParameter("fromdate2"));
String todate2 = Util.null2String(request.getParameter("todate2"));
String workcode = Util.null2String(request.getParameter("workcode"));
String requestname = Util.null2String(request.getParameter("requestname"));
String sqlwhere="";
boolean isnew=false;
String requestids="";
if (method.equals("type")&&!objid.trim().equals("")) {
sqlwhere=" b.workflowtype="+objid;
}
if (method.equals("workflow")&&!objid.trim().equals("")) {
sqlwhere=" b.id="+objid;
}
if (method.equals("request")&&!objid.trim().equals("")) {
sqlwhere=" b.id="+objid;
isnew=true;
}
int logintype = Util.getIntValue(user.getLogintype(),1);
int userID = user.getUID();
WFUrgerManager.setLogintype(logintype);
WFUrgerManager.setUserid(userID);
WFUrgerManager.setSqlwhere(sqlwhere);
ArrayList flowList=Util.TokenizerString(workflowid,",");
ArrayList wftypes=WFUrgerManager.getWrokflowTree();
for(int i=0;i<wftypes.size();i++){
WFWorkflowTypes wftype=(WFWorkflowTypes)wftypes.get(i);
ArrayList workflows=wftype.getWorkflows();
for(int j=0;j<workflows.size();j++){
WFWorkflows wfworkflow=(WFWorkflows)workflows.get(j);
String tempWorkflow=wfworkflow.getWorkflowid()+"";
if("".equals(workflowid)||flowList.contains(tempWorkflow)) {
ArrayList requests=new ArrayList();
if(isnew){
requests=wfworkflow.getNewrequestids();
}else{
requests=wfworkflow.getReqeustids();
}
for(int k=0;k<requests.size();k++){
if(requestids.equals("")){
requestids=(String)requests.get(k);
}else{
requestids+=","+requests.get(k);
}
}
}
}
}
String newsql =" where t1.requestid = t2.requestid and (t1.currentnodetype is null or t1.currentnodetype<>'3') ";
if (!workflowid.equals(""))
newsql += " and t1.workflowid in(" + workflowid + ")";
if (!nodetype.equals(""))
newsql += " and t1.currentnodetype='" + nodetype + "'";
if (!fromdate.equals(""))
newsql += " and t1.createdate>='" + fromdate + "'";
if (!todate.equals(""))
newsql += " and t1.createdate<='" + todate + "'";
if (!fromdate2.equals(""))
newsql += " and t2.receivedate>='" + fromdate2 + "'";
if (!todate2.equals(""))
newsql += " and t2.receivedate<='" + todate2 + "'";
if (!workcode.equals(""))
newsql += " and t1.creatertype= '0' and t1.creater in(select id from hrmresource where workcode like '%" + workcode + "%')";
if (!createrid.equals("")) {
newsql += " and t1.creater='" + createrid + "'";
newsql += " and t1.creatertype= '" + creatertype + "' ";
}
if (!requestlevel.equals("")) {
newsql += " and t1.requestlevel=" + requestlevel;
}
if(!requestname.equals("")){
if((requestname.indexOf(" ")==-1&&requestname.indexOf("+")==-1)||(requestname.indexOf(" ")!=-1&&requestname.indexOf("+")!=-1)){
newsql+=" and t1.requestname like '%"+requestname+"%'";
}else if(requestname.indexOf(" ")!=-1&&requestname.indexOf("+")==-1){
String orArray[]=Util.TokenizerString2(requestname," ");
if(orArray.length>0){
newsql+=" and ( ";
}
for(int i=0;i<orArray.length;i++){
newsql+=" t1.requestname like '%"+orArray[i]+"%'";
if(i+1<orArray.length){
newsql+=" or ";
}
}
if(orArray.length>0){
newsql+=" ) ";
}
}else if(requestname.indexOf(" ")==-1&&requestname.indexOf("+")!=-1){
String andArray[]=Util.TokenizerString2(requestname,"+");
for(int i=0;i<andArray.length;i++){
newsql+=" and t1.requestname like '%"+andArray[i]+"%'";
}
}
}
String orderby = "t2.receivedate ,t2.receivetime";
RecordSet.executeProc("workflow_RUserDefault_Select",""+user.getUID());
int perpage=10;
if(RecordSet.next()){
perpage= RecordSet.getInt("numperpage");
}else{
RecordSet.executeProc("workflow_RUserDefault_Select","1");
if(RecordSet.next()){
perpage= RecordSet.getInt("numperpage");
}
}
String backfields = " t1.requestid, 9 isremark, t1.requestid viewtype, t1.workflowid multiSubmit,t1.createdate, t1.createtime,t1.creater, t1.creatertype, t1.workflowid, t1.requestname, t1.status,t1.requestlevel,t1.currentnodeid,t2.receivedate,t2.receivetime ";
String fromSql ="";
if (RecordSet.getDBType().equals("oracle")) {
fromSql = " from (select requestid,max(receivedate||' '||receivetime) as receivedate,'' as receivetime from workflow_currentoperator group by requestid) t2,workflow_requestbase t1 ";
} else {
fromSql = " from (select requestid,max(receivedate+' '+receivetime) as receivedate,'' as receivetime from workflow_currentoperator group by requestid) t2,workflow_requestbase t1 ";
}
String sqlWhere = newsql;
String para2 = "column:requestid+column:workflowid+"+userID+"+"+(logintype-1)+"+"+ user.getLanguage();
if (!requestids.equals("")) {
sqlWhere += " AND t1.requestid in("+requestids+") ";
}else{
sqlWhere+=" and 1>2 ";
}
String supervise = "supervise";
String tableBaseParas = "";
tableBaseParas = "TableBaseParas={\"multiSubmit\":\""+false+"\",\"gridId\":\""+supervise+"\",\"sqlwhere\":\""+sqlWhere+"\",\"sort\":\""+orderby+"\",\"operates\":[],\"excerpt\":\"\",\"sqlisprintsql\":\"\",\"backfields\":\""+backfields+"\",\"columns\":[],\"pageSize\":"+perpage+",\"poolname\":\"\",\"sqlgroupby\":\"\",\"dir\":\"desc\",\"sqlisdistinct\":\"true\",\"sqlprimarykey\":\"t1.requestid\",\"sqlform\":\""+fromSql+"\",\"popedom\":{\"otherpara\":\"\",\"otherpara2\":\"\",\"transmethod\":\"\"}}";
out.println(tableBaseParas);
return;
%>