diff --git a/src/main/java/com/nis/domain/configuration/BaseCfg.java b/src/main/java/com/nis/domain/configuration/BaseCfg.java index 8c8c6f92e..c56188d16 100644 --- a/src/main/java/com/nis/domain/configuration/BaseCfg.java +++ b/src/main/java/com/nis/domain/configuration/BaseCfg.java @@ -55,7 +55,7 @@ public class BaseCfg extends BaseEntity implements Cloneable{ /** * GK类型 */ - @ExcelField(title="action") + @ExcelField(title="action",dictType="SERVICE_ACTION") protected Integer action; /** * 有效标识 diff --git a/src/main/java/com/nis/util/DictUtils.java b/src/main/java/com/nis/util/DictUtils.java index 6cf4fb229..e3e3cdb93 100644 --- a/src/main/java/com/nis/util/DictUtils.java +++ b/src/main/java/com/nis/util/DictUtils.java @@ -126,6 +126,12 @@ public class DictUtils { return getDictLabel(dictKey, itemCode, "默认"); } + /*public static String getDictLabel(String dictKey, String itemCode, String itemValue){ + String itemLabel = getDictOption(dictKey).get(itemCode); + + return StringUtil.isBlank(itemLabel) ? defaultValue : itemLabel; + }*/ + public static String getDictCode(String dictKey, String itemValue, 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 63d63015b..eeb0940cb 100644 --- a/src/main/java/com/nis/util/excel/ExportExcel.java +++ b/src/main/java/com/nis/util/excel/ExportExcel.java @@ -94,6 +94,22 @@ public class ExportExcel { getFields(list,cls.getSuperclass()); } } + /** + * //递归获取cls实体对象及父级对象的method + * @param list + * @param cls + */ + public void getMethods(List list,Class cls) { + Method[] methods=cls.getDeclaredMethods(); + if(methods != null && methods.length > 0){ + for (Method method : methods) { + list.add(method); + } + } + if(cls.getSuperclass() != null){ + getMethods(list,cls.getSuperclass()); + } + } /** * 构造函数 @@ -113,6 +129,7 @@ public class ExportExcel { public ExportExcel(String title, Class cls, int type, int... groups){ List list=new ArrayList(); // Get annotation field + //递归获取cls实体对象及父级对象的属性 getFields(list, cls); if(!StringUtil.isEmpty(list)){ @@ -139,27 +156,31 @@ public class ExportExcel { } } } + List ms=new ArrayList(); // Get annotation method - Method[] ms = cls.getDeclaredMethods(); - for (Method m : ms){ - ExcelField ef = m.getAnnotation(ExcelField.class); - if (ef != null && (ef.type()==0 || ef.type()==type)){ - if (groups!=null && groups.length>0){ - boolean inGroup = false; - for (int g : groups){ - if (inGroup){ - break; - } - for (int efg : ef.groups()){ - if (g == efg){ - inGroup = true; - annotationList.add(new Object[]{ef, m}); + //递归获取cls实体对象及父级对象的属性 + getMethods(ms, cls); + if(!StringUtil.isEmpty(ms)){ + for (Method m : ms){ + ExcelField ef = m.getAnnotation(ExcelField.class); + if (ef != null && (ef.type()==0 || ef.type()==type)){ + if (groups!=null && groups.length>0){ + boolean inGroup = false; + for (int g : groups){ + if (inGroup){ break; } + for (int efg : ef.groups()){ + if (g == efg){ + inGroup = true; + annotationList.add(new Object[]{ef, m}); + break; + } + } } + }else{ + annotationList.add(new Object[]{ef, m}); } - }else{ - annotationList.add(new Object[]{ef, m}); } } } @@ -187,6 +208,7 @@ public class ExportExcel { } /** * 构造函数 + * @param msgProp 国际化配置 * @param title 表格标题,传“空值”,表示无标题 * @param cls 实体对象,通过annotation.ExportField获取标题 * @param type 导出类型(1:导出数据;2:导出模板) @@ -222,27 +244,31 @@ public class ExportExcel { } } } + List ms=new ArrayList(); // Get annotation method - Method[] ms = cls.getDeclaredMethods(); - for (Method m : ms){ - ExcelField ef = m.getAnnotation(ExcelField.class); - if (ef != null && (ef.type()==0 || ef.type()==type)){ - if (groups!=null && groups.length>0){ - boolean inGroup = false; - for (int g : groups){ - if (inGroup){ - break; - } - for (int efg : ef.groups()){ - if (g == efg){ - inGroup = true; - annotationList.add(new Object[]{ef, m}); + //递归获取cls实体对象及父级对象的属性 + getMethods(ms, cls); + if(!StringUtil.isEmpty(ms)){ + for (Method m : ms){ + ExcelField ef = m.getAnnotation(ExcelField.class); + if (ef != null && (ef.type()==0 || ef.type()==type)){ + if (groups!=null && groups.length>0){ + boolean inGroup = false; + for (int g : groups){ + if (inGroup){ break; } + for (int efg : ef.groups()){ + if (g == efg){ + inGroup = true; + annotationList.add(new Object[]{ef, m}); + break; + } + } } + }else{ + annotationList.add(new Object[]{ef, m}); } - }else{ - annotationList.add(new Object[]{ef, m}); } } } @@ -436,7 +462,7 @@ public class ExportExcel { } else if (val instanceof String) { cell.setCellValue((String) val); } else if (val instanceof Integer) { - cell.setCellValue((Integer) val); + cell.setCellValue((String) val); } else if (val instanceof Long) { cell.setCellValue((Long) val); } else if (val instanceof Double) { @@ -445,7 +471,7 @@ public class ExportExcel { cell.setCellValue((Float) val); } else if (val instanceof Date) { DataFormat format = wb.createDataFormat(); - style.setDataFormat(format.getFormat("yyyy-MM-dd")); + style.setDataFormat(format.getFormat("yyyy-MM-dd HH:mm:ss")); cell.setCellValue((Date) val); } else { if (fieldType != Class.class){ @@ -467,7 +493,7 @@ public class ExportExcel { * 添加数据(通过annotation.ExportField添加数据) * @return list 数据列表 */ - public ExportExcel setDataList(List list){ + public ExportExcel setDataList(Properties msgProp,List list){ for (E e : list){ int colunm = 0; Row row = this.addRow(); @@ -488,7 +514,7 @@ public class ExportExcel { } // If is dict, get dict label if (StringUtils.isNotBlank(ef.dictType())){ - val = DictUtils.getDictLabel(val==null?"":val.toString(), ef.dictType(), ""); + val = DictUtils.getDictLabel(ef.dictType(),val==null?"":val.toString() , ""); } }catch(Exception ex) { // Failure to ignore @@ -563,41 +589,41 @@ public class ExportExcel { return this; } -// /** -// * 导出测试 -// */ -// public static void main(String[] args) throws Throwable { -// -// List headerList = Lists.newArrayList(); -// for (int i = 1; i <= 10; i++) { -// headerList.add("表头"+i); -// } -// -// List dataRowList = Lists.newArrayList(); -// for (int i = 1; i <= headerList.size(); i++) { -// dataRowList.add("数据"+i); -// } -// -// List> dataList = Lists.newArrayList(); -// for (int i = 1; i <=1000000; i++) { -// dataList.add(dataRowList); -// } -// -// ExportExcel ee = new ExportExcel("表格标题", headerList); -// -// for (int i = 0; i < dataList.size(); i++) { -// Row row = ee.addRow(); -// for (int j = 0; j < dataList.get(i).size(); j++) { -// ee.addCell(row, j, dataList.get(i).get(j)); -// } -// } -// -// ee.writeFile("target/export.xlsx"); -// -// ee.dispose(); -// -// log.debug("Export success."); -// -// } + /** + * 导出测试 + */ + public static void main(String[] args) throws Throwable { + + List headerList = Lists.newArrayList(); + for (int i = 1; i <= 10; i++) { + headerList.add("表头"+i); + } + + List dataRowList = Lists.newArrayList(); + for (int i = 1; i <= headerList.size(); i++) { + dataRowList.add("数据"+i); + } + + List> dataList = Lists.newArrayList(); + for (int i = 1; i <=1000000; i++) { + dataList.add(dataRowList); + } + + ExportExcel ee = new ExportExcel("表格标题", headerList); + + for (int i = 0; i < dataList.size(); i++) { + Row row = ee.addRow(); + for (int j = 0; j < dataList.get(i).size(); j++) { + ee.addCell(row, j, dataList.get(i).get(j)); + } + } + + ee.writeFile("target/export.xlsx"); + + ee.dispose(); + + log.debug("Export success."); + + } } diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/AvContentController.java b/src/main/java/com/nis/web/controller/configuration/ntc/AvContentController.java index 463c65886..e3e3c104f 100644 --- a/src/main/java/com/nis/web/controller/configuration/ntc/AvContentController.java +++ b/src/main/java/com/nis/web/controller/configuration/ntc/AvContentController.java @@ -503,7 +503,7 @@ public class AvContentController extends BaseController { } Page page = avContentCfgService.findPage(pageInfo, entity); - new ExportExcel(msgProp,null, CfgIndexInfo.class,1).setDataList(page.getList()).write(response, fileName).dispose(); + new ExportExcel(msgProp,null, CfgIndexInfo.class,1).setDataList(msgProp,page.getList()).write(response, fileName).dispose(); } return null; diff --git a/src/main/java/com/nis/web/controller/specific/SpecificServiceHostCfgController.java b/src/main/java/com/nis/web/controller/specific/SpecificServiceHostCfgController.java index bdaa228ec..a3492c10d 100644 --- a/src/main/java/com/nis/web/controller/specific/SpecificServiceHostCfgController.java +++ b/src/main/java/com/nis/web/controller/specific/SpecificServiceHostCfgController.java @@ -144,7 +144,7 @@ public class SpecificServiceHostCfgController extends BaseController { String fileName = msgProp.getProperty("agreement_ip_configuration").replaceAll(" ", "_")+".xlsx"; List list = Lists.newArrayList(); list.add(new SpecificServiceHostCfg()); - new ExportExcel(msgProp,msgProp.getProperty("agreement_ip_configuration"), SpecificServiceHostCfg.class, 2).setDataList(list). + new ExportExcel(msgProp,msgProp.getProperty("agreement_ip_configuration"), SpecificServiceHostCfg.class, 2).setDataList(msgProp,list). write(request,response, fileName).dispose(); return null; } catch (Exception e) { diff --git a/src/main/java/com/nis/web/controller/sys/UserController.java b/src/main/java/com/nis/web/controller/sys/UserController.java index 836bc0fc2..a4f51eccc 100644 --- a/src/main/java/com/nis/web/controller/sys/UserController.java +++ b/src/main/java/com/nis/web/controller/sys/UserController.java @@ -199,7 +199,7 @@ public class UserController extends BaseController{ try { String fileName = "用户数据-"+DateUtils.getDate("yyyyMMddHHmmss")+".xlsx"; Page page = userService.findUser(new Page(request, response, -1), user); - new ExportExcel("用户数据", SysUser.class).setDataList(page.getList()).write(response, fileName).dispose(); + new ExportExcel("用户数据", SysUser.class).setDataList(getMsgProp(),page.getList()).write(response, fileName).dispose(); return null; } catch (Exception e) { addMessage(redirectAttributes, "导出用户失败!失败信息:"+e.getMessage()); diff --git a/src/main/webapp/WEB-INF/include/form/areaInfo.jsp b/src/main/webapp/WEB-INF/include/form/areaInfo.jsp index 0e9f2a943..13cd3a2bc 100644 --- a/src/main/webapp/WEB-INF/include/form/areaInfo.jsp +++ b/src/main/webapp/WEB-INF/include/form/areaInfo.jsp @@ -145,7 +145,7 @@ $(function(){ @@ -160,7 +160,7 @@ $(function(){
@@ -185,7 +185,7 @@ $(function(){
@@ -229,7 +229,7 @@ $(function(){
@@ -243,7 +243,7 @@ $(function(){
diff --git a/src/main/webapp/WEB-INF/include/form/ipInfo.jsp b/src/main/webapp/WEB-INF/include/form/ipInfo.jsp index f1b75bbea..07165882f 100644 --- a/src/main/webapp/WEB-INF/include/form/ipInfo.jsp +++ b/src/main/webapp/WEB-INF/include/form/ipInfo.jsp @@ -9,7 +9,14 @@
@@ -25,12 +32,12 @@ - + - + @@ -50,7 +57,7 @@
@@ -81,7 +88,7 @@
@@ -154,7 +161,7 @@
@@ -170,7 +177,7 @@
diff --git a/src/main/webapp/WEB-INF/include/form/stringInfo.jsp b/src/main/webapp/WEB-INF/include/form/stringInfo.jsp index 8bdfb0a1f..21d5ba775 100644 --- a/src/main/webapp/WEB-INF/include/form/stringInfo.jsp +++ b/src/main/webapp/WEB-INF/include/form/stringInfo.jsp @@ -20,7 +20,7 @@
@@ -53,7 +53,7 @@
diff --git a/src/main/webapp/WEB-INF/views/cfg/av/contIp/contIpList.jsp b/src/main/webapp/WEB-INF/views/cfg/av/contIp/contIpList.jsp index 65135ae82..7a5e14cc9 100644 --- a/src/main/webapp/WEB-INF/views/cfg/av/contIp/contIpList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/av/contIp/contIpList.jsp @@ -307,7 +307,7 @@ ${cfg.cfgDesc } - + ${cfg.srcIpAddress } @@ -316,22 +316,22 @@ ${cfg.destPort } - + - + - + - + diff --git a/src/main/webapp/WEB-INF/views/cfg/av/contUrl/contUrlList.jsp b/src/main/webapp/WEB-INF/views/cfg/av/contUrl/contUrlList.jsp index 6306eb199..85fddca0f 100644 --- a/src/main/webapp/WEB-INF/views/cfg/av/contUrl/contUrlList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/av/contUrl/contUrlList.jsp @@ -305,7 +305,7 @@ - + @@ -314,7 +314,7 @@ - + diff --git a/src/main/webapp/WEB-INF/views/cfg/av/picIp/picIpList.jsp b/src/main/webapp/WEB-INF/views/cfg/av/picIp/picIpList.jsp index ed848ddd1..3858b722f 100644 --- a/src/main/webapp/WEB-INF/views/cfg/av/picIp/picIpList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/av/picIp/picIpList.jsp @@ -307,7 +307,7 @@ ${cfg.cfgDesc } - + ${cfg.srcIpAddress } @@ -316,22 +316,22 @@ ${cfg.destPort } - + - + - + - + diff --git a/src/main/webapp/WEB-INF/views/cfg/av/picUrl/picUrlList.jsp b/src/main/webapp/WEB-INF/views/cfg/av/picUrl/picUrlList.jsp index 8f24b2441..b48d4c008 100644 --- a/src/main/webapp/WEB-INF/views/cfg/av/picUrl/picUrlList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/av/picUrl/picUrlList.jsp @@ -305,7 +305,7 @@ - + @@ -314,7 +314,7 @@ - + diff --git a/src/main/webapp/WEB-INF/views/cfg/av/voip/voipForm.jsp b/src/main/webapp/WEB-INF/views/cfg/av/voip/voipForm.jsp index a7bfbc851..da75736dd 100644 --- a/src/main/webapp/WEB-INF/views/cfg/av/voip/voipForm.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/av/voip/voipForm.jsp @@ -186,7 +186,7 @@ var delContent=function(contentClassName,addBtnClassName){
@@ -219,7 +219,7 @@ var delContent=function(contentClassName,addBtnClassName){
@@ -271,7 +271,7 @@ var delContent=function(contentClassName,addBtnClassName){
@@ -286,7 +286,7 @@ var delContent=function(contentClassName,addBtnClassName){
@@ -317,7 +317,7 @@ var delContent=function(contentClassName,addBtnClassName){
@@ -375,7 +375,7 @@ var delContent=function(contentClassName,addBtnClassName){
@@ -388,7 +388,7 @@ var delContent=function(contentClassName,addBtnClassName){
diff --git a/src/main/webapp/WEB-INF/views/cfg/av/voip/voipList.jsp b/src/main/webapp/WEB-INF/views/cfg/av/voip/voipList.jsp index 8374a8abf..569b6d329 100644 --- a/src/main/webapp/WEB-INF/views/cfg/av/voip/voipList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/av/voip/voipList.jsp @@ -458,7 +458,7 @@ - +
@@ -101,7 +101,7 @@
diff --git a/src/main/webapp/WEB-INF/views/cfg/fileTransfer/ftpSubList.jsp b/src/main/webapp/WEB-INF/views/cfg/fileTransfer/ftpSubList.jsp index b7727c52a..6e5c92aa5 100644 --- a/src/main/webapp/WEB-INF/views/cfg/fileTransfer/ftpSubList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/fileTransfer/ftpSubList.jsp @@ -31,7 +31,7 @@
@@ -41,7 +41,7 @@ @@ -61,7 +61,7 @@ @@ -88,7 +88,7 @@ @@ -98,7 +98,7 @@ @@ -138,7 +138,7 @@ @@ -148,7 +148,7 @@ diff --git a/src/main/webapp/WEB-INF/views/cfg/ipCfgDemoForm.jsp b/src/main/webapp/WEB-INF/views/cfg/ipCfgDemoForm.jsp index b640190b9..f31314830 100644 --- a/src/main/webapp/WEB-INF/views/cfg/ipCfgDemoForm.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/ipCfgDemoForm.jsp @@ -453,7 +453,7 @@
- <%@include file="/WEB-INF/include/form/areaDemoInfo.jsp"%> + <%-- <%@include file="/WEB-INF/include/form/areaDemoInfo.jsp"%> --%> <%@include file="/WEB-INF/include/form/basicInfo.jsp"%>
diff --git a/src/main/webapp/WEB-INF/views/cfg/ipCfgForm.jsp b/src/main/webapp/WEB-INF/views/cfg/ipCfgForm.jsp index f3d93d6b1..c818ccd38 100644 --- a/src/main/webapp/WEB-INF/views/cfg/ipCfgForm.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/ipCfgForm.jsp @@ -31,7 +31,7 @@ @@ -48,7 +48,7 @@ @@ -77,7 +77,7 @@ @@ -132,7 +132,7 @@ @@ -147,7 +147,7 @@ diff --git a/src/main/webapp/WEB-INF/views/cfg/mail/mailSubList.jsp b/src/main/webapp/WEB-INF/views/cfg/mail/mailSubList.jsp index c62f76806..a9f2a0668 100644 --- a/src/main/webapp/WEB-INF/views/cfg/mail/mailSubList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/mail/mailSubList.jsp @@ -32,7 +32,7 @@ @@ -42,7 +42,7 @@ @@ -62,7 +62,7 @@ @@ -89,7 +89,7 @@ @@ -99,7 +99,7 @@ @@ -146,7 +146,7 @@ @@ -156,7 +156,7 @@ diff --git a/src/main/webapp/WEB-INF/views/cfg/other/xmppSubList.jsp b/src/main/webapp/WEB-INF/views/cfg/other/xmppSubList.jsp index 36a14c42d..f6a465667 100644 --- a/src/main/webapp/WEB-INF/views/cfg/other/xmppSubList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/other/xmppSubList.jsp @@ -31,7 +31,7 @@ @@ -41,7 +41,7 @@ @@ -61,7 +61,7 @@ @@ -88,7 +88,7 @@ @@ -98,7 +98,7 @@ @@ -145,7 +145,7 @@ @@ -155,7 +155,7 @@ diff --git a/src/main/webapp/WEB-INF/views/cfg/stringCfgForm.jsp b/src/main/webapp/WEB-INF/views/cfg/stringCfgForm.jsp index b21abaa57..e0cf27e92 100644 --- a/src/main/webapp/WEB-INF/views/cfg/stringCfgForm.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/stringCfgForm.jsp @@ -68,7 +68,7 @@ $(function(){ @@ -85,7 +85,7 @@ $(function(){ diff --git a/src/main/webapp/WEB-INF/views/cfg/website/dnsSubList.jsp b/src/main/webapp/WEB-INF/views/cfg/website/dnsSubList.jsp index 36a14c42d..f6a465667 100644 --- a/src/main/webapp/WEB-INF/views/cfg/website/dnsSubList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/website/dnsSubList.jsp @@ -31,7 +31,7 @@ @@ -41,7 +41,7 @@ @@ -61,7 +61,7 @@ @@ -88,7 +88,7 @@ @@ -98,7 +98,7 @@ @@ -145,7 +145,7 @@ @@ -155,7 +155,7 @@ diff --git a/src/main/webapp/WEB-INF/views/cfg/website/httpSubList.jsp b/src/main/webapp/WEB-INF/views/cfg/website/httpSubList.jsp index dc1e092c1..3f0691527 100644 --- a/src/main/webapp/WEB-INF/views/cfg/website/httpSubList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/website/httpSubList.jsp @@ -63,7 +63,7 @@ @@ -73,7 +73,7 @@ @@ -93,7 +93,7 @@ @@ -120,7 +120,7 @@ @@ -130,7 +130,7 @@ @@ -162,7 +162,7 @@ @@ -174,7 +174,7 @@ @@ -219,7 +219,7 @@ @@ -229,7 +229,7 @@ @@ -266,7 +266,7 @@ @@ -278,7 +278,7 @@ @@ -323,7 +323,7 @@ @@ -333,7 +333,7 @@ @@ -372,7 +372,7 @@ @@ -384,7 +384,7 @@ diff --git a/src/main/webapp/WEB-INF/views/cfg/website/sslSubList.jsp b/src/main/webapp/WEB-INF/views/cfg/website/sslSubList.jsp index e96bca242..31ae9abab 100644 --- a/src/main/webapp/WEB-INF/views/cfg/website/sslSubList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/website/sslSubList.jsp @@ -31,7 +31,7 @@ @@ -41,7 +41,7 @@ @@ -61,7 +61,7 @@ @@ -88,7 +88,7 @@ @@ -98,7 +98,7 @@ @@ -134,7 +134,7 @@ @@ -146,7 +146,7 @@ diff --git a/src/main/webapp/WEB-INF/views/cfg/whitelist/ipForm.jsp b/src/main/webapp/WEB-INF/views/cfg/whitelist/ipForm.jsp index 011f677eb..a7b77d615 100644 --- a/src/main/webapp/WEB-INF/views/cfg/whitelist/ipForm.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/whitelist/ipForm.jsp @@ -139,7 +139,7 @@ $(function(){
@@ -164,7 +164,7 @@ $(function(){