性质、各国家目的IP、运营商局点报表页面提交.

This commit is contained in:
zhangwenqing
2018-07-10 13:25:41 +08:00
parent cd954463f5
commit 86fa5f0000
10 changed files with 527 additions and 92 deletions

View File

@@ -0,0 +1,16 @@
package com.nis.domain.report;
public class NtcAttrTypeReport extends BaseReport<NtcAttrTypeReport>{
private static final long serialVersionUID = -4537371833119510177L;
private Integer attrType;
public Integer getAttrType() {
return attrType;
}
public void setAttrType(Integer attrType) {
this.attrType = attrType;
}
}

View File

@@ -0,0 +1,16 @@
package com.nis.domain.report;
public class NtcDestIpReport extends BaseReport<NtcDestIpReport>{
private static final long serialVersionUID = 8905927100915123026L;
private String destCountry;
public String getDestCountry() {
return destCountry;
}
public void setDestCountry(String destCountry) {
this.destCountry = destCountry;
}
}

View File

@@ -0,0 +1,16 @@
package com.nis.domain.report;
public class NtcEntranceReport extends BaseReport<NtcEntranceReport>{
private static final long serialVersionUID = -5042608104505377779L;
private Integer entranceId;
public Integer getEntranceId() {
return entranceId;
}
public void setEntranceId(Integer entranceId) {
this.entranceId = entranceId;
}
}

View File

@@ -0,0 +1,117 @@
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.LinkedHashMap;
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.SearchReport;
import com.nis.domain.report.NtcTagReport;
import com.nis.domain.report.ReportResult;
import com.nis.util.Constants;
import com.nis.util.DictUtils;
import com.nis.web.controller.BaseController;
@Controller
@RequestMapping("${adminPath}/report")
public class NtcDestIpReportController extends BaseController {
@RequestMapping("/ajaxNtcDestIpReport")
public String list(@ModelAttribute("bean") SearchReport bean,Model model, HttpServletRequest request, HttpServletResponse response) {
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(bean.getFunctionId());
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");
// 调用服务接口...
bean.setPageSize(-1);
bean.setFields("destCountry,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);
HashMap<String,List<Long>> showData=new LinkedHashMap<>();//构造数据展示集合
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);
for (int i = 0; i < 20; i++) {
showData.put("巴西"+i, _line);
}
model.addAttribute("datas", showData);
return "/report/destIp";
}
}

View File

@@ -0,0 +1,117 @@
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.LinkedHashMap;
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.SearchReport;
import com.nis.domain.report.NtcTagReport;
import com.nis.domain.report.ReportResult;
import com.nis.util.Constants;
import com.nis.util.DictUtils;
import com.nis.web.controller.BaseController;
@Controller
@RequestMapping("${adminPath}/report")
public class NtcEntranceReportController extends BaseController {
@RequestMapping("/ajaxNtcIspReport")
public String list(@ModelAttribute("bean") SearchReport bean,Model model, HttpServletRequest request, HttpServletResponse response) {
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(bean.getFunctionId());
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");
// 调用服务接口...
bean.setPageSize(-1);
bean.setFields("destCountry,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);
HashMap<String,List<Long>> showData=new LinkedHashMap<>();//构造数据展示集合
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);
for (int i = 0; i < 20; i++) {
showData.put(""+i, _line);
}
model.addAttribute("datas", showData);
return "/report/entranceId";
}
}

View File

@@ -0,0 +1,116 @@
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.LinkedHashMap;
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.SearchReport;
import com.nis.domain.report.NtcTagReport;
import com.nis.domain.report.ReportResult;
import com.nis.util.Constants;
import com.nis.util.DictUtils;
import com.nis.web.controller.BaseController;
@Controller
@RequestMapping("${adminPath}/report")
public class NtcXzReportController extends BaseController {
@RequestMapping("/ajaxNtcXzReport")
public String list(@ModelAttribute("bean") SearchReport bean,Model model, HttpServletRequest request, HttpServletResponse response) {
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(bean.getFunctionId());
List<ServiceDictInfo> xzs=serviceDictInfoService.findAllXzDict();
model.addAttribute("xzs", xzs);
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");
// 调用服务接口...
bean.setPageSize(-1);
bean.setFields("attrType,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);
HashMap<String,List<Long>> showData=new LinkedHashMap<>();//构造数据展示集合
for(ServiceDictInfo xz:xzs){
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(xz.getServiceDictId().toString(), _line);
}
model.addAttribute("datas", showData);
return "/report/attrType";
}
}

View File

@@ -1,42 +1,31 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/include/taglib.jsp"%>
<script type="text/javascript">
$(function(){
});
$(function() {
});
</script>
<div id="attrType" class="tab-pane fade">
<table id="contentTable1" class="table table-striped table-bordered table-condensed text-nowrap">
<table id="attrTypeTable"
class="table table-striped table-bordered table-condensed text-nowrap">
<thead>
<tr>
<th>性质</th>
<th>总量</th>
<th>0点</th>
<th>1点</th>
<th>2点</th>
<th>3点</th>
<th>4点</th>
<th>5点</th>
<th>6点</th>
<th>7点</th>
<th>8点</th>
<th>9点</th>
<th>10点</th>
<th>11点</th>
<th>12点</th>
<th>14点</th>
<th>15点</th>
<th>16点</th>
<th>17点</th>
<th>18点</th>
<th>19点</th>
<th>20点</th>
<th>21点</th>
<th>22点</th>
<th>23点</th>
<th><spring:message code="attribute" /></th>
<th><spring:message code="log_total" /></th>
<c:forEach items="${titles}" var="title">
<th>${title}</th>
</c:forEach>
</tr>
</thead>
<tbody>
<c:forEach items="${datas}" var="data">
<tr>
<td><c:forEach items="${xzs}" var="xz">
<c:if test="${xz.serviceDictId==data.key}">${xz.itemValue}</c:if>
</c:forEach></td>
<c:forEach items="${data.value}" var="cloumn" varStatus="status">
<td>${cloumn}</td>
</c:forEach>
</tr>
</c:forEach>
</tbody>
</table>
<div class="page">${page}</div>
</div>
<div class="page">${page}</div>

View File

@@ -4,39 +4,27 @@
$(function(){
});
</script>
<div id="destIp" class="tab-pane fade">
<table id="contentTable1" class="table table-striped table-bordered table-condensed text-nowrap">
<table id="destIpTable" class="table table-striped table-bordered table-condensed text-nowrap">
<thead>
<tr>
<th>所属国家</th>
<th>总量</th>
<th>0点</th>
<th>1点</th>
<th>2点</th>
<th>3点</th>
<th>4点</th>
<th>5点</th>
<th>6点</th>
<th>7点</th>
<th>8点</th>
<th>9点</th>
<th>10点</th>
<th>11点</th>
<th>12点</th>
<th>14点</th>
<th>15点</th>
<th>16点</th>
<th>17点</th>
<th>18点</th>
<th>19点</th>
<th>20点</th>
<th>21点</th>
<th>22点</th>
<th>23点</th>
<th><spring:message code="dest_country" /></th>
<th><spring:message code="log_total" /></th>
<c:forEach items="${titles}" var="title">
<th>${title}</th>
</c:forEach>
</tr>
</thead>
<tbody>
<c:forEach items="${datas}" var="data">
<tr>
<c:forEach items="${data.key}" var="key" varStatus="status">
<td>${key}</td>
</c:forEach>
<c:forEach items="${data.value}" var="cloumn" varStatus="status">
<td>${cloumn}</td>
</c:forEach>
</tr>
</c:forEach>
</tbody>
</table>
<div class="page">${page}</div>
</div>
<div class="page">${page}</div>

View File

@@ -4,39 +4,27 @@
$(function(){
});
</script>
<div id="entranceId" class="tab-pane fade">
<table id="contentTable1" class="table table-striped table-bordered table-condensed text-nowrap">
<table id="entranceIdTable" class="table table-striped table-bordered table-condensed text-nowrap">
<thead>
<tr>
<th>局点</th>
<th>总量</th>
<th>0点</th>
<th>1点</th>
<th>2点</th>
<th>3点</th>
<th>4点</th>
<th>5点</th>
<th>6点</th>
<th>7点</th>
<th>8点</th>
<th>9点</th>
<th>10点</th>
<th>11点</th>
<th>12点</th>
<th>14点</th>
<th>15点</th>
<th>16点</th>
<th>17点</th>
<th>18点</th>
<th>19点</th>
<th>20点</th>
<th>21点</th>
<th>22点</th>
<th>23点</th>
<th><spring:message code="entrance" /></th>
<th><spring:message code="log_total" /></th>
<c:forEach items="${titles}" var="title">
<th>${title}</th>
</c:forEach>
</tr>
</thead>
<tbody>
<c:forEach items="${datas}" var="data">
<tr>
<c:forEach items="${data.key}" var="key" varStatus="status">
<td>${key}</td>
</c:forEach>
<c:forEach items="${data.value}" var="cloumn" varStatus="status">
<td>${cloumn}</td>
</c:forEach>
</tr>
</c:forEach>
</tbody>
</table>
<div class="page">${page}</div>
</div>
<div class="page">${page}</div>

View File

@@ -30,6 +30,12 @@
ajaxGetLwhhReport();
}else if("${bean.reportBusinessType}"=="src_ip_report"){
ajaxGetSrcIpReport();
}else if("${bean.reportBusinessType}"=="attr_type_report"){
ajaxGetXzReport();
}else if("${bean.reportBusinessType}"=="dest_ip_report"){
ajaxGetDestIpReport();
}else if("${bean.reportBusinessType}"=="isp_report"){
ajaxGetIspReport();
}
$("[name='reportType']").each(function(){
var type='${bean.reportType}';
@@ -46,6 +52,12 @@
ajaxGetLwhhReport();
}else if($(this).data("bussiness")=="src_ip_report"){
ajaxGetSrcIpReport();
}else if($(this).data("bussiness")=="attr_type_report"){
ajaxGetXzReport();
}else if($(this).data("bussiness")=="dest_ip_report"){
ajaxGetDestIpReport();
}else if($(this).data("bussiness")=="isp_report"){
ajaxGetIspReport();
}
}
});
@@ -117,6 +129,57 @@ var ajaxGetSrcIpReport=function(){
}
});
}
var ajaxGetXzReport=function(){
loading('<spring:message code="onloading"/>');
$.ajax({
type:'post',
async:false,
url:'${ctx}/report/ajaxNtcXzReport',
data:{
"action":$('[name="action"]').val(),
"reportType":$('[name="reportType"]').val()
},
dataType:"html",
success:function(data){
$("#attrType").html(data);
closeTip();
}
});
}
var ajaxGetDestIpReport=function(){
loading('<spring:message code="onloading"/>');
$.ajax({
type:'post',
async:false,
url:'${ctx}/report/ajaxNtcDestIpReport',
data:{
"action":$('[name="action"]').val(),
"reportType":$('[name="reportType"]').val()
},
dataType:"html",
success:function(data){
$("#destIp").html(data);
closeTip();
}
});
}
var ajaxGetIspReport=function(){
loading('<spring:message code="onloading"/>');
$.ajax({
type:'post',
async:false,
url:'${ctx}/report/ajaxNtcIspReport',
data:{
"action":$('[name="action"]').val(),
"reportType":$('[name="reportType"]').val()
},
dataType:"html",
success:function(data){
$("#entranceId").html(data);
closeTip();
}
});
}
</script>
</head>
<body>
@@ -252,7 +315,10 @@ var ajaxGetSrcIpReport=function(){
<c:if test="${bean.reportBusinessType eq 'label_report' or bean.reportBusinessType ==null}">
in active
</c:if>"></div>
<%@include file="/WEB-INF/views/report/attrType.jsp" %>
<div id="attrType" class="tab-pane fade
<c:if test="${bean.reportBusinessType eq 'attr_type_report'}">
in active
</c:if>"></div>
<div id="lwhh" class="tab-pane fade
<c:if test="${bean.reportBusinessType eq 'lwhh_report'}">
in active
@@ -261,8 +327,14 @@ var ajaxGetSrcIpReport=function(){
<c:if test="${bean.reportBusinessType eq 'src_ip_report'}">
in active
</c:if>"></div>
<%@include file="/WEB-INF/views/report/destIp.jsp" %>
<%@include file="/WEB-INF/views/report/entranceId.jsp" %>
<div id="destIp" class="tab-pane fade
<c:if test="${bean.reportBusinessType eq 'dest_ip_report'}">
in active
</c:if>"></div>
<div id="entranceId" class="tab-pane fade
<c:if test="${bean.reportBusinessType eq 'isp_report'}">
in active
</c:if>"></div>
</div>
</div>
</div>