LabelOperation.jsp
6.09 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
156
157
158
<%@ page import="weaver.general.Util,weaver.general.ExportExcelUtil" %>
<%@ page import="java.util.*,java.io.*,weaver.file.FileDownload" %>
<%@ page import="java.net.URLEncoder" %>
<%@ page language="java" contentType="text/html; charset=UTF-8" %> <%@ include file="/systeminfo/init_wev8.jsp" %>
<jsp:useBean id="rs" class="weaver.conn.RecordSet" scope="page"/>
<jsp:useBean id="LabelComInfo" class="weaver.systeminfo.label.LabelComInfo" scope="page"/>
<jsp:useBean id="systemEnv" class="weaver.systeminfo.SystemEnv" scope="page"/>
<jsp:useBean id="expExcel" class="weaver.general.ExportExcelUtil" scope="page"/>
<%
if(!HrmUserVarify.checkUserRight("System:LabelManage", user)){
response.sendRedirect("/notice/noright.jsp");
return;
}
char separator = Util.getSeparator() ;
String operation = Util.null2String(request.getParameter("operation"));
//搜索操作
if(operation.equalsIgnoreCase("search")||operation.equalsIgnoreCase("onFirst")||operation.equalsIgnoreCase("onPrev")||operation.equalsIgnoreCase("onNext")||operation.equalsIgnoreCase("onLast")){
String searchcon=request.getParameter("searchcon");
searchcon=URLEncoder.encode(searchcon);//用response.sendRedirect来传递需要转码接收方需要解码
String labelId=request.getParameter("labelId");
int pageNum=Util.getIntValue(request.getParameter("pageNum"));
if (operation.equalsIgnoreCase("search")) pageNum=1;
response.sendRedirect("ManageLabel.jsp?searchcon="+searchcon+"&labelId="+labelId+"&pageNum="+pageNum);
return ;
}else if(operation.equalsIgnoreCase("export")){
//导出标签
String indexdesc = Util.null2String(request.getParameter("indexdesc"));
String id = Util.null2String(request.getParameter("id"));
List<String> languageids = new ArrayList<String>();
String langids = "";
rs.executeSql("select * from syslanguage where activable=1 order by id asc");
List<String> heads = new ArrayList<String>();
List<Map<String,String>> datas = new ArrayList<Map<String,String>>();
heads.add("ID");
heads.add(SystemEnv.getHtmlLabelName(433,user.getLanguage()));
languageids.add("ID");
languageids.add("indexdesc");
while(rs.next()){
heads.add(Util.null2String(rs.getString("language")));
languageids.add(rs.getString("id"));
if(langids.equals("")){
langids = ""+rs.getInt("id");
}else{
langids += ","+rs.getInt("id");
}
}
String sql = "select t2.indexdesc,t1.* from HtmlLabelInfo t1,HtmlLabelIndex t2 where t1.indexid = t2.id and t1.indexid>0 and languageid in ("+langids+")";
if(!id.equals("")){
sql = sql + " and indexid="+id;
}
if(!"".equals(indexdesc)){
sql = sql + " and indexdesc like '%"+indexdesc+"%'";
}
sql += "order by indexid desc,languageid asc";
rs.executeSql(sql);
Map<String,String> data = new TreeMap<String,String>();
int lastIndexId = -1;
int curIdx = 0;
boolean onlyOne = true;
while(rs.next()){
int indexId = rs.getInt("indexid");
if(lastIndexId==-1){
data.put("ID",""+indexId);
data.put("indexdesc",Util.null2String(rs.getString("indexdesc")));
}else if(indexId==lastIndexId){
if(curIdx==rs.getCounts()-1){
datas.add(data);
}
}else{
datas.add(data);
data = new TreeMap<String,String>();
data.put("ID",""+indexId);
data.put("indexdesc",Util.null2String(rs.getString("indexdesc")));
onlyOne = false;
}
data.put(""+rs.getInt("languageid"),Util.null2String(rs.getString("labelname")));
lastIndexId = indexId;
curIdx++;
}
//System.out.println(datas);
String fileName = expExcel.exportExcel(heads,datas,languageids,"Label_");
response.sendRedirect("/filesystem/downloadBatch/"+fileName);
//FileDownload fd = new FileDownload();
//fd.toUpload(response,fileName);
//fd.deleteFile(ExportExcelUtil.filePath+fileName);
//删除操作
}else if(operation.equalsIgnoreCase("deletelabel")){
String[] delete_label_id=request.getParameterValues("delete_label_id");
if (delete_label_id!=null){
for(int i = 0; i < delete_label_id.length; i++){
String deleteSql1="delete from HtmlLabelIndex where id=" + delete_label_id[i];
String deleteSql2="delete from HtmlLabelInfo where indexid=" + delete_label_id[i];
rs.executeSql(deleteSql1);
rs.executeSql(deleteSql2);
LabelComInfo.removeLabeInfoCache(delete_label_id[i]);
}}
response.sendRedirect("ManageLabel.jsp");
return ;
}
//修改--采用先删后加的形式
else if(operation.equalsIgnoreCase("editLabel")){
int id = Util.getIntValue(request.getParameter("id"),-1);
String indexdesc = Util.null2String(request.getParameter("indexdesc"));
rs.executeSql("select * from syslanguage where activable=1");
systemEnv.setUser(user);
systemEnv.setClientAddress(request.getRemoteAddr());
Map<String,String> nameMap = new HashMap<String,String>();
while(rs.next()){
nameMap.put(rs.getString("id"),Util.null2String(request.getParameter("name_"+rs.getString("id"))));
}
//String msg = systemEnv.getHtmlLabelId(indexdesc,id,cname,ename,twname);
String msg = systemEnv.getHtmlLabelId(indexdesc,id,nameMap);
if(msg.equals("error")){
response.sendRedirect("/systeminfo/label/EditLabel.jsp?id="+id+"&error=1");
}else{
response.sendRedirect("/systeminfo/label/EditLabel.jsp?isclose=1&id="+msg);
}
}else{
//导入标签
String[] allowTypes = {".xls"};
expExcel.setUser(user);
String file = expExcel.uploadFile(request,allowTypes);
if(file==null){
response.sendRedirect("/systeminfo/label/importLabel.jsp?message=error&hasTab=1");
}else{
rs.executeSql("select * from syslanguage where activable=1 order by id");
List<String> heads = new ArrayList<String>();
heads.add("ID");
heads.add("indexdesc");
while(rs.next()){
heads.add(Util.null2String(rs.getString("id")));
}
List<Map<String,String>> datas = expExcel.parseExcel(file,true,heads);
if(datas==null || datas.size()==0){
response.sendRedirect("/systeminfo/label/importLabel.jsp?message=error&hasTab=1");
}else{
//System.out.println(datas);
systemEnv.setUser(user);
systemEnv.setClientAddress(request.getRemoteAddr());
systemEnv.updateLabelBatch(datas);
response.sendRedirect("/systeminfo/label/importLabel.jsp?message=success&hasTab=1");
}
}
}
%>