Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-boot-zx-biz
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Jobs
Commits
Open sidebar
项目统一框架
一体化_户用光伏项目代码
amos-boot-zx-biz
Commits
948cdc1e
Commit
948cdc1e
authored
May 22, 2024
by
chenzhao
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/developer' into developer
parents
da8857fb
f0fb7968
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
959 additions
and
885 deletions
+959
-885
DateUtils.java
...ava/com/yeejoin/amos/boot/biz/common/utils/DateUtils.java
+897
-860
JpStationDto.java
...m/yeejoin/amos/boot/module/hygf/api/dto/JpStationDto.java
+6
-0
DayGenerateMapper.java
...oot/module/hygf/api/tdenginemapper/DayGenerateMapper.java
+3
-3
DayGenerateMapper.xml
.../src/main/resources/mapper/tdengine/DayGenerateMapper.xml
+29
-0
JpStationServiceImpl.java
...ot/module/hygf/biz/service/impl/JpStationServiceImpl.java
+3
-3
IdxBizFanHealthIndexController.java
.../jxiop/biz/controller/IdxBizFanHealthIndexController.java
+11
-8
IdxBizPvHealthIndexController.java
...e/jxiop/biz/controller/IdxBizPvHealthIndexController.java
+6
-6
IdxBizFanHealthIndexServiceImpl.java
...iop/biz/service/impl/IdxBizFanHealthIndexServiceImpl.java
+2
-2
FanHealthIndexDayMapper.java
...t/module/jxiop/biz/tdMapper2/FanHealthIndexDayMapper.java
+2
-2
pom.xml
pom.xml
+0
-1
No files found.
amos-boot-biz-common/src/main/java/com/yeejoin/amos/boot/biz/common/utils/DateUtils.java
View file @
948cdc1e
...
...
@@ -15,607 +15,645 @@ import java.util.*;
**/
public
class
DateUtils
{
public
static
final
String
DATE_TIME_PATTERN
=
"yyyy-MM-dd HH:mm:ss"
;
public
static
final
String
MINUTE_PATTERN
=
"yyyy-MM-dd HH:mm"
;
public
static
final
String
HOUR_PATTERN
=
"yyyy-MM-dd HH:mm:ss"
;
public
static
final
String
DATE_PATTERN
=
"yyyy-MM-dd"
;
public
static
final
String
MONTH_PATTERN
=
"yyyy-MM"
;
public
static
final
String
YEAR_PATTERN
=
"yyyy"
;
public
static
final
String
MINUTE_ONLY_PATTERN
=
"mm"
;
public
static
final
String
HOUR_ONLY_PATTERN
=
"HH"
;
public
static
final
String
DATE_PATTERN_NUM
=
"yyyyMMdd"
;
public
static
final
String
CHN_DATE_PATTERN_YEAR
=
"yyyy年"
;
public
static
final
String
CHN_DATE_PATTERN_MONTH
=
"MM月"
;
public
static
final
String
CHN_DATE_PATTERN
=
"yyyy年MM月dd日"
;
/**
* 获取 当前年、半年、季度、月、日、小时 开始结束时间
*/
private
static
final
SimpleDateFormat
shortSdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
private
static
final
SimpleDateFormat
longHourSdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH"
);
private
static
final
SimpleDateFormat
longSdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
private
static
final
Calendar
calendar
=
Calendar
.
getInstance
();
private
static
final
SimpleDateFormat
shortDateNew
=
new
SimpleDateFormat
(
"yyyy/M/d"
);
/**
* 获取时分秒
*/
private
static
final
SimpleDateFormat
timeSdf
=
new
SimpleDateFormat
(
"HH:mm:ss"
);
/**
* 获取当前时间
*
* @return 当前日期时间
*/
public
static
Date
getDateNow
()
{
return
new
Date
();
}
/**
* 获取当前时间
*
* @return 当前日期时间
*/
public
static
String
getDateNowString
()
{
return
convertDateToString
(
getDateNow
(),
DATE_TIME_PATTERN
);
}
public
static
String
date2LongStr
(
Date
dateDate
)
{
SimpleDateFormat
formatter
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
String
dateString
=
formatter
.
format
(
dateDate
);
return
dateString
;
}
/**
* 获取现在日期字符串
*
* @return返回字符串格式 yyyy-MM-dd
*/
public
static
String
getDateNowShortStr
()
{
Date
currentTime
=
new
Date
();
SimpleDateFormat
formatter
=
new
SimpleDateFormat
(
DATE_PATTERN
);
String
dateString
=
formatter
.
format
(
currentTime
);
return
dateString
;
}
/**
* 将日期转换为字符串
*
* @param date 日期
* @param format 字符串格式
* @return 日期字符串
*/
public
static
String
convertDateToString
(
Date
date
,
String
format
)
{
SimpleDateFormat
df
=
null
;
String
returnValue
=
""
;
if
(
null
!=
date
)
{
df
=
new
SimpleDateFormat
(
format
);
returnValue
=
df
.
format
(
date
);
}
return
returnValue
;
}
/**
* 获取当前时间任意
*
* @return
*/
public
static
String
get
(
int
field
)
{
return
String
.
valueOf
(
getCalendar
().
get
(
field
));
}
/**
* 当前日历,这里用中国时间表示
*
* @return 以当地时区表示的系统当前日历
*/
public
static
Calendar
getCalendar
()
{
return
Calendar
.
getInstance
();
}
/**
* 日期相加减天数
*
* @param date 如果为Null,则为当前时间
* @param days 加减天数
* @param includeTime 是否包括时分秒,true表示包含
* @return
* @throws ParseException
*/
public
static
Date
dateAdd
(
Date
date
,
int
days
,
boolean
includeTime
)
throws
ParseException
{
if
(
date
==
null
)
{
date
=
new
Date
();
}
if
(!
includeTime
)
{
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
DateUtils
.
DATE_PATTERN
);
date
=
sdf
.
parse
(
sdf
.
format
(
date
));
}
Calendar
cal
=
Calendar
.
getInstance
();
cal
.
setTime
(
date
);
cal
.
add
(
Calendar
.
DATE
,
days
);
return
cal
.
getTime
();
}
/**
* 将长时间格式字符串转换为时间 yyyy-MM-dd HH:mm:ss
*
* @param strDate
* @return
*/
public
static
Date
longStr2Date
(
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
;
}
/**
* 时间格式化成字符串
*
* @param date Date
* @param pattern StrUtils.DATE_TIME_PATTERN || StrUtils.DATE_PATTERN, 如果为空,则为yyyy-MM-dd
* @return
* @throws ParseException
*/
public
static
String
dateFormat
(
Date
date
,
String
pattern
)
throws
ParseException
{
if
(
StringUtils
.
isEmpty
(
pattern
))
{
pattern
=
DateUtils
.
DATE_PATTERN
;
}
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
pattern
);
return
sdf
.
format
(
date
);
}
/**
* 暂时不操作原生截取做下转换
*
* @param str
* @return
* @throws ParseException
*/
public
static
String
dateToString
(
String
str
)
{
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
Date
parse
=
null
;
String
content
=
null
;
try
{
parse
=
sdf
.
parse
(
str
);
content
=
DateUtils
.
dateFormat
(
parse
,
DateUtils
.
DATE_PATTERN
);
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
}
return
content
;
}
/*
* 将时间戳转换为时间
*/
public
static
String
stampToDate
(
Long
s
,
String
format
)
{
String
res
;
SimpleDateFormat
simpleDateFormat
=
new
SimpleDateFormat
(
format
);
Date
date
=
new
Date
(
s
);
res
=
simpleDateFormat
.
format
(
date
);
return
res
;
}
/**
* 字符串解析成时间对象
*
* @param dateTimeString String
* @param pattern StrUtils.DATE_TIME_PATTERN || StrUtils.DATE_PATTERN,如果为空,则为yyyy-MM-dd
* @return
* @throws ParseException
*/
public
static
Date
dateParse
(
String
dateTimeString
,
String
pattern
)
throws
ParseException
{
if
(
StringUtils
.
isEmpty
(
pattern
))
{
pattern
=
DateUtils
.
DATE_PATTERN
;
}
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
pattern
);
return
sdf
.
parse
(
dateTimeString
);
}
/**
* 将日期时间格式成只有日期的字符串(可以直接使用dateFormat,Pattern为Null进行格式化)
*
* @param dateTime Date
* @return
* @throws ParseException
*/
public
static
String
dateTimeToDateString
(
Date
dateTime
)
throws
ParseException
{
String
dateTimeString
=
DateUtils
.
dateFormat
(
dateTime
,
DateUtils
.
DATE_TIME_PATTERN
);
return
dateTimeString
.
substring
(
0
,
10
);
}
/**
* 当时、分、秒为00:00:00时,将日期时间格式成只有日期的字符串,
* 当时、分、秒不为00:00:00时,直接返回
*
* @param dateTime Date
* @return
* @throws ParseException
*/
public
static
String
dateTimeToDateStringIfTimeEndZero
(
Date
dateTime
)
throws
ParseException
{
String
dateTimeString
=
DateUtils
.
dateFormat
(
dateTime
,
DateUtils
.
DATE_TIME_PATTERN
);
if
(
dateTimeString
.
endsWith
(
"00:00:00"
))
{
return
dateTimeString
.
substring
(
0
,
10
);
}
else
{
return
dateTimeString
;
}
}
/**
* 将日期时间格式成日期对象,和dateParse互用
*
* @param dateTime Date
* @return Date
* @throws ParseException
*/
public
static
Date
dateTimeToDate
(
Date
dateTime
)
throws
ParseException
{
Calendar
cal
=
Calendar
.
getInstance
();
cal
.
setTime
(
dateTime
);
cal
.
set
(
Calendar
.
HOUR_OF_DAY
,
0
);
cal
.
set
(
Calendar
.
MINUTE
,
0
);
cal
.
set
(
Calendar
.
SECOND
,
0
);
cal
.
set
(
Calendar
.
MILLISECOND
,
0
);
return
cal
.
getTime
();
}
/**
* 时间加减小时
*
* @param startDate 要处理的时间,Null则为当前时间
* @param hours 加减的小时
* @return Date
*/
public
static
Date
dateAddHours
(
Date
startDate
,
int
hours
)
{
if
(
startDate
==
null
)
{
startDate
=
new
Date
();
}
Calendar
c
=
Calendar
.
getInstance
();
c
.
setTime
(
startDate
);
c
.
set
(
Calendar
.
HOUR
,
c
.
get
(
Calendar
.
HOUR
)
+
hours
);
return
c
.
getTime
();
}
/**
* 时间加减分钟
*
* @param startDate 要处理的时间,Null则为当前时间
* @param minutes 加减的分钟
* @return
*/
public
static
Date
dateAddMinutes
(
Date
startDate
,
int
minutes
)
{
if
(
startDate
==
null
)
{
startDate
=
new
Date
();
}
Calendar
c
=
Calendar
.
getInstance
();
c
.
setTime
(
startDate
);
c
.
set
(
Calendar
.
MINUTE
,
c
.
get
(
Calendar
.
MINUTE
)
+
minutes
);
return
c
.
getTime
();
}
/**
* 时间加减秒数
*
* @param startDate 要处理的时间,Null则为当前时间
* @param
* @return
*/
public
static
Date
dateAddSeconds
(
Date
startDate
,
int
seconds
)
{
if
(
startDate
==
null
)
{
startDate
=
new
Date
();
}
Calendar
c
=
Calendar
.
getInstance
();
c
.
setTime
(
startDate
);
c
.
set
(
Calendar
.
SECOND
,
c
.
get
(
Calendar
.
SECOND
)
+
seconds
);
return
c
.
getTime
();
}
/**
* 时间加减天数
*
* @param startDate 要处理的时间,Null则为当前时间
* @param days 加减的天数
* @return Date
*/
public
static
Date
dateAddDays
(
Date
startDate
,
int
days
)
{
if
(
startDate
==
null
)
{
startDate
=
new
Date
();
}
Calendar
c
=
Calendar
.
getInstance
();
c
.
setTime
(
startDate
);
c
.
set
(
Calendar
.
DATE
,
c
.
get
(
Calendar
.
DATE
)
+
days
);
return
c
.
getTime
();
}
/**
* 时间加减月数
*
* @param startDate 要处理的时间,Null则为当前时间
* @param months 加减的月数
* @return Date
*/
public
static
Date
dateAddMonths
(
Date
startDate
,
int
months
)
{
if
(
startDate
==
null
)
{
startDate
=
new
Date
();
}
Calendar
c
=
Calendar
.
getInstance
();
c
.
setTime
(
startDate
);
c
.
set
(
Calendar
.
MONTH
,
c
.
get
(
Calendar
.
MONTH
)
+
months
);
return
c
.
getTime
();
}
/**
* 时间加减年数
*
* @param startDate 要处理的时间,Null则为当前时间
* @param years 加减的年数
* @return Date
*/
public
static
Date
dateAddYears
(
Date
startDate
,
int
years
)
{
if
(
startDate
==
null
)
{
startDate
=
new
Date
();
}
Calendar
c
=
Calendar
.
getInstance
();
c
.
setTime
(
startDate
);
c
.
set
(
Calendar
.
YEAR
,
c
.
get
(
Calendar
.
YEAR
)
+
years
);
return
c
.
getTime
();
}
/**
* 时间比较(如果myDate>compareDate返回1,<返回-1,相等返回0)
*
* @param myDate 时间
* @param compareDate 要比较的时间
* @return int
*/
public
static
int
dateCompare
(
Date
myDate
,
Date
compareDate
)
{
Calendar
myCal
=
Calendar
.
getInstance
();
Calendar
compareCal
=
Calendar
.
getInstance
();
myCal
.
setTime
(
myDate
);
compareCal
.
setTime
(
compareDate
);
return
myCal
.
compareTo
(
compareCal
);
}
/**
* 获取两个时间中最小的一个时间
*
* @param date
* @param compareDate
* @return
*/
public
static
Date
dateMin
(
Date
date
,
Date
compareDate
)
{
if
(
date
==
null
)
{
return
compareDate
;
}
if
(
compareDate
==
null
)
{
return
date
;
}
if
(
1
==
dateCompare
(
date
,
compareDate
))
{
return
compareDate
;
}
else
if
(-
1
==
dateCompare
(
date
,
compareDate
))
{
return
date
;
}
return
date
;
}
/**
* 获取两个时间中最大的一个时间
*
* @param date
* @param compareDate
* @return
*/
public
static
Date
dateMax
(
Date
date
,
Date
compareDate
)
{
if
(
date
==
null
)
{
return
compareDate
;
}
if
(
compareDate
==
null
)
{
return
date
;
}
if
(
1
==
dateCompare
(
date
,
compareDate
))
{
return
date
;
}
else
if
(-
1
==
dateCompare
(
date
,
compareDate
))
{
return
compareDate
;
}
return
date
;
}
/**
* 获取两个日期(不含时分秒)相差的天数,不包含今天
*
* @param startDate
* @param endDate
* @return
* @throws ParseException
*/
public
static
int
dateBetween
(
Date
startDate
,
Date
endDate
)
throws
ParseException
{
Date
dateStart
=
dateParse
(
dateFormat
(
startDate
,
DATE_PATTERN
),
DATE_PATTERN
);
Date
dateEnd
=
dateParse
(
dateFormat
(
endDate
,
DATE_PATTERN
),
DATE_PATTERN
);
return
(
int
)
((
dateEnd
.
getTime
()
-
dateStart
.
getTime
())
/
1000
/
60
/
60
/
24
);
}
/**
* 获取两个日期(不含时分秒)相差的天数,包含今天
*
* @param startDate
* @param endDate
* @return
* @throws ParseException
*/
public
static
int
dateBetweenIncludeToday
(
Date
startDate
,
Date
endDate
)
throws
ParseException
{
return
dateBetween
(
startDate
,
endDate
)
+
1
;
}
/**
* 获取日期时间的年份,如2017-02-13,返回2017
*
* @param date
* @return
*/
public
static
int
getYear
(
Date
date
)
{
Calendar
cal
=
Calendar
.
getInstance
();
cal
.
setTime
(
date
);
return
cal
.
get
(
Calendar
.
YEAR
);
}
/**
* 获取日期时间的月份,如2017年2月13日,返回2
*
* @param date
* @return
*/
public
static
int
getMonth
(
Date
date
)
{
Calendar
cal
=
Calendar
.
getInstance
();
cal
.
setTime
(
date
);
return
cal
.
get
(
Calendar
.
MONTH
)
+
1
;
}
/**
* 获取日期时间的第几天(即返回日期的dd),如2017-02-13,返回13
*
* @param date
* @return
*/
public
static
int
getDate
(
Date
date
)
{
Calendar
cal
=
Calendar
.
getInstance
();
cal
.
setTime
(
date
);
return
cal
.
get
(
Calendar
.
DATE
);
}
/**
* 获取日期时间当月的总天数,如2017-02-13,返回28
*
* @param date
* @return
*/
public
static
int
getDaysOfMonth
(
Date
date
)
{
Calendar
cal
=
Calendar
.
getInstance
();
cal
.
setTime
(
date
);
return
cal
.
getActualMaximum
(
Calendar
.
DATE
);
}
/**
* 获取日期时间当年的总天数,如2017-02-13,返回2017年的总天数
*
* @param date
* @return
*/
public
static
int
getDaysOfYear
(
Date
date
)
{
Calendar
cal
=
Calendar
.
getInstance
();
cal
.
setTime
(
date
);
return
cal
.
getActualMaximum
(
Calendar
.
DAY_OF_YEAR
);
}
/**
* 根据时间获取当月最大的日期
* <li>2017-02-13,返回2017-02-28</li>
* <li>2016-02-13,返回2016-02-29</li>
* <li>2016-01-11,返回2016-01-31</li>
*
* @param date Date
* @return
* @throws Exception
*/
public
static
Date
maxDateOfMonth
(
Date
date
)
throws
Exception
{
Calendar
cal
=
Calendar
.
getInstance
();
cal
.
setTime
(
date
);
int
value
=
cal
.
getActualMaximum
(
Calendar
.
DATE
);
return
dateParse
(
dateFormat
(
date
,
MONTH_PATTERN
)
+
"-"
+
value
,
null
);
}
/**
* 根据时间获取当月最小的日期,也就是返回当月的1号日期对象
*
* @param date Date
* @return
* @throws Exception
*/
public
static
Date
minDateOfMonth
(
Date
date
)
throws
Exception
{
Calendar
cal
=
Calendar
.
getInstance
();
cal
.
setTime
(
date
);
int
value
=
cal
.
getActualMinimum
(
Calendar
.
DATE
);
return
dateParse
(
dateFormat
(
date
,
MONTH_PATTERN
)
+
"-"
+
value
,
null
);
}
/**
* 根据年月返回第一天
*
* @param yearParam
* @param monthParam
* @return
*/
public
static
Date
getFirstDayByMonth
(
int
yearParam
,
int
monthParam
)
{
Calendar
c
=
Calendar
.
getInstance
(
Locale
.
CHINA
);
c
.
set
(
yearParam
,
monthParam
-
1
,
1
);
try
{
Date
date
=
shortSdf
.
parse
(
shortSdf
.
format
(
c
.
getTime
())
+
" 00:00:00"
);
return
date
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
null
;
}
/**
* 获取某月的日期List
*
* @param yearParam
* @param monthParam
* @return
*/
public
static
List
<
String
>
getDayByMonth
(
int
yearParam
,
int
monthParam
)
{
List
list
=
new
ArrayList
();
Calendar
aCalendar
=
Calendar
.
getInstance
(
Locale
.
CHINA
);
aCalendar
.
set
(
yearParam
,
monthParam
-
1
,
1
);
int
year
=
aCalendar
.
get
(
Calendar
.
YEAR
);
//年份
int
month
=
aCalendar
.
get
(
Calendar
.
MONTH
)
+
1
;
//月份
int
day
=
aCalendar
.
getActualMaximum
(
Calendar
.
DATE
);
for
(
int
i
=
1
;
i
<=
day
;
i
++)
{
list
.
add
(
year
+
"/"
+
month
+
"/"
+
i
);
}
return
list
;
}
/**
* 当前月的结束时间,即2012-01-31 23:59:59
*
* @return
*/
public
static
Date
getCurrentMonthEndTime
(
Date
date
)
{
Calendar
c
=
Calendar
.
getInstance
();
c
.
setTime
(
date
);
Date
now
=
null
;
c
.
set
(
Calendar
.
DATE
,
1
);
c
.
add
(
Calendar
.
MONTH
,
1
);
c
.
add
(
Calendar
.
DATE
,
-
1
);
try
{
now
=
longSdf
.
parse
(
shortSdf
.
format
(
c
.
getTime
())
+
" 23:59:59"
);
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
}
return
now
;
}
public
static
void
main
(
String
[]
args
)
throws
Exception
{
/*System.out.println(dateTimeToDate(new Date()));
System.out.println(dateParse("2017-02-04 14:58:20", null));
System.out.println(dateTimeToDateStringIfTimeEndZero(new Date()));
System.out.println(dateTimeToDateStringIfTimeEndZero(dateTimeToDate(new Date())));*/
//System.out.println(dateBetween(dateParse("2017-01-30", null), dateParse("2017-02-01", null)));
//System.out.println(dateBetweenIncludeToday(dateParse("2017-01-30", null), dateParse("2017-02-01", null)));
public
static
final
String
DATE_TIME_PATTERN
=
"yyyy-MM-dd HH:mm:ss"
;
public
static
final
String
MINUTE_PATTERN
=
"yyyy-MM-dd HH:mm"
;
public
static
final
String
HOUR_PATTERN
=
"yyyy-MM-dd HH"
;
public
static
final
String
DATE_PATTERN
=
"yyyy-MM-dd"
;
public
static
final
String
MONTH_PATTERN
=
"yyyy-MM"
;
public
static
final
String
YEAR_PATTERN
=
"yyyy"
;
public
static
final
String
MINUTE_ONLY_PATTERN
=
"mm"
;
public
static
final
String
HOUR_ONLY_PATTERN
=
"HH"
;
public
static
final
String
DATE_PATTERN_NUM
=
"yyyyMMdd"
;
public
static
final
String
CHN_DATE_PATTERN_YEAR
=
"yyyy年"
;
public
static
final
String
CHN_DATE_PATTERN_MONTH
=
"MM月"
;
public
static
final
String
CHN_DATE_PATTERN
=
"yyyy年MM月dd日"
;
/**
* 获取 当前年、半年、季度、月、日、小时 开始结束时间
*/
private
static
final
SimpleDateFormat
shortSdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
private
static
final
SimpleDateFormat
longHourSdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH"
);
private
static
final
SimpleDateFormat
longSdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
private
static
final
Calendar
calendar
=
Calendar
.
getInstance
();
private
static
final
SimpleDateFormat
shortDateNew
=
new
SimpleDateFormat
(
"yyyy/M/d"
);
/**
* 获取时分秒
*/
private
static
final
SimpleDateFormat
timeSdf
=
new
SimpleDateFormat
(
"HH:mm:ss"
);
/**
* 获取当前时间
*
* @return 当前日期时间
*/
public
static
Date
getDateNow
()
{
return
new
Date
();
}
/**
* 获取当前时间
*
* @return 当前日期时间
*/
public
static
String
getDateNowString
()
{
return
convertDateToString
(
getDateNow
(),
DATE_TIME_PATTERN
);
}
public
static
String
date2LongStr
(
Date
dateDate
)
{
SimpleDateFormat
formatter
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
String
dateString
=
formatter
.
format
(
dateDate
);
return
dateString
;
}
/**
* 获取现在日期字符串
*
* @return返回字符串格式 yyyy-MM-dd
*/
public
static
String
getDateNowShortStr
()
{
Date
currentTime
=
new
Date
();
SimpleDateFormat
formatter
=
new
SimpleDateFormat
(
DATE_PATTERN
);
String
dateString
=
formatter
.
format
(
currentTime
);
return
dateString
;
}
/**
* 将日期转换为字符串
*
* @param date 日期
* @param format 字符串格式
* @return 日期字符串
*/
public
static
String
convertDateToString
(
Date
date
,
String
format
)
{
SimpleDateFormat
df
=
null
;
String
returnValue
=
""
;
if
(
null
!=
date
)
{
df
=
new
SimpleDateFormat
(
format
);
returnValue
=
df
.
format
(
date
);
}
return
returnValue
;
}
/**
* 获取当前时间任意
*
* @return
*/
public
static
String
get
(
int
field
)
{
return
String
.
valueOf
(
getCalendar
().
get
(
field
));
}
/**
* 当前日历,这里用中国时间表示
*
* @return 以当地时区表示的系统当前日历
*/
public
static
Calendar
getCalendar
()
{
return
Calendar
.
getInstance
();
}
/**
* 日期相加减天数
*
* @param date 如果为Null,则为当前时间
* @param days 加减天数
* @param includeTime 是否包括时分秒,true表示包含
* @return
* @throws ParseException
*/
public
static
Date
dateAdd
(
Date
date
,
int
days
,
boolean
includeTime
)
throws
ParseException
{
if
(
date
==
null
)
{
date
=
new
Date
();
}
if
(!
includeTime
)
{
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
DateUtils
.
DATE_PATTERN
);
date
=
sdf
.
parse
(
sdf
.
format
(
date
));
}
Calendar
cal
=
Calendar
.
getInstance
();
cal
.
setTime
(
date
);
cal
.
add
(
Calendar
.
DATE
,
days
);
return
cal
.
getTime
();
}
/**
* 将长时间格式字符串转换为时间 yyyy-MM-dd HH:mm:ss
*
* @param strDate
* @return
*/
public
static
Date
longStr2Date
(
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
;
}
/**
* 时间格式化成字符串
*
* @param date Date
* @param pattern StrUtils.DATE_TIME_PATTERN || StrUtils.DATE_PATTERN,
* 如果为空,则为yyyy-MM-dd
* @return
* @throws ParseException
*/
public
static
String
dateFormat
(
Date
date
,
String
pattern
)
throws
ParseException
{
if
(
StringUtils
.
isEmpty
(
pattern
))
{
pattern
=
DateUtils
.
DATE_PATTERN
;
}
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
pattern
);
return
sdf
.
format
(
date
);
}
/**
* 暂时不操作原生截取做下转换
*
* @param str
* @return
* @throws ParseException
*/
public
static
String
dateToString
(
String
str
)
{
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
Date
parse
=
null
;
String
content
=
null
;
try
{
parse
=
sdf
.
parse
(
str
);
content
=
DateUtils
.
dateFormat
(
parse
,
DateUtils
.
DATE_PATTERN
);
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
}
return
content
;
}
/*
* 将时间戳转换为时间
*/
public
static
String
stampToDate
(
Long
s
,
String
format
)
{
String
res
;
SimpleDateFormat
simpleDateFormat
=
new
SimpleDateFormat
(
format
);
Date
date
=
new
Date
(
s
);
res
=
simpleDateFormat
.
format
(
date
);
return
res
;
}
/**
* 字符串解析成时间对象
*
* @param dateTimeString String
* @param pattern StrUtils.DATE_TIME_PATTERN ||
* StrUtils.DATE_PATTERN,如果为空,则为yyyy-MM-dd
* @return
* @throws ParseException
*/
public
static
Date
dateParse
(
String
dateTimeString
,
String
pattern
)
throws
ParseException
{
if
(
StringUtils
.
isEmpty
(
pattern
))
{
pattern
=
DateUtils
.
DATE_PATTERN
;
}
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
pattern
);
return
sdf
.
parse
(
dateTimeString
);
}
/**
* 字符串解析成时间对象
*
* @param dateTimeString String
* @param pattern StrUtils.DATE_TIME_PATTERN ||
* StrUtils.DATE_PATTERN,如果为空,则为yyyy-MM-dd
* @return
* @throws ParseException
*/
public
static
Date
dateParse
(
String
dateTimeString
)
{
if
(
dateTimeString
==
null
)
{
return
null
;
}
try
{
if
(
dateTimeString
.
length
()
==
10
)
{
return
dateParse
(
dateTimeString
,
DateUtils
.
DATE_PATTERN
);
}
else
if
(
dateTimeString
.
length
()
==
13
)
{
return
dateParse
(
dateTimeString
,
DateUtils
.
HOUR_PATTERN
);
}
else
if
(
dateTimeString
.
length
()
==
16
)
{
return
dateParse
(
dateTimeString
,
DateUtils
.
MINUTE_PATTERN
);
}
else
{
return
dateParse
(
dateTimeString
,
DateUtils
.
DATE_TIME_PATTERN
);
}
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
return
null
;
}
}
/**
* 将日期时间格式成只有日期的字符串(可以直接使用dateFormat,Pattern为Null进行格式化)
*
* @param dateTime Date
* @return
* @throws ParseException
*/
public
static
String
dateTimeToDateString
(
Date
dateTime
)
throws
ParseException
{
String
dateTimeString
=
DateUtils
.
dateFormat
(
dateTime
,
DateUtils
.
DATE_TIME_PATTERN
);
return
dateTimeString
.
substring
(
0
,
10
);
}
/**
* 当时、分、秒为00:00:00时,将日期时间格式成只有日期的字符串, 当时、分、秒不为00:00:00时,直接返回
*
* @param dateTime Date
* @return
* @throws ParseException
*/
public
static
String
dateTimeToDateStringIfTimeEndZero
(
Date
dateTime
)
throws
ParseException
{
String
dateTimeString
=
DateUtils
.
dateFormat
(
dateTime
,
DateUtils
.
DATE_TIME_PATTERN
);
if
(
dateTimeString
.
endsWith
(
"00:00:00"
))
{
return
dateTimeString
.
substring
(
0
,
10
);
}
else
{
return
dateTimeString
;
}
}
/**
* 将日期时间格式成日期对象,和dateParse互用
*
* @param dateTime Date
* @return Date
* @throws ParseException
*/
public
static
Date
dateTimeToDate
(
Date
dateTime
)
throws
ParseException
{
Calendar
cal
=
Calendar
.
getInstance
();
cal
.
setTime
(
dateTime
);
cal
.
set
(
Calendar
.
HOUR_OF_DAY
,
0
);
cal
.
set
(
Calendar
.
MINUTE
,
0
);
cal
.
set
(
Calendar
.
SECOND
,
0
);
cal
.
set
(
Calendar
.
MILLISECOND
,
0
);
return
cal
.
getTime
();
}
/**
* 时间加减小时
*
* @param startDate 要处理的时间,Null则为当前时间
* @param hours 加减的小时
* @return Date
*/
public
static
Date
dateAddHours
(
Date
startDate
,
int
hours
)
{
if
(
startDate
==
null
)
{
startDate
=
new
Date
();
}
Calendar
c
=
Calendar
.
getInstance
();
c
.
setTime
(
startDate
);
c
.
set
(
Calendar
.
HOUR
,
c
.
get
(
Calendar
.
HOUR
)
+
hours
);
return
c
.
getTime
();
}
/**
* 时间加减分钟
*
* @param startDate 要处理的时间,Null则为当前时间
* @param minutes 加减的分钟
* @return
*/
public
static
Date
dateAddMinutes
(
Date
startDate
,
int
minutes
)
{
if
(
startDate
==
null
)
{
startDate
=
new
Date
();
}
Calendar
c
=
Calendar
.
getInstance
();
c
.
setTime
(
startDate
);
c
.
set
(
Calendar
.
MINUTE
,
c
.
get
(
Calendar
.
MINUTE
)
+
minutes
);
return
c
.
getTime
();
}
/**
* 时间加减秒数
*
* @param startDate 要处理的时间,Null则为当前时间
* @param
* @return
*/
public
static
Date
dateAddSeconds
(
Date
startDate
,
int
seconds
)
{
if
(
startDate
==
null
)
{
startDate
=
new
Date
();
}
Calendar
c
=
Calendar
.
getInstance
();
c
.
setTime
(
startDate
);
c
.
set
(
Calendar
.
SECOND
,
c
.
get
(
Calendar
.
SECOND
)
+
seconds
);
return
c
.
getTime
();
}
/**
* 时间加减天数
*
* @param startDate 要处理的时间,Null则为当前时间
* @param days 加减的天数
* @return Date
*/
public
static
Date
dateAddDays
(
Date
startDate
,
int
days
)
{
if
(
startDate
==
null
)
{
startDate
=
new
Date
();
}
Calendar
c
=
Calendar
.
getInstance
();
c
.
setTime
(
startDate
);
c
.
set
(
Calendar
.
DATE
,
c
.
get
(
Calendar
.
DATE
)
+
days
);
return
c
.
getTime
();
}
/**
* 时间加减月数
*
* @param startDate 要处理的时间,Null则为当前时间
* @param months 加减的月数
* @return Date
*/
public
static
Date
dateAddMonths
(
Date
startDate
,
int
months
)
{
if
(
startDate
==
null
)
{
startDate
=
new
Date
();
}
Calendar
c
=
Calendar
.
getInstance
();
c
.
setTime
(
startDate
);
c
.
set
(
Calendar
.
MONTH
,
c
.
get
(
Calendar
.
MONTH
)
+
months
);
return
c
.
getTime
();
}
/**
* 时间加减年数
*
* @param startDate 要处理的时间,Null则为当前时间
* @param years 加减的年数
* @return Date
*/
public
static
Date
dateAddYears
(
Date
startDate
,
int
years
)
{
if
(
startDate
==
null
)
{
startDate
=
new
Date
();
}
Calendar
c
=
Calendar
.
getInstance
();
c
.
setTime
(
startDate
);
c
.
set
(
Calendar
.
YEAR
,
c
.
get
(
Calendar
.
YEAR
)
+
years
);
return
c
.
getTime
();
}
/**
* 时间比较(如果myDate>compareDate返回1,<返回-1,相等返回0)
*
* @param myDate 时间
* @param compareDate 要比较的时间
* @return int
*/
public
static
int
dateCompare
(
Date
myDate
,
Date
compareDate
)
{
Calendar
myCal
=
Calendar
.
getInstance
();
Calendar
compareCal
=
Calendar
.
getInstance
();
myCal
.
setTime
(
myDate
);
compareCal
.
setTime
(
compareDate
);
return
myCal
.
compareTo
(
compareCal
);
}
/**
* 获取两个时间中最小的一个时间
*
* @param date
* @param compareDate
* @return
*/
public
static
Date
dateMin
(
Date
date
,
Date
compareDate
)
{
if
(
date
==
null
)
{
return
compareDate
;
}
if
(
compareDate
==
null
)
{
return
date
;
}
if
(
1
==
dateCompare
(
date
,
compareDate
))
{
return
compareDate
;
}
else
if
(-
1
==
dateCompare
(
date
,
compareDate
))
{
return
date
;
}
return
date
;
}
/**
* 获取两个时间中最大的一个时间
*
* @param date
* @param compareDate
* @return
*/
public
static
Date
dateMax
(
Date
date
,
Date
compareDate
)
{
if
(
date
==
null
)
{
return
compareDate
;
}
if
(
compareDate
==
null
)
{
return
date
;
}
if
(
1
==
dateCompare
(
date
,
compareDate
))
{
return
date
;
}
else
if
(-
1
==
dateCompare
(
date
,
compareDate
))
{
return
compareDate
;
}
return
date
;
}
/**
* 获取两个日期(不含时分秒)相差的天数,不包含今天
*
* @param startDate
* @param endDate
* @return
* @throws ParseException
*/
public
static
int
dateBetween
(
Date
startDate
,
Date
endDate
)
throws
ParseException
{
Date
dateStart
=
dateParse
(
dateFormat
(
startDate
,
DATE_PATTERN
),
DATE_PATTERN
);
Date
dateEnd
=
dateParse
(
dateFormat
(
endDate
,
DATE_PATTERN
),
DATE_PATTERN
);
return
(
int
)
((
dateEnd
.
getTime
()
-
dateStart
.
getTime
())
/
1000
/
60
/
60
/
24
);
}
/**
* 获取两个日期(不含时分秒)相差的天数,包含今天
*
* @param startDate
* @param endDate
* @return
* @throws ParseException
*/
public
static
int
dateBetweenIncludeToday
(
Date
startDate
,
Date
endDate
)
throws
ParseException
{
return
dateBetween
(
startDate
,
endDate
)
+
1
;
}
/**
* 获取日期时间的年份,如2017-02-13,返回2017
*
* @param date
* @return
*/
public
static
int
getYear
(
Date
date
)
{
Calendar
cal
=
Calendar
.
getInstance
();
cal
.
setTime
(
date
);
return
cal
.
get
(
Calendar
.
YEAR
);
}
/**
* 获取日期时间的月份,如2017年2月13日,返回2
*
* @param date
* @return
*/
public
static
int
getMonth
(
Date
date
)
{
Calendar
cal
=
Calendar
.
getInstance
();
cal
.
setTime
(
date
);
return
cal
.
get
(
Calendar
.
MONTH
)
+
1
;
}
/**
* 获取日期时间的第几天(即返回日期的dd),如2017-02-13,返回13
*
* @param date
* @return
*/
public
static
int
getDate
(
Date
date
)
{
Calendar
cal
=
Calendar
.
getInstance
();
cal
.
setTime
(
date
);
return
cal
.
get
(
Calendar
.
DATE
);
}
/**
* 获取日期时间当月的总天数,如2017-02-13,返回28
*
* @param date
* @return
*/
public
static
int
getDaysOfMonth
(
Date
date
)
{
Calendar
cal
=
Calendar
.
getInstance
();
cal
.
setTime
(
date
);
return
cal
.
getActualMaximum
(
Calendar
.
DATE
);
}
/**
* 获取日期时间当年的总天数,如2017-02-13,返回2017年的总天数
*
* @param date
* @return
*/
public
static
int
getDaysOfYear
(
Date
date
)
{
Calendar
cal
=
Calendar
.
getInstance
();
cal
.
setTime
(
date
);
return
cal
.
getActualMaximum
(
Calendar
.
DAY_OF_YEAR
);
}
/**
* 根据时间获取当月最大的日期
* <li>2017-02-13,返回2017-02-28</li>
* <li>2016-02-13,返回2016-02-29</li>
* <li>2016-01-11,返回2016-01-31</li>
*
* @param date Date
* @return
* @throws Exception
*/
public
static
Date
maxDateOfMonth
(
Date
date
)
throws
Exception
{
Calendar
cal
=
Calendar
.
getInstance
();
cal
.
setTime
(
date
);
int
value
=
cal
.
getActualMaximum
(
Calendar
.
DATE
);
return
dateParse
(
dateFormat
(
date
,
MONTH_PATTERN
)
+
"-"
+
value
,
null
);
}
/**
* 根据时间获取当月最小的日期,也就是返回当月的1号日期对象
*
* @param date Date
* @return
* @throws Exception
*/
public
static
Date
minDateOfMonth
(
Date
date
)
throws
Exception
{
Calendar
cal
=
Calendar
.
getInstance
();
cal
.
setTime
(
date
);
int
value
=
cal
.
getActualMinimum
(
Calendar
.
DATE
);
return
dateParse
(
dateFormat
(
date
,
MONTH_PATTERN
)
+
"-"
+
value
,
null
);
}
/**
* 根据年月返回第一天
*
* @param yearParam
* @param monthParam
* @return
*/
public
static
Date
getFirstDayByMonth
(
int
yearParam
,
int
monthParam
)
{
Calendar
c
=
Calendar
.
getInstance
(
Locale
.
CHINA
);
c
.
set
(
yearParam
,
monthParam
-
1
,
1
);
try
{
Date
date
=
shortSdf
.
parse
(
shortSdf
.
format
(
c
.
getTime
())
+
" 00:00:00"
);
return
date
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
null
;
}
/**
* 获取某月的日期List
*
* @param yearParam
* @param monthParam
* @return
*/
public
static
List
<
String
>
getDayByMonth
(
int
yearParam
,
int
monthParam
)
{
List
list
=
new
ArrayList
();
Calendar
aCalendar
=
Calendar
.
getInstance
(
Locale
.
CHINA
);
aCalendar
.
set
(
yearParam
,
monthParam
-
1
,
1
);
int
year
=
aCalendar
.
get
(
Calendar
.
YEAR
);
// 年份
int
month
=
aCalendar
.
get
(
Calendar
.
MONTH
)
+
1
;
// 月份
int
day
=
aCalendar
.
getActualMaximum
(
Calendar
.
DATE
);
for
(
int
i
=
1
;
i
<=
day
;
i
++)
{
list
.
add
(
year
+
"/"
+
month
+
"/"
+
i
);
}
return
list
;
}
/**
* 当前月的结束时间,即2012-01-31 23:59:59
*
* @return
*/
public
static
Date
getCurrentMonthEndTime
(
Date
date
)
{
Calendar
c
=
Calendar
.
getInstance
();
c
.
setTime
(
date
);
Date
now
=
null
;
c
.
set
(
Calendar
.
DATE
,
1
);
c
.
add
(
Calendar
.
MONTH
,
1
);
c
.
add
(
Calendar
.
DATE
,
-
1
);
try
{
now
=
longSdf
.
parse
(
shortSdf
.
format
(
c
.
getTime
())
+
" 23:59:59"
);
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
}
return
now
;
}
public
static
void
main
(
String
[]
args
)
throws
Exception
{
/*
* System.out.println(dateTimeToDate(new Date()));
* System.out.println(dateParse("2017-02-04 14:58:20", null));
* System.out.println(dateTimeToDateStringIfTimeEndZero(new Date()));
* System.out.println(dateTimeToDateStringIfTimeEndZero(dateTimeToDate(new
* Date())));
*/
// System.out.println(dateBetween(dateParse("2017-01-30", null),
// dateParse("2017-02-01", null)));
// System.out.println(dateBetweenIncludeToday(dateParse("2017-01-30", null),
// dateParse("2017-02-01", null)));
// System.out.println(getDate(dateParse("2017-01-17", null)));
//System.out.println(getDate(dateParse("2017-01-17", null)));
/*
System.out.println(getDaysOfMonth(dateParse("2017-02-01", null)));
System.out.println(getDaysOfYear(dateParse("2017-01-30", null)));*/
//System.out.println(dateFormat(dateAddMonths(dateParse("2017-02-07", StrUtils.MONTH_PATTERN), -12), StrUtils
// .MONTH_PATTERN));
/*System.out.println(dateFormat(maxDateOfMonth(dateParse("2016-02", "yyyy-MM")), null));
System.out.println(dateFormat(minDateOfMonth(dateParse("2016-03-31", null)), null));*/
// System.out.println(getDate(dateParse("2017-01-17", null)));
/*
* System.out.println(getDaysOfMonth(dateParse("2017-02-01", null)));
* System.out.println(getDaysOfYear(dateParse("2017-01-30", null)));
*/
// System.out.println(dateFormat(dateAddMonths(dateParse("2017-02-07",
// StrUtils.MONTH_PATTERN), -12), StrUtils
// .MONTH_PATTERN));
/*
* System.out.println(dateFormat(maxDateOfMonth(dateParse("2016-02",
* "yyyy-MM")), null));
* System.out.println(dateFormat(minDateOfMonth(dateParse("2016-03-31", null)),
* null));
*/
// System.out.println(dateFormat(new Date(), CHN_DATE_PATTERN_YEAR));
// System.out.println(dateFormat(new Date(), CHN_DATE_PATTERN_MONTH));
...
...
@@ -623,264 +661,263 @@ public class DateUtils {
// System.out.println(getQuarterStr(getMonth(dateParse("2021-5-11", null))));
// System.out.println(getWeekBeginDate(dateParse("2021-10-11", null)));
// System.out.println(getWeekEndDate(dateParse("2021-10-11", null)));
System
.
out
.
println
(
secondsToTimeStr
(
3600
));
}
/**
* 当前日期毫秒.xls
*
* @return
*/
public
static
String
formatName
()
{
Calendar
calen
=
Calendar
.
getInstance
();
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyyMMddhhmmss"
);
String
name
=
sdf
.
format
(
calen
.
getTime
());
return
name
;
}
/**
* 获取某月的日期List
*
* @param dateStr
* @return
*/
public
static
List
<
Date
>
getDayByMonth
(
String
dateStr
)
{
List
<
Date
>
list
=
new
ArrayList
();
Date
date
=
null
;
try
{
date
=
shortSdf
.
parse
(
dateStr
);
calendar
.
setTime
(
date
);
int
month
=
calendar
.
get
(
Calendar
.
MONTH
)
+
1
;
//月份
int
year
=
calendar
.
get
(
Calendar
.
YEAR
);
//年份
int
day
=
calendar
.
getActualMaximum
(
Calendar
.
DATE
);
for
(
int
i
=
1
;
i
<=
day
;
i
++)
{
String
source
=
year
+
"-"
+
month
+
"-"
+
i
;
list
.
add
(
shortSdf
.
parse
(
source
));
}
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
}
return
list
;
}
/**
* 判断一个时间是否在一个时间段内
*
* @param nowTime 当前时间
* @param beginTime 开始时间
* @param endTime 结束时间
*/
public
static
boolean
belongCalendar
(
Date
nowTime
,
Date
beginTime
,
Date
endTime
)
{
Calendar
date
=
Calendar
.
getInstance
();
date
.
setTime
(
nowTime
);
Calendar
begin
=
Calendar
.
getInstance
();
begin
.
setTime
(
beginTime
);
Calendar
end
=
Calendar
.
getInstance
();
end
.
setTime
(
endTime
);
return
date
.
after
(
begin
)
&&
date
.
before
(
end
);
}
/**
* 由出生日期获得年龄
*
* @param birthDay 出生日期
*/
public
static
int
getAge
(
Date
birthDay
)
{
if
(
birthDay
==
null
)
{
return
0
;
}
LocalDate
now
=
LocalDate
.
now
();
Calendar
cal
=
Calendar
.
getInstance
();
cal
.
setTime
(
birthDay
);
int
yearBirth
=
cal
.
get
(
Calendar
.
YEAR
);
int
monthBirth
=
cal
.
get
(
Calendar
.
MONTH
)
+
1
;
int
dayOfMonthBirth
=
cal
.
get
(
Calendar
.
DAY_OF_MONTH
);
LocalDate
birth
=
LocalDate
.
of
(
yearBirth
,
monthBirth
,
dayOfMonthBirth
);
if
(
birth
.
isAfter
(
now
))
{
return
0
;
}
int
age
=
birth
.
until
(
now
).
getYears
();
return
age
;
}
/**
* 根据两个日期返回相差的时分秒
*
* @param newTime 靠后时间
* @param oldTime 靠前时间
* @return
*/
public
static
String
getTimestr
(
Date
newTime
,
Date
oldTime
)
{
Long
newTimes
=
newTime
.
getTime
();
Long
oldTimes
=
oldTime
.
getTime
();
// 不改时间会多加八个小时
timeSdf
.
setTimeZone
(
TimeZone
.
getTimeZone
(
"GMT+00:00"
));
return
timeSdf
.
format
(
newTimes
-
oldTimes
);
}
/**
* 获取现在日期字符串时间戳格式
*
* @return返回字符串格式 yyyyMMdd
*/
public
static
String
getDateNowShortNumber
()
{
Date
currentTime
=
new
Date
();
SimpleDateFormat
formatter
=
new
SimpleDateFormat
(
DATE_PATTERN_NUM
);
String
dateString
=
formatter
.
format
(
currentTime
);
return
dateString
;
}
/**
* 获取一年的第几周
*
* @param date
* @return
*/
public
static
int
getWeekOfYear
(
Date
date
)
{
Calendar
c
=
Calendar
.
getInstance
();
c
.
setTime
(
date
);
int
week_of_year
=
c
.
get
(
Calendar
.
WEEK_OF_YEAR
);
return
week_of_year
;
}
/**
* 通过月份计算季度
*
* @param month
* @return
*/
public
static
int
getQuarter
(
int
month
)
{
if
(
month
<
1
||
month
>
12
)
{
throw
new
IllegalArgumentException
(
"month is invalid."
);
}
return
(
month
-
1
)
/
3
+
1
;
}
/**
* 通过月份计算季度
*
* @param month
* @return
*/
public
static
String
getQuarterStr
(
int
month
)
{
if
(
month
<
1
||
month
>
12
)
{
throw
new
IllegalArgumentException
(
"month is invalid."
);
}
return
(
month
-
1
)
/
3
+
1
+
""
;
}
/**
* 获得本天的开始时间,即2012-01-01 00:00:00
*
* @return
*/
public
static
Date
getCurrentDayStartTime
(
Date
date
)
{
try
{
date
=
shortSdf
.
parse
(
shortSdf
.
format
(
date
)
+
" 00:00:00"
);
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
}
return
date
;
}
/**
* 获得本天的结束时间,即2012-01-01 23:59:59
*
* @return
*/
public
static
Date
getCurrentDayEndTime
(
Date
date
)
{
try
{
date
=
longSdf
.
parse
(
shortSdf
.
format
(
date
)
+
" 23:59:59"
);
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
}
return
date
;
}
/**
* 获取指定时间所在周的第一天日期
*
* @param date
* @return
*/
public
static
int
getWeekBeginDate
(
Date
date
)
{
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setFirstDayOfWeek
(
Calendar
.
MONDAY
);
calendar
.
setTime
(
date
);
calendar
.
set
(
Calendar
.
DAY_OF_WEEK
,
Calendar
.
MONDAY
);
System
.
out
.
println
(
calendar
.
getTime
());
return
getDate
(
calendar
.
getTime
());
}
public
static
Date
beginDateOfWeek
(
Date
date
)
{
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setFirstDayOfWeek
(
Calendar
.
MONDAY
);
calendar
.
setTime
(
date
);
calendar
.
set
(
Calendar
.
DAY_OF_WEEK
,
Calendar
.
MONDAY
);
return
calendar
.
getTime
();
}
public
static
Date
endDateOfWeek
(
Date
date
)
{
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setFirstDayOfWeek
(
Calendar
.
MONDAY
);
calendar
.
setTime
(
date
);
calendar
.
set
(
Calendar
.
DAY_OF_WEEK
,
Calendar
.
SUNDAY
);
return
calendar
.
getTime
();
}
/**
* 获取指定时间所在周的最后一天日期
*
* @param date
* @return
*/
public
static
int
getWeekEndDate
(
Date
date
)
{
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setFirstDayOfWeek
(
Calendar
.
MONDAY
);
calendar
.
setTime
(
date
);
calendar
.
set
(
Calendar
.
DAY_OF_WEEK
,
Calendar
.
SUNDAY
);
System
.
out
.
println
(
calendar
.
getTime
());
return
getDate
(
calendar
.
getTime
());
}
public
static
Date
getBeginDateOfMonth
(
Date
date
)
{
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setTime
(
date
);
calendar
.
set
(
Calendar
.
DAY_OF_MONTH
,
calendar
.
getActualMinimum
(
Calendar
.
DAY_OF_MONTH
));
return
calendar
.
getTime
();
}
/**
* 将秒数转换为时分秒格式
*
* @param times
* @return
*/
public
static
String
secondsToTimeStr
(
int
times
)
{
if
(
times
<=
0
)
{
return
"00:00:00"
;
}
int
h
=
times
/
3600
;
int
m
=
(
times
-
h
*
3600
)
/
60
;
int
s
=
times
-
h
*
3600
-
m
*
60
;
String
time
=
"%02d:%02d:%02d"
;
time
=
String
.
format
(
time
,
h
,
m
,
s
);
return
time
;
}
public
static
Date
getTargetEndTime
(
Date
target
)
{
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setTime
(
target
);
calendar
.
set
(
Calendar
.
HOUR_OF_DAY
,
23
);
calendar
.
set
(
Calendar
.
MINUTE
,
59
);
calendar
.
set
(
Calendar
.
SECOND
,
59
);
Date
end
=
calendar
.
getTime
();
return
end
;
}
System
.
out
.
println
(
secondsToTimeStr
(
3600
));
}
/**
* 当前日期毫秒.xls
*
* @return
*/
public
static
String
formatName
()
{
Calendar
calen
=
Calendar
.
getInstance
();
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyyMMddhhmmss"
);
String
name
=
sdf
.
format
(
calen
.
getTime
());
return
name
;
}
/**
* 获取某月的日期List
*
* @param dateStr
* @return
*/
public
static
List
<
Date
>
getDayByMonth
(
String
dateStr
)
{
List
<
Date
>
list
=
new
ArrayList
();
Date
date
=
null
;
try
{
date
=
shortSdf
.
parse
(
dateStr
);
calendar
.
setTime
(
date
);
int
month
=
calendar
.
get
(
Calendar
.
MONTH
)
+
1
;
// 月份
int
year
=
calendar
.
get
(
Calendar
.
YEAR
);
// 年份
int
day
=
calendar
.
getActualMaximum
(
Calendar
.
DATE
);
for
(
int
i
=
1
;
i
<=
day
;
i
++)
{
String
source
=
year
+
"-"
+
month
+
"-"
+
i
;
list
.
add
(
shortSdf
.
parse
(
source
));
}
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
}
return
list
;
}
/**
* 判断一个时间是否在一个时间段内
*
* @param nowTime 当前时间
* @param beginTime 开始时间
* @param endTime 结束时间
*/
public
static
boolean
belongCalendar
(
Date
nowTime
,
Date
beginTime
,
Date
endTime
)
{
Calendar
date
=
Calendar
.
getInstance
();
date
.
setTime
(
nowTime
);
Calendar
begin
=
Calendar
.
getInstance
();
begin
.
setTime
(
beginTime
);
Calendar
end
=
Calendar
.
getInstance
();
end
.
setTime
(
endTime
);
return
date
.
after
(
begin
)
&&
date
.
before
(
end
);
}
/**
* 由出生日期获得年龄
*
* @param birthDay 出生日期
*/
public
static
int
getAge
(
Date
birthDay
)
{
if
(
birthDay
==
null
)
{
return
0
;
}
LocalDate
now
=
LocalDate
.
now
();
Calendar
cal
=
Calendar
.
getInstance
();
cal
.
setTime
(
birthDay
);
int
yearBirth
=
cal
.
get
(
Calendar
.
YEAR
);
int
monthBirth
=
cal
.
get
(
Calendar
.
MONTH
)
+
1
;
int
dayOfMonthBirth
=
cal
.
get
(
Calendar
.
DAY_OF_MONTH
);
LocalDate
birth
=
LocalDate
.
of
(
yearBirth
,
monthBirth
,
dayOfMonthBirth
);
if
(
birth
.
isAfter
(
now
))
{
return
0
;
}
int
age
=
birth
.
until
(
now
).
getYears
();
return
age
;
}
/**
* 根据两个日期返回相差的时分秒
*
* @param newTime 靠后时间
* @param oldTime 靠前时间
* @return
*/
public
static
String
getTimestr
(
Date
newTime
,
Date
oldTime
)
{
Long
newTimes
=
newTime
.
getTime
();
Long
oldTimes
=
oldTime
.
getTime
();
// 不改时间会多加八个小时
timeSdf
.
setTimeZone
(
TimeZone
.
getTimeZone
(
"GMT+00:00"
));
return
timeSdf
.
format
(
newTimes
-
oldTimes
);
}
/**
* 获取现在日期字符串时间戳格式
*
* @return返回字符串格式 yyyyMMdd
*/
public
static
String
getDateNowShortNumber
()
{
Date
currentTime
=
new
Date
();
SimpleDateFormat
formatter
=
new
SimpleDateFormat
(
DATE_PATTERN_NUM
);
String
dateString
=
formatter
.
format
(
currentTime
);
return
dateString
;
}
/**
* 获取一年的第几周
*
* @param date
* @return
*/
public
static
int
getWeekOfYear
(
Date
date
)
{
Calendar
c
=
Calendar
.
getInstance
();
c
.
setTime
(
date
);
int
week_of_year
=
c
.
get
(
Calendar
.
WEEK_OF_YEAR
);
return
week_of_year
;
}
/**
* 通过月份计算季度
*
* @param month
* @return
*/
public
static
int
getQuarter
(
int
month
)
{
if
(
month
<
1
||
month
>
12
)
{
throw
new
IllegalArgumentException
(
"month is invalid."
);
}
return
(
month
-
1
)
/
3
+
1
;
}
/**
* 通过月份计算季度
*
* @param month
* @return
*/
public
static
String
getQuarterStr
(
int
month
)
{
if
(
month
<
1
||
month
>
12
)
{
throw
new
IllegalArgumentException
(
"month is invalid."
);
}
return
(
month
-
1
)
/
3
+
1
+
""
;
}
/**
* 获得本天的开始时间,即2012-01-01 00:00:00
*
* @return
*/
public
static
Date
getCurrentDayStartTime
(
Date
date
)
{
try
{
date
=
shortSdf
.
parse
(
shortSdf
.
format
(
date
)
+
" 00:00:00"
);
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
}
return
date
;
}
/**
* 获得本天的结束时间,即2012-01-01 23:59:59
*
* @return
*/
public
static
Date
getCurrentDayEndTime
(
Date
date
)
{
try
{
date
=
longSdf
.
parse
(
shortSdf
.
format
(
date
)
+
" 23:59:59"
);
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
}
return
date
;
}
/**
* 获取指定时间所在周的第一天日期
*
* @param date
* @return
*/
public
static
int
getWeekBeginDate
(
Date
date
)
{
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setFirstDayOfWeek
(
Calendar
.
MONDAY
);
calendar
.
setTime
(
date
);
calendar
.
set
(
Calendar
.
DAY_OF_WEEK
,
Calendar
.
MONDAY
);
System
.
out
.
println
(
calendar
.
getTime
());
return
getDate
(
calendar
.
getTime
());
}
public
static
Date
beginDateOfWeek
(
Date
date
)
{
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setFirstDayOfWeek
(
Calendar
.
MONDAY
);
calendar
.
setTime
(
date
);
calendar
.
set
(
Calendar
.
DAY_OF_WEEK
,
Calendar
.
MONDAY
);
return
calendar
.
getTime
();
}
public
static
Date
endDateOfWeek
(
Date
date
)
{
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setFirstDayOfWeek
(
Calendar
.
MONDAY
);
calendar
.
setTime
(
date
);
calendar
.
set
(
Calendar
.
DAY_OF_WEEK
,
Calendar
.
SUNDAY
);
return
calendar
.
getTime
();
}
/**
* 获取指定时间所在周的最后一天日期
*
* @param date
* @return
*/
public
static
int
getWeekEndDate
(
Date
date
)
{
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setFirstDayOfWeek
(
Calendar
.
MONDAY
);
calendar
.
setTime
(
date
);
calendar
.
set
(
Calendar
.
DAY_OF_WEEK
,
Calendar
.
SUNDAY
);
System
.
out
.
println
(
calendar
.
getTime
());
return
getDate
(
calendar
.
getTime
());
}
public
static
Date
getBeginDateOfMonth
(
Date
date
)
{
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setTime
(
date
);
calendar
.
set
(
Calendar
.
DAY_OF_MONTH
,
calendar
.
getActualMinimum
(
Calendar
.
DAY_OF_MONTH
));
return
calendar
.
getTime
();
}
/**
* 将秒数转换为时分秒格式
*
* @param times
* @return
*/
public
static
String
secondsToTimeStr
(
int
times
)
{
if
(
times
<=
0
)
{
return
"00:00:00"
;
}
int
h
=
times
/
3600
;
int
m
=
(
times
-
h
*
3600
)
/
60
;
int
s
=
times
-
h
*
3600
-
m
*
60
;
String
time
=
"%02d:%02d:%02d"
;
time
=
String
.
format
(
time
,
h
,
m
,
s
);
return
time
;
}
public
static
Date
getTargetEndTime
(
Date
target
)
{
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setTime
(
target
);
calendar
.
set
(
Calendar
.
HOUR_OF_DAY
,
23
);
calendar
.
set
(
Calendar
.
MINUTE
,
59
);
calendar
.
set
(
Calendar
.
SECOND
,
59
);
Date
end
=
calendar
.
getTime
();
return
end
;
}
}
amos-boot-system-jxiop/amos-boot-module-hygf-api/src/main/java/com/yeejoin/amos/boot/module/hygf/api/dto/JpStationDto.java
View file @
948cdc1e
...
...
@@ -108,6 +108,12 @@ public class JpStationDto extends BaseDto {
@ExcelIgnore
private
String
type
;
/**
* 电站类型
*/
@ExcelIgnore
private
String
stationType
;
/**
* 组织编码
*/
@ExcelIgnore
...
...
amos-boot-system-jxiop/amos-boot-module-hygf-api/src/main/java/com/yeejoin/amos/boot/module/hygf/api/tdenginemapper/DayGenerateMapper.java
View file @
948cdc1e
...
...
@@ -31,11 +31,11 @@ public interface DayGenerateMapper extends BaseMapper<DayGenerate> {
@UserEmpower
(
field
={
"regional_companies_code"
},
dealerField
={
"amos_company_code"
,
"regional_companies_code"
}
,
fieldConditions
={
"eq"
,
"in"
}
,
relationship
=
"and"
)
List
<
PowerCurveDto
>
getDayGeneratqx
(
@Param
(
"date"
)
String
month
,
@Param
(
"thirdStationId"
)
String
thirdStationId
,
@Param
(
"dto"
)
List
<
String
>
statioId
);
List
<
PowerCurveDto
>
getDayGeneratqx
(
@Param
(
"date"
)
String
month
,
@Param
(
"regionalCompaniesCode"
)
String
regionalCompaniesCode
,
@Param
(
"amosCompanyCode"
)
String
amosCompanyCode
,
@Param
(
"stationType"
)
String
stationType
,
@Param
(
"thirdStationId"
)
String
thirdStationId
,
@Param
(
"dto"
)
List
<
String
>
statioId
);
@UserEmpower
(
field
={
"regional_companies_code"
},
dealerField
={
"amos_company_code"
,
"regional_companies_code"
}
,
fieldConditions
={
"eq"
,
"in"
}
,
relationship
=
"and"
)
List
<
PowerCurveDto
>
getMonthGenerateqx
(
@Param
(
"date"
)
String
month
,
@Param
(
"thirdStationId"
)
String
thirdStationId
,
@Param
(
"dto"
)
List
<
String
>
statioId
);
List
<
PowerCurveDto
>
getMonthGenerateqx
(
@Param
(
"date"
)
String
month
,
@Param
(
"regionalCompaniesCode"
)
String
regionalCompaniesCode
,
@Param
(
"amosCompanyCode"
)
String
amosCompanyCode
,
@Param
(
"stationType"
)
String
stationType
,
@Param
(
"thirdStationId"
)
String
thirdStationId
,
@Param
(
"dto"
)
List
<
String
>
statioId
);
@UserEmpower
(
field
={
"regional_companies_code"
},
dealerField
={
"amos_company_code"
,
"regional_companies_code"
}
,
fieldConditions
={
"eq"
,
"in"
}
,
relationship
=
"and"
)
List
<
PowerCurveDto
>
getYearGenerateqx
(
@Param
(
"date"
)
String
month
,
@Param
(
"thirdStationId"
)
String
thirdStationId
,
@Param
(
"dto"
)
List
<
String
>
statioId
);
List
<
PowerCurveDto
>
getYearGenerateqx
(
@Param
(
"date"
)
String
month
,
@Param
(
"regionalCompaniesCode"
)
String
regionalCompaniesCode
,
@Param
(
"amosCompanyCode"
)
String
amosCompanyCode
,
@Param
(
"stationType"
)
String
stationType
,
@Param
(
"thirdStationId"
)
String
thirdStationId
,
@Param
(
"dto"
)
List
<
String
>
statioId
);
@UserEmpower
(
field
={
"regional_companies_code"
},
dealerField
={
"amos_company_code"
,
"regional_companies_code"
}
,
fieldConditions
={
"eq"
,
"in"
}
,
relationship
=
"and"
)
...
...
amos-boot-system-jxiop/amos-boot-module-hygf-api/src/main/resources/mapper/tdengine/DayGenerateMapper.xml
View file @
948cdc1e
...
...
@@ -47,6 +47,15 @@
#{item}
</foreach>
</if>
<if
test=
"regionalCompaniesCode!=null and regionalCompaniesCode != ''"
>
and regional_companies_code = #{regionalCompaniesCode}
</if>
<if
test=
"amosCompanyCode!=null and amosCompanyCode != ''"
>
and amos_company_code = #{amosCompanyCode}
</if>
<if
test=
"stationType!=null and stationType != ''"
>
and stationType = #{stationType}
</if>
<if
test=
"thirdStationId!=null and thirdStationId != ''"
>
and third_station_id = #{thirdStationId}
...
...
@@ -72,6 +81,16 @@
</foreach>
</if>
<if
test=
"regionalCompaniesCode!=null and regionalCompaniesCode != ''"
>
and regional_companies_code = #{regionalCompaniesCode}
</if>
<if
test=
"amosCompanyCode!=null and amosCompanyCode != ''"
>
and amos_company_code = #{amosCompanyCode}
</if>
<if
test=
"stationType!=null and stationType != ''"
>
and stationType = #{stationType}
</if>
<if
test=
"thirdStationId!=null and thirdStationId != ''"
>
and third_station_id = #{thirdStationId}
</if>
...
...
@@ -96,6 +115,16 @@
</foreach>
</if>
<if
test=
"regionalCompaniesCode!=null and regionalCompaniesCode != ''"
>
and regional_companies_code = #{regionalCompaniesCode}
</if>
<if
test=
"amosCompanyCode!=null and amosCompanyCode != ''"
>
and amos_company_code = #{amosCompanyCode}
</if>
<if
test=
"stationType!=null and stationType != ''"
>
and stationType = #{stationType}
</if>
<if
test=
"thirdStationId!=null and thirdStationId != ''"
>
and third_station_id = #{thirdStationId}
</if>
...
...
amos-boot-system-jxiop/amos-boot-module-hygf-biz/src/main/java/com/yeejoin/amos/boot/module/hygf/biz/service/impl/JpStationServiceImpl.java
View file @
948cdc1e
...
...
@@ -241,17 +241,17 @@ public class JpStationServiceImpl extends BaseService<JpStationDto, JpStation, J
map
=
getDayListOfMonth
(
reviewDto
.
getTimeDateMonth
());
// if(statioId!=null&&!statioId.isEmpty()) {
data
=
dayGenerateMapper
.
getDayGeneratqx
(
reviewDto
.
getTimeDateMonth
(),
reviewDto
.
getThirdStationId
(),
null
);
data
=
dayGenerateMapper
.
getDayGeneratqx
(
reviewDto
.
getTimeDateMonth
(),
reviewDto
.
get
RegionalCompaniesCode
(),
reviewDto
.
getAmosCompanyCode
(),
reviewDto
.
getStationType
(),
reviewDto
.
get
ThirdStationId
(),
null
);
// }
}
else
if
(
type
.
equals
(
"year"
)){
map
=
getyearListOfMonth
(
reviewDto
.
getTimeDateYear
());
// if(statioId!=null&&!statioId.isEmpty()) {
data
=
dayGenerateMapper
.
getMonthGenerateqx
(
reviewDto
.
getTimeDateYear
(),
reviewDto
.
getThirdStationId
(),
null
);
data
=
dayGenerateMapper
.
getMonthGenerateqx
(
reviewDto
.
getTimeDateYear
(),
reviewDto
.
get
RegionalCompaniesCode
(),
reviewDto
.
getAmosCompanyCode
(),
reviewDto
.
getStationType
(),
reviewDto
.
get
ThirdStationId
(),
null
);
// }
}
else
{
map
=
getyearList
();
// if(statioId!=null&&!statioId.isEmpty()) {
data
=
dayGenerateMapper
.
getYearGenerateqx
(
null
,
reviewDto
.
getThirdStationId
(),
null
);
data
=
dayGenerateMapper
.
getYearGenerateqx
(
null
,
reviewDto
.
get
RegionalCompaniesCode
(),
reviewDto
.
getAmosCompanyCode
(),
reviewDto
.
getStationType
(),
reviewDto
.
get
ThirdStationId
(),
null
);
// }
}
listx
=
map
.
get
(
"x"
);
...
...
amos-boot-system-jxiop/amos-boot-module-jxiop-analyse-biz/src/main/java/com/yeejoin/amos/boot/module/jxiop/biz/controller/IdxBizFanHealthIndexController.java
View file @
948cdc1e
...
...
@@ -40,6 +40,8 @@ import org.typroject.tyboot.core.restful.utils.ResponseModel;
import
javax.servlet.http.HttpServletRequest
;
import
javax.ws.rs.POST
;
import
java.sql.Timestamp
;
import
java.text.DecimalFormat
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
...
...
@@ -759,16 +761,17 @@ public class IdxBizFanHealthIndexController extends BaseController {
List
<
String
>
gatewayIds
=
permissionService
.
getCurrentUserAmosOrgCodes
();
String
orgCode
=
"NULL"
;
if
(
gatewayIds
.
size
()>
0
){
orgCode
=
gatewayIds
.
get
(
0
)+
"%"
;
orgCode
=
gatewayIds
.
get
(
0
)+
'%'
;
}
if
(
WarningPeriodEnum
.
DAY
.
getName
().
equals
(
requiredType
)){
SimpleDateFormat
formatter
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
if
(
null
!=
endTimeTop
){
Date
endDate
=
DateUtils
.
date
AddHours
(
DateUtils
.
longStr2Date
(
endTimeTop
),
-
8
);
Date
endDate
=
DateUtils
.
date
Parse
(
endTimeTop
);
endTimeTop
=
formatter
.
format
(
endDate
);
}
Date
startDate
=
DateUtils
.
date
AddHours
(
DateUtils
.
longStr2Date
(
startTimeTop
),
-
8
);
Date
startDate
=
DateUtils
.
date
Parse
(
startTimeTop
);
startTimeTop
=
formatter
.
format
(
startDate
);
List
<
FanHealthIndexDay
>
fanHealthIndexDays
=
fanHealthIndexDayMapper
.
selectData
(
healthLevel
,
area
,
equipmentName
,
subSystem
,
analysisType
,
analysisObjType
,
station
,
pointName
,
indexAddress
,
startTimeTop
,
endTimeTop
,
null
,
null
,
orgCode
);
fanHealthIndexDays
=
fanHealthIndexDays
.
stream
().
sorted
(
Comparator
.
comparing
(
FanHealthIndexDay:
:
getAnalysisTime
)).
collect
(
Collectors
.
toList
());
...
...
@@ -787,10 +790,10 @@ public class IdxBizFanHealthIndexController extends BaseController {
}
else
if
(
WarningPeriodEnum
.
HOUR
.
getName
().
equals
(
requiredType
)){
SimpleDateFormat
formatter
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
if
(
null
!=
endTimeTop
){
Date
endDate
=
DateUtils
.
dateAddHours
(
DateUtils
.
longStr2Dat
e
(
endTimeTop
),
-
8
);
Date
endDate
=
DateUtils
.
dateAddHours
(
DateUtils
.
datePars
e
(
endTimeTop
),
-
8
);
endTimeTop
=
formatter
.
format
(
endDate
);
}
Date
startDate
=
DateUtils
.
dateAddHours
(
DateUtils
.
longStr2Dat
e
(
startTimeTop
),
-
8
);
Date
startDate
=
DateUtils
.
dateAddHours
(
DateUtils
.
datePars
e
(
startTimeTop
),
-
8
);
startTimeTop
=
formatter
.
format
(
startDate
);
List
<
FanHealthIndexHour
>
fanHealthIndexHours
=
fanHealthIndexHourMapper
.
selectData
(
healthLevel
,
area
,
equipmentName
,
subSystem
,
analysisType
,
analysisObjType
,
station
,
pointName
,
indexAddress
,
startTimeTop
,
endTimeTop
,
null
,
null
,
orgCode
);
fanHealthIndexHours
=
fanHealthIndexHours
.
stream
().
sorted
(
Comparator
.
comparing
(
FanHealthIndexHour:
:
getAnalysisTime
)).
collect
(
Collectors
.
toList
());
...
...
@@ -810,10 +813,10 @@ public class IdxBizFanHealthIndexController extends BaseController {
}
else
{
SimpleDateFormat
formatter
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
if
(
null
!=
endTimeTop
){
Date
endDate
=
DateUtils
.
dateAddHours
(
DateUtils
.
longStr2Dat
e
(
endTimeTop
),
-
8
);
Date
endDate
=
DateUtils
.
dateAddHours
(
DateUtils
.
datePars
e
(
endTimeTop
),
-
8
);
endTimeTop
=
formatter
.
format
(
endDate
);
}
Date
startDate
=
DateUtils
.
dateAddHours
(
DateUtils
.
longStr2Dat
e
(
startTimeTop
),
-
8
);
Date
startDate
=
DateUtils
.
dateAddHours
(
DateUtils
.
datePars
e
(
startTimeTop
),
-
8
);
startTimeTop
=
formatter
.
format
(
startDate
);
List
<
FanHealthIndexMoment
>
fanHealthIndexMoments
=
fanHealthIndexMomentMapper
.
selectData
(
healthLevel
,
area
,
equipmentName
,
subSystem
,
analysisType
,
analysisObjType
,
station
,
pointName
,
indexAddress
,
startTimeTop
,
endTimeTop
,
null
,
null
,
orgCode
);
...
...
amos-boot-system-jxiop/amos-boot-module-jxiop-analyse-biz/src/main/java/com/yeejoin/amos/boot/module/jxiop/biz/controller/IdxBizPvHealthIndexController.java
View file @
948cdc1e
...
...
@@ -424,11 +424,11 @@ public class IdxBizPvHealthIndexController extends BaseController {
if
(
WarningPeriodEnum
.
DAY
.
getName
().
equals
(
requiredType
)){
SimpleDateFormat
formatter
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
if
(
null
!=
endTimeTop
){
Date
endDate
=
DateUtils
.
dateAddHours
(
DateUtils
.
longStr2Date
(
endTimeTop
),
-
8
);
Date
endDate
=
DateUtils
.
dateParse
(
endTimeTop
);
endTimeTop
=
formatter
.
format
(
endDate
);
}
Date
startDate
=
DateUtils
.
date
AddHours
(
DateUtils
.
longStr2Date
(
startTimeTop
),
-
8
);
Date
startDate
=
DateUtils
.
date
Parse
(
startTimeTop
);
startTimeTop
=
formatter
.
format
(
startDate
);
List
<
PvHealthIndexDay
>
fanHealthIndexDays
=
pvHealthIndexDayMapper
.
selectData
(
station
,
analysisType
,
indexAddress
,
healthLevel
,
area
,
analysisObjType
,
subarray
,
pointName
,
startTimeTop
,
endTimeTop
,
equipmentName
,
(
current
-
1
)
*
size
,
size
,
orgCode
);
...
...
@@ -448,10 +448,10 @@ public class IdxBizPvHealthIndexController extends BaseController {
}
else
if
(
WarningPeriodEnum
.
HOUR
.
getName
().
equals
(
requiredType
)){
SimpleDateFormat
formatter
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
if
(
null
!=
endTimeTop
){
Date
endDate
=
DateUtils
.
dateAddHours
(
DateUtils
.
longStr2Dat
e
(
endTimeTop
),
-
8
);
Date
endDate
=
DateUtils
.
dateAddHours
(
DateUtils
.
datePars
e
(
endTimeTop
),
-
8
);
endTimeTop
=
formatter
.
format
(
endDate
);
}
Date
startDate
=
DateUtils
.
dateAddHours
(
DateUtils
.
longStr2Dat
e
(
startTimeTop
),
-
8
);
Date
startDate
=
DateUtils
.
dateAddHours
(
DateUtils
.
datePars
e
(
startTimeTop
),
-
8
);
startTimeTop
=
formatter
.
format
(
startDate
);
List
<
PvHealthIndexHour
>
fanHealthIndexHours
=
pvHealthIndexHourMapper
.
selectData
(
healthLevel
,
area
,
equipmentName
,
subarray
,
analysisType
,
analysisObjType
,
station
,
pointName
,
indexAddress
,
startTimeTop
,
endTimeTop
,
null
,
null
,
orgCode
);
fanHealthIndexHours
=
fanHealthIndexHours
.
stream
().
sorted
(
Comparator
.
comparing
(
PvHealthIndexHour:
:
getAnalysisTime
)).
collect
(
Collectors
.
toList
());
...
...
@@ -474,10 +474,10 @@ public class IdxBizPvHealthIndexController extends BaseController {
SimpleDateFormat
formatterNYRSF
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm"
);
if
(
null
!=
endTimeTop
){
Date
endDate
=
DateUtils
.
dateAddHours
(
DateUtils
.
longStr2Dat
e
(
endTimeTop
),
-
8
);
Date
endDate
=
DateUtils
.
dateAddHours
(
DateUtils
.
datePars
e
(
endTimeTop
),
-
8
);
endTimeTop
=
formatter
.
format
(
endDate
);
}
Date
startDate
=
DateUtils
.
dateAddHours
(
DateUtils
.
longStr2Dat
e
(
startTimeTop
),
-
8
);
Date
startDate
=
DateUtils
.
dateAddHours
(
DateUtils
.
datePars
e
(
startTimeTop
),
-
8
);
startTimeTop
=
formatter
.
format
(
startDate
);
List
<
PvHealthIndexMoment
>
fanHealthIndexMoments
=
pvHealthIndexMomentMapper
.
selectData
(
healthLevel
,
area
,
equipmentName
,
subarray
,
analysisType
,
analysisObjType
,
station
,
pointName
,
indexAddress
,
startTimeTop
,
endTimeTop
,
null
,
null
,
orgCode
);
...
...
amos-boot-system-jxiop/amos-boot-module-jxiop-analyse-biz/src/main/java/com/yeejoin/amos/boot/module/jxiop/biz/service/impl/IdxBizFanHealthIndexServiceImpl.java
View file @
948cdc1e
...
...
@@ -112,8 +112,8 @@ public class IdxBizFanHealthIndexServiceImpl extends BaseService<IdxBizFanHealth
startTime
=
sdf
.
format
(
currentDayStartTime
);
endTime
=
sdf
.
format
(
currentDayEndTime
);
}
else
{
Date
currentDayStartTime
=
dateFormat
.
p
arse
(
startTime
);
Date
currentDayEndTime
=
dateFormat
.
p
arse
(
endTime
);
Date
currentDayStartTime
=
DateUtils
.
dateP
arse
(
startTime
);
Date
currentDayEndTime
=
DateUtils
.
dateP
arse
(
endTime
);
startTime
=
sdf
.
format
(
currentDayStartTime
);
endTime
=
sdf
.
format
(
currentDayEndTime
);
}
...
...
amos-boot-system-jxiop/amos-boot-module-jxiop-analyse-biz/src/main/java/com/yeejoin/amos/boot/module/jxiop/biz/tdMapper2/FanHealthIndexDayMapper.java
View file @
948cdc1e
...
...
@@ -22,7 +22,7 @@ public interface FanHealthIndexDayMapper extends BaseMapper<FanHealthIndexDay> {
"<if test='subSystem!= null'>AND sub_system = #{subSystem} </if> "
+
"<if test='equipmentName!= null'>AND equipment_name = #{equipmentName} </if>"
+
// "<if test='gatewayIds != null and gatewayIds.size() > 0'>AND GATEWAY_ID IN <foreach collection='gatewayIds' item='gatewayId' open='(' separator=',' close=')'>#{gatewayId}</foreach></if>" +
"<if test='orgCode!= null'>AND org_code like '
%${orgCode}%
' </if>"
+
"<if test='orgCode!= null'>AND org_code like '
${orgCode}
' </if>"
+
"order by health_index "
+
"<if test='current != null and size != null'>limit ${current},${size} </if>"
+
"</script>"
)
...
...
@@ -44,7 +44,7 @@ public interface FanHealthIndexDayMapper extends BaseMapper<FanHealthIndexDay> {
"<if test='healthLevel!= null'>AND health_level = #{healthLevel} </if>"
+
"<if test='subSystem!= null'>AND sub_system = #{subSystem} </if> "
+
"<if test='equipmentName!= null'>AND equipment_name = #{equipmentName} </if>"
+
"<if test='orgCode!= null'>AND org_code like '
%${orgCode}%
' </if>"
+
"<if test='orgCode!= null'>AND org_code like '
${orgCode}
' </if>"
+
"</script>"
)
int
selectDataTotal
(
@Param
(
"healthLevel"
)
String
healthLevel
,
@Param
(
"area"
)
String
area
,
@Param
(
"equipmentName"
)
String
equipmentName
,
@Param
(
"subSystem"
)
String
subSystem
,
@Param
(
"analysisType"
)
String
analysisType
,
@Param
(
"analysisObjType"
)
String
analysisObjType
,
@Param
(
"station"
)
String
station
,
@Param
(
"pointName"
)
String
pointName
,
@Param
(
"indexAddress"
)
String
indexAddress
,
@Param
(
"startTimeTop"
)
String
startTimeTop
,
@Param
(
"endTimeTop"
)
String
endTimeTop
,
@Param
(
"orgCode"
)
String
orgCode
);
...
...
pom.xml
View file @
948cdc1e
...
...
@@ -318,7 +318,6 @@
<modules>
<module>
amos-boot-biz-common
</module>
<module>
amos-boot-core
</module>
<module>
amos-boot-utils
</module>
<module>
amos-boot-data
</module>
<module>
amos-boot-system-jxiop
</module>
</modules>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment