MultiPrintGroups.jsp
3.94 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
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="weaver.general.Util,weaver.general.BaseBean" %>
<%@ page import="java.util.*,net.sf.json.*" %>
<%@ page import="weaver.conn.RecordSet"%>
<%@ page import="weaver.hrm.*" %>
<jsp:useBean id="WFLinkInfo" class="weaver.workflow.request.WFLinkInfo" scope="page"/>
<jsp:useBean id="recordSet" class="weaver.conn.RecordSet" scope="page" />
<jsp:useBean id="htmlLayoutOperate" class="weaver.workflow.exceldesign.HtmlLayoutOperate" />
<%--
此页面为点击批量打印后的中间处理页面,将所有请求按照当前所处的节点分组,每个分组打开一个打印的窗口
--%>
<%!
/**
* 根据流程id,节点id获取当前页面的打印方式,仅限于模板模式
*/
private int getModeid(String workflowid,String nodeid){
int isbill = 0;
int modeid=0;
int printdes=0;
String formid = "";
String ismode="";
String sql = "select * from workflow_base where id="+workflowid;
RecordSet rs = new RecordSet();
rs.executeSql(sql);
if(rs.next()){
isbill = Util.getIntValue(rs.getString("isbill"), 0);
formid = Util.null2String(rs.getString("formid"));
}
sql = "select ismode,printdes,toexcel from workflow_flownode where workflowid="+workflowid+" and nodeid="+nodeid;
rs.executeSql(sql);
if(rs.next()){
ismode=Util.null2String(rs.getString("ismode"));
printdes=Util.getIntValue(Util.null2String(rs.getString("printdes")),0);
}
if(printdes != 1){
sql = "select id from workflow_nodemode where isprint='1' and workflowid="+workflowid+" and nodeid="+nodeid;
rs.executeSql(sql);
if(rs.next()){
modeid=rs.getInt("id");
}else{
sql = "select id from workflow_formmode where formid="+formid+" and isbill='"+isbill+"' order by isprint desc";
rs.executeSql(sql);
while(rs.next()){
if(modeid < 1){
modeid = rs.getInt("id");
}
}
}
}
return modeid;
}
%>
<%
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 multirequestid = Util.null2String(request.getParameter("multirequestid"));
List<String> modeList = new ArrayList<String>(); //模板模式
//List<String> reqList = new ArrayList<String>(); //html模式
Map<String,String> reqMap = new HashMap<String,String>(); //html模式
Map result = new HashMap();
if(!"".equals(multirequestid)){
multirequestid = multirequestid + "0";
String sql = "select requestid,workflowid from workflow_requestbase where requestid in (" + multirequestid + ")";
recordSet.executeSql(sql);
int userid = user.getUID();
int logintype = Util.getIntValue(user.getLogintype(),1);
while(recordSet.next()){
String workflowid = recordSet.getString("workflowid");
int reqid = recordSet.getInt("requestid");
int nodeid = WFLinkInfo.getCurrentNodeid(reqid,userid,logintype); //当前人员最后操作的节点
int modeid = getModeid(workflowid,nodeid+""); //取模板模式的打印模板id
if(modeid > 0){
modeList.add(reqid + "");
}else{
modeid = htmlLayoutOperate.getActiveHtmlLayout(Util.getIntValue(workflowid), nodeid, 1); //取html模式的打印模板id
if(modeid > 0){
String groupid = workflowid + "-" + nodeid;
if(reqMap.containsKey(groupid)){
String reqids = reqMap.get(groupid);
reqids += reqid + ",";
reqMap.put(groupid,reqids);
}else{
reqMap.put(groupid,reqid+",");
}
//reqList.add(reqid + "");
}
}
}
int msize = modeList.size();
String htmlreqids = "";
String modereqids = "";
for(int i = 0; i < msize; i++){
modereqids += modeList.get(i) + ",";
}
if(msize > 0){
result.put("modereqids",modereqids);
}
if(!reqMap.isEmpty()){ //html模式打印
result.put("htmlreqids",reqMap);
}
JSONObject jsobject = JSONObject.fromObject(result);
out.print(jsobject.toString());
}
%>