WfTreeData.jsp
5.54 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
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="java.util.ArrayList"%>
<%@ page import="weaver.docs.category.security.*" %>
<%@ page import="weaver.docs.category.*" %>
<%@ page import="weaver.hrm.*" %>
<%@ page import="java.util.*" %>
<%@ page import="weaver.general.*" %>
<%@ page import="weaver.docs.multidocupload.*" %>
<jsp:useBean id="rs" class="weaver.conn.RecordSet" scope="page" />
<jsp:useBean id="DocChangeManager" class="weaver.docs.change.DocChangeManager" scope="page" />
<%
User user = HrmUserVarify.getUser (request , response) ;
if(user == null) return ;
String node=request.getParameter("node");
String nodeType = "";
String nodeId = "";
String nodeArgs[] = Util.TokenizerString2(node, "_");
nodeType = nodeArgs[0];
nodeId = nodeArgs[1];
String sqlwhere=Util.null2String(request.getParameter("sqlwhere"));
String workflowtype="";
//String formid="";
String sql = "";
if(!sqlwhere.equals("")){
String tempWorkflowType=null;
sql = "select distinct t1.workflowtype from workflow_base t1, workflow_createdoc t2 where t2.status='1' AND t2.flowDocField>0 AND t1.id=t2.workflowid and t1.isvalid=1 ";
sql += " and t1.id in(select t1.id from workflow_base t1,workflow_fieldLable fieldLable,workflow_formField formField, workflow_formdict formDict";
sql += " where fieldLable.formid = formField.formid ";
sql += " and fieldLable.fieldid = formField.fieldid ";
sql += " and formField.fieldid = formDict.ID and (formField.isdetail<>'1' or formField.isdetail is null) ";
sql += " and formField.formid = t1.formid and fieldLable.langurageid = "+user.getLanguage();
sql += " and formDict.fieldHtmlType = '3' and formDict.type = 9 ";
sql += " group by t1.id) ";
sql += " and t1.id not in(select workflowid from DocChangeWorkflow)" ;
//rs.executeSql("select distinct workflowtype from workflow_base "+sqlwhere+" and isvalid=1");
rs.executeSql(sql);
while(rs.next()){
tempWorkflowType= Util.null2String(rs.getString("workflowtype"));
if(!(tempWorkflowType.trim().equals(""))){
workflowtype +=","+ tempWorkflowType;
}
}
if(!workflowtype.equals("")){
workflowtype=workflowtype.substring(1);
}
}
ArrayList returnList=new ArrayList();
if("root".equals(nodeType)){
// if(sqlwhere.equals("")){
// rs.executeSql("select id,typename from workflow_type order by dsporder");
// }else{
// rs.executeSql("select id,typename from workflow_type where id="+workflowtype+" order by dsporder");
// }
sql += "select id,typename from workflow_type WHERE id in(";
sql += "select distinct t1.workflowtype from workflow_base t1, workflow_createdoc t2 where t2.status='1' AND t2.flowDocField>0 AND t1.id=t2.workflowid and t1.isvalid=1 ";
if(DocChangeManager.cversion.equals("4")) {
sql += " and t1.id in(select t1.id from workflow_base t1,workflow_fieldLable fieldLable,workflow_formField formField, workflow_formdict formDict";
sql += " where fieldLable.formid = formField.formid ";
sql += " and fieldLable.fieldid = formField.fieldid ";
sql += " and formField.fieldid = formDict.ID and (formField.isdetail<>'1' or formField.isdetail is null) ";
sql += " and formField.formid = t1.formid and fieldLable.langurageid = "+user.getLanguage();
sql += " and formDict.fieldHtmlType = '3' and formDict.type = 9 ";
sql += " group by t1.id) ";
}
sql += ") order by dsporder";
rs.executeSql(sql);
while(rs.next()){
String typeId=Util.null2String(rs.getString("id"));
String typeName=Util.null2String(rs.getString("typename"));
DocCatagoryMenuBean dmb = new DocCatagoryMenuBean();
dmb.setText(typeName);
dmb.setLeaf(false);
dmb.setId("workflow_"+typeId);
dmb.setCls("folder");
dmb.setDraggable(false);
returnList.add(dmb);
}
} else if("workflow".equals(nodeType)) {
sql += "select distinct t1.id,t1.workflowname from workflow_base t1, workflow_createdoc t2 where t2.status='1' AND t2.flowDocField>0 AND t1.id=t2.workflowid and t1.isvalid=1 ";
sql += " and t1.workflowtype="+nodeId;
if(DocChangeManager.cversion.equals("4")) {
sql += " and t1.id in(select t1.id from workflow_base t1,workflow_fieldLable fieldLable,workflow_formField formField, workflow_formdict formDict";
sql += " where fieldLable.formid = formField.formid ";
sql += " and fieldLable.fieldid = formField.fieldid ";
sql += " and formField.fieldid = formDict.ID and (formField.isdetail<>'1' or formField.isdetail is null) ";
sql += " and formField.formid = t1.formid and fieldLable.langurageid = "+user.getLanguage();
sql += " and formDict.fieldHtmlType = '3' and formDict.type = 9 ";
sql += " group by t1.id) ";
}
rs.executeSql(sql);
while(rs.next()){
String requestid=Util.null2String(rs.getString("id"));
String workflowname=Util.null2String(rs.getString("workflowname"));
DocCatagoryMenuBean dmb = new DocCatagoryMenuBean();
dmb.setText(workflowname);
dmb.setLeaf(true);
dmb.setId("request_"+requestid);
dmb.setCls("file");
dmb.setDraggable(false);
returnList.add(dmb);
}
}
String menuString="[";
for(int i=0;i<returnList.size();i++){
DocCatagoryMenuBean dmb = (DocCatagoryMenuBean)returnList.get(i);
if(dmb!=null) {
if(i==0) {
menuString+="{";
} else {
menuString+=",{";
}
menuString+="\"cls\":\""+dmb.getCls()+"\",";
menuString+="\"draggable\":"+dmb.isDraggable()+",";
menuString+="\"id\":\""+dmb.getId()+"\",";
menuString+="\"leaf\":"+dmb.isLeaf()+",";
menuString+="\"text\":\""+dmb.getText()+"\"";
menuString+="}";
}
}
menuString+="]";
out.println(menuString);
%>