LogExcel.jsp
6.41 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
<%@ page language="java" contentType="application/vnd.ms-excel; charset=UTF-8" %>
<%@ page import="weaver.systeminfo.*" %>
<%@ page import="weaver.hrm.*" %>
<%@ page import="weaver.general.Util" %>
<jsp:useBean id="SysMaintenanceLog" class="weaver.systeminfo.SysMaintenanceLog" scope="page" />
<jsp:useBean id="ResourceComInfo" class="weaver.hrm.resource.ResourceComInfo" scope="page" />
<jsp:useBean id="DepartmentComInfo" class="weaver.hrm.company.DepartmentComInfo" scope="page" />
<jsp:useBean id="companyInfo" class="weaver.hrm.company.CompanyComInfo" scope="page" />
<jsp:useBean id="SubCompanyComInfo" class="weaver.hrm.company.SubCompanyComInfo" scope="page" />
<jsp:useBean id="RecordSet" class="weaver.conn.RecordSet" scope="page" />
<jsp:useBean id="SptmForCowork" class="weaver.splitepage.transform.SptmForCowork" scope="page" />
<jsp:useBean id="SptmForLog" class="weaver.splitepage.transform.SptmForLog" scope="page" />
<jsp:useBean id="Monitor" class="weaver.workflow.monitor.Monitor" scope="page" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style>
<!--
td{font-size:12px}
.title{font-weight:bold;font-size:20px}
-->
</style>
<%
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-disposition","attachment;filename=logexcel.xls");
User user = HrmUserVarify.getUser (request , response) ;
if(user == null) return ;
String sql="";
String sqlwhere = Util.null2String(request.getParameter("sqlwhere"));
String cmd = Util.null2String(request.getParameter("cmd"));
boolean isLogView = HrmUserVarify.checkUserRight("LogView:View", user);
// 如果是登录日志查看,需要检查是否有登录日志查看的权限 (刘煜修改)
if( (sqlwhere.equals("")||(sqlwhere.indexOf("operateitem=60")>=0)) && !HrmUserVarify.checkUserRight("LogView:View", user)) {
response.sendRedirect("/notice/noright.jsp") ;
return ;
}
String backFields = "id, relatedName, operateType, lableId, operateUserId, operateDate, operateTime, clientAddress";
String sqlForm = "";
if(sqlwhere.indexOf("operateitem=60")>=0){
sqlForm = "HrmSysMaintenanceLog SysMaintenanceLog, SystemLogItem";
}else{
sqlForm = "SysMaintenanceLog, SystemLogItem";
}
if(sqlwhere.indexOf("operateitem=85") >= 0 && !isLogView)
//流程监控需要根据监控列表判断查看范围
{
}
else if(sqlwhere.indexOf("operateitem=91") >= 0)
{
sqlForm += ", WorkPlanMonitor";
}
String sqlWhere = sqlwhere;
sqlWhere += " AND SysMaintenanceLog.operateItem = SystemLogItem.itemId";
if(sqlwhere.indexOf("operateitem=85") >= 0 && !isLogView)
//流程监控需要根据监控列表判断查看范围
{
//sqlWhere += " AND WorkFlow_Monitor_Bound.monitorHrmId = " + user.getUID() + " AND WorkFlow_Monitor_Bound.workFlowId = SysMaintenanceLog.relatedId";
String wfidsql = Monitor.getwfidRightSql(user.getUID()+"",RecordSet.getDBType());
sqlWhere += " and SysMaintenanceLog.relatedId in ("+wfidsql+")";
}
else if(sqlwhere.indexOf("operateitem=91") >= 0)
{
sqlWhere += " AND WorkPlanMonitor.hrmId = " + user.getUID() + " AND WorkPlanMonitor.workPlanTypeId = SysMaintenanceLog.relatedId";
}
//QC309094 [90]数据源设置-解决日志导出excel为空的问题 -start
//修改说明:出错原因--1.拼接sqlwhere时缺了"where"关键字;2.数据库中所有表的字段都为小写,拼接的SQL中采用的是驼峰命名法
String sqlWhereCorrect = "select "+backFields+ " from "+sqlForm+ " " +"where "+sqlWhere + " order by id desc ";
RecordSet.execute(sqlWhereCorrect.toLowerCase());
//QC309094 [90]数据源设置-解决日志导出excel为空的问题 -end
%>
<table class=ListStyle border="1">
<tr class=Header>
<%if(cmd.equals("sr")){%>
<th width=15%><%=SystemEnv.getHtmlLabelNames("674,1867", user.getLanguage())%></th>
<th width=15%><%=SystemEnv.getHtmlLabelName(1276, user.getLanguage())%></th>
<th width=15%><%=SystemEnv.getHtmlLabelName(63, user.getLanguage())%></th>
<th width=15%><%=SystemEnv.getHtmlLabelName(101, user.getLanguage())%></th>
<th width=15%><%=SystemEnv.getHtmlLabelName(106, user.getLanguage())%></th>
<th width=20%><%=SystemEnv.getHtmlLabelNames("108,110", user.getLanguage())%></th>
<%}else{%>
<th width=15%><%=SystemEnv.getHtmlLabelName(97, user.getLanguage())%></th>
<!--
<th width=20%><%=SystemEnv.getHtmlLabelName(16017, user.getLanguage())%></th>
<th width=20%><%=SystemEnv.getHtmlLabelName(141, user.getLanguage())%></th>
<th width=10%><%=SystemEnv.getHtmlLabelName(124, user.getLanguage())%></th>
-->
<th width=15%><%=SystemEnv.getHtmlLabelName(99, user.getLanguage())%></th>
<th width=15%><%=SystemEnv.getHtmlLabelName(63, user.getLanguage())%></th>
<th width=15%><%=SystemEnv.getHtmlLabelName(101, user.getLanguage())%></th>
<th width=25%><%=SystemEnv.getHtmlLabelName(106, user.getLanguage())%></th>
<th width=15%><%out.print(SystemEnv.getHtmlLabelName(108,user.getLanguage())+SystemEnv.getHtmlLabelName(110, user.getLanguage()));%></th>
<%}%>
</tr>
<%
while (RecordSet.next()) {%>
<tr>
<%if(cmd.equals("sr")){%>
<td><%=SptmForCowork.getResourceName(RecordSet.getString("operateUserId"))%></td>
<td><%out.print(RecordSet.getString("operateDate")+" "+RecordSet.getString("operateTime"));%></td>
<td><%=SptmForCowork.getTypeName(RecordSet.getString("operateType"),""+user.getLanguage())%></td>
<td><%=SptmForCowork.getItemLableName(RecordSet.getString("lableId"),""+user.getLanguage())%></td>
<td><%out.print(RecordSet.getString("relatedName"));%></td>
<td><%out.print(RecordSet.getString("clientAddress"));%></td>
<%}else{%>
<td><%out.print(RecordSet.getString("operateDate")+" "+RecordSet.getString("operateTime"));%></td>
<!--
<td><%=SptmForLog.getLoginName(RecordSet.getString("operateUserId"))%></td>
<td><%=SptmForLog.getSubName(RecordSet.getString("operateUserId"))%></td>
<td><%=SptmForLog.getDepName(RecordSet.getString("operateUserId"))%></td>
-->
<td><%=SptmForCowork.getResourceName(RecordSet.getString("operateUserId"))%></td>
<td><%=SptmForCowork.getTypeName(RecordSet.getString("operateType"),""+user.getLanguage())%></td>
<td><%=SptmForCowork.getItemLableName(RecordSet.getString("lableId"),""+user.getLanguage())%></td>
<td><%out.print(RecordSet.getString("relatedName"));%></td>
<td><%out.print(RecordSet.getString("clientAddress"));%></td>
<%}%>
</tr>
<%}%>
</table>