WorkflowNextOperator.jsp
7.07 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
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="weaver.general.Util" %>
<%@ page import="java.util.*" %>
<%@ include file="/systeminfo/init_wev8.jsp" %>
<%@ page import="weaver.workflow.request.ComparatorUtilBean"%>
<jsp:useBean id="ResourceComInfo" class="weaver.hrm.resource.ResourceComInfo" scope="page"/>
<jsp:useBean id="CustomerInfoComInfo" class="weaver.crm.Maint.CustomerInfoComInfo" scope="page" />
<jsp:useBean id="RecordSet" class="weaver.conn.RecordSet" scope="page" />
<jsp:useBean id="requestNodeFlow" class="weaver.workflow.request.RequestNodeFlow" scope="page" />
<jsp:useBean id="WFNodeMainManager" class="weaver.workflow.workflow.WFNodeMainManager" scope="page" />
<%
int requestid = Util.getIntValue(request.getParameter("requestid"),0);
int nodeid = Util.getIntValue(request.getParameter("nodeid"),0);
String nodetype= Util.null2String(request.getParameter("nodetype"));
String isremark=Util.null2String(request.getParameter("isremark"));
int intervenorright=Util.getIntValue(request.getParameter("intervenorright"),0);
// 操作的用户信息
int userid=user.getUID(); //当前用户id
String logintype = user.getLogintype(); //当前用户类型 1: 类别用户 2:外部用户
int workflowid=Util.getIntValue(request.getParameter("workflowid"),0); //工作流id
String billtablename = "";
int operatorsize = 0;
int formid=Util.getIntValue(request.getParameter("formid"),0);
int isbill=Util.getIntValue(request.getParameter("isbill"),0);
int billid=Util.getIntValue(request.getParameter("billid"),0);
int creater = Util.getIntValue(request.getParameter("creater"),0);
int creatertype =Util.getIntValue(request.getParameter("creatertype"),0);
int usertype = (user.getLogintype()).equals("1") ? 0 : 1;
boolean hasnextnodeoperator = false;
Hashtable operatorsht = new Hashtable();
String intervenoruserids="";
String intervenoruseridsType="";
String intervenorusernames="";
if(isremark.equals("5")||intervenorright>0){
if (isbill == 1) {
RecordSet.executeSql("select tablename from workflow_bill where id = " + formid); // 查询工作流单据表的信息
if (RecordSet.next())
billtablename = RecordSet.getString("tablename"); // 获得单据的主表
}
String isintervenor="1"; //是否干预
intervenoruserids="";
intervenoruseridsType="";
intervenorusernames="";
//查询节点操作者
requestNodeFlow.setRequestid(requestid);
//requestNodeFlow.setNodeid(nodeid);
//requestNodeFlow.setNodetype(nodetype);
requestNodeFlow.setNextnodeid(nodeid);
requestNodeFlow.setNextnodetype(nodetype);
requestNodeFlow.setWorkflowid(workflowid);
requestNodeFlow.setUserid(userid);
requestNodeFlow.setUsertype(usertype);
requestNodeFlow.setCreaterid(creater);
requestNodeFlow.setCreatertype(creatertype);
requestNodeFlow.setIsbill(isbill);
requestNodeFlow.setBillid(billid);
requestNodeFlow.setBilltablename(billtablename);
requestNodeFlow.setRecordSet(RecordSet);
requestNodeFlow.setIsreject(0);
//requestNodeFlow.setRejectToNodeid(nodeid);
requestNodeFlow.setIsintervenor(isintervenor);
//requestNodeFlow.getNextNodesIntervenor();
//requestNodeFlow.getNextNodes();
//ArrayList nextnodeids = requestNodeFlow.getNextnodeids();
//ArrayList nextuserids = requestNodeFlow.getOperatorshts();
//System.out.println(" tmpid="+tmpid+" tmpname="+tmpname+" nextnodeids.size() = "+nextnodeids.size()+"");
boolean NextOperator = requestNodeFlow.getNextOperator();
//System.out.println(" NextOperator="+NextOperator+" nodeid="+nodeid+" nodetype="+nodetype);
if(NextOperator){
operatorsht = requestNodeFlow.getOperators();
int nextnodeid=requestNodeFlow.getNextNodeid();
operatorsize = operatorsht.size();
//System.out.println(" nextnodeid = "+nextnodeid+" operatorsize = "+operatorsize+" NextOperator = "+NextOperator);
ArrayList userids = new ArrayList();
if(nodeid==nextnodeid){
if(operatorsize > 0){
TreeMap map = new TreeMap(new ComparatorUtilBean());
Enumeration tempKeys = operatorsht.keys();
try{
while (tempKeys.hasMoreElements()) {
String tempKey = (String) tempKeys.nextElement();
ArrayList tempoperators = (ArrayList) operatorsht.get(tempKey);
map.put(tempKey,tempoperators);
}
}catch(Exception e){}
Iterator iterator = map.keySet().iterator();
while(iterator.hasNext()) {
String operatorgroup = (String) iterator.next();
ArrayList operators = (ArrayList) operatorsht.get(operatorgroup);
for (int i = 0; i < operators.size(); i++) {
String operatorandtype = (String) operators.get(i);
String[] operatorandtypes = Util.TokenizerString2(operatorandtype, "_");
String opertor = operatorandtypes[0];
String opertortype = operatorandtypes[1];
String opertorsigntype = operatorandtypes[3];
if(userids.contains(opertor)){
continue ;
}else{
userids.add(opertor);
}
if(opertorsigntype.equals("-3")||opertorsigntype.equals("-4")) continue;
intervenoruserids+=opertor+",";
intervenoruseridsType +=opertortype+",";
if("0".equals(opertortype)){
intervenorusernames += "<A href='#"+opertor+"' onclick='pointerXY(event);javaScript:openhrm("+opertor+");'>"+ResourceComInfo.getResourcename(opertor)+"</A>";
}else{
intervenorusernames += "<A href='#"+opertor+"'>"+CustomerInfoComInfo.getCustomerInfoname(opertor)+"</A>";
}
//System.out.println("tempid="+tmpid+"/"+tmpname+" selectnodeid = "+nodeid+" nextnodeid = "+nextnodeid+" intervenorusernames = "+intervenorusernames);
}
}
}
}
}
}
if(intervenoruserids.length()>1){
intervenoruserids=intervenoruserids.substring(0,intervenoruserids.length()-1);
intervenoruseridsType=intervenoruseridsType.substring(0,intervenoruseridsType.length()-1);
}
if(isremark.equals("5")){
%>
<script language="javascript">
$GetEle("IntervenoridType",parent.document).value = "<%=intervenoruseridsType%>";
<%if(intervenoruserids.length()>0){%>
parent._writeBackData("Intervenorid", 2, {id:"<%=intervenoruserids%>",name:"<%=intervenorusernames%>"}, {isSingle:false,hasInput:true,replace:true});
parent.rightMenu.style.display="";
<%}else{%>
parent._writeBackData("Intervenorid", 2, {id:"",name:"<%=SystemEnv.getHtmlLabelName(19046,user.getLanguage())%>"});
<%}%>
</script>
<%}else if(intervenorright>0){
%>
<script language="javascript">
$GetEle("IntervenoridType",parent.document).value = "<%=intervenoruseridsType%>";
<%if(intervenoruserids.length()>0){%>
parent._writeBackData("Intervenorid", 2, {id:"<%=intervenoruserids%>",name:"<%=intervenorusernames%>"}, {isSingle:false,hasInput:true,replace:true});
<%}else{%>
parent._writeBackData("Intervenorid", 2, {id:"",name:""});
<%}%>
parent.rightMenu.style.display="";
</script>
<%}%>