radius添加csv导出

This commit is contained in:
leijun
2018-12-16 16:59:44 +08:00
parent 728b87a87c
commit 15ce103372
4 changed files with 464 additions and 11 deletions

View File

@@ -1,6 +1,7 @@
package com.nis.web.controller;
import java.beans.PropertyEditorSupport;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.net.URLEncoder;
import java.text.ParseException;
@@ -27,8 +28,6 @@ import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringEscapeUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.log4j.Logger;
import org.apache.poi.ss.formula.functions.T;
import org.eclipse.jetty.util.ajax.JSON;
import org.jets3t.service.ServiceException;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -48,7 +47,6 @@ import com.nis.domain.SysDataDictionaryItem;
import com.nis.domain.basics.AsnIpCfg;
import com.nis.domain.basics.ServiceDictInfo;
import com.nis.domain.basics.SysDictInfo;
import com.nis.domain.callback.ProxyObjKeyring;
import com.nis.domain.configuration.AppDomainCfg;
import com.nis.domain.configuration.AppFeatureIndex;
import com.nis.domain.configuration.AppHttpCfg;
@@ -94,7 +92,6 @@ import com.nis.domain.log.BaseLogEntity;
import com.nis.domain.log.SearchReport;
import com.nis.domain.maat.MaatCfg;
import com.nis.domain.maat.ToMaatBean;
import com.nis.domain.maat.ToMaatResult;
import com.nis.domain.maat.MaatCfg.DigestCfg;
import com.nis.domain.maat.MaatCfg.GroupCfg;
import com.nis.domain.maat.MaatCfg.IpCfg;
@@ -110,10 +107,10 @@ import com.nis.util.Configurations;
import com.nis.util.Constants;
import com.nis.util.DateUtils;
import com.nis.util.DictUtils;
import com.nis.util.FileUtils;
import com.nis.util.JsonMapper;
import com.nis.util.ServiceConfigTemplateUtil;
import com.nis.util.StringUtil;
import com.nis.util.excel.ExcelCsv;
import com.nis.util.excel.ExportExcel;
import com.nis.util.excel.ImportBigExcel;
import com.nis.util.excel.thread.CheckComplexStringFormatThread;
@@ -124,7 +121,6 @@ import com.nis.web.security.UserUtils;
import com.nis.web.service.ArchiveServcie;
import com.nis.web.service.AreaService;
import com.nis.web.service.BaseService;
import com.nis.web.service.CrudService;
import com.nis.web.service.DictService;
import com.nis.web.service.LogService;
import com.nis.web.service.MenuService;
@@ -175,7 +171,6 @@ import com.nis.web.service.specific.SpecificServiceHostCfgService;
import com.nis.web.service.systemService.ServiceConfigInfoService;
import jersey.repackaged.com.google.common.collect.Maps;
import net.sf.json.JSONObject;
public class BaseController {
@@ -1968,6 +1963,37 @@ public class BaseController {
.write(response, fileName).dispose();
}
public void _exportCsv(Model model, HttpServletRequest request, HttpServletResponse response,
RedirectAttributes redirectAttributes, String functionName, List<String> titleList,
Map<String, Class<?>> classMap, Map<String, List> dataMap, Map<String, String> noExportMap)
throws Exception {
// 获取国际化配置
Properties msgProp = getMsgProp();
// 获取分类、性质、标签
List<ServiceDictInfo> fls = serviceDictInfoService.findAllFlDict();
List<ServiceDictInfo> xzs = serviceDictInfoService.findAllXzDict();
List<ServiceDictInfo> labels = serviceDictInfoService.findAllLableDict();
Map<Object, Object> map = new HashMap<Object, Object>();
map.put("fls", fls);
map.put("xzs", xzs);
map.put("labels", labels);
String fileName = msgProp.getProperty(functionName, functionName) + "_" + DateUtils.getDate("yyyyMMddHHmmss")
+ ".csv";
fileName = fileName.replaceAll(" ", "_");
if (request.getHeader("User-Agent").toUpperCase().indexOf("MSIE") > 0) {
fileName = URLEncoder.encode(fileName, "UTF-8");
} else {
fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1");
}
Map<String, List<String>> headMap=ExcelCsv.ExcelCsvHeader(msgProp, titleList, noExportMap, classMap, 1);
Map<String, List<String>> dataList=ExcelCsv.setDataList(msgProp, dataMap, map);
ByteArrayOutputStream out = new ByteArrayOutputStream();
ExcelCsv.writeCSVFile(response,titleList,headMap,dataList,fileName);
}
/**
* 批量审核
* @param isAudit

View File

@@ -80,7 +80,7 @@ public class NtcCollectRadiusLogController extends BaseController {
//radius配置导出
@RequestMapping(value = "exportRadius")
public void exportRadius(@ModelAttribute("log") NtcCollectRadiusLog log, Model model,String hColumns, HttpServletRequest request, HttpServletResponse response,RedirectAttributes redirectAttributes){
public void exportRadius(@ModelAttribute("log") NtcCollectRadiusLog log, Model model,String hColumns,String type, HttpServletRequest request, HttpServletResponse response,RedirectAttributes redirectAttributes){
try {
//export data info
List<String> titleList=new ArrayList<String>();
@@ -126,12 +126,15 @@ public class NtcCollectRadiusLogController extends BaseController {
noExportMap.put("radius_log",cfgIndexInfoNoExport);
dataMap.put("radius_log",list);
/*}*/
this._export(model, request, response, redirectAttributes,"radius_log",titleList,classMap,dataMap,noExportMap);
if("csv".equals(type)){
this._exportCsv(model, request, response, redirectAttributes,"radius_log",titleList,classMap,dataMap,noExportMap);
}else{
this._export(model, request, response, redirectAttributes,"radius_log",titleList,classMap,dataMap,noExportMap);
}
} catch (Exception e) {
logger.error("radius export failed",e);
addMessage(redirectAttributes,"error","export_failed");
}
}
}