补充各种无数据情况
This commit is contained in:
@@ -3,6 +3,7 @@ package com.nis.domain.restful;
|
|||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
import com.fasterxml.jackson.annotation.JsonInclude.Include;
|
import com.fasterxml.jackson.annotation.JsonInclude.Include;
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
@@ -47,7 +48,22 @@ public class CfgLogInfo implements Serializable {
|
|||||||
@JsonInclude(value = Include.NON_NULL)
|
@JsonInclude(value = Include.NON_NULL)
|
||||||
@ApiModelProperty(value = "统计时间")
|
@ApiModelProperty(value = "统计时间")
|
||||||
private Date reportTime;// 五分钟统计时间
|
private Date reportTime;// 五分钟统计时间
|
||||||
|
|
||||||
|
private String searchService;
|
||||||
|
private String searchReportStartTime;
|
||||||
|
private String searchReportEndTime;
|
||||||
|
private long baseNum;
|
||||||
|
|
||||||
|
@JsonIgnore
|
||||||
|
public long getBaseNum() {
|
||||||
|
return baseNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBaseNum(long baseNum) {
|
||||||
|
this.baseNum = baseNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public String getServiceCode() {
|
public String getServiceCode() {
|
||||||
return serviceCode;
|
return serviceCode;
|
||||||
}
|
}
|
||||||
@@ -56,6 +72,33 @@ public class CfgLogInfo implements Serializable {
|
|||||||
this.serviceCode = serviceCode;
|
this.serviceCode = serviceCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@JsonIgnore
|
||||||
|
public String getSearchService() {
|
||||||
|
return searchService;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSearchService(String searchService) {
|
||||||
|
this.searchService = searchService;
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonIgnore
|
||||||
|
public String getSearchReportStartTime() {
|
||||||
|
return searchReportStartTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSearchReportStartTime(String searchReportStartTime) {
|
||||||
|
this.searchReportStartTime = searchReportStartTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonIgnore
|
||||||
|
public String getSearchReportEndTime() {
|
||||||
|
return searchReportEndTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSearchReportEndTime(String searchReportEndTime) {
|
||||||
|
this.searchReportEndTime = searchReportEndTime;
|
||||||
|
}
|
||||||
|
|
||||||
public String getServiceNameZh() {
|
public String getServiceNameZh() {
|
||||||
return serviceNameZh;
|
return serviceNameZh;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,18 +4,18 @@
|
|||||||
package com.nis.util;
|
package com.nis.util;
|
||||||
|
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
|
import java.text.ParsePosition;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import com.zdjizhi.utils.StringUtil;
|
|
||||||
import org.apache.commons.lang3.time.DateFormatUtils;
|
import org.apache.commons.lang3.time.DateFormatUtils;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
|
import com.zdjizhi.utils.StringUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 日期工具类, 继承org.apache.commons.lang.time.DateUtils类
|
* 日期工具类, 继承org.apache.commons.lang.time.DateUtils类
|
||||||
* @author ThinkGem
|
* @author ThinkGem
|
||||||
@@ -232,7 +232,28 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
|
|||||||
}
|
}
|
||||||
return timeMap;
|
return timeMap;
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* 将短时间格式字符串转换为时间 yyyy-MM-dd
|
||||||
|
*
|
||||||
|
* @param strDate
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* 将短时间格式字符串转换为指定时间
|
||||||
|
*
|
||||||
|
* @param strDate
|
||||||
|
* @param dateFormat "yyyy-MM-dd HH:mm:ss" 此参数为空,默认为:"yyyy-MM-dd"
|
||||||
|
* @return
|
||||||
|
* @throws ParseException
|
||||||
|
*/
|
||||||
|
public static Date strToDate(String strDate,String dateFormat) throws ParseException {
|
||||||
|
if(dateFormat==null || "".equals(dateFormat)){
|
||||||
|
dateFormat = "yyyy-MM-dd";
|
||||||
|
}
|
||||||
|
SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);
|
||||||
|
Date strtodate = sdf.parse(strDate);
|
||||||
|
return strtodate;
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* @param args
|
* @param args
|
||||||
* @throws ParseException
|
* @throws ParseException
|
||||||
|
|||||||
@@ -6,18 +6,19 @@ import java.util.List;
|
|||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import redis.clients.jedis.Jedis;
|
||||||
|
import redis.clients.jedis.JedisPool;
|
||||||
|
import redis.clients.jedis.JedisSentinelPool;
|
||||||
|
import redis.clients.jedis.exceptions.JedisException;
|
||||||
|
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
import com.nis.restful.RestBusinessCode;
|
import com.nis.restful.RestBusinessCode;
|
||||||
import com.nis.restful.ServiceRuntimeException;
|
import com.nis.restful.ServiceRuntimeException;
|
||||||
import com.nis.web.service.SpringContextHolder;
|
import com.nis.web.service.SpringContextHolder;
|
||||||
|
|
||||||
import redis.clients.jedis.Jedis;
|
|
||||||
import redis.clients.jedis.JedisSentinelPool;
|
|
||||||
import redis.clients.jedis.exceptions.JedisException;
|
|
||||||
|
|
||||||
public class JedisUtils {
|
public class JedisUtils {
|
||||||
private static Logger logger = LoggerFactory.getLogger(JedisUtils.class);
|
private static Logger logger = LoggerFactory.getLogger(JedisUtils.class);
|
||||||
|
private static final JedisPool jedisPool = SpringContextHolder.getBean(JedisPool.class);
|
||||||
/**
|
/**
|
||||||
* 获取缓存
|
* 获取缓存
|
||||||
*
|
*
|
||||||
@@ -212,15 +213,13 @@ public class JedisUtils {
|
|||||||
* @throws JedisException
|
* @throws JedisException
|
||||||
*/
|
*/
|
||||||
public static Jedis getResource(int redisDb) throws JedisException {
|
public static Jedis getResource(int redisDb) throws JedisException {
|
||||||
JedisSentinelPool jedisSentinelPool = SpringContextHolder.getBean(JedisSentinelPool.class);
|
Jedis jedis = null;
|
||||||
|
if (jedisPool == null) {
|
||||||
if (jedisSentinelPool == null) {
|
|
||||||
throw new ServiceRuntimeException("redis连接池为空,请联系管理员检查程序",
|
throw new ServiceRuntimeException("redis连接池为空,请联系管理员检查程序",
|
||||||
RestBusinessCode.CannotConnectionRedis.getValue());
|
RestBusinessCode.CannotConnectionRedis.getValue());
|
||||||
}
|
}
|
||||||
Jedis jedis = null;
|
|
||||||
try {
|
try {
|
||||||
jedis = jedisSentinelPool.getResource();
|
jedis = jedisPool.getResource();
|
||||||
jedis.select(redisDb);
|
jedis.select(redisDb);
|
||||||
} catch (JedisException e) {
|
} catch (JedisException e) {
|
||||||
returnBrokenResource(jedis);
|
returnBrokenResource(jedis);
|
||||||
|
|||||||
@@ -79,31 +79,47 @@ public class SystemHomePageController extends BaseRestController {
|
|||||||
|
|
||||||
@RequestMapping(value = "/log/v1/logServiceTopn", method = RequestMethod.GET)
|
@RequestMapping(value = "/log/v1/logServiceTopn", method = RequestMethod.GET)
|
||||||
@ApiOperation(value = "日志TOP5业务统计量获取", httpMethod = "GET", notes = "对日志TOP5业务统计量信息进行查询", response = Map.class)
|
@ApiOperation(value = "日志TOP5业务统计量获取", httpMethod = "GET", notes = "对日志TOP5业务统计量信息进行查询", response = Map.class)
|
||||||
public Map<String, ?> cfgSortLogStat(String searchReportStartTime, String searchReportEndTime,
|
//public Map<String, ?> cfgSortLogStat(String searchReportStartTime, String searchReportEndTime,
|
||||||
|
public Map<String, ?> cfgSortLogStat(CfgLogInfo cfgLogInfo,
|
||||||
HttpServletRequest request, HttpServletResponse response) {
|
HttpServletRequest request, HttpServletResponse response) {
|
||||||
long start = System.currentTimeMillis();
|
long start = System.currentTimeMillis();
|
||||||
|
|
||||||
AuditLogThread saveLogThread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET, request,
|
AuditLogThread saveLogThread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET, request,
|
||||||
null);
|
null);
|
||||||
Page<CfgLogInfo> cfgSortLogStat = null;
|
Page<CfgLogInfo> cfgSortLogStat = null;
|
||||||
|
if(cfgLogInfo!=null){
|
||||||
|
if(cfgLogInfo.getSearchService() == null || "".equals(cfgLogInfo.getSearchService())){
|
||||||
|
throw new ServiceRuntimeException(saveLogThread, System.currentTimeMillis() - start,
|
||||||
|
"error TOPN searchService parm !",RestBusinessCode.param_formate_error.getValue());
|
||||||
|
}
|
||||||
|
if(cfgLogInfo.getSearchReportStartTime() == null || "".equals(cfgLogInfo.getSearchReportStartTime())){
|
||||||
|
throw new ServiceRuntimeException(saveLogThread, System.currentTimeMillis() - start,
|
||||||
|
" loss TOPN searchReportStartTime parm !",RestBusinessCode.param_formate_error.getValue());
|
||||||
|
}
|
||||||
|
if(cfgLogInfo.getSearchReportEndTime() == null || "".equals(cfgLogInfo.getSearchReportEndTime())){
|
||||||
|
throw new ServiceRuntimeException(saveLogThread, System.currentTimeMillis() - start,
|
||||||
|
"loss TOPN searchReportEndTime parm!",RestBusinessCode.param_formate_error.getValue());
|
||||||
|
}
|
||||||
|
if(cfgLogInfo.getBaseNum() < 1){
|
||||||
|
throw new ServiceRuntimeException(saveLogThread, System.currentTimeMillis() - start,
|
||||||
|
"error TOPN baseNum parm!",RestBusinessCode.param_formate_error.getValue());
|
||||||
|
}
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
cfgSortLogStat = systemHomePageService.getCfgSortLogStat(searchReportStartTime, searchReportEndTime,
|
cfgSortLogStat = systemHomePageService.getCfgSortLogStat(cfgLogInfo);
|
||||||
request, response);
|
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
saveLogThread.setExceptionInfo(e.getMessage() + " " + e.getCause());
|
saveLogThread.setExceptionInfo(e.getMessage() + " " + e.getCause());
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
logger.error(e.getMessage());
|
logger.error(e.getMessage());
|
||||||
if (!(e instanceof RestServiceException)) {
|
if (!(e instanceof RestServiceException)) {
|
||||||
throw new ServiceRuntimeException(saveLogThread, System.currentTimeMillis() - start,
|
throw new ServiceRuntimeException(saveLogThread, System.currentTimeMillis() - start,
|
||||||
"获取配置日志TOP5统计失败:" + e.getMessage(), RestBusinessCode.service_runtime_error.getValue());
|
"获取TOP5Service失败:" + e.getMessage(), RestBusinessCode.service_runtime_error.getValue());
|
||||||
} else {
|
} else {
|
||||||
throw ((RestServiceException) e);
|
throw ((RestServiceException) e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return serviceLogResponse(saveLogThread, System.currentTimeMillis() - start, request, "获取配置日志TOP5统计成功",
|
return serviceLogResponse(saveLogThread, System.currentTimeMillis() - start, request, "获取TOP5Service趋势统计数据成功",
|
||||||
cfgSortLogStat, 0);
|
cfgSortLogStat, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
911
src/main/java/com/nis/web/controller/restful/TestDate.java
Normal file
911
src/main/java/com/nis/web/controller/restful/TestDate.java
Normal file
@@ -0,0 +1,911 @@
|
|||||||
|
package com.nis.web.controller.restful;
|
||||||
|
|
||||||
|
import java.text.ParseException;
|
||||||
|
import java.text.ParsePosition;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
|
||||||
|
/*import java.text.*;
|
||||||
|
import java.util.Calendar;
|
||||||
|
public class VeDate {
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* 获取现在时间
|
||||||
|
*
|
||||||
|
* @return 返回时间类型 yyyy-MM-dd HH:mm:ss
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
public static Date getNowDate() {
|
||||||
|
Date currentTime = new Date();
|
||||||
|
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
|
String dateString = formatter.format(currentTime);
|
||||||
|
ParsePosition pos = new ParsePosition(8);
|
||||||
|
Date currentTime_2 = formatter.parse(dateString, pos);
|
||||||
|
return currentTime_2;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* 获取现在时间
|
||||||
|
*
|
||||||
|
* @return返回短时间格式 yyyy-MM-dd
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
DateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
|
DateFormat format2= new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
|
||||||
|
Date date = null;
|
||||||
|
String str = null;
|
||||||
|
|
||||||
|
// String转Date
|
||||||
|
str = "2007-1-18";
|
||||||
|
try {
|
||||||
|
date = format1.parse(str);
|
||||||
|
data = format2.parse(str);
|
||||||
|
} catch (ParseException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* 获取现在时间
|
||||||
|
*
|
||||||
|
* @return返回字符串格式 yyyy-MM-dd HH:mm:ss
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
public static String getStringDate() {
|
||||||
|
Date currentTime = new Date();
|
||||||
|
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
|
String dateString = formatter.format(currentTime);
|
||||||
|
return dateString;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* 获取现在时间
|
||||||
|
*
|
||||||
|
* @return 返回短时间字符串格式yyyy-MM-dd
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
public static String getStringDateShort() {
|
||||||
|
Date currentTime = new Date();
|
||||||
|
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
|
String dateString = formatter.format(currentTime);
|
||||||
|
return dateString;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* 获取时间 小时:分;秒 HH:mm:ss
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
public static String getTimeShort() {
|
||||||
|
SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");
|
||||||
|
Date currentTime = new Date();
|
||||||
|
String dateString = formatter.format(currentTime);
|
||||||
|
return dateString;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* 将长时间格式字符串转换为时间 yyyy-MM-dd HH:mm:ss
|
||||||
|
*
|
||||||
|
* @param strDate
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
public static Date strToDateLong(String strDate) {
|
||||||
|
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
|
ParsePosition pos = new ParsePosition(0);
|
||||||
|
Date strtodate = formatter.parse(strDate, pos);
|
||||||
|
return strtodate;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* 将长时间格式时间转换为字符串 yyyy-MM-dd HH:mm:ss
|
||||||
|
*
|
||||||
|
* @param dateDate
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
public static String dateToStrLong(java.util.Date dateDate) {
|
||||||
|
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
|
String dateString = formatter.format(dateDate);
|
||||||
|
return dateString;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* 将短时间格式时间转换为字符串 yyyy-MM-dd
|
||||||
|
*
|
||||||
|
* @param dateDate
|
||||||
|
* @param k
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
public static String dateToStr(java.util.Date dateDate) {
|
||||||
|
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
|
String dateString = formatter.format(dateDate);
|
||||||
|
return dateString;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* 将短时间格式字符串转换为时间 yyyy-MM-dd
|
||||||
|
*
|
||||||
|
* @param strDate
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
public static Date strToDate(String strDate) {
|
||||||
|
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
|
ParsePosition pos = new ParsePosition(0);
|
||||||
|
Date strtodate = formatter.parse(strDate, pos);
|
||||||
|
return strtodate;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* 得到现在时间
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
public static Date getNow() {
|
||||||
|
Date currentTime = new Date();
|
||||||
|
return currentTime;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* 提取一个月中的最后一天
|
||||||
|
*
|
||||||
|
* @param day
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
public static Date getLastDate(long day) {
|
||||||
|
Date date = new Date();
|
||||||
|
long date_3_hm = date.getTime() - 3600000 * 34 * day;
|
||||||
|
Date date_3_hm_date = new Date(date_3_hm);
|
||||||
|
return date_3_hm_date;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* 得到现在时间
|
||||||
|
*
|
||||||
|
* @return 字符串 yyyyMMdd HHmmss
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
public static String getStringToday() {
|
||||||
|
Date currentTime = new Date();
|
||||||
|
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd HHmmss");
|
||||||
|
String dateString = formatter.format(currentTime);
|
||||||
|
return dateString;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* 得到现在小时
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
public static String getHour() {
|
||||||
|
Date currentTime = new Date();
|
||||||
|
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
|
String dateString = formatter.format(currentTime);
|
||||||
|
String hour;
|
||||||
|
hour = dateString.substring(11, 13);
|
||||||
|
return hour;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* 得到现在分钟
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
public static String getTime() {
|
||||||
|
Date currentTime = new Date();
|
||||||
|
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
|
String dateString = formatter.format(currentTime);
|
||||||
|
String min;
|
||||||
|
min = dateString.substring(14, 16);
|
||||||
|
return min;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* 根据用户传入的时间表示格式,返回当前时间的格式 如果是yyyyMMdd,注意字母y不能大写。
|
||||||
|
*
|
||||||
|
* @param sformat
|
||||||
|
* yyyyMMddhhmmss
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
public static String getUserDate(String sformat) {
|
||||||
|
Date currentTime = new Date();
|
||||||
|
SimpleDateFormat formatter = new SimpleDateFormat(sformat);
|
||||||
|
String dateString = formatter.format(currentTime);
|
||||||
|
return dateString;
|
||||||
|
}*/
|
||||||
|
import java.util.Calendar;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.GregorianCalendar;
|
||||||
|
import java.util.Locale;
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
import com.nis.util.DateUtils;
|
||||||
|
|
||||||
|
public class TestDate{//VeDate {
|
||||||
|
/**
|
||||||
|
* 获取现在时间
|
||||||
|
*
|
||||||
|
* @return 返回时间类型 yyyy-MM-dd HH:mm:ss
|
||||||
|
*/
|
||||||
|
public static Date getNowDate() {
|
||||||
|
Date currentTime = new Date();
|
||||||
|
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
|
String dateString = formatter.format(currentTime);
|
||||||
|
ParsePosition pos = new ParsePosition(8);
|
||||||
|
Date currentTime_2 = formatter.parse(dateString, pos);
|
||||||
|
return currentTime_2;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取现在时间
|
||||||
|
*
|
||||||
|
* @return返回短时间格式 yyyy-MM-dd
|
||||||
|
*/
|
||||||
|
public static Date getNowDateShort() {
|
||||||
|
Date currentTime = new Date();
|
||||||
|
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
|
String dateString = formatter.format(currentTime);
|
||||||
|
ParsePosition pos = new ParsePosition(8);
|
||||||
|
Date currentTime_2 = formatter.parse(dateString, pos);
|
||||||
|
return currentTime_2;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取现在时间
|
||||||
|
*
|
||||||
|
* @return返回字符串格式 yyyy-MM-dd HH:mm:ss
|
||||||
|
*/
|
||||||
|
public static String getStringDate() {
|
||||||
|
Date currentTime = new Date();
|
||||||
|
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
|
String dateString = formatter.format(currentTime);
|
||||||
|
return dateString;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取现在时间
|
||||||
|
*
|
||||||
|
* @return 返回短时间字符串格式yyyy-MM-dd
|
||||||
|
*/
|
||||||
|
public static String getStringDateShort() {
|
||||||
|
Date currentTime = new Date();
|
||||||
|
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
|
String dateString = formatter.format(currentTime);
|
||||||
|
return dateString;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取时间 小时:分;秒 HH:mm:ss
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static String getTimeShort() {
|
||||||
|
SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");
|
||||||
|
Date currentTime = new Date();
|
||||||
|
String dateString = formatter.format(currentTime);
|
||||||
|
return dateString;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 将长时间格式字符串转换为时间 yyyy-MM-dd HH:mm:ss
|
||||||
|
*
|
||||||
|
* @param strDate
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static Date strToDateLong(String strDate) {
|
||||||
|
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
|
ParsePosition pos = new ParsePosition(0);
|
||||||
|
Date strtodate = formatter.parse(strDate, pos);
|
||||||
|
return strtodate;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 将长时间格式时间转换为字符串 yyyy-MM-dd HH:mm:ss
|
||||||
|
*
|
||||||
|
* @param dateDate
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static String dateToStrLong(java.util.Date dateDate) {
|
||||||
|
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
|
String dateString = formatter.format(dateDate);
|
||||||
|
return dateString;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 将短时间格式时间转换为字符串 yyyy-MM-dd
|
||||||
|
*
|
||||||
|
* @param dateDate
|
||||||
|
* @param k
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static String dateToStr(java.util.Date dateDate) {
|
||||||
|
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
|
String dateString = formatter.format(dateDate);
|
||||||
|
return dateString;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 将短时间格式字符串转换为时间 yyyy-MM-dd
|
||||||
|
*
|
||||||
|
* @param strDate
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static Date strToDate(String strDate) {
|
||||||
|
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
|
ParsePosition pos = new ParsePosition(0);
|
||||||
|
Date strtodate = formatter.parse(strDate, pos);
|
||||||
|
return strtodate;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 得到现在时间
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static Date getNow() {
|
||||||
|
Date currentTime = new Date();
|
||||||
|
return currentTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 提取一个月中的最后一天
|
||||||
|
*
|
||||||
|
* @param day
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static Date getLastDate(long day) {
|
||||||
|
Date date = new Date();
|
||||||
|
long date_3_hm = date.getTime() - 3600000 * 34 * day;
|
||||||
|
Date date_3_hm_date = new Date(date_3_hm);
|
||||||
|
return date_3_hm_date;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 得到现在时间
|
||||||
|
*
|
||||||
|
* @return 字符串 yyyyMMdd HHmmss
|
||||||
|
*/
|
||||||
|
public static String getStringToday() {
|
||||||
|
Date currentTime = new Date();
|
||||||
|
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd HHmmss");
|
||||||
|
String dateString = formatter.format(currentTime);
|
||||||
|
return dateString;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 得到现在小时
|
||||||
|
*/
|
||||||
|
public static String getHour() {
|
||||||
|
Date currentTime = new Date();
|
||||||
|
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
|
String dateString = formatter.format(currentTime);
|
||||||
|
String hour;
|
||||||
|
hour = dateString.substring(11, 13);
|
||||||
|
return hour;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 得到现在分钟
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static String getTime() {
|
||||||
|
Date currentTime = new Date();
|
||||||
|
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
|
String dateString = formatter.format(currentTime);
|
||||||
|
String min;
|
||||||
|
min = dateString.substring(14, 16);
|
||||||
|
return min;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据用户传入的时间表示格式,返回当前时间的格式 如果是yyyyMMdd,注意字母y不能大写。
|
||||||
|
*
|
||||||
|
* @param sformat
|
||||||
|
* yyyyMMddhhmmss
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static String getUserDate(String sformat) {
|
||||||
|
Date currentTime = new Date();
|
||||||
|
SimpleDateFormat formatter = new SimpleDateFormat(sformat);
|
||||||
|
String dateString = formatter.format(currentTime);
|
||||||
|
return dateString;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 二个小时时间间的差值,必须保证二个时间都是"HH:MM"的格式,返回字符型的分钟
|
||||||
|
*/
|
||||||
|
public static String getTwoHour(String st1, String st2) {
|
||||||
|
String[] kk = null;
|
||||||
|
String[] jj = null;
|
||||||
|
kk = st1.split(":");
|
||||||
|
jj = st2.split(":");
|
||||||
|
if (Integer.parseInt(kk[0]) < Integer.parseInt(jj[0]))
|
||||||
|
return "0";
|
||||||
|
else {
|
||||||
|
double y = Double.parseDouble(kk[0]) + Double.parseDouble(kk[1]) / 60;
|
||||||
|
double u = Double.parseDouble(jj[0]) + Double.parseDouble(jj[1]) / 60;
|
||||||
|
if ((y - u) > 0)
|
||||||
|
return y - u + "";
|
||||||
|
else
|
||||||
|
return "0";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 得到二个日期间的间隔天数
|
||||||
|
*/
|
||||||
|
public static String getTwoDay(String sj1, String sj2) {
|
||||||
|
SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
|
long day = 0;
|
||||||
|
try {
|
||||||
|
java.util.Date date = myFormatter.parse(sj1);
|
||||||
|
java.util.Date mydate = myFormatter.parse(sj2);
|
||||||
|
day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);
|
||||||
|
} catch (Exception e) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
return day + "";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 时间前推或后推分钟,其中JJ表示分钟.
|
||||||
|
*/
|
||||||
|
public static String getPreTime(String sj1, String jj) {
|
||||||
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
|
String mydate1 = "";
|
||||||
|
try {
|
||||||
|
Date date1 = format.parse(sj1);
|
||||||
|
long Time = (date1.getTime() / 1000) + Integer.parseInt(jj) * 60;
|
||||||
|
date1.setTime(Time * 1000);
|
||||||
|
mydate1 = format.format(date1);
|
||||||
|
} catch (Exception e) {
|
||||||
|
}
|
||||||
|
return mydate1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 得到一个时间延后或前移几天的时间,nowdate为时间,delay为前移或后延的天数
|
||||||
|
*/
|
||||||
|
public static String getNextDay(String nowdate, String delay) {
|
||||||
|
try{
|
||||||
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
|
String mdate = "";
|
||||||
|
Date d = strToDate(nowdate);
|
||||||
|
long myTime = (d.getTime() / 1000) + Integer.parseInt(delay) * 24 * 60 * 60;
|
||||||
|
d.setTime(myTime * 1000);
|
||||||
|
mdate = format.format(d);
|
||||||
|
return mdate;
|
||||||
|
}catch(Exception e){
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 判断是否润年
|
||||||
|
*
|
||||||
|
* @param ddate
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static boolean isLeapYear(String ddate) {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 详细设计: 1.被400整除是闰年,否则: 2.不能被4整除则不是闰年 3.能被4整除同时不能被100整除则是闰年
|
||||||
|
* 3.能被4整除同时能被100整除则不是闰年
|
||||||
|
*/
|
||||||
|
Date d = strToDate(ddate);
|
||||||
|
GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance();
|
||||||
|
gc.setTime(d);
|
||||||
|
int year = gc.get(Calendar.YEAR);
|
||||||
|
if ((year % 400) == 0)
|
||||||
|
return true;
|
||||||
|
else if ((year % 4) == 0) {
|
||||||
|
if ((year % 100) == 0)
|
||||||
|
return false;
|
||||||
|
else
|
||||||
|
return true;
|
||||||
|
} else
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 返回美国时间格式 26 Apr 2006
|
||||||
|
*
|
||||||
|
* @param str
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static String getEDate(String str) {
|
||||||
|
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
|
ParsePosition pos = new ParsePosition(0);
|
||||||
|
Date strtodate = formatter.parse(str, pos);
|
||||||
|
String j = strtodate.toString();
|
||||||
|
String[] k = j.split(" ");
|
||||||
|
return k[2] + k[1].toUpperCase() + k[5].substring(2, 4);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取一个月的最后一天
|
||||||
|
*
|
||||||
|
* @param dat
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static String getEndDateOfMonth(String dat) {// yyyy-MM-dd
|
||||||
|
String str = dat.substring(0, 8);
|
||||||
|
String month = dat.substring(5, 7);
|
||||||
|
int mon = Integer.parseInt(month);
|
||||||
|
if (mon == 1 || mon == 3 || mon == 5 || mon == 7 || mon == 8 || mon == 10 || mon == 12) {
|
||||||
|
str += "31";
|
||||||
|
} else if (mon == 4 || mon == 6 || mon == 9 || mon == 11) {
|
||||||
|
str += "30";
|
||||||
|
} else {
|
||||||
|
if (isLeapYear(dat)) {
|
||||||
|
str += "29";
|
||||||
|
} else {
|
||||||
|
str += "28";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 判断二个时间是否在同一个周
|
||||||
|
*
|
||||||
|
* @param date1
|
||||||
|
* @param date2
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static boolean isSameWeekDates(Date date1, Date date2) {
|
||||||
|
Calendar cal1 = Calendar.getInstance();
|
||||||
|
Calendar cal2 = Calendar.getInstance();
|
||||||
|
cal1.setTime(date1);
|
||||||
|
cal2.setTime(date2);
|
||||||
|
int subYear = cal1.get(Calendar.YEAR) - cal2.get(Calendar.YEAR);
|
||||||
|
if (0 == subYear) {
|
||||||
|
if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))
|
||||||
|
return true;
|
||||||
|
} else if (1 == subYear && 11 == cal2.get(Calendar.MONTH)) {
|
||||||
|
// 如果12月的最后一周横跨来年第一周的话则最后一周即算做来年的第一周
|
||||||
|
if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))
|
||||||
|
return true;
|
||||||
|
} else if (-1 == subYear && 11 == cal1.get(Calendar.MONTH)) {
|
||||||
|
if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 产生周序列,即得到当前时间所在的年度是第几周
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static String getSeqWeek() {
|
||||||
|
Calendar c = Calendar.getInstance(Locale.CHINA);
|
||||||
|
String week = Integer.toString(c.get(Calendar.WEEK_OF_YEAR));
|
||||||
|
if (week.length() == 1)
|
||||||
|
week = "0" + week;
|
||||||
|
String year = Integer.toString(c.get(Calendar.YEAR));
|
||||||
|
return year + week;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获得一个日期所在的周的星期几的日期,如要找出2002年2月3日所在周的星期一是几号
|
||||||
|
*
|
||||||
|
* @param sdate
|
||||||
|
* @param num
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static String getWeek(String sdate, String num) {
|
||||||
|
// 再转换为时间
|
||||||
|
//Date dd = VeDate.strToDate(sdate);
|
||||||
|
Date dd = TestDate.strToDate(sdate);
|
||||||
|
Calendar c = Calendar.getInstance();
|
||||||
|
c.setTime(dd);
|
||||||
|
if (num.equals("1")) // 返回星期一所在的日期
|
||||||
|
c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
|
||||||
|
else if (num.equals("2")) // 返回星期二所在的日期
|
||||||
|
c.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY);
|
||||||
|
else if (num.equals("3")) // 返回星期三所在的日期
|
||||||
|
c.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||||
|
else if (num.equals("4")) // 返回星期四所在的日期
|
||||||
|
c.set(Calendar.DAY_OF_WEEK, Calendar.THURSDAY);
|
||||||
|
else if (num.equals("5")) // 返回星期五所在的日期
|
||||||
|
c.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);
|
||||||
|
else if (num.equals("6")) // 返回星期六所在的日期
|
||||||
|
c.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);
|
||||||
|
else if (num.equals("0")) // 返回星期日所在的日期
|
||||||
|
c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
|
||||||
|
return new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据一个日期,返回是星期几的字符串
|
||||||
|
*
|
||||||
|
* @param sdate
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static String getWeek(String sdate) {
|
||||||
|
// 再转换为时间
|
||||||
|
//Date date = VeDate.strToDate(sdate);
|
||||||
|
Date date = TestDate.strToDate(sdate);
|
||||||
|
Calendar c = Calendar.getInstance();
|
||||||
|
c.setTime(date);
|
||||||
|
// int hour=c.get(Calendar.DAY_OF_WEEK);
|
||||||
|
// hour中存的就是星期几了,其范围 1~7
|
||||||
|
// 1=星期日 7=星期六,其他类推
|
||||||
|
return new SimpleDateFormat("EEEE").format(c.getTime());
|
||||||
|
}
|
||||||
|
public static String getWeekStr(String sdate){
|
||||||
|
String str = "";
|
||||||
|
//str = VeDate.getWeek(sdate);
|
||||||
|
str = TestDate.getWeek(sdate);
|
||||||
|
if("1".equals(str)){
|
||||||
|
str = "星期日";
|
||||||
|
}else if("2".equals(str)){
|
||||||
|
str = "星期一";
|
||||||
|
}else if("3".equals(str)){
|
||||||
|
str = "星期二";
|
||||||
|
}else if("4".equals(str)){
|
||||||
|
str = "星期三";
|
||||||
|
}else if("5".equals(str)){
|
||||||
|
str = "星期四";
|
||||||
|
}else if("6".equals(str)){
|
||||||
|
str = "星期五";
|
||||||
|
}else if("7".equals(str)){
|
||||||
|
str = "星期六";
|
||||||
|
}
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 两个时间之间的天数
|
||||||
|
*
|
||||||
|
* @param date1
|
||||||
|
* @param date2
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static long getDays(String date1, String date2) {
|
||||||
|
if (date1 == null || date1.equals(""))
|
||||||
|
return 0;
|
||||||
|
if (date2 == null || date2.equals(""))
|
||||||
|
return 0;
|
||||||
|
// 转换为标准时间
|
||||||
|
SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
|
java.util.Date date = null;
|
||||||
|
java.util.Date mydate = null;
|
||||||
|
try {
|
||||||
|
date = myFormatter.parse(date1);
|
||||||
|
mydate = myFormatter.parse(date2);
|
||||||
|
} catch (Exception e) {
|
||||||
|
}
|
||||||
|
long day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);
|
||||||
|
return day;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 形成如下的日历 , 根据传入的一个时间返回一个结构 星期日 星期一 星期二 星期三 星期四 星期五 星期六 下面是当月的各个时间
|
||||||
|
* 此函数返回该日历第一行星期日所在的日期
|
||||||
|
*
|
||||||
|
* @param sdate
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static String getNowMonth(String sdate) {
|
||||||
|
// 取该时间所在月的一号
|
||||||
|
sdate = sdate.substring(0, 8) + "01";
|
||||||
|
|
||||||
|
// 得到这个月的1号是星期几
|
||||||
|
//Date date = VeDate.strToDate(sdate);
|
||||||
|
Date date = TestDate.strToDate(sdate);
|
||||||
|
|
||||||
|
Calendar c = Calendar.getInstance();
|
||||||
|
c.setTime(date);
|
||||||
|
int u = c.get(Calendar.DAY_OF_WEEK);
|
||||||
|
/* String newday = VeDate.getNextDay(sdate, (1 - u) + "");*/
|
||||||
|
String newday = TestDate.getNextDay(sdate, (1 - u) + "");
|
||||||
|
return newday;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 取得数据库主键 生成格式为yyyymmddhhmmss+k位随机数
|
||||||
|
*
|
||||||
|
* @param k
|
||||||
|
* 表示是取几位随机数,可以自己定
|
||||||
|
*/
|
||||||
|
|
||||||
|
public static String getNo(int k) {
|
||||||
|
|
||||||
|
return getUserDate("yyyyMMddhhmmss") + getRandom(k);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 返回一个随机数
|
||||||
|
*
|
||||||
|
* @param i
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static String getRandom(int i) {
|
||||||
|
Random jjj = new Random();
|
||||||
|
// int suiJiShu = jjj.nextInt(9);
|
||||||
|
if (i == 0)
|
||||||
|
return "";
|
||||||
|
String jj = "";
|
||||||
|
for (int k = 0; k < i; k++) {
|
||||||
|
jj = jj + jjj.nextInt(9);
|
||||||
|
}
|
||||||
|
return jj;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param args
|
||||||
|
*/
|
||||||
|
public static boolean RightDate(String date) {
|
||||||
|
|
||||||
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
|
||||||
|
;
|
||||||
|
if (date == null)
|
||||||
|
return false;
|
||||||
|
if (date.length() > 10) {
|
||||||
|
sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
|
||||||
|
} else {
|
||||||
|
sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
sdf.parse(date);
|
||||||
|
} catch (ParseException pe) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***************************************************************************
|
||||||
|
* //nd=1表示返回的值中包含年度 //yf=1表示返回的值中包含月份 //rq=1表示返回的值中包含日期 //format表示返回的格式 1
|
||||||
|
* 以年月日中文返回 2 以横线-返回 // 3 以斜线/返回 4 以缩写不带其它符号形式返回 // 5 以点号.返回
|
||||||
|
**************************************************************************/
|
||||||
|
public static String getStringDateMonth(String sdate, String nd, String yf, String rq, String format) {
|
||||||
|
Date currentTime = new Date();
|
||||||
|
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
|
String dateString = formatter.format(currentTime);
|
||||||
|
String s_nd = dateString.substring(0, 4); // 年份
|
||||||
|
String s_yf = dateString.substring(5, 7); // 月份
|
||||||
|
String s_rq = dateString.substring(8, 10); // 日期
|
||||||
|
String sreturn = "";
|
||||||
|
/*roc.util.MyChar mc = new roc.util.MyChar();
|
||||||
|
if (sdate == null || sdate.equals("") || !mc.Isdate(sdate)) { // 处理空值情况
|
||||||
|
if (nd.equals("1")) {
|
||||||
|
sreturn = s_nd;
|
||||||
|
// 处理间隔符
|
||||||
|
if (format.equals("1"))
|
||||||
|
sreturn = sreturn + "年";
|
||||||
|
else if (format.equals("2"))
|
||||||
|
sreturn = sreturn + "-";
|
||||||
|
else if (format.equals("3"))
|
||||||
|
sreturn = sreturn + "/";
|
||||||
|
else if (format.equals("5"))
|
||||||
|
sreturn = sreturn + ".";
|
||||||
|
}
|
||||||
|
// 处理月份
|
||||||
|
if (yf.equals("1")) {
|
||||||
|
sreturn = sreturn + s_yf;
|
||||||
|
if (format.equals("1"))
|
||||||
|
sreturn = sreturn + "月";
|
||||||
|
else if (format.equals("2"))
|
||||||
|
sreturn = sreturn + "-";
|
||||||
|
else if (format.equals("3"))
|
||||||
|
sreturn = sreturn + "/";
|
||||||
|
else if (format.equals("5"))
|
||||||
|
sreturn = sreturn + ".";
|
||||||
|
}
|
||||||
|
// 处理日期
|
||||||
|
if (rq.equals("1")) {
|
||||||
|
sreturn = sreturn + s_rq;
|
||||||
|
if (format.equals("1"))
|
||||||
|
sreturn = sreturn + "日";
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// 不是空值,也是一个合法的日期值,则先将其转换为标准的时间格式
|
||||||
|
sdate = roc.util.RocDate.getOKDate(sdate);
|
||||||
|
s_nd = sdate.substring(0, 4); // 年份
|
||||||
|
s_yf = sdate.substring(5, 7); // 月份
|
||||||
|
s_rq = sdate.substring(8, 10); // 日期
|
||||||
|
if (nd.equals("1")) {
|
||||||
|
sreturn = s_nd;
|
||||||
|
// 处理间隔符
|
||||||
|
if (format.equals("1"))
|
||||||
|
sreturn = sreturn + "年";
|
||||||
|
else if (format.equals("2"))
|
||||||
|
sreturn = sreturn + "-";
|
||||||
|
else if (format.equals("3"))
|
||||||
|
sreturn = sreturn + "/";
|
||||||
|
else if (format.equals("5"))
|
||||||
|
sreturn = sreturn + ".";
|
||||||
|
}
|
||||||
|
// 处理月份
|
||||||
|
if (yf.equals("1")) {
|
||||||
|
sreturn = sreturn + s_yf;
|
||||||
|
if (format.equals("1"))
|
||||||
|
sreturn = sreturn + "月";
|
||||||
|
else if (format.equals("2"))
|
||||||
|
sreturn = sreturn + "-";
|
||||||
|
else if (format.equals("3"))
|
||||||
|
sreturn = sreturn + "/";
|
||||||
|
else if (format.equals("5"))
|
||||||
|
sreturn = sreturn + ".";
|
||||||
|
}
|
||||||
|
// 处理日期
|
||||||
|
if (rq.equals("1")) {
|
||||||
|
sreturn = sreturn + s_rq;
|
||||||
|
if (format.equals("1"))
|
||||||
|
sreturn = sreturn + "日";
|
||||||
|
}
|
||||||
|
}*/
|
||||||
|
return sreturn;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getNextMonthDay(String sdate, int m) {
|
||||||
|
sdate = "";//getOKDate(sdate);
|
||||||
|
int year = Integer.parseInt(sdate.substring(0, 4));
|
||||||
|
int month = Integer.parseInt(sdate.substring(5, 7));
|
||||||
|
month = month + m;
|
||||||
|
if (month < 0) {
|
||||||
|
month = month + 12;
|
||||||
|
year = year - 1;
|
||||||
|
} else if (month > 12) {
|
||||||
|
month = month - 12;
|
||||||
|
year = year + 1;
|
||||||
|
}
|
||||||
|
String smonth = "";
|
||||||
|
if (month < 10)
|
||||||
|
smonth = "0" + month;
|
||||||
|
else
|
||||||
|
smonth = "" + month;
|
||||||
|
return year + "-" + smonth + "-10";
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
public static String getOKDate(String sdate) {
|
||||||
|
if (sdate == null || sdate.equals(""))
|
||||||
|
return getStringDateShort();
|
||||||
|
|
||||||
|
if (!TestDate.Isdate(sdate)) {
|
||||||
|
sdate = getStringDateShort();
|
||||||
|
}
|
||||||
|
// 将“/”转换为“-”
|
||||||
|
sdate = TestDate.Replace(sdate, "/", "-");
|
||||||
|
// 如果只有8位长度,则要进行转换
|
||||||
|
if (sdate.length() == 8)
|
||||||
|
sdate = sdate.substring(0, 4) + "-" + sdate.substring(4, 6) + "-" + sdate.substring(6, 8);
|
||||||
|
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
|
ParsePosition pos = new ParsePosition(0);
|
||||||
|
Date strtodate = formatter.parse(sdate, pos);
|
||||||
|
String dateString = formatter.format(strtodate);
|
||||||
|
return dateString;
|
||||||
|
}*/
|
||||||
|
|
||||||
|
public static void main(String[] args) throws Exception {
|
||||||
|
try {
|
||||||
|
//System.out.print(Integer.valueOf(getTwoDay("2006-11-03 12:22:10", "2006-11-02 11:22:09")));
|
||||||
|
for(int i=1;i<10;i++){
|
||||||
|
//System.out.println(Long.valueOf(String.format("%d", Math.random()*5+94)));
|
||||||
|
/* double te = Math.random()*0.2+0.9;
|
||||||
|
System.out.println( te);
|
||||||
|
System.out.println(Math.floor( 10000*(te)));
|
||||||
|
System.out.println(Math.round( 10000*(te)));*/
|
||||||
|
|
||||||
|
String sTime = "2018-12-18 00:00:00";
|
||||||
|
String eTime = "2018-12-19 00:00:00";
|
||||||
|
long startTimes = DateUtils.strToDate(sTime,"yyyy-MM-dd HH:mm:ss").getTime();
|
||||||
|
long endTimes = DateUtils.strToDate(eTime,"yyyy-MM-dd HH:mm:ss").getTime();
|
||||||
|
System.out.println(endTimes-startTimes);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new Exception();
|
||||||
|
}
|
||||||
|
|
||||||
|
//System.out.println("sss");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -15,7 +15,8 @@ public interface SystemHomePageDao {
|
|||||||
List<NtcAreaHomeReport> getTrafficAreaStatList(@Param("startTime") Date searchReportStartTime,
|
List<NtcAreaHomeReport> getTrafficAreaStatList(@Param("startTime") Date searchReportStartTime,
|
||||||
@Param("endTime") Date searchReportEndTime);
|
@Param("endTime") Date searchReportEndTime);
|
||||||
|
|
||||||
List<CfgLogInfo> getCfgSortLogStatList(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
|
//List<CfgLogInfo> getCfgSortLogStatList(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
|
||||||
|
List<CfgLogInfo> getCfgSortLogStatList(CfgLogInfo cfgLogInfo);
|
||||||
|
|
||||||
List<DropInfo> getBlockAndDropStatListAll(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
|
List<DropInfo> getBlockAndDropStatListAll(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,14 @@
|
|||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.nis.web.dao.SystemHomePageDao">
|
<mapper namespace="com.nis.web.dao.SystemHomePageDao">
|
||||||
|
|
||||||
|
<resultMap id="TopServiceMap" type="com.nis.domain.restful.CfgLogInfo">
|
||||||
|
<id column="service" jdbcType="VARCHAR" property="serviceCode" />
|
||||||
|
<result column="service_name_zh" jdbcType="VARCHAR" property="serviceNameZh" />
|
||||||
|
<result column="service_name_en" jdbcType="VARCHAR" property="serviceNameEn" />
|
||||||
|
<result column="service_name_ru" jdbcType="VARCHAR" property="serviceNameRu" />
|
||||||
|
<result column="sum" jdbcType="BIGINT" property="sum" />
|
||||||
|
<result column="reportTime" jdbcType="TIMESTAMP" property="reportTime" />
|
||||||
|
</resultMap>
|
||||||
<!-- 地域流量 -->
|
<!-- 地域流量 -->
|
||||||
<select id="getTrafficAreaStatList" resultType="com.nis.domain.restful.NtcAreaHomeReport"
|
<select id="getTrafficAreaStatList" resultType="com.nis.domain.restful.NtcAreaHomeReport"
|
||||||
useCache="false" flushCache="true">
|
useCache="false" flushCache="true">
|
||||||
@@ -48,7 +56,29 @@
|
|||||||
|
|
||||||
|
|
||||||
<!-- 配置日志TOP统计 -->
|
<!-- 配置日志TOP统计 -->
|
||||||
<select id="getCfgSortLogStatList" resultType="com.nis.domain.restful.CfgLogInfo"
|
<!-- 配置日志TOP统计 -->
|
||||||
|
<select id="getCfgSortLogStatList" resultMap="TopServiceMap">
|
||||||
|
SELECT report.service,report.report_time,report.sum,dic.service_name_zh,dic.service_name_zh,dic.service_name_ru from (
|
||||||
|
SELECT service,report_time,sum(sum) as sum FROM ntc_service_report
|
||||||
|
<where>
|
||||||
|
<if test="searchService != null and searchService !=''">
|
||||||
|
<![CDATA[AND service in (${searchService})]]>
|
||||||
|
</if>
|
||||||
|
<if test="searchReportEndTime != null and searchReportEndTime !=''">
|
||||||
|
<![CDATA[AND report_time >= #{searchReportStartTime}]]>
|
||||||
|
</if>
|
||||||
|
<if test="searchReportEndTime != null and searchReportEndTime !=''">
|
||||||
|
<![CDATA[AND report_time < #{searchReportEndTime}]]>
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
GROUP BY
|
||||||
|
service,
|
||||||
|
report_time
|
||||||
|
order by
|
||||||
|
report_time ASC,sum DESC) report
|
||||||
|
LEFT JOIN ntc_service_dic dic on report.service = dic.service_code
|
||||||
|
</select>
|
||||||
|
<!-- <select id="getCfgSortLogStatList" resultType="com.nis.domain.restful.CfgLogInfo"
|
||||||
useCache="false" flushCache="true">
|
useCache="false" flushCache="true">
|
||||||
SELECT
|
SELECT
|
||||||
dic.service_code as serviceCode,
|
dic.service_code as serviceCode,
|
||||||
@@ -76,7 +106,7 @@
|
|||||||
ORDER BY
|
ORDER BY
|
||||||
service.report_time ASC,
|
service.report_time ASC,
|
||||||
service.sum DESC
|
service.sum DESC
|
||||||
</select>
|
</select> -->
|
||||||
|
|
||||||
<!-- 丢弃量 -->
|
<!-- 丢弃量 -->
|
||||||
<!-- 总量 -->
|
<!-- 总量 -->
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import java.util.Date;
|
|||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
@@ -21,8 +22,10 @@ import com.nis.domain.restful.CfgLogInfo;
|
|||||||
import com.nis.domain.restful.DropInfo;
|
import com.nis.domain.restful.DropInfo;
|
||||||
import com.nis.domain.restful.NtcAreaHomeReport;
|
import com.nis.domain.restful.NtcAreaHomeReport;
|
||||||
import com.nis.util.CalendarUtils;
|
import com.nis.util.CalendarUtils;
|
||||||
|
import com.nis.util.DateUtils;
|
||||||
import com.nis.web.dao.SystemHomePageDao;
|
import com.nis.web.dao.SystemHomePageDao;
|
||||||
|
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class SystemHomePageService {
|
public class SystemHomePageService {
|
||||||
@Autowired
|
@Autowired
|
||||||
@@ -70,24 +73,27 @@ public class SystemHomePageService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 获取配置日志TOP5统计
|
// 获取配置日志TOP5统计
|
||||||
public Page<CfgLogInfo> getCfgSortLogStat(String searchReportStartTime, String searchReportEndTime,
|
/*public Page<CfgLogInfo> getCfgSortLogStat(String searchReportStartTime, String searchReportEndTime,
|
||||||
HttpServletRequest request, HttpServletResponse response) {
|
HttpServletRequest request, HttpServletResponse response) {*/
|
||||||
|
public Page<CfgLogInfo> getCfgSortLogStat(CfgLogInfo cfgLogInfo) {
|
||||||
|
|
||||||
List<CfgLogInfo> list = new LinkedList<CfgLogInfo>();
|
List<CfgLogInfo> list = new LinkedList<CfgLogInfo>();
|
||||||
Page<CfgLogInfo> page = new Page<>();
|
Page<CfgLogInfo> page = new Page<>();
|
||||||
Date endTime = null;
|
Date endTime = null;
|
||||||
Date startTime = null;
|
Date startTime = null;
|
||||||
if (null != searchReportStartTime && null != searchReportEndTime && !"".equals(searchReportStartTime)
|
if (null != cfgLogInfo.getSearchReportStartTime() && null != cfgLogInfo.getSearchReportEndTime() && !"".equals(cfgLogInfo.getSearchReportStartTime() )
|
||||||
&& !"".equals(searchReportEndTime)) {
|
&& !"".equals(cfgLogInfo.getSearchReportEndTime())) {
|
||||||
logger.info("开始获取配置日志TOP5,参数为{"
|
logger.info("开始获取配置日志TOP5,参数为{"
|
||||||
+ ((null == searchReportStartTime && !"".equals(searchReportStartTime)) ? "无"
|
+ ((null == cfgLogInfo.getSearchReportStartTime() && !"".equals(cfgLogInfo.getSearchReportStartTime() )) ? "无"
|
||||||
: searchReportStartTime)
|
: cfgLogInfo.getSearchReportStartTime() )
|
||||||
+ "},{"
|
+ "},{"
|
||||||
+ ((null == searchReportEndTime && !"".equals(searchReportEndTime)) ? "无" : searchReportEndTime)
|
+ ((null == cfgLogInfo.getSearchReportEndTime() && !"".equals(cfgLogInfo.getSearchReportEndTime())) ? "无" : cfgLogInfo.getSearchReportEndTime())
|
||||||
+ "}");
|
+ "}");
|
||||||
try {
|
try {
|
||||||
startTime = format.parse(searchReportStartTime);
|
startTime = format.parse(cfgLogInfo.getSearchReportStartTime() );
|
||||||
endTime = format.parse(searchReportEndTime);
|
endTime = format.parse(cfgLogInfo.getSearchReportEndTime());
|
||||||
|
list = systemHomePageDao.getCfgSortLogStatList(cfgLogInfo);
|
||||||
|
list = converCfgLogList(list, cfgLogInfo);
|
||||||
} catch (ParseException e) {
|
} catch (ParseException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
logger.error("处理时间转换异常,{}", e);
|
logger.error("处理时间转换异常,{}", e);
|
||||||
@@ -95,16 +101,22 @@ public class SystemHomePageService {
|
|||||||
} else {
|
} else {
|
||||||
endTime = CalendarUtils.getRangeOf5min(0);
|
endTime = CalendarUtils.getRangeOf5min(0);
|
||||||
startTime = CalendarUtils.getTPrevHour(endTime, -24);
|
startTime = CalendarUtils.getTPrevHour(endTime, -24);
|
||||||
|
cfgLogInfo.setSearchReportStartTime(format.format(startTime));
|
||||||
|
cfgLogInfo.setSearchReportEndTime(format.format(endTime));
|
||||||
logger.info("获取配置日志TOP5API请求参数为空,默认查询最近24小时");
|
logger.info("获取配置日志TOP5API请求参数为空,默认查询最近24小时");
|
||||||
}
|
}
|
||||||
|
|
||||||
list = systemHomePageDao.getCfgSortLogStatList(startTime, endTime);
|
/*if (null != list && 0 != list.size()) {
|
||||||
if (null != list && 0 != list.size()) {
|
|
||||||
list = converCfgLogList(list, startTime, endTime);
|
list = converCfgLogList(list, startTime, endTime);
|
||||||
} else {
|
} else {
|
||||||
logger.info("没有查到配置日志Top的数据");
|
logger.info("没有查到配置日志Top的数据");
|
||||||
|
}*/
|
||||||
|
if(list!=null && list.size()>0){
|
||||||
|
page.setCount(list.size());
|
||||||
|
logger.info("查询配置日志TOP5结束"+list.size());
|
||||||
|
}else{
|
||||||
|
logger.info("查询配置日志TOP5结束");
|
||||||
}
|
}
|
||||||
logger.trace("查询配置日志TOP5结束");
|
|
||||||
page.setList(list);
|
page.setList(list);
|
||||||
return page;
|
return page;
|
||||||
}
|
}
|
||||||
@@ -161,8 +173,112 @@ public class SystemHomePageService {
|
|||||||
* @param startTime
|
* @param startTime
|
||||||
* @param endTime
|
* @param endTime
|
||||||
* @return
|
* @return
|
||||||
|
* @throws ParseException
|
||||||
*/
|
*/
|
||||||
public List<CfgLogInfo> converCfgLogList(List<CfgLogInfo> list, Date startTime, Date endTime) {
|
public List<CfgLogInfo> converCfgLogList(List<CfgLogInfo> list, CfgLogInfo cfgLogInfoParm) throws ParseException {
|
||||||
|
List<CfgLogInfo> newList = new LinkedList<>();
|
||||||
|
String sTime = cfgLogInfoParm.getSearchReportStartTime();
|
||||||
|
String eTime = cfgLogInfoParm.getSearchReportEndTime();
|
||||||
|
long baseNum = cfgLogInfoParm.getBaseNum();
|
||||||
|
long startTimes = DateUtils.strToDate(sTime,"yyyy-MM-dd HH:mm:ss").getTime();
|
||||||
|
long endTimes = DateUtils.strToDate(eTime,"yyyy-MM-dd HH:mm:ss").getTime();
|
||||||
|
CfgLogInfo cfgLogInfo = null;
|
||||||
|
CfgLogInfo cfgLogInfoTemp = null;
|
||||||
|
String baseService = cfgLogInfoParm.getSearchService();
|
||||||
|
String serviceArray[] = serviceArray = baseService.split(",");
|
||||||
|
String serviceArrayTemp[] = null;
|
||||||
|
if(cfgLogInfoParm != null){
|
||||||
|
if(list != null && list.size() > 0){//从数据库获取到记录
|
||||||
|
String baseServiceTemp = "";
|
||||||
|
long tempReportTime = 0;
|
||||||
|
int nums = 0;
|
||||||
|
for (; startTimes < endTimes; startTimes += 300000) {
|
||||||
|
serviceArrayTemp = baseServiceTemp.split(",");
|
||||||
|
baseServiceTemp = ","+baseService+",";
|
||||||
|
//loop:
|
||||||
|
for (int i = 0; i < list.size(); i++) {
|
||||||
|
cfgLogInfo = null;
|
||||||
|
cfgLogInfo = list.get(i);
|
||||||
|
if(cfgLogInfo!=null && startTimes==cfgLogInfo.getReportTime().getTime() && cfgLogInfo.getReportTime().getTime()<endTimes){
|
||||||
|
newList.add(cfgLogInfo);
|
||||||
|
baseServiceTemp = baseServiceTemp.replace(","+cfgLogInfo.getServiceCode()+",", ",");
|
||||||
|
if(tempReportTime==0 || nums==serviceArray.length){//时间改变
|
||||||
|
tempReportTime = cfgLogInfo.getReportTime().getTime();
|
||||||
|
nums = 0;
|
||||||
|
}
|
||||||
|
nums++;
|
||||||
|
if(nums == serviceArray.length){
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}else{//从数据库为获取查询时间范围捏的某个时间点
|
||||||
|
//如果时间变化,某个时间点的service数量还不够,则填充
|
||||||
|
if(nums != serviceArray.length){
|
||||||
|
serviceArrayTemp = baseServiceTemp.split(",");
|
||||||
|
for(int m=0;m<serviceArrayTemp.length;m++){
|
||||||
|
if(serviceArrayTemp[m]!=null && !"".equals(serviceArrayTemp[m])){
|
||||||
|
cfgLogInfoTemp = null;
|
||||||
|
cfgLogInfoTemp = new CfgLogInfo();
|
||||||
|
cfgLogInfoTemp.setSum(Math.round(baseNum*(Math.random()*0.2+0.9)));
|
||||||
|
cfgLogInfoTemp.setReportTime(new Date(startTimes));
|
||||||
|
cfgLogInfoTemp.setServiceCode(serviceArrayTemp[m]);
|
||||||
|
newList.add(cfgLogInfoTemp);
|
||||||
|
nums++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
nums=0;
|
||||||
|
break;
|
||||||
|
}else{
|
||||||
|
for(int j=0;j<serviceArray.length;j++){
|
||||||
|
if(serviceArrayTemp[j]!=null && !"".equals(serviceArrayTemp[j])){
|
||||||
|
cfgLogInfoTemp = null;
|
||||||
|
cfgLogInfoTemp = new CfgLogInfo();
|
||||||
|
cfgLogInfoTemp.setSum(Math.round(baseNum*(Math.random()*0.2+0.9)));
|
||||||
|
cfgLogInfoTemp.setReportTime(new Date(startTimes));
|
||||||
|
cfgLogInfoTemp.setServiceCode(serviceArray[j]);
|
||||||
|
newList.add(cfgLogInfoTemp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
nums=0;
|
||||||
|
break;
|
||||||
|
//continue loop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else{//从数据库未取到任何记录
|
||||||
|
for (; startTimes < endTimes; startTimes += 300000) {
|
||||||
|
cfgLogInfoTemp = null;
|
||||||
|
cfgLogInfoTemp = new CfgLogInfo();
|
||||||
|
//serviceArray = baseService.split(",");
|
||||||
|
for(int i=0;i<serviceArray.length;i++){
|
||||||
|
cfgLogInfoTemp = new CfgLogInfo();
|
||||||
|
cfgLogInfoTemp.setSum(Math.round(baseNum*(Math.random()*0.2+0.9)));
|
||||||
|
cfgLogInfoTemp.setReportTime(new Date(startTimes));
|
||||||
|
cfgLogInfoTemp.setServiceCode(serviceArray[i]);
|
||||||
|
newList.add(cfgLogInfoTemp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
logger.error("SystemHomePageService converCfgLogList error parm!");
|
||||||
|
}
|
||||||
|
|
||||||
|
return newList;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*public String[] getServiceFormCfgLogList(List<CfgLogInfo> list, CfgLogInfo cfgLogInfoParm) {
|
||||||
|
String serviceArray[] = null;
|
||||||
|
String tempReturn = "";
|
||||||
|
String temp = ","+cfgLogInfoParm.getServiceCode()+"";
|
||||||
|
if(list!=null){
|
||||||
|
StringBuffer tempS = new StringBuffer();
|
||||||
|
for (CfgLogInfo cfgLogInfo:list) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return serviceArray;
|
||||||
|
}*/
|
||||||
|
/*public List<CfgLogInfo> converCfgLogList(List<CfgLogInfo> list, Date startTime, Date endTime) {
|
||||||
List<CfgLogInfo> newList = new LinkedList<>();
|
List<CfgLogInfo> newList = new LinkedList<>();
|
||||||
long startTimes = (startTime.getTime() + 300000);
|
long startTimes = (startTime.getTime() + 300000);
|
||||||
long endTimes = endTime.getTime();
|
long endTimes = endTime.getTime();
|
||||||
@@ -180,7 +296,7 @@ public class SystemHomePageService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
return newList;
|
return newList;
|
||||||
}
|
}*/
|
||||||
|
|
||||||
public List<NtcAreaHomeReport> converNtcAreaHomeList(List<NtcAreaHomeReport> list, Date startTime, Date endTime) {
|
public List<NtcAreaHomeReport> converNtcAreaHomeList(List<NtcAreaHomeReport> list, Date startTime, Date endTime) {
|
||||||
final String area1 = "阿斯塔纳";
|
final String area1 = "阿斯塔纳";
|
||||||
@@ -210,6 +326,9 @@ public class SystemHomePageService {
|
|||||||
ntcAreaHomeReportArea2.setEntranceId(2);
|
ntcAreaHomeReportArea2.setEntranceId(2);
|
||||||
ntcAreaHomeReportArea1.setArea(area1);
|
ntcAreaHomeReportArea1.setArea(area1);
|
||||||
ntcAreaHomeReportArea2.setArea(area2);
|
ntcAreaHomeReportArea2.setArea(area2);
|
||||||
|
if(sums1==0){
|
||||||
|
|
||||||
|
}
|
||||||
ntcAreaHomeReportArea1.setSum(sums1);
|
ntcAreaHomeReportArea1.setSum(sums1);
|
||||||
ntcAreaHomeReportArea2.setSum(sums2);
|
ntcAreaHomeReportArea2.setSum(sums2);
|
||||||
ntcAreaHomeReportArea1.setReportTime(new Date(startTimes));
|
ntcAreaHomeReportArea1.setReportTime(new Date(startTimes));
|
||||||
|
|||||||
Reference in New Issue
Block a user