diff --git a/src/main/java/com/nis/domain/basics/PolicyGroupInfo.java b/src/main/java/com/nis/domain/basics/PolicyGroupInfo.java index 5d4ec3c1b..2a372b989 100644 --- a/src/main/java/com/nis/domain/basics/PolicyGroupInfo.java +++ b/src/main/java/com/nis/domain/basics/PolicyGroupInfo.java @@ -5,6 +5,7 @@ import java.util.Date; import com.nis.domain.configuration.BaseCfg; import com.nis.domain.configuration.CfgIndexInfo; +import com.nis.util.excel.ExcelField; /** * @ClassName: PolicyGroupInfo.java @@ -18,9 +19,12 @@ public class PolicyGroupInfo extends BaseCfg implements Seriali private static final long serialVersionUID = 7931466570918016654L; private Integer groupId; + @ExcelField(title="group_name",sort=1) private String groupName; + @ExcelField(title="group_type",dictType="GROUP_TYPE",sort=2) private Integer groupType; private Integer serviceGroupId; + @ExcelField(title="desc",sort=4) private String description; private Long asnNo; diff --git a/src/main/java/com/nis/domain/basics/ServiceDictInfo.java b/src/main/java/com/nis/domain/basics/ServiceDictInfo.java index 2d2dc7611..3d2e43ed8 100644 --- a/src/main/java/com/nis/domain/basics/ServiceDictInfo.java +++ b/src/main/java/com/nis/domain/basics/ServiceDictInfo.java @@ -11,6 +11,7 @@ import com.nis.domain.SysMenu; import com.nis.domain.SysUser; import com.nis.util.Configurations; import com.nis.util.StringUtil; +import com.nis.util.excel.ExcelField; /** * 业务辅助表-业务字典信息表 * @author zsl @@ -21,16 +22,24 @@ public class ServiceDictInfo extends BaseEntity{ private static final long serialVersionUID = 4680466118906894338L; private Integer serviceDictId; //service_dict_id 字典ID int N 主键,自增 + @ExcelField(title="item_type",dictType="SERVICE_DICT_ITM_TYPE",sort=3) private Integer itemType; //item_type 数据类型 int N 1:分类 2:性质 3:标签 - private String itemCode; //item_code编码 varchar(64) N + private String itemCode; //item_code编码 varchar(64) N + @ExcelField(title="config_content",sort=1) private String itemValue; //item_value 编码对应值 varchar2(64) N + @ExcelField(title="desc",sort=2) private String itemDesc; //item_desc 描述信息 varcahr2(128) Y private ServiceDictInfo parent; //parent_id 父ID number(9) N 无父属性,默认填0 + @ExcelField(title="is_leaf",dictType="INT_YES_NO",sort=4) private Integer isLeaf; //is_leaf 是否叶子节点 int N 0-否 1-是;只有一级填0; private Integer isValid; //is_valid 有效标志 int N 1-有效 0-无效 + private SysUser serviceDictCreator; //creator_id 创建人员 int N 取自sys_user.id + @ExcelField(title="create_time",sort=6) private Date createTime; //create_time 配置时间 date N + private SysUser serviceDictEditor; //editor_id 修改人员 int Y 取自sys_user.id + @ExcelField(title="edit_time",sort=8) private Date editTime; //edit_time 修改时间 date Y private Integer levelNo; //层级 private List childrenList = new ArrayList();//子列表 @@ -41,6 +50,11 @@ public class ServiceDictInfo extends BaseEntity{ private Date editEndDate; // 修改结束日期 private String showSequence; //显示序号 + @ExcelField(title="creator",sort=5) + private String creatorName; + @ExcelField(title="editor",sort=7) + private String editorName; + private String pNames;//父节点名称 /** @@ -49,6 +63,20 @@ public class ServiceDictInfo extends BaseEntity{ */ private List conditionType; + + + public String getCreatorName() { + return creatorName; + } + public void setCreatorName(String creatorName) { + this.creatorName = creatorName; + } + public String getEditorName() { + return editorName; + } + public void setEditorName(String editorName) { + this.editorName = editorName; + } @JsonIgnore public String getpNames() { return pNames; diff --git a/src/main/java/com/nis/domain/specific/SpecificServiceCfg.java b/src/main/java/com/nis/domain/specific/SpecificServiceCfg.java index d930b4496..80bdfa40b 100644 --- a/src/main/java/com/nis/domain/specific/SpecificServiceCfg.java +++ b/src/main/java/com/nis/domain/specific/SpecificServiceCfg.java @@ -6,6 +6,7 @@ import java.util.List; import com.fasterxml.jackson.annotation.JsonIgnore; import com.nis.domain.BaseEntity; import com.nis.util.Configurations; +import com.nis.util.excel.ExcelField; /** * 系统特定服务信息表-记录特定服务信息(specific_service_cfg) @@ -17,19 +18,25 @@ public class SpecificServiceCfg extends BaseEntity{ private static final long serialVersionUID = -1133644323636425766L; private Integer specServiceId; //spec_service_id 协议ID int N 主键,初始化 + @ExcelField(title="app_code",sort=2) private Integer specServiceCode; //协议编码 int N 暂定,以后可扩展 1000:微信 , 1001:QQ + @ExcelField(title="app_name",sort=3) private String specServiceName; //spec_service_name 协议名称 varchar(64) N + @ExcelField(title="app_desc",sort=4) private String specServiceDesc; //spec_service_desc 协议描述 varchar2(64) N private Integer isValid; //is_valid 有效标志 int N 1-有效 0-无效 + @ExcelField(title="operate_time",sort=6) private Date opTime; //op_time 操作时间 date N private SpecificServiceCfg parent; //parent_id 父节点id int N 0表示一级节点 private Integer isLeaf; //is_leaf 是否是叶子节点 int N 0否,1是,只有一级填0 private Integer groupId; //group_id maat端配置分组id int N 缺省0,表示未与maat分组同步 + @ExcelField(title="cfg_type",dictType="SPECIFIC_SERVICE_CFG_TYPE",sort=5) private Integer cfgType;//配置类型,1,app;2,加密隧道;3,基础协议 private Integer parentType;//父配置类型 private Date beginDate; // 开始日期 private Date endDate; // 结束日期 private String showSequence; //显示序号 + @ExcelField(title="business_type",sort=1) private String businessType; private Integer addFlag;//app界面添加标记 diff --git a/src/main/java/com/nis/web/controller/basics/AsnIpController.java b/src/main/java/com/nis/web/controller/basics/AsnIpController.java index 3736613d4..9f2aa1202 100644 --- a/src/main/java/com/nis/web/controller/basics/AsnIpController.java +++ b/src/main/java/com/nis/web/controller/basics/AsnIpController.java @@ -1,4 +1,4 @@ -package com.nis.web.controller.basics; + package com.nis.web.controller.basics; import java.util.ArrayList; import java.util.HashMap; @@ -7,7 +7,6 @@ import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; - import org.apache.commons.lang.StringUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.stereotype.Controller; @@ -18,20 +17,18 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.mvc.support.RedirectAttributes; - import com.nis.domain.FunctionRegionDict; import com.nis.domain.FunctionServiceDict; import com.nis.domain.Page; import com.nis.domain.basics.AsnIpCfg; import com.nis.domain.basics.PolicyGroupInfo; import com.nis.domain.configuration.CfgIndexInfo; -import com.nis.domain.configuration.IpPortCfg; import com.nis.domain.specific.ConfigGroupInfo; -import com.nis.domain.specific.SpecificServiceCfg; import com.nis.exceptions.MaatConvertException; import com.nis.util.AsnCacheUtils; import com.nis.util.Constants; import com.nis.util.DictUtils; +import com.nis.util.StringUtil; import com.nis.web.controller.BaseController; @Controller @RequestMapping(value = "${adminPath}/basics/asn") @@ -186,33 +183,50 @@ public class AsnIpController extends BaseController{ Map> classMap=new HashMap>(); Map dataMap=new HashMap(); Map noExportMap=new HashMap(); - - - /*//导出选中记录 - * if(!StringUtil.isEmpty(ids)){ - for(String id:ids.split(",")){ - Long.parseLong(id); - } - //List list=ipCfgService.getListByCfgIdWithName(IpPortCfg.getTablename(), entity.getFunctionId(), ids); - }else{*/ - //条件导出数据大于最大导出数,只导出最大导出条数 - entity.setTableName(IpPortCfg.getTablename()); + List list = new ArrayList(); + if (!StringUtil.isEmpty(ids)) { + list = asnIpCfgService.findByPage(ids); + } else { Page pageInfo=new Page(request, response,"r"); pageInfo.setPageNo(1); pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); Page page = asnIpCfgService.findPage(pageInfo, entity); - for (AsnIpCfg asnIp : page.getList()) { + list=page.getList(); + } + for (AsnIpCfg asnIp : list) { asnIp.setIsIssued(String.valueOf(asnIp.getIsValid())); } titleList.add(entity.getMenuNameCode()); classMap.put(entity.getMenuNameCode(), AsnIpCfg.class); - String ipPortInfoNoExport=",do_log,action,valid_identifier,is_audit" + String cfgIndexInfoNoExport=",block_type,do_log,action,valid_identifier,is_audit" + ",auditor,audit_time,letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; - noExportMap.put(entity.getMenuNameCode(),ipPortInfoNoExport); - dataMap.put(entity.getMenuNameCode(), page.getList()); - /*}*/ - this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); + +",userregion2,userregion3,userregion4,userregion5,ir_type,group_name,&userregion1:asn_no-"; + // 时间过滤 + if (entity.getSearch_create_time_start() == null ) { + cfgIndexInfoNoExport = ",config_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_edit_time_start() == null) { + cfgIndexInfoNoExport = ",edit_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_audit_time_start() == null) { + cfgIndexInfoNoExport = ",audit_time" + cfgIndexInfoNoExport; + } + if (!StringUtil.isEmpty(entity.gethColumns())) { + cfgIndexInfoNoExport = "," + entity.gethColumns() + "," + cfgIndexInfoNoExport; + } + + noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); + dataMap.put(entity.getMenuNameCode(), list); + String timeRange = initTimeMap(entity); + noExportMap.put("timeRange", timeRange); + + if ("csv".equals(entity.getExType())) { + this._exportCsv(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } } catch (Exception e) { logger.error("asnIp export failed",e); addMessage(redirectAttributes,"error","export_failed"); diff --git a/src/main/java/com/nis/web/controller/basics/PolicyGroupController.java b/src/main/java/com/nis/web/controller/basics/PolicyGroupController.java index 41c4c4300..8cef98d7b 100644 --- a/src/main/java/com/nis/web/controller/basics/PolicyGroupController.java +++ b/src/main/java/com/nis/web/controller/basics/PolicyGroupController.java @@ -1,11 +1,17 @@ package com.nis.web.controller.basics; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang.StringUtils; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; @@ -14,6 +20,7 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes; import com.nis.domain.Page; import com.nis.domain.basics.PolicyGroupInfo; +import com.nis.util.Constants; import com.nis.util.StringUtil; import com.nis.web.controller.BaseController; /** @@ -133,4 +140,62 @@ public class PolicyGroupController extends BaseController { return true; } + + //Group配置导出 + @RequestMapping(value = "exportGroup") + public void exportGroup(Model model,HttpServletRequest request,HttpServletResponse response, + @ModelAttribute("cfg")PolicyGroupInfo entity,String ids,RedirectAttributes redirectAttributes){ + try { + //export data info + entity.setMenuNameCode("policy_group_manage"); + List titleList=new ArrayList(); + Map> classMap=new HashMap>(); + Map dataMap=new HashMap(); + Map noExportMap=new HashMap(); + List list = new ArrayList(); + if (!StringUtil.isEmpty(ids)) { + list = policyGroupInfoService.findPolicyByGroupInfoList(ids); + } else { + Page pageInfo=new Page(request, response,"r"); + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + Page page = policyGroupInfoService.findPolicyGroupInfoList(pageInfo,entity); + list=page.getList(); + } + + titleList.add(entity.getMenuNameCode()); + classMap.put(entity.getMenuNameCode(), PolicyGroupInfo.class); + String cfgIndexInfoNoExport=",config_describe,cfg_id,block_type,do_log,action,valid_identifier,is_audit" + + ",auditor,audit_time,letter,whether_area_block,classification,attribute,label" + +",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,"; + // 时间过滤 + if (entity.getSearch_create_time_start() == null ) { + cfgIndexInfoNoExport = ",config_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_edit_time_start() == null) { + cfgIndexInfoNoExport = ",edit_time" + cfgIndexInfoNoExport; + } + + if (!StringUtil.isEmpty(entity.gethColumns())) { + cfgIndexInfoNoExport = "," + entity.gethColumns() + "," + cfgIndexInfoNoExport; + } + noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); + dataMap.put(entity.getMenuNameCode(), list); + String timeRange = initTimeMap(entity); + noExportMap.put("timeRange", timeRange); + + if ("csv".equals(entity.getExType())) { + this._exportCsv(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } + } catch (Exception e) { + logger.error("Group export failed",e); + addMessage(redirectAttributes,"error","export_failed"); + } + //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + } + } diff --git a/src/main/java/com/nis/web/controller/basics/ServiceDictInfoController.java b/src/main/java/com/nis/web/controller/basics/ServiceDictInfoController.java index 02d5965c1..70118cee7 100644 --- a/src/main/java/com/nis/web/controller/basics/ServiceDictInfoController.java +++ b/src/main/java/com/nis/web/controller/basics/ServiceDictInfoController.java @@ -1,40 +1,37 @@ package com.nis.web.controller.basics; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; -import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Properties; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; - import org.apache.shiro.authz.annotation.Logical; import org.apache.shiro.authz.annotation.RequiresPermissions; -import org.apache.zookeeper.ZooDefs.Ids; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; -import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.mvc.support.RedirectAttributes; - import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.nis.domain.Page; +import com.nis.domain.SysUser; import com.nis.domain.basics.ServiceDictInfo; -import com.nis.domain.configuration.RequestInfo; -import com.nis.exceptions.MaatConvertException; import com.nis.util.ConfigDictUtils; import com.nis.util.Configurations; +import com.nis.util.Constants; +import com.nis.util.DateUtils; import com.nis.util.StringUtil; import com.nis.util.StringUtils; import com.nis.web.controller.BaseController; +import com.nis.web.security.UserUtils; @Controller @RequestMapping(value = "${adminPath}/basics/serviceDictInfo") @@ -474,4 +471,126 @@ public class ServiceDictInfoController extends BaseController { } + // dict配置导出 + @RequestMapping(value = "exportDict") + public void exportDict(String itType, ServiceDictInfo serviceDictInfo,Model model, HttpServletRequest request, HttpServletResponse response, + String ids, RedirectAttributes redirectAttributes,String exType,String hColumns) { + try { + // export data info + List titleList = new ArrayList(); + Map> classMap = new HashMap>(); + Map dataMap = new HashMap(); + Map noExportMap = new HashMap(); + List list = Lists.newArrayList(); + List intArr = ConfigDictUtils.dealTypeCondition(Configurations.getStringProperty("SERVICE_DICT_ITM_TYPE", ""), itType); + //处理数据 + if (!StringUtil.isEmpty(ids)) { + list = serviceDictInfoService.findByDictInfo(ids,intArr); + } else { + + Page pageCondition = new Page(request, response); + pageCondition.setPageNo(1); + pageCondition.setPageSize(Constants.MAX_EXPORT_SIZE); + //查询符合条件总数 + List allList = serviceDictInfoService.findAllServiceDictInfo(serviceDictInfo,intArr,pageCondition.getOrderBy()); + //查出顶层分页数据 + Page page = serviceDictInfoService.findTopDictList(pageCondition, serviceDictInfo,intArr); + // 删除顶层数据、取出id + List intList = Lists.newArrayList(); + for(ServiceDictInfo tempSe : page.getList()) { + if (tempSe != null) { + intList.add(tempSe.getServiceDictId()); + } + } + for (int i = allList.size() - 1; i >= 0; i--) { + ServiceDictInfo se = allList.get(i); + if(se!=null&&intList.contains(se.getServiceDictId())||(se!=null&&se.getParent().getServiceDictId()==0)){ + allList.remove(se); + } + } + allList.addAll(page.getList()); + ServiceDictInfo.sortList(list,allList,0,true); + } + + for(ServiceDictInfo tempSe : list) { + if(tempSe.getServiceDictCreator()!=null){ + if(tempSe.getServiceDictCreator().getId()!=null){ + SysUser creator=UserUtils.get(tempSe.getServiceDictCreator().getId().toString()); + tempSe.setCreatorName(creator.getName()); + } + } + if(tempSe.getServiceDictEditor()!=null){ + if(tempSe.getServiceDictEditor().getId()!=null){ + SysUser creator=UserUtils.get(tempSe.getServiceDictEditor().getId().toString()); + tempSe.setEditorName(creator.getName()); + } + } + } + String dictName=getDicName(intArr); + titleList.add(dictName); + classMap.put(dictName, ServiceDictInfo.class); + String cfgIndexInfoNoExport = ""; + if("5".equals(itType)){ + cfgIndexInfoNoExport=",item_type,is_leaf,&config_content:vpn_ip-"; + } + if(serviceDictInfo.getBeginDate()==null){ + cfgIndexInfoNoExport=",create_time,"+cfgIndexInfoNoExport; + } + if(serviceDictInfo.getEditBeginDate()==null){ + cfgIndexInfoNoExport=",edit_time,"+cfgIndexInfoNoExport; + } + + if (!StringUtil.isEmpty(hColumns)) { + cfgIndexInfoNoExport = "," +hColumns+ ","+cfgIndexInfoNoExport; + } + noExportMap.put(dictName, cfgIndexInfoNoExport); + dataMap.put(dictName, list); + String timeRange = initDictMap(serviceDictInfo,dictName); + noExportMap.put("timeRange", timeRange); + if ("csv".equals(exType)) { + this._exportCsv(model, request, response, redirectAttributes, dictName, titleList, + classMap, dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, dictName, titleList, + classMap, dataMap, noExportMap); + } + } catch (Exception e) { + logger.error("dict white export failed", e); + addMessage(redirectAttributes, "error", "export_failed"); + } + } + + public String initDictMap(ServiceDictInfo cfg,String dictName){ + Properties msgProp = getMsgProp(); + String titleTime=dictName; + if(cfg.getBeginDate()!=null){ + titleTime+=" "+msgProp.getProperty("create_time")+":"+DateUtils.formatDateTime(cfg.getBeginDate()); + if(cfg.getEndDate()!=null){ + titleTime+="—"+DateUtils.formatDateTime(cfg.getEndDate()); + }else{ + titleTime+="—"+DateUtils.getDateTime(); + } + } + if(cfg.getEditBeginDate()!=null){ + titleTime+=" "+msgProp.getProperty("edit_time")+":"+DateUtils.formatDateTime(cfg.getEditBeginDate()); + if(cfg.getEditEndDate()!=null){ + titleTime+="—"+DateUtils.formatDateTime(cfg.getEditEndDate()); + }else{ + titleTime+="—"+DateUtils.getDateTime(); + } + } + return titleTime; + } + + + public String getDicName(List intArr){ + String dicName=""; + Properties msgProp = getMsgProp(); + List dict=ConfigDictUtils.getItemTypeByNo("SERVICE_DICT_ITM_TYPE",intArr); + if(dict.size()>0){ + dicName=msgProp.getProperty(dict.get(0),dict.get(0)); + } + return dicName; + } + } diff --git a/src/main/java/com/nis/web/controller/specific/SpecificServiceCfgController.java b/src/main/java/com/nis/web/controller/specific/SpecificServiceCfgController.java index 6f4fba9b0..e3fca435d 100644 --- a/src/main/java/com/nis/web/controller/specific/SpecificServiceCfgController.java +++ b/src/main/java/com/nis/web/controller/specific/SpecificServiceCfgController.java @@ -1,7 +1,9 @@ package com.nis.web.controller.specific; +import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Properties; @@ -23,12 +25,19 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.nis.domain.Page; import com.nis.domain.SysDataDictionaryItem; +import com.nis.domain.SysUser; +import com.nis.domain.basics.ServiceDictInfo; import com.nis.domain.specific.SpecificServiceCfg; import com.nis.exceptions.MaatConvertException; +import com.nis.util.ConfigDictUtils; +import com.nis.util.Configurations; import com.nis.util.Constants; +import com.nis.util.DateUtils; import com.nis.util.DictUtils; +import com.nis.util.StringUtil; import com.nis.util.StringUtils; import com.nis.web.controller.BaseController; +import com.nis.web.dao.dashboard.codedic.CodeResult; import com.nis.web.security.UserUtils; @Controller @@ -490,4 +499,117 @@ public class SpecificServiceCfgController extends BaseController { return false; } + // Specific配置导出 + @RequestMapping(value = "exportSpec") + public void exportDict(String itType, SpecificServiceCfg specificServiceCfg, Model model, HttpServletRequest request, + HttpServletResponse response, String ids, RedirectAttributes redirectAttributes, String exType, + String hColumns) { + try { + // export data info + List titleList = new ArrayList(); + Map> classMap = new HashMap>(); + Map dataMap = new HashMap(); + Map noExportMap = new HashMap(); + //-------------------------------------------- + List list = Lists.newArrayList(); + //处理数据 + if (!StringUtil.isEmpty(ids)) { + list = specificServiceCfgService.findBySpecificServiceCfg(ids); + } else { + if(specificServiceCfg.getCfgType()==null){ + specificServiceCfg.setCfgType(1); + } + Page pageCondition = new Page(request, response); + pageCondition.setPageNo(1); + pageCondition.setPageSize(Constants.MAX_EXPORT_SIZE); + List allList = specificServiceCfgService.findAllSpecificServiceCfg(specificServiceCfg,pageCondition.getOrderBy()); + Page page = specificServiceCfgService.findTopPage(pageCondition, specificServiceCfg); + // 删除顶层数据、取出id + List intList = Lists.newArrayList(); + for (int i = allList.size() - 1; i >= 0; i--) { + SpecificServiceCfg ss = allList.get(i); + if ((ss != null && intList.contains(ss.getSpecServiceId())) || (ss != null && ss.getParent().getSpecServiceId() == 0)) { + allList.remove(ss); + } + } + allList.addAll(page.getList()); + SpecificServiceCfg.sortList(list, allList, 0, true); + SpecificServiceCfg.addChildrenSeq(list, 0); + } + List app=DictUtils.getDictList("APP_BUSINESS_TYPE"); + List tunnel=DictUtils.getDictList("TUNNEL_BEHAV_BUSINESS_TYPE"); + List basic=DictUtils.getDictList("BASIC_PROTOCOL_BUSINESS_TYPE"); + Properties msgProp = getMsgProp(); + for (SpecificServiceCfg spec : list) { + if (!StringUtils.isEmpty(spec.getBusinessType())) { + if (spec.getCfgType() == 1) { + spec.setBusinessType(getName(spec.getBusinessType(),app,msgProp)); + } else if (spec.getCfgType() == 2) { + spec.setBusinessType(getName(spec.getBusinessType(),tunnel,msgProp)); + } else if (spec.getCfgType() == 3) { + spec.setBusinessType(getName(spec.getBusinessType(),basic,msgProp)); + } + } + } + String dictName = "specific_service_cfg"; + titleList.add(dictName); + classMap.put(dictName, SpecificServiceCfg.class); + String cfgIndexInfoNoExport = ""; + if (specificServiceCfg.getCfgType() != null) { + if (specificServiceCfg.getCfgType() == 2) { + cfgIndexInfoNoExport = ",&app_code:tunnel_code-app_name:tunnel_name-app_desc:tunnel_desc-"; + } else if (specificServiceCfg.getCfgType() == 3) { + cfgIndexInfoNoExport = ",&app_code:protocol_code-app_name:protocol_name-app_desc:protocol_desc-"; + } + } + if (specificServiceCfg.getBeginDate() == null) { + cfgIndexInfoNoExport = ",operate_time," + cfgIndexInfoNoExport; + } + + if (!StringUtil.isEmpty(hColumns)) { + cfgIndexInfoNoExport = "," + hColumns + "," + cfgIndexInfoNoExport; + } + noExportMap.put(dictName, cfgIndexInfoNoExport); + dataMap.put(dictName, list); + String timeRange = initDictMap(specificServiceCfg, dictName,msgProp); + noExportMap.put("timeRange", timeRange); + if ("csv".equals(exType)) { + this._exportCsv(model, request, response, redirectAttributes, dictName, titleList, classMap, dataMap, + noExportMap); + } else { + this._export(model, request, response, redirectAttributes, dictName, titleList, classMap, dataMap, + noExportMap); + } + } catch (Exception e) { + logger.error("dict white export failed", e); + addMessage(redirectAttributes, "error", "export_failed"); + } + + } + + public String getName(String id,List list,Properties msgProp){ + String name=id; + for (int i = 0; i < list.size(); i++) { + if(id.equals(list.get(i).getItemCode())){ + name=msgProp.getProperty(list.get(i).getItemValue(),list.get(i).getItemValue()); + break; + } + } + return name; + } + + + public String initDictMap(SpecificServiceCfg cfg, String dictName,Properties msgProp) { + String titleTime =msgProp.getProperty(dictName,dictName) ; + if (cfg.getBeginDate() != null) { + titleTime += " " + msgProp.getProperty("operate_time") + ":" + DateUtils.formatDateTime(cfg.getBeginDate()); + if (cfg.getEndDate() != null) { + titleTime += "—" + DateUtils.formatDateTime(cfg.getEndDate()); + } else { + titleTime += "—" + DateUtils.getDateTime(); + } + } + return titleTime; + } + } diff --git a/src/main/java/com/nis/web/dao/basics/AsnIpCfgDao.java b/src/main/java/com/nis/web/dao/basics/AsnIpCfgDao.java index 8830e6f96..ea319f613 100644 --- a/src/main/java/com/nis/web/dao/basics/AsnIpCfgDao.java +++ b/src/main/java/com/nis/web/dao/basics/AsnIpCfgDao.java @@ -12,6 +12,7 @@ import com.nis.web.dao.MyBatisDao; public interface AsnIpCfgDao extends CrudDao{ public List findPage(AsnIpCfg cfg); //public void updateValid(@Param("isValid")Integer isValid,@Param("ids")String ids); + public List findByPage(@Param("ids")String ids); public void delete(@Param("ids")String ids); public void updateIssued(AsnIpCfg cfg); public List getByIds(@Param("ids")String ids); diff --git a/src/main/java/com/nis/web/dao/basics/AsnIpCfgDao.xml b/src/main/java/com/nis/web/dao/basics/AsnIpCfgDao.xml index 6f00e58b4..a410a0451 100644 --- a/src/main/java/com/nis/web/dao/basics/AsnIpCfgDao.xml +++ b/src/main/java/com/nis/web/dao/basics/AsnIpCfgDao.xml @@ -60,7 +60,7 @@ select - ,s.name as creator_name,e.name as editor_name,u.name as auditor_name + ,s.name as creator_name,e.name as editor_name,u.name as auditor_name,d.group_name as asnIpGroupName from asn_ip_cfg r @@ -68,6 +68,7 @@ left join sys_user s on r.creator_id=s.id left join sys_user e on r.editor_id=e.id left join sys_user u on r.auditor_id=u.id + left join policy_group_info d on r.asn_ip_group = d.service_group_id AND ${page.where} @@ -471,4 +472,24 @@ #{asnIp.userRegion5,jdbcType=VARCHAR}) + + + + + + \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/basics/PolicyGroupInfoDao.java b/src/main/java/com/nis/web/dao/basics/PolicyGroupInfoDao.java index efeb90a0a..26cb0e9ec 100644 --- a/src/main/java/com/nis/web/dao/basics/PolicyGroupInfoDao.java +++ b/src/main/java/com/nis/web/dao/basics/PolicyGroupInfoDao.java @@ -2,6 +2,7 @@ package com.nis.web.dao.basics; import java.util.List; +import org.apache.ibatis.annotations.Param; import com.nis.domain.basics.PolicyGroupInfo; import com.nis.web.dao.CrudDao; @@ -23,4 +24,6 @@ public interface PolicyGroupInfoDao extends CrudDao { Integer getGroupIdByGroupName(String groupName); PolicyGroupInfo getGroupInfo(PolicyGroupInfo policyGroupInfo); + + List findPolicyByGroupInfoList(@Param("ids")String ids); } \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/basics/PolicyGroupInfoDao.xml b/src/main/java/com/nis/web/dao/basics/PolicyGroupInfoDao.xml index 145a2306d..54db24a59 100644 --- a/src/main/java/com/nis/web/dao/basics/PolicyGroupInfoDao.xml +++ b/src/main/java/com/nis/web/dao/basics/PolicyGroupInfoDao.xml @@ -250,4 +250,20 @@ + + + + + \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/basics/ServiceDictInfoDao.java b/src/main/java/com/nis/web/dao/basics/ServiceDictInfoDao.java index 924e2278e..6cd6dcc8d 100644 --- a/src/main/java/com/nis/web/dao/basics/ServiceDictInfoDao.java +++ b/src/main/java/com/nis/web/dao/basics/ServiceDictInfoDao.java @@ -27,6 +27,10 @@ public interface ServiceDictInfoDao extends CrudDao { * @return */ List findAllServiceDictInfo(@Param("serviceDictInfo")ServiceDictInfo serviceDictInfo,@Param("orderBy")String orderBy); + + List findByDictInfo(@Param("ids")String ids,@Param("itemType")String itemType); + + /** * 查出所有有效数据父级(!=0) */ diff --git a/src/main/java/com/nis/web/dao/basics/ServiceDictInfoDao.xml b/src/main/java/com/nis/web/dao/basics/ServiceDictInfoDao.xml index 12cf5d6c0..1ca9a94c2 100644 --- a/src/main/java/com/nis/web/dao/basics/ServiceDictInfoDao.xml +++ b/src/main/java/com/nis/web/dao/basics/ServiceDictInfoDao.xml @@ -207,7 +207,16 @@ - + diff --git a/src/main/java/com/nis/web/dao/specific/SpecificServiceCfgDao.java b/src/main/java/com/nis/web/dao/specific/SpecificServiceCfgDao.java index 47a47e210..13974d1f4 100644 --- a/src/main/java/com/nis/web/dao/specific/SpecificServiceCfgDao.java +++ b/src/main/java/com/nis/web/dao/specific/SpecificServiceCfgDao.java @@ -49,4 +49,6 @@ public interface SpecificServiceCfgDao extends CrudDao { SpecificServiceCfg getRepeat(@Param("specServiceCode")Integer code, @Param("cfgType")Integer cfgType,@Param("parentId")Integer parentId); Integer getMaxServiceCode(@Param("maxCode")Integer code, @Param("cfgType")Integer cfgType,@Param("addFlag")Integer addFlag); + List findBySpecificServiceCfg(@Param("ids")String ids); + } \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/specific/SpecificServiceCfgDao.xml b/src/main/java/com/nis/web/dao/specific/SpecificServiceCfgDao.xml index 031bcc105..772c4222d 100644 --- a/src/main/java/com/nis/web/dao/specific/SpecificServiceCfgDao.xml +++ b/src/main/java/com/nis/web/dao/specific/SpecificServiceCfgDao.xml @@ -213,4 +213,13 @@ + + + + \ No newline at end of file diff --git a/src/main/java/com/nis/web/service/basics/AsnIpCfgService.java b/src/main/java/com/nis/web/service/basics/AsnIpCfgService.java index 790fc367a..f472a960c 100644 --- a/src/main/java/com/nis/web/service/basics/AsnIpCfgService.java +++ b/src/main/java/com/nis/web/service/basics/AsnIpCfgService.java @@ -61,6 +61,13 @@ public class AsnIpCfgService extends CrudService, AsnIpCfg> { page.setList(list); return page; } + + public List findByPage(String ids) { + List list=asnIpCfgDao.findByPage(ids); + return list; + } + + public AsnIpCfg get(Long id ) { return asnIpCfgDao.get(id); } diff --git a/src/main/java/com/nis/web/service/basics/PolicyGroupInfoService.java b/src/main/java/com/nis/web/service/basics/PolicyGroupInfoService.java index 6a1caf43f..579e48ab8 100644 --- a/src/main/java/com/nis/web/service/basics/PolicyGroupInfoService.java +++ b/src/main/java/com/nis/web/service/basics/PolicyGroupInfoService.java @@ -44,6 +44,13 @@ public class PolicyGroupInfoService extends BaseService{ page.setList(list); return page; } + + public List findPolicyByGroupInfoList(String ids) { + List list=policyGroupInfoDao.findPolicyByGroupInfoList(ids); + return list; + } + + public List findPolicyGroupInfos() { List list=policyGroupInfoDao.findPolicyGroupInfos(); return list; diff --git a/src/main/java/com/nis/web/service/basics/ServiceDictInfoService.java b/src/main/java/com/nis/web/service/basics/ServiceDictInfoService.java index 9f2b29279..96ae961b7 100644 --- a/src/main/java/com/nis/web/service/basics/ServiceDictInfoService.java +++ b/src/main/java/com/nis/web/service/basics/ServiceDictInfoService.java @@ -51,15 +51,33 @@ public class ServiceDictInfoService extends BaseService{ * @return */ public List findAllServiceDictInfo(ServiceDictInfo serviceDictInfo,List itType,String orderBy){ - - serviceDictInfo.setConditionType(itType);; + serviceDictInfo.setConditionType(itType); return serviceDictInfoDao.findAllServiceDictInfo(serviceDictInfo,orderBy); } + public List findByDictInfo(String ids,List itType){ + String itemType=String.valueOf(itType.get(0)); + return serviceDictInfoDao.findByDictInfo(ids,itemType); + } + /** + * 根据条件查询所有数据 + * @param serviceDictInfo + * @param itType + * @return + */ + public Page findAllPageServiceDictInfo(Page page, ServiceDictInfo serviceDictInfo,List itType,String orderBy){ + serviceDictInfo.setPage(page); + serviceDictInfo.setConditionType(itType); + List parentList =serviceDictInfoDao.findAllServiceDictInfo(serviceDictInfo,orderBy); + page.setList(parentList); + return page; + } + + @@ -331,6 +349,5 @@ public class ServiceDictInfoService extends BaseService{ } - } diff --git a/src/main/java/com/nis/web/service/specific/SpecificServiceCfgService.java b/src/main/java/com/nis/web/service/specific/SpecificServiceCfgService.java index 9adf35760..06c4b4f66 100644 --- a/src/main/java/com/nis/web/service/specific/SpecificServiceCfgService.java +++ b/src/main/java/com/nis/web/service/specific/SpecificServiceCfgService.java @@ -68,6 +68,12 @@ public class SpecificServiceCfgService extends BaseService{ public List findAllSpecificServiceCfg(SpecificServiceCfg specificServiceCfg, String orderBy) { return specificServiceCfgDao.findAllSpecificServiceCfg(specificServiceCfg,orderBy); } + + + public List findBySpecificServiceCfg(String ids) { + return specificServiceCfgDao.findBySpecificServiceCfg(ids); + } + /** * 保存或修改 * @param specificServiceCfg diff --git a/src/main/webapp/WEB-INF/views/basics/asnIpCfgList.jsp b/src/main/webapp/WEB-INF/views/basics/asnIpCfgList.jsp index 26eecb7cc..98fbbb783 100644 --- a/src/main/webapp/WEB-INF/views/basics/asnIpCfgList.jsp +++ b/src/main/webapp/WEB-INF/views/basics/asnIpCfgList.jsp @@ -152,8 +152,20 @@ - + +
+ + +
+ + <%--

- + <%-- @@ -136,7 +136,8 @@ - + --%> +

- - - - - +
@@ -220,20 +228,14 @@ value="" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
- - -
-
" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
-
-
@@ -242,32 +244,14 @@ value="" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
-
- - - - - - - - - - - - - - - -
- @@ -275,27 +259,27 @@ <%-- --%> - + - + - + - - + + - - - + + + + <%-- --%> - + <%-- --%> <%-- --%> - - + - - <%-- --%> <%-- --%> - - + + - + <%-- --%>
-
${serviceDictInfo.showSequence}${serviceDictInfo.itemCode} diff --git a/src/main/webapp/WEB-INF/views/specific/specificServiceCfgList.jsp b/src/main/webapp/WEB-INF/views/specific/specificServiceCfgList.jsp index 8f29af99c..0f272c4e1 100644 --- a/src/main/webapp/WEB-INF/views/specific/specificServiceCfgList.jsp +++ b/src/main/webapp/WEB-INF/views/specific/specificServiceCfgList.jsp @@ -213,6 +213,17 @@ +
+ + +
+ @@ -266,16 +277,11 @@ - - - - - - +
@@ -284,8 +290,8 @@
+ @@ -296,7 +302,7 @@ + @@ -307,7 +313,7 @@ + @@ -320,14 +326,14 @@
${specificServiceCfg.showSequence}