From 37c032d7a44695370c9cc5c014a784b8048dbaff Mon Sep 17 00:00:00 2001 From: wangxin Date: Mon, 29 Apr 2019 10:37:38 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=AF=BC=E5=87=BA=E9=80=9F?= =?UTF-8?q?=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/nis/util/DictUtils.java | 13 ++++++++ .../java/com/nis/util/excel/ExportExcel.java | 32 ++++++++++++++++++- 2 files changed, 44 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/nis/util/DictUtils.java b/src/main/java/com/nis/util/DictUtils.java index f0e2e5918..cbf42237d 100644 --- a/src/main/java/com/nis/util/DictUtils.java +++ b/src/main/java/com/nis/util/DictUtils.java @@ -1,6 +1,7 @@ package com.nis.util; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -97,6 +98,18 @@ public class DictUtils { } return itemList; } + public static Map getDictMap(String key){ + Map dictMap=new HashMap(); + List itemList = getDictData().get(key); + if (StringUtil.isEmpty(itemList)) { + return dictMap; + }else { + for(SysDataDictionaryItem item:itemList) { + dictMap.put(item.getItemCode(), item.getItemValue()); + } + } + return dictMap; + } public static String getDictLabels(String dictKey, String itemCodes, String defaultValue){ diff --git a/src/main/java/com/nis/util/excel/ExportExcel.java b/src/main/java/com/nis/util/excel/ExportExcel.java index 78e925289..830db699f 100644 --- a/src/main/java/com/nis/util/excel/ExportExcel.java +++ b/src/main/java/com/nis/util/excel/ExportExcel.java @@ -41,6 +41,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.google.common.collect.Lists; +import com.google.common.collect.Maps; import com.nis.domain.FunctionRegionDict; import com.nis.domain.FunctionServiceDict; import com.nis.domain.SysDataDictionaryItem; @@ -453,6 +454,19 @@ public class ExportExcel { } } + if("ip_group".equals(headerStr)) { + commentStr=""; + //查询dns fake ip policyGroup列表 + List list=policyGroupInfoDao.findPolicyGroupInfosByType(5); + if(!StringUtil.isEmpty(list)){ + for (PolicyGroupInfo policyGroupInfo : list) { + commentStr=commentStr+policyGroupInfo.getServiceGroupId()+"("+policyGroupInfo.getGroupName()+")\n"; + index++; + } + } + commentStr=msgProp.getProperty("select")+":\n"+commentStr; + index++; + } if("isp".equals(headerStr)) { commentStr=""; List itTypeList = new ArrayList(); @@ -2233,7 +2247,9 @@ public class ExportExcel { * @return list 数据列表 */ public ExportExcel setDataList(Properties msgProp, Map dataMap, Map map){ + long start=System.currentTimeMillis(),end=System.currentTimeMillis(); Set keyList=dataMap.keySet(); + Map> dictMaps=Maps.newConcurrentMap(); for (String key : keyList) { List list=dataMap.get(key); for (E e : list){ @@ -2263,7 +2279,16 @@ public class ExportExcel { val = getBasicInfo(ef.dictType(),map,valStr); }else{ //字典数据已做国际化处理 - String dict=DictUtils.getDictLabel(ef.dictType(), valStr, valStr); + String dict=""; + if(dictMaps.containsKey(ef.dictType())) { + Map dictM=dictMaps.get(ef.dictType()); + dict=dictM.containsKey(valStr)?dictM.get(valStr):valStr; + }else { + Map dictM=DictUtils.getDictMap(ef.dictType()); + dictMaps.put(ef.dictType(), dictM); + dict=dictM.containsKey(valStr)?dictM.get(valStr):valStr; + } + //String dict=DictUtils.getDictLabel(ef.dictType(), valStr, valStr); //如果找不到字典国际化值,把字典本身作为默认值放进去,不然导出就是空了 val = msgProp.getProperty(dict,dict); //业务配置-stream 阻断类型中 阻断 改为 封堵(丢弃) @@ -2332,6 +2357,8 @@ public class ExportExcel { log.debug("Write success: ["+row.getRowNum()+"] "+sb.toString()); } } + end=System.currentTimeMillis(); + System.err.println("setDataList cost:"+(end-start)); return this; } /** @@ -2464,6 +2491,7 @@ public class ExportExcel { * @return */ public ExportExcel(Properties msgProp,List titleList,Map noExportMap,Map> clsMap, int type,String titleTime, int... groups){ + long start=System.currentTimeMillis(),end=System.currentTimeMillis(); Map> headerMap=new HashMap>(); Map> commentMap=new HashMap>(); for (String title : titleList) { @@ -2589,6 +2617,8 @@ public class ExportExcel { annotationMap.put(title, annotationList); } initializeMultiSheet(msgProp,titleList, headerMap,commentMap,titleTime); + end=System.currentTimeMillis(); + System.err.println("ExportExcel cost:"+(end-start)); } /**