DocChangeOpterator.jsp
4.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
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ include file="/systeminfo/init_wev8.jsp" %>
<%@ page import="weaver.general.Util"%>
<%@ page import="java.util.*"%>
<%@ page import="weaver.general.TimeUtil"%>
<%@ page import="weaver.conn.RecordSet"%>
<jsp:useBean id="rs" class="weaver.conn.RecordSet" scope="page" />
<jsp:useBean id="log" class="weaver.systeminfo.SysMaintenanceLog" scope="page" />
<jsp:useBean id="WorkflowComInfo" class="weaver.workflow.workflow.WorkflowComInfo" scope="page" />
<%
String[] value;
String[] value1;
String currentDate = TimeUtil.getCurrentDateString();
String currentTime = (TimeUtil.getCurrentTimeString()).substring(11,19);
boolean flag = true;
String method = Util.null2String(request.getParameter("method"));
if(method.equals("add")){
Map map = new HashMap();//存T
Map wmap = new HashMap();//存W
boolean flag1 = false;
for(Enumeration En=request.getParameterNames();En.hasMoreElements();){
String paramName = (String) En.nextElement();
value1=request.getParameterValues(paramName);
for(int i=0;i<value1.length;i++){
value1[i]=Util.null2String(value1[i]);
if(value1[i].toUpperCase().indexOf("T")!=-1) {
flag1 = true;
//取得所选的所有流程 by cyril
int typeid = Util.getIntValue(value1[i].substring(1, value1[i].length()),-1);
//System.out.println("value1="+value1[i]+" typeid="+typeid+" sub="+(value1[i].indexOf("T")+1));
String sql = "select t1.id from workflow_base t1, workflow_createdoc t2 where t2.status='1' AND t2.flowDocField>0 and t1.id=t2.workflowid and t1.isvalid=1 and t1.workflowtype=" + typeid;
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) order by t1.workflowname ";
rs.executeSql(sql);
while (rs.next()) {
map.put("W"+rs.getString("id"), rs.getString("id"));
}
sql = "";
break;
}
if(value1[i].toUpperCase().indexOf("W")!=-1){
wmap.put(value1[i], value1[i].substring(1, value1[i].length()));
//System.out.println(value1[i]+"=========---->"+value1[i].substring(1, value1[i].length()));
flag1 = true;
}
}
}
if(!flag1){
response.sendRedirect("/odoc/docs/change/DocChangeSetting.jsp");
return; //xwj for td3218 20051201
}
Iterator it = wmap.entrySet().iterator();
while(it.hasNext()) {
Map.Entry entry = (Map.Entry) it.next();
String mapKey = entry.getKey().toString();
String mapValue = entry.getValue().toString();
if(map.get(mapKey)==null) {
//System.out.println("add mapKey="+mapKey+" mapValue="+mapValue);
map.put(mapKey, mapValue);
}
}
it = map.entrySet().iterator();
while(it.hasNext()) {
Map.Entry entry = (Map.Entry) it.next();
String mapKey = entry.getKey().toString();
String mapValue = entry.getValue().toString();
int tempwfid = Integer.parseInt(mapValue);
rs.executeSql("insert into DocChangeWorkflow(id,createdate,createtime,workflowid,creator) values ("+weaver.docs.change.DocChangeManager.getNextChangeId()+",'"+currentDate+"','"+currentTime+"',"+tempwfid+","+user.getUID()+")");
}
}
else if(method.equals("del")) {
String ids = Util.null2String(request.getParameter("ids"));
List idlist = Util.TokenizerString(ids,",");
if(null!=idlist&&idlist.size()>0)
{
for(int i = 0;i<idlist.size();i++)
{
String tempid = Util.null2String((String)idlist.get(i));
if(!"".equals(tempid))
{
rs.executeSql("select workflowid from DocChangeWorkflow where id="+tempid);
String sql = "delete from DocChangeWorkflow where id ="+tempid;
if(rs.next()){
log.insSysLogInfo(user, Util.getIntValue(tempid), WorkflowComInfo.getWorkflowname(rs.getString(1)), sql, "347", "3", 0, request.getRemoteAddr());
}
rs.executeSql(sql);
}
}
}
}
response.sendRedirect("/odoc/docs/change/DocChangeSetting.jsp");
%>