提交标签报表页面第一版

This commit is contained in:
wangxin
2018-07-09 17:36:13 +08:00
parent 5ed876e38d
commit 3b60b81c72
10 changed files with 357 additions and 47 deletions

View File

@@ -0,0 +1,28 @@
/**
*@Title: NtcServiceReportLog.java
*@Package com.nis.domain.log
*@Description TODO
*@author dell
*@date 2018年7月9日 上午8:57:01
*@version 版本号
*/
package com.nis.domain.log;
/**
* @ClassName: NtcServiceReportLog.java
* @Description: TODO
* @author (dell)
* @date 2018年7月9日 上午8:57:01
* @version V1.0
*/
public class NtcServiceReportLog extends BaseReportLog<NtcServiceReportLog> {
/**
* @Fields serialVersionUID:TODO用一句话描述这个变量表示什么
*
* @since 1.0.0
*/
private static final long serialVersionUID = 5574384523786886920L;
}

View File

@@ -0,0 +1,43 @@
/**
*@Title: NtcServiceReportLog.java
*@Package com.nis.domain.log
*@Description TODO
*@author dell
*@date 2018年7月9日 上午8:57:01
*@version 版本号
*/
package com.nis.domain.log;
/**
* @ClassName: NtcServiceReportLog.java
* @Description: TODO
* @author (dell)
* @date 2018年7月9日 上午8:57:01
* @version V1.0
*/
public class NtcTagReportLog extends BaseReportLog<NtcTagReportLog> {
/**
* @Fields serialVersionUID:TODO用一句话描述这个变量表示什么
*
* @since 1.0.0
*/
private static final long serialVersionUID = 2245672277797057001L;
private Integer tag;
/**
* tag
* @return tag
*/
public Integer getTag() {
return tag;
}
/**
* @param tag the tag to set
*/
public void setTag(Integer tag) {
this.tag = tag;
}
}

View File

@@ -8,6 +8,8 @@
*/
package com.nis.domain.log;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.Map.Entry;
import javax.ws.rs.client.Invocation.Builder;
@@ -62,13 +64,13 @@ public class ReportResultLog<T extends BaseReportLog> extends RestfulResult{
public void setData(Page<T> data) {
this.data = data;
}
public ReportResultLog<T> getReport(String reportUrl,SearchReport searchCondition) throws MaatConvertException{
if(StringUtils.isBlank(searchCondition.getSearchService())){
throw new MaatConvertException("<spring:message code=\"request_service_failed\"/>");
}
public ReportResultLog<T> getReport(String reportUrl,SearchReport searchCondition) throws MaatConvertException, UnsupportedEncodingException{
// if(StringUtils.isBlank(searchCondition.getSearchService())){
// throw new MaatConvertException("<spring:message code=\"request_service_failed\"/>");
// }
String result = null;
ReportResultLog<T> bean = null;
StringBuffer url=new StringBuffer(reportUrl+"?");
StringBuffer url=new StringBuffer(reportUrl);
url.append("searchBusinessType=").append(searchCondition.getSearchBusinessType())
.append("&searchService=").append(searchCondition.getSearchService());
if(searchCondition.getSearchCondition()!=null){
@@ -95,7 +97,7 @@ public class ReportResultLog<T extends BaseReportLog> extends RestfulResult{
url.append("&fields=").append(searchCondition.getFields());
}
//创建连接
WebTarget wt = ClientUtil.getWebTarger(url.toString());
WebTarget wt = ClientUtil.getWebTarger(URLEncoder.encode(url.toString(),"UTF-8"));
Builder header = wt.request(MediaType.APPLICATION_JSON);
Response response= header.get();
if( response.getStatus() == 200){

View File

@@ -7,6 +7,16 @@ import java.util.Map;
import com.google.gson.GsonBuilder;
public final class Constants {
/**
* 报表去重连接符
*/
public static final String REPORT_TRIM_CONNECTOR="_;_";
/**
* 报表类型
*/
public static final int REPORT_TYPE_HOUR=1;
public static final int REPORT_TYPE_DAY=2;
public static final int REPORT_TYPE_MONTH=3;
/**
* 配置审核下发的类型 maat类型
*/

View File

@@ -0,0 +1,42 @@
package com.nis.web.controller.report;
import java.io.UnsupportedEncodingException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
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 com.nis.domain.Page;
import com.nis.domain.log.NtcServiceReportLog;
import com.nis.domain.log.ReportResultLog;
import com.nis.domain.log.SearchReport;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.Constants;
import com.nis.web.controller.BaseController;
@Controller
@RequestMapping("${adminPath}/report")
public class NtcServiceReportController extends BaseController {
@RequestMapping("/ntcLabelReport")
public String list(@ModelAttribute("bean") SearchReport bean,Model model, HttpServletRequest request, HttpServletResponse response) {
initReportCondition(model, bean);
ReportResultLog<NtcServiceReportLog> result=new ReportResultLog<>();
StringBuffer url=new StringBuffer(Constants.LOG_BASE_URL+Constants.NTC_SERVICE_REPORT+"?");
try {
result=result.getReport(url.toString(), bean);
} catch (MaatConvertException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Page<NtcServiceReportLog> page=result.getData();
model.addAttribute("page", page);
return "/report/list";
}
}

View File

@@ -0,0 +1,159 @@
package com.nis.web.controller.report;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
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 com.nis.domain.FunctionServiceDict;
import com.nis.domain.Page;
import com.nis.domain.basics.ServiceDictInfo;
import com.nis.domain.log.NtcTagReportLog;
import com.nis.domain.log.ReportResultLog;
import com.nis.domain.log.SearchReport;
import com.nis.util.Constants;
import com.nis.util.DictUtils;
import com.nis.web.controller.BaseController;
@Controller
@RequestMapping("${adminPath}/report")
public class NtcTagReportController extends BaseController {
@RequestMapping("/ajaxNtcTagReport")
public String list(@ModelAttribute("bean") SearchReport bean,Model model, HttpServletRequest request, HttpServletResponse response) {
initReportCondition(model, bean);
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(bean.getFunctionId());
List<ServiceDictInfo> labels=serviceDictInfoService.findAllLableDict();
model.addAttribute("labels", labels);
if(bean.getAction()!=null){
for(FunctionServiceDict service:serviceList){
if(service.getAction().intValue()==bean.getAction().intValue()){
bean.setSearchService(service.getServiceId().toString());
}
}
}else{
StringBuffer serviceId=new StringBuffer();
for(int i=0;i<serviceList.size();i++){
if(i==0){
serviceId.append(serviceList.get(i).getServiceId().toString());
}else{
serviceId.append(","+serviceList.get(i).getServiceId().toString());
}
}
bean.setSearchService(serviceId.toString());
}
bean.setSearchBusinessType("1");
ReportResultLog<NtcTagReportLog> result=new ReportResultLog<>();
StringBuffer url=new StringBuffer(Constants.LOG_BASE_URL+Constants.NTC_SERVICE_REPORT+"?");
bean.setPageSize(-1);
bean.setFields("tag,sum,reportTime");
String format=Constants.SEARCH_DATEFORMAT;
SimpleDateFormat sdf=new SimpleDateFormat(format);
Date date=new Date();
bean.setSearchReportEndTime(sdf.format(date));
Calendar cal=Calendar.getInstance();
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
if(bean.getReportType()==Constants.REPORT_TYPE_HOUR){
cal.set(Calendar.HOUR_OF_DAY, 0);
}else if(bean.getReportType()==Constants.REPORT_TYPE_DAY){
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.DAY_OF_MONTH, 1);
}else if(bean.getReportType()==Constants.REPORT_TYPE_MONTH){
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.DAY_OF_MONTH, 1);
cal.set(Calendar.MONTH, 0);
}
logger.info("search start time "+sdf.format(cal.getTime()));
logger.info("search end time "+sdf.format(date));
bean.setSearchReportStartTime(sdf.format(cal.getTime()));
List<String> titles=new ArrayList<String>();
while(cal.getTime().getTime()<date.getTime()){//构造标题
//报表时间单位加一
if(bean.getReportType()==Constants.REPORT_TYPE_HOUR){
titles.add(sdf.format(cal.getTime()).substring(0,13));
cal.add(Calendar.HOUR_OF_DAY, 1);
}else if(bean.getReportType()==Constants.REPORT_TYPE_DAY){
titles.add(sdf.format(cal.getTime()).substring(0,10));
cal.add(Calendar.DAY_OF_MONTH, 1);
}else if(bean.getReportType()==Constants.REPORT_TYPE_MONTH){
titles.add(sdf.format(cal.getTime()).substring(0,7));
cal.add(Calendar.MONTH, 1);
}
}
model.addAttribute("titles", titles);
// try {
// result=result.getReport(url.toString(), bean);
// Page<NtcTagReportLog> page=result.getData();
// List<NtcTagReportLog> list=page.getList();
// HashMap<String,Long> trimData=new HashMap<>();//数据累加去重
// for(NtcTagReportLog report:list){
// String trimStr="";
// if(bean.getReportType()==Constants.REPORT_TYPE_HOUR){
// trimStr=report.getTag().intValue()+Constants.REPORT_TRIM_CONNECTOR+
// sdf.format(cal.getTime()).substring(0,13);
//
// }else if(bean.getReportType()==Constants.REPORT_TYPE_DAY){
// trimStr=report.getTag().intValue()+Constants.REPORT_TRIM_CONNECTOR+
// sdf.format(cal.getTime()).substring(0,10);
//
// }else if(bean.getReportType()==Constants.REPORT_TYPE_MONTH){
// trimStr=report.getTag().intValue()+Constants.REPORT_TRIM_CONNECTOR+
// sdf.format(cal.getTime()).substring(0,7);
// }
// if(trimData.containsKey(trimStr)){
// trimData.put(trimStr, trimData.get(trimStr)+report.getSum().longValue());
// }else{
// trimData.put(trimStr, report.getSum().longValue());
// }
// }
// HashMap<String,List<Long>> showData=new HashMap<>();//构造数据展示集合
// for(ServiceDictInfo label:lables){
// List<Long> line= new ArrayList<Long>();
// long total=0;
// for(String title:titles){
// if(trimData.containsKey(label.getServiceDictId().intValue()+Constants.REPORT_TRIM_CONNECTOR+title)){
// line.add(trimData.get(label.getServiceDictId().intValue()+Constants.REPORT_TRIM_CONNECTOR+title));
// total+=trimData.get(label.getServiceDictId().intValue()+Constants.REPORT_TRIM_CONNECTOR+title).longValue();
// }else{
// line.add(0l);
// }
// }
// List<Long> _line= new ArrayList<Long>();
// _line.add(total);
// _line.addAll(line);
// showData.put(label.getServiceDictId().toString(), _line);
// }
// model.addAttribute("datas", showData);
// } catch (Exception e) {
// // TODO: handle exception
// e.printStackTrace();
// }
HashMap<String,List<Long>> showData=new HashMap<>();//构造数据展示集合
for(ServiceDictInfo label:labels){
List<Long> line= new ArrayList<Long>();
long total=0l;
for(String title:titles){
line.add(10000l);
total+=10000l;
}
List<Long> _line= new ArrayList<Long>();
_line.add(total);
_line.addAll(line);
showData.put(label.getServiceDictId().toString(), _line);
}
model.addAttribute("datas", showData);
return "/report/label";
}
}

View File

@@ -310,7 +310,7 @@ public class IpCfgService extends CrudService<IpCfgDao,BaseIpCfg> {
maatCfg.initDefaultValue();
BeanUtils.copyProperties(cfg, maatCfg);
if(cfg.getIsAudit()==1){
if(cfg.getIsAudit()==Constants.AUDIT_YES){
maatBean.setOpAction(Constants.INSERT_ACTION);
Map<String,List> map = cfgConvert(ipRegionList,beans,1,cfg,groupRelationList);
groupRelationList=map.get("groupList");
@@ -343,10 +343,10 @@ public class IpCfgService extends CrudService<IpCfgDao,BaseIpCfg> {
logger.error("IP白名单配置下发失败",e);
throw e;
}
}else if(cfg.getIsAudit()==3){
}else if(cfg.getIsAudit()==Constants.AUDIT_NOT_YES){
maatCfg.setCompileId(cfg.getCompileId());
maatCfg.setServiceId(cfg.getServiceId());
maatCfg.setIsValid(0);//无效
maatCfg.setIsValid(Constants.VALID_NO);//无效
configCompileList.add(maatCfg);
maatBean.setConfigCompileList(configCompileList);
maatBean.setAuditTime(cfg.getAuditTime());