diff --git a/src/main/java/com/nis/domain/configuration/BaseCfg.java b/src/main/java/com/nis/domain/configuration/BaseCfg.java index c56188d16..3038b3aea 100644 --- a/src/main/java/com/nis/domain/configuration/BaseCfg.java +++ b/src/main/java/com/nis/domain/configuration/BaseCfg.java @@ -60,13 +60,13 @@ public class BaseCfg extends BaseEntity implements Cloneable{ /** * 有效标识 */ - @ExcelField(title="valid_identifier") + @ExcelField(title="valid_identifier",dictType="VALID_IDENTIFIER") @Expose protected Integer isValid; /** * 是否审核 */ - @ExcelField(title="is_audit") + @ExcelField(title="is_audit",dictType="AUDIT_STATUS") protected Integer isAudit; /** * 创建人员 @@ -130,22 +130,22 @@ public class BaseCfg extends BaseEntity implements Cloneable{ /** * 是否区域gk */ - @ExcelField(title="whether_area_block") + @ExcelField(title="whether_area_block",dictType="WHETHER_AREA_BLOCK") protected Integer isAreaEffective; /** * 分类 */ - @ExcelField(title="type") + @ExcelField(title="type",dictType="type") protected String classify; /** * 性质 */ - @ExcelField(title="attribute") + @ExcelField(title="attribute",dictType="attribute") protected String attribute; /** * 标签 */ - @ExcelField(title="label") + @ExcelField(title="label",dictType="label") protected String lable; /** * 分类 diff --git a/src/main/java/com/nis/domain/configuration/CfgIndexInfo.java b/src/main/java/com/nis/domain/configuration/CfgIndexInfo.java index b7d220bbb..f9c7674b4 100644 --- a/src/main/java/com/nis/domain/configuration/CfgIndexInfo.java +++ b/src/main/java/com/nis/domain/configuration/CfgIndexInfo.java @@ -10,6 +10,10 @@ package com.nis.domain.configuration; import java.util.List; +import com.nis.domain.SysRole; +import com.nis.util.excel.ExcelField; +import com.nis.util.excel.fieldtype.RoleListType; + /** * @ClassName: CfgIndexInfo.java @@ -48,6 +52,17 @@ public class CfgIndexInfo extends BaseCfg { private List stringList; private List digestList; + @ExcelField(title="拥有角色", align=1, sort=800, fieldType=RoleListType.class) + private List userRoleList; + + public List getUserRoleList() { + return userRoleList; + } + + public void setUserRoleList(List userRoleList) { + this.userRoleList = userRoleList; + } + public AvVoipAccountCfg getVoipAccount() { return voipAccount; } diff --git a/src/main/java/com/nis/util/excel/ExportExcel.java b/src/main/java/com/nis/util/excel/ExportExcel.java index eeb0940cb..e5f00478a 100644 --- a/src/main/java/com/nis/util/excel/ExportExcel.java +++ b/src/main/java/com/nis/util/excel/ExportExcel.java @@ -22,6 +22,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang3.StringUtils; +import org.apache.derby.tools.sysinfo; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss.usermodel.Comment; @@ -39,10 +40,12 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.google.common.collect.Lists; +import com.nis.domain.basics.ServiceDictInfo; import com.nis.util.DictUtils; import com.nis.util.Encodes; import com.nis.util.Reflections; import com.nis.util.StringUtil; +import com.nis.util.excel.fieldtype.RoleListType; /** * 导出Excel文件(导出“XLSX”格式,支持大数据量导出 @see org.apache.poi.ss.SpreadsheetVersion) @@ -493,7 +496,7 @@ public class ExportExcel { * 添加数据(通过annotation.ExportField添加数据) * @return list 数据列表 */ - public ExportExcel setDataList(Properties msgProp,List list){ + public ExportExcel setDataList(Properties msgProp,List list,Map map){ for (E e : list){ int colunm = 0; Row row = this.addRow(); @@ -512,13 +515,22 @@ public class ExportExcel { val = Reflections.invokeMethod(e, ((Method)os[1]).getName(), new Class[] {}, new Object[] {}); } } - // If is dict, get dict label + // If is dict, get dict label if (StringUtils.isNotBlank(ef.dictType())){ - val = DictUtils.getDictLabel(ef.dictType(),val==null?"":val.toString() , ""); + String valStr=val==null?"":val.toString(); + if("type".equals(ef.dictType()) || "attribute".equals(ef.dictType()) + || "label".equals(ef.dictType())){ + // Get basic info + val = getBasicInfo(ef.dictType(),map,valStr); + }else{ + //字典数据已做国际化处理 + val = msgProp.get(DictUtils.getDictLabel(ef.dictType(), valStr, "")); + } + } }catch(Exception ex) { // Failure to ignore - log.info(ex.toString()); + log.error("Get entity value failed",ex); val = ""; } this.addCell(row, colunm++, val, ef.align(), ef.fieldType()); @@ -528,7 +540,52 @@ public class ExportExcel { } return this; } - + /** + * 设置性质、分类、标签等信息 + * @param dictType + * @param map + * @param val + * @return + */ + public String getBasicInfo(String dictType,Map map,String val) { + String basicInfo=""; + List list=new ArrayList(); + if("type".equals(dictType)){ + list=(List) map.get("fls"); + for (String info : val.split(",")) { + for (ServiceDictInfo dictInfo : list) { + if(info.equals(dictInfo.getServiceDictId().toString())){ + basicInfo+=","+dictInfo.getItemValue(); + } + } + } + + } + if("attribute".equals(dictType)){ + list=(List) map.get("xzs"); + for (String info : val.split(",")) { + for (ServiceDictInfo dictInfo : list) { + if(info.equals(dictInfo.getServiceDictId().toString())){ + basicInfo+=","+dictInfo.getItemValue(); + } + } + } + } + if("label".equals(dictType)){ + list=(List) map.get("labels"); + for (String info : val.split(",")) { + for (ServiceDictInfo dictInfo : list) { + if(info.equals(dictInfo.getServiceDictId().toString())){ + basicInfo+=","+dictInfo.getItemValue(); + } + } + } + } + if(!StringUtil.isEmpty(basicInfo)){ + basicInfo=basicInfo.substring(1); + } + return basicInfo; + } /** * 输出数据流 * @param os 输出数据流 @@ -594,7 +651,7 @@ public class ExportExcel { */ public static void main(String[] args) throws Throwable { - List headerList = Lists.newArrayList(); + /*List headerList = Lists.newArrayList(); for (int i = 1; i <= 10; i++) { headerList.add("表头"+i); } @@ -623,7 +680,7 @@ public class ExportExcel { ee.dispose(); log.debug("Export success."); - + */ } } diff --git a/src/main/java/com/nis/web/controller/BaseController.java b/src/main/java/com/nis/web/controller/BaseController.java index 5b533b7b7..97a7ed1f7 100644 --- a/src/main/java/com/nis/web/controller/BaseController.java +++ b/src/main/java/com/nis/web/controller/BaseController.java @@ -451,17 +451,17 @@ public class BaseController { if(dict.getRegionType()==1){ List list = Lists.newArrayList(); list.add(new IpCfgTemplate()); - new ExportExcel(msgProp,null, IpCfgTemplate.class, 2).setDataList(msgProp,list). + new ExportExcel(msgProp,null, IpCfgTemplate.class, 2).setDataList(msgProp,list,null). write(request,response, fileName).dispose(); }else if(dict.getRegionType()==2){ List list = Lists.newArrayList(); list.add(new StringCfgTemplate()); - new ExportExcel(msgProp,null, StringCfgTemplate.class, 2).setDataList(msgProp,list). + new ExportExcel(msgProp,null, StringCfgTemplate.class, 2).setDataList(msgProp,list,null). write(request,response, fileName).dispose(); }else if(dict.getRegionType()==3){ List list = Lists.newArrayList(); list.add(new ComplexStringCfgTemplate()); - new ExportExcel(msgProp,null, ComplexStringCfgTemplate.class, 2).setDataList(msgProp,list). + new ExportExcel(msgProp,null, ComplexStringCfgTemplate.class, 2).setDataList(msgProp,list,null). write(request,response, fileName).dispose(); } } 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 e3e3c104f..a64b120c2 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 @@ -23,6 +23,7 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes; import com.nis.domain.Page; import com.nis.domain.SysUser; +import com.nis.domain.basics.ServiceDictInfo; import com.nis.domain.basics.SysDictInfo; import com.nis.domain.configuration.AreaBean; import com.nis.domain.configuration.AreaIpCfg; @@ -53,9 +54,9 @@ public class AvContentController extends BaseController { //音视频VOIP配置新增界面 @RequestMapping(value = {"/voipForm"}) @RequiresPermissions(value={"avVoip:config"}) - public String voipFrom(Model model,HttpServletRequest request,HttpServletResponse response,String ids,@ModelAttribute("cfg")CfgIndexInfo cfg){ - if(!StringUtil.isEmpty(ids)){ - cfg.setCompileId(Integer.parseInt(ids)); + public String voipFrom(Model model,HttpServletRequest request,HttpServletResponse response,String ids,String compileIds,@ModelAttribute("cfg")CfgIndexInfo cfg){ + if(!StringUtil.isEmpty(compileIds)){ + cfg.setCompileId(Integer.parseInt(compileIds)); cfg = avContentCfgService.getCfgIndexInfo(cfg); initUpdateFormCondition(model, cfg); }else{ @@ -118,9 +119,9 @@ public class AvContentController extends BaseController { //修改VOIP配置审核状态 @RequestMapping(value = {"/auditAvVoip"}) @RequiresPermissions(value={"avVoip:audit"}) - public String auditVoip(Integer isAudit,Integer isValid,String ids,Integer functionId,RedirectAttributes redirectAttributes) { - if(!StringUtil.isEmpty(ids)){ - String[] idArray = ids.split(","); + public String auditVoip(Integer isAudit,Integer isValid,String ids,String compileIds,Integer functionId,RedirectAttributes redirectAttributes) { + if(!StringUtil.isEmpty(compileIds)){ + String[] idArray = compileIds.split(","); Date auditTime=new Date(); for(String id :idArray){ try { @@ -167,9 +168,9 @@ public class AvContentController extends BaseController { //音视频CONTIP新增界面 @RequestMapping(value = {"/contIpForm"}) @RequiresPermissions(value={"avContIp:config"}) - public String contIpForm(Model model,HttpServletRequest request,HttpServletResponse response,String ids,@ModelAttribute("cfg")BaseIpCfg cfg){ - if(!StringUtil.isEmpty(ids)){ - cfg.setCompileId(Integer.parseInt(ids)); + public String contIpForm(Model model,HttpServletRequest request,HttpServletResponse response,String ids,String compileIds,@ModelAttribute("cfg")BaseIpCfg cfg){ + if(!StringUtil.isEmpty(compileIds)){ + cfg.setCompileId(Integer.parseInt(compileIds)); cfg = avContentCfgService.getContIpCfgById(cfg); initUpdateFormCondition(model, cfg); }else{ @@ -206,9 +207,9 @@ public class AvContentController extends BaseController { //修改CONTIP配置审核 @RequestMapping(value = {"/auditAvContIp"}) @RequiresPermissions(value={"avContIp:audit"}) - public String auditContIp(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) { - if(!StringUtil.isEmpty(ids)){ - String[] idArray = ids.split(","); + public String auditContIp(Integer isAudit,Integer isValid,String ids,String compileIds,Integer functionId, RedirectAttributes redirectAttributes) { + if(!StringUtil.isEmpty(compileIds)){ + String[] idArray = compileIds.split(","); Date auditTime=new Date(); for(String id :idArray){ try { @@ -238,9 +239,9 @@ public class AvContentController extends BaseController { //音视频CONTIP新增界面 @RequestMapping(value = {"/picIpForm"}) @RequiresPermissions(value={"avPicIp:config"}) - public String picIpForm(Model model,HttpServletRequest request,HttpServletResponse response,String ids,@ModelAttribute("cfg")BaseIpCfg cfg){ - if(!StringUtil.isEmpty(ids)){ - cfg.setCompileId(Integer.parseInt(ids)); + public String picIpForm(Model model,HttpServletRequest request,HttpServletResponse response,String ids,String compileIds,@ModelAttribute("cfg")BaseIpCfg cfg){ + if(!StringUtil.isEmpty(compileIds)){ + cfg.setCompileId(Integer.parseInt(compileIds)); cfg = avContentCfgService.getPicIpCfgById(cfg); initUpdateFormCondition(model, cfg); }else{ @@ -277,9 +278,9 @@ public class AvContentController extends BaseController { //修改CONTIP配置审核 @RequestMapping(value = {"/auditPicIp"}) @RequiresPermissions(value={"avPicIp:audit"}) - public String auditPicIp(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) { - if(!StringUtil.isEmpty(ids)){ - String[] idArray = ids.split(","); + public String auditPicIp(Integer isAudit,Integer isValid,String ids,String compileIds,Integer functionId, RedirectAttributes redirectAttributes) { + if(!StringUtil.isEmpty(compileIds)){ + String[] idArray = compileIds.split(","); Date auditTime=new Date(); for(String id :idArray){ try { @@ -309,9 +310,9 @@ public class AvContentController extends BaseController { //音视频CONTUrl新增界面 @RequestMapping(value = {"/contUrlForm"}) @RequiresPermissions(value={"avContUrl:config"}) - public String contUrlForm(Model model,HttpServletRequest request,HttpServletResponse response,String ids,@ModelAttribute("cfg")BaseStringCfg cfg){ - if(!StringUtil.isEmpty(ids)){ - cfg.setCompileId(Integer.parseInt(ids)); + public String contUrlForm(Model model,HttpServletRequest request,HttpServletResponse response,String ids,String compileIds,@ModelAttribute("cfg")BaseStringCfg cfg){ + if(!StringUtil.isEmpty(compileIds)){ + cfg.setCompileId(Integer.parseInt(compileIds)); cfg = avContentCfgService.getContUrlCfgById(cfg); initUpdateFormCondition(model, cfg); }else{ @@ -348,9 +349,9 @@ public class AvContentController extends BaseController { //修改CONTUrl配置审核 @RequestMapping(value = {"/auditAvContUrl"}) @RequiresPermissions(value={"avContUrl:audit"}) - public String auditContUrl(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) { - if(!StringUtil.isEmpty(ids)){ - String[] idArray = ids.split(","); + public String auditContUrl(Integer isAudit,Integer isValid,String ids,String compileIds,Integer functionId, RedirectAttributes redirectAttributes) { + if(!StringUtil.isEmpty(compileIds)){ + String[] idArray = compileIds.split(","); Date auditTime=new Date(); for(String id :idArray){ try { @@ -380,9 +381,9 @@ public class AvContentController extends BaseController { //音视频CONTUrl新增界面 @RequestMapping(value = {"/picUrlForm"}) @RequiresPermissions(value={"avPicUrl:config"}) - public String picUrlForm(Model model,HttpServletRequest request,HttpServletResponse response,String ids,@ModelAttribute("cfg")BaseStringCfg cfg){ - if(!StringUtil.isEmpty(ids)){ - cfg.setCompileId(Integer.parseInt(ids)); + public String picUrlForm(Model model,HttpServletRequest request,HttpServletResponse response,String ids,String compileIds,@ModelAttribute("cfg")BaseStringCfg cfg){ + if(!StringUtil.isEmpty(compileIds)){ + cfg.setCompileId(Integer.parseInt(compileIds)); cfg = avContentCfgService.getPicUrlCfgById(cfg); initUpdateFormCondition(model, cfg); }else{ @@ -419,9 +420,9 @@ public class AvContentController extends BaseController { //修改CONTUrl配置审核 @RequestMapping(value = {"/auditAvPicUrl"}) @RequiresPermissions(value={"avPicUrl:audit"}) - public String auditPicUrl(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) { - if(!StringUtil.isEmpty(ids)){ - String[] idArray = ids.split(","); + public String auditPicUrl(Integer isAudit,Integer isValid,String ids,String compileIds,Integer functionId, RedirectAttributes redirectAttributes) { + if(!StringUtil.isEmpty(compileIds)){ + String[] idArray = compileIds.split(","); Date auditTime=new Date(); for(String id :idArray){ try { @@ -472,13 +473,21 @@ public class AvContentController extends BaseController { @ModelAttribute("cfg")CfgIndexInfo entity, String ids, RedirectAttributes redirectAttributes){ - - Properties msgProp = getMsgProp(); - try { + //获取国际化配置 + Properties msgProp = getMsgProp(); + //获取分类、性质、标签 + List fls=serviceDictInfoService.findAllFlDict(); + List xzs=serviceDictInfoService.findAllXzDict(); + List labels=serviceDictInfoService.findAllLableDict(); + Map map=new HashMap(); + map.put("fls", fls); + map.put("xzs", xzs); + map.put("labels", labels); + String fileName = "数据-"+DateUtils.getDate("yyyyMMddHHmmss")+".xlsx"; - //导出选中记录 + //导出选中记录 if(!StringUtil.isEmpty(ids)){ }else{ @@ -492,8 +501,6 @@ public class AvContentController extends BaseController { } //条件导出数据大于最大导出数,只导出最大导出条数 Page pageInfo=new Page(request, response,"r"); - //int pageNo=pageInfo.getPageNo(); - //int pageSize=pageInfo.getPageSize(); if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ pageInfo.setPageNo(1); pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); @@ -501,9 +508,8 @@ public class AvContentController extends BaseController { pageInfo.setPageNo(1); pageInfo.setPageSize(-1); } - Page page = avContentCfgService.findPage(pageInfo, entity); - new ExportExcel(msgProp,null, CfgIndexInfo.class,1).setDataList(msgProp,page.getList()).write(response, fileName).dispose(); + new ExportExcel(msgProp,null, CfgIndexInfo.class,1).setDataList(msgProp,page.getList(),map).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 a3492c10d..524ed7488 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(msgProp,list). + new ExportExcel(msgProp,msgProp.getProperty("agreement_ip_configuration"), SpecificServiceHostCfg.class, 2).setDataList(msgProp,list,null). 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 a4f51eccc..31338de3c 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(getMsgProp(),page.getList()).write(response, fileName).dispose(); + new ExportExcel("用户数据", SysUser.class).setDataList(getMsgProp(),page.getList(),null).write(response, fileName).dispose(); return null; } catch (Exception e) { addMessage(redirectAttributes, "导出用户失败!失败信息:"+e.getMessage()); 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 34e6f7246..965f4635a 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 @@ -303,7 +303,7 @@ - + ${cfg.cfgDesc } 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 5b90a05dc..8ac1e3bf0 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 @@ -295,7 +295,7 @@ - + ${cfg.cfgDesc } - + ${cfg.cfgDesc } 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 75f5afbc2..9ebc63fde 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 @@ -295,7 +295,7 @@ - + ${cfg.cfgDesc } - +