This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
k18-ntcs-web-ntc/src/main/java/com/nis/web/controller/basics/PolicyGroupController.java
2019-04-25 14:42:41 +08:00

206 lines
8.2 KiB
Java

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;
import org.springframework.web.bind.annotation.ResponseBody;
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.LogUtils;
import com.nis.util.StringUtil;
import com.nis.web.controller.BaseController;
/**
* 协议分组
* @author dell
*
*/
@Controller
@RequestMapping(value = "${adminPath}/basics/policyGroup")
public class PolicyGroupController extends BaseController {
//@RequiresPermissions(value={"basics:policyGroup:view"},logical=Logical.OR)
@RequestMapping(value = {"/policyGroupList", ""})
public String policyGroupList(PolicyGroupInfo cfg,HttpServletRequest request
, HttpServletResponse response, Model model
,RedirectAttributes redirectAttributes) {
if(cfg == null)cfg=new PolicyGroupInfo();
Page<PolicyGroupInfo> pageCondition = new Page<PolicyGroupInfo>(request, response,"r");
Page page = policyGroupInfoService.findPolicyGroupInfoList(pageCondition,cfg);
model.addAttribute("cfg", cfg);
model.addAttribute("page", page);
return "/basics/policyGroupList";
}
/**
* 进入添加或修改页面
* @param serviceDictInfo
* @param model
* @return
*/
//@RequiresPermissions(value={"basics:classification:add","basics:attribute:add","basics:label:add","basics:classification:edit","basics:attribute:edit","basics:label:edit","basics:classification:view","basics:attribute:view","basics:label:view"},logical=Logical.OR)
@RequestMapping(value={"/policyGroupForm"})
public String form(Integer groupType,String ids,Model model,String doAction,RedirectAttributes redirectAttributes) {
PolicyGroupInfo policyGroup=new PolicyGroupInfo();
if(!StringUtil.isEmpty(ids)){
policyGroup=policyGroupInfoService.getById(Integer.parseInt(ids));
}
policyGroup.setGroupType(groupType);
model.addAttribute("_cfg", policyGroup);
return "/basics/policyGroupForm";
}
/**
* 新增或修改
* @return
*/
//@RequiresPermissions(value={"basics:classification:add","basics:attribute:add","basics:label:add","basics:classification:edit","basics:attribute:edit","basics:label:edit"},logical=Logical.OR)
@RequestMapping(value = "saveOrUpdate")
public String saveOrUpdate(PolicyGroupInfo cfg,Model model,
RedirectAttributes redirectAttributes,String itType,Integer groupType,HttpServletRequest request) {
try {
policyGroupInfoService.saveOrUpdate(cfg);
addMessage(redirectAttributes,"success","save_success");
} catch (Exception e) {
logger.error("新增失败",e);
addMessage(redirectAttributes,"error","save_failed");
LogUtils.saveLog(request, null, e, null);
}
return "redirect:" + adminPath + "/basics/policyGroup/policyGroupList?groupType="+groupType;
}
/**
* 删除
* @return
*/
//@RequiresPermissions(value={"basics:classification:del","basics:attribute:del","basics:label:del"},logical=Logical.OR)
@RequestMapping(value={"delete"})
public String delete(RedirectAttributes redirectAttributes, Integer groupType,String ids,int isValid,HttpServletRequest request) {
try {
policyGroupInfoService.deldete(ids,isValid);
addMessage(redirectAttributes,"success","delete_success");
} catch (Exception e) {
logger.error("删除失败",e);
addMessage(redirectAttributes,"error","delete_failed");
LogUtils.saveLog(request, null, e, null);
}
return "redirect:" + adminPath + "/basics/policyGroup/policyGroupList?groupType="+groupType;
}
@RequestMapping(value="ajaxServiceIdState",method=RequestMethod.POST)
@ResponseBody
public boolean ajaxServiceIdState(Model model,@RequestParam(required=true,value="serviceGroupIds")String serviceGroupIds){
if(StringUtils.isNotBlank(serviceGroupIds)) {
return policyGroupInfoService.checkIsIssued(serviceGroupIds);
}
return false;
}
@RequestMapping(value="ajaxHasAsnIPs",method=RequestMethod.POST)
@ResponseBody
public boolean ajaxHasAsnIPs(Model model,@RequestParam(required=true,value="serviceGroupIds")String serviceGroupIds){
if(StringUtils.isNotBlank(serviceGroupIds)) {
return policyGroupInfoService.checkIps(serviceGroupIds);
}
return false;
}
/**
* 校验asn号是否已存在
*/
@ResponseBody
@RequestMapping(value = {"/checkAsnNo"})
public boolean checkIp(PolicyGroupInfo cfg, HttpServletRequest request, HttpServletResponse response){
if(cfg.getGroupId() != null){
PolicyGroupInfo policyGroup = policyGroupInfoService.getInfoByAsnNo(cfg);
if(policyGroup != null &&policyGroup.getIsValid()!=0&& policyGroup.getAsnNo().equals(cfg.getAsnNo()) ){
return true;
}
}
cfg.setGroupId(null);
PolicyGroupInfo policyGroup = policyGroupInfoService.getInfoByAsnNo(cfg);
if(policyGroup != null){
return false;
}
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<String> titleList=new ArrayList<String>();
Map<String, Class<?>> classMap=new HashMap<String, Class<?>>();
Map<String, List> dataMap=new HashMap<String, List>();
Map<String, String> noExportMap=new HashMap<String, String>();
List<PolicyGroupInfo> list = new ArrayList<PolicyGroupInfo>();
if (!StringUtil.isEmpty(ids)) {
list = policyGroupInfoService.findPolicyByGroupInfoList(ids);
} else {
Page<PolicyGroupInfo> pageInfo=new Page<PolicyGroupInfo>(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");
LogUtils.saveLog(request, null, e, null);
}
//return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId();
}
}