purposenode.jsp
3.35 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
<%@ page import="weaver.general.Util" %>
<%@ page import="java.util.*" %>
<%@ page import="weaver.hrm.*" %>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<jsp:useBean id="WFNodeMainManager" class="weaver.workflow.workflow.WFNodeMainManager" scope="page" />
<%WFNodeMainManager.resetParameter();%>
<jsp:useBean id="WFNodePortalMainManager" class="weaver.workflow.workflow.WFNodePortalMainManager" scope="page" />
<%WFNodePortalMainManager.resetParameter();%>
<%
User user = HrmUserVarify.getUser (request , response) ;
if(user == null) return ;
int wfid=0;
int linkId = 0;
wfid=Util.getIntValue(Util.null2String(request.getParameter("wfid")),0);
linkId = Util.getIntValue(Util.null2String(request.getParameter("linkid")),0);
ArrayList nodeids = new ArrayList();
ArrayList nodenames = new ArrayList();
ArrayList nodetypes = new ArrayList();
ArrayList nodeattrs = new ArrayList();
nodeids.clear();
nodenames.clear();
nodetypes.clear();
nodeattrs.clear();;
WFNodeMainManager.setWfid(wfid);
WFNodeMainManager.selectWfNode();
String nodeidstr="";
String nodeattrstr="";
String nodenamestr="";
String nodeidattr4="";
while(WFNodeMainManager.next()){
nodeids.add(""+WFNodeMainManager.getNodeid());
nodenames.add(WFNodeMainManager.getNodename());
nodetypes.add(WFNodeMainManager.getNodetype());
nodeattrs.add(WFNodeMainManager.getNodeattribute());
if(nodeidstr.equals("")){
nodeidstr=""+WFNodeMainManager.getNodeid();
nodeattrstr=WFNodeMainManager.getNodeattribute();
nodenamestr=WFNodeMainManager.getNodename();
}else{
nodeidstr+=","+WFNodeMainManager.getNodeid();
nodeattrstr+=","+WFNodeMainManager.getNodeattribute();
nodenamestr+=","+WFNodeMainManager.getNodename();
}
if("4".equals(WFNodeMainManager.getNodeattribute())) nodeidattr4+=","+WFNodeMainManager.getNodeid();
}
WFNodePortalMainManager.resetParameter();
WFNodePortalMainManager.setWfid(wfid);
WFNodePortalMainManager.selectWfNodePortal();
String jsonString = "{\"options\":[";
int count= 0;
while(WFNodePortalMainManager.next()){
int tmpid = WFNodePortalMainManager.getId();
int curid=WFNodePortalMainManager.getNodeid();
int desid=WFNodePortalMainManager.getDestnodeid();
int tmpindex = nodeids.indexOf(""+curid);
if(tmpindex!=-1){
String curtype = ""+nodetypes.get(tmpindex);
String curattr=""+nodeattrs.get(tmpindex);
tmpindex = nodeids.indexOf(""+desid);
String desattr="";
if(tmpindex!=-1) desattr=""+nodeattrs.get(tmpindex);
if(tmpid ==linkId){
for(int i=0;i<nodeids.size(); i++) {
String tempattr=(String)nodeattrs.get(i);
//if(curid == Util.getIntValue(""+nodeids.get(i))) continue;
if(curattr.equals("1") && (tempattr.equals("3")||tempattr.equals("4"))) continue;
if(curattr.equals("2") && (tempattr.equals("0")||tempattr.equals("1"))) continue;
if((curattr.equals("0")||curattr.equals("3")||curattr.equals("4")) && tempattr.equals("2")) continue;
jsonString+="{\"name\":\""+Util.stringReplace4DocDspExt((String)nodenames.get(i)).replaceAll("'", "\'") + "\", \"type\":\""+nodeids.get(i)+"\"},";
count++;
}
}
}
}
if(count>0){
jsonString=jsonString.substring(0,jsonString.length()-1);
}
jsonString+="]}";
out.print(jsonString);
%>