Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
education
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
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
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
李丛阳
education
Commits
e4e62ce6
Commit
e4e62ce6
authored
May 16, 2018
by
李博今
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
校历修改
parent
d72d2c43
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
234 additions
and
2 deletions
+234
-2
BTermServiceImpl.java
...rcisoft/business/bterm/service/impl/BTermServiceImpl.java
+4
-2
SchoolCalendarWeek.java
.../org/rcisoft/business/bterm/utils/SchoolCalendarWeek.java
+228
-0
Week.java
src/main/java/org/rcisoft/business/bterm/utils/Week.java
+2
-0
No files found.
src/main/java/org/rcisoft/business/bterm/service/impl/BTermServiceImpl.java
View file @
e4e62ce6
...
...
@@ -5,6 +5,7 @@ import org.rcisoft.business.bterm.dao.BTermRepository;
import
org.rcisoft.business.bterm.entity.BTerm
;
import
org.rcisoft.business.bterm.enums.BTermEnum
;
import
org.rcisoft.business.bterm.service.BTermService
;
import
org.rcisoft.business.bterm.utils.SchoolCalendarWeek
;
import
org.rcisoft.business.bterm.utils.Week
;
import
org.rcisoft.core.aop.PageUtil
;
import
org.rcisoft.core.constant.MessageConstant
;
...
...
@@ -143,8 +144,9 @@ public class BTermServiceImpl implements BTermService {
public
Map
<
String
,
Object
>
getSchoolWeek
(
String
termCode
){
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
BTerm
bTerm
=
bTermRepository
.
queryCurrentTerm
(
termCode
);
List
<
String
>
list
=
new
ArrayList
<>();
list
=
Week
.
buildList
(
bTerm
.
getStartDate
(),
bTerm
.
getEndDate
());
List
<
SchoolCalendarWeek
>
list
=
new
ArrayList
<>();
//list = Week.buildList(bTerm.getStartDate(),bTerm.getEndDate());
list
=
SchoolCalendarWeek
.
buildList
(
bTerm
.
getStartDate
(),
bTerm
.
getEndDate
());
map
.
put
(
"weekList"
,
list
);
map
.
put
(
"termName"
,
bTerm
.
getName
());
return
map
;
...
...
src/main/java/org/rcisoft/business/bterm/utils/SchoolCalendarWeek.java
0 → 100644
View file @
e4e62ce6
package
org
.
rcisoft
.
business
.
bterm
.
utils
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
SchoolCalendarWeek
{
private
Map
<
String
,
Object
>
month
=
new
HashMap
<>();
private
Map
<
String
,
Object
>
mon
=
new
HashMap
<>();
private
Map
<
String
,
Object
>
tue
=
new
HashMap
<>();
private
Map
<
String
,
Object
>
wed
=
new
HashMap
<>();
private
Map
<
String
,
Object
>
thu
=
new
HashMap
<>();
private
Map
<
String
,
Object
>
fri
=
new
HashMap
<>();
private
Map
<
String
,
Object
>
sat
=
new
HashMap
<>();
private
Map
<
String
,
Object
>
sun
=
new
HashMap
<>();
private
Map
<
String
,
Object
>
week
=
new
HashMap
<>();
//最大月数
private
int
MAX_MONTH
=
0
;
//通过开始时间与计算时间计算周数与具体信息
public
static
List
<
SchoolCalendarWeek
>
buildList
(
Date
startDate1
,
Date
endDate1
){
String
[]
months
=
{
"一月"
,
"二月"
,
"三月"
,
"四月"
,
"五月"
,
"六月"
,
"七月"
,
"八月"
,
"九月"
,
"十月"
,
"十一月"
,
"十二月"
};
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
List
<
SchoolCalendarWeek
>
list
=
new
ArrayList
<>();
//转化起始时间
Calendar
startCalendar
=
Calendar
.
getInstance
();
startCalendar
.
setTime
(
startDate1
);
//转化结束时间
Calendar
endCalendar
=
Calendar
.
getInstance
();
endCalendar
.
setTime
(
endDate1
);
//遍历用时间
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setTime
(
startDate1
);
int
flag
=
1
;
String
s
=
""
;
SchoolCalendarWeek
schoolCalendarWeek
=
new
SchoolCalendarWeek
();
while
(!
calendar
.
after
(
endCalendar
)){
int
weekOfDay
=
calendar
.
get
(
Calendar
.
DAY_OF_WEEK
);
//第一周判断是否为完整的一周
if
(
flag
==
1
&&
calendar
.
get
(
Calendar
.
DAY_OF_WEEK
)
!=
2
){
//如果不是时间往前推移,直到星期一,此间字符串添加','
Calendar
calendar2
=
Calendar
.
getInstance
();
calendar2
.
setTime
(
startDate1
);
int
test
=
calendar2
.
get
(
Calendar
.
DAY_OF_WEEK
);
//while(calendar2.get(Calendar.DAY_OF_WEEK) != Calendar.MONDAY){
while
(
calendar2
.
get
(
Calendar
.
DAY_OF_WEEK
)
!=
Calendar
.
MONDAY
){
switch
(
calendar2
.
get
(
Calendar
.
DAY_OF_WEEK
)){
//周日
case
1
:
schoolCalendarWeek
.
sun
.
put
(
"tag"
,
7
);
schoolCalendarWeek
.
sun
.
put
(
"index"
,
sdf
.
format
(
calendar2
.
getTime
()));
schoolCalendarWeek
.
setMaxMonth
(
calendar2
.
get
(
Calendar
.
MONTH
)
+
1
);
break
;
case
2
:
schoolCalendarWeek
.
mon
.
put
(
"tag"
,
1
);
schoolCalendarWeek
.
mon
.
put
(
"index"
,
sdf
.
format
(
calendar2
.
getTime
()));
schoolCalendarWeek
.
setMaxMonth
(
calendar2
.
get
(
Calendar
.
MONTH
)
+
1
);
break
;
case
3
:
schoolCalendarWeek
.
tue
.
put
(
"tag"
,
2
);
schoolCalendarWeek
.
tue
.
put
(
"index"
,
sdf
.
format
(
calendar2
.
getTime
()));
schoolCalendarWeek
.
setMaxMonth
(
calendar2
.
get
(
Calendar
.
MONTH
)
+
1
);
break
;
case
4
:
schoolCalendarWeek
.
wed
.
put
(
"tag"
,
3
);
schoolCalendarWeek
.
wed
.
put
(
"index"
,
sdf
.
format
(
calendar2
.
getTime
()));
schoolCalendarWeek
.
setMaxMonth
(
calendar2
.
get
(
Calendar
.
MONTH
)
+
1
);
break
;
case
5
:
schoolCalendarWeek
.
thu
.
put
(
"tag"
,
4
);
schoolCalendarWeek
.
thu
.
put
(
"index"
,
sdf
.
format
(
calendar2
.
getTime
()));
schoolCalendarWeek
.
setMaxMonth
(
calendar2
.
get
(
Calendar
.
MONTH
)
+
1
);
break
;
case
6
:
schoolCalendarWeek
.
fri
.
put
(
"tag"
,
5
);
schoolCalendarWeek
.
fri
.
put
(
"index"
,
sdf
.
format
(
calendar2
.
getTime
()));
schoolCalendarWeek
.
setMaxMonth
(
calendar2
.
get
(
Calendar
.
MONTH
)
+
1
);
break
;
case
7
:
schoolCalendarWeek
.
sat
.
put
(
"tag"
,
6
);
schoolCalendarWeek
.
sat
.
put
(
"index"
,
sdf
.
format
(
calendar2
.
getTime
()));
schoolCalendarWeek
.
setMaxMonth
(
calendar2
.
get
(
Calendar
.
MONTH
)
+
1
);
break
;
}
//s += "0,";
calendar2
.
add
(
Calendar
.
DATE
,-
1
);
}
schoolCalendarWeek
.
mon
.
put
(
"tag"
,
1
);
schoolCalendarWeek
.
mon
.
put
(
"index"
,
sdf
.
format
(
calendar2
.
getTime
()));
schoolCalendarWeek
.
setMaxMonth
(
calendar2
.
get
(
Calendar
.
MONTH
)
+
1
);
flag
=
0
;
continue
;
}
//平常周,判断是否为周日
if
(
weekOfDay
!=
1
){
// String formatTime = sdf.format(calendar.getTime());
// s += formatTime+",";
// calendar.add(Calendar.DATE,1);
switch
(
weekOfDay
){
case
2
:
schoolCalendarWeek
.
mon
.
put
(
"tag"
,
1
);
schoolCalendarWeek
.
mon
.
put
(
"index"
,
sdf
.
format
(
calendar
.
getTime
()));
schoolCalendarWeek
.
setMaxMonth
(
calendar
.
get
(
Calendar
.
MONTH
)
+
1
);
break
;
case
3
:
schoolCalendarWeek
.
tue
.
put
(
"tag"
,
2
);
schoolCalendarWeek
.
tue
.
put
(
"index"
,
sdf
.
format
(
calendar
.
getTime
()));
schoolCalendarWeek
.
setMaxMonth
(
calendar
.
get
(
Calendar
.
MONTH
)
+
1
);
break
;
case
4
:
schoolCalendarWeek
.
wed
.
put
(
"tag"
,
3
);
schoolCalendarWeek
.
wed
.
put
(
"index"
,
sdf
.
format
(
calendar
.
getTime
()));
schoolCalendarWeek
.
setMaxMonth
(
calendar
.
get
(
Calendar
.
MONTH
)
+
1
);
break
;
case
5
:
schoolCalendarWeek
.
thu
.
put
(
"tag"
,
4
);
schoolCalendarWeek
.
thu
.
put
(
"index"
,
sdf
.
format
(
calendar
.
getTime
()));
schoolCalendarWeek
.
setMaxMonth
(
calendar
.
get
(
Calendar
.
MONTH
)
+
1
);
break
;
case
6
:
schoolCalendarWeek
.
fri
.
put
(
"tag"
,
5
);
schoolCalendarWeek
.
fri
.
put
(
"index"
,
sdf
.
format
(
calendar
.
getTime
()));
schoolCalendarWeek
.
setMaxMonth
(
calendar
.
get
(
Calendar
.
MONTH
)
+
1
);
break
;
case
7
:
schoolCalendarWeek
.
sat
.
put
(
"tag"
,
6
);
schoolCalendarWeek
.
sat
.
put
(
"index"
,
sdf
.
format
(
calendar
.
getTime
()));
schoolCalendarWeek
.
setMaxMonth
(
calendar
.
get
(
Calendar
.
MONTH
)
+
1
);
break
;
}
calendar
.
add
(
Calendar
.
DATE
,
1
);
}
else
{
// String formatTime = sdf.format(calendar.getTime());
// s += formatTime+",";
// s = s.substring(0,s.length() - 1);
schoolCalendarWeek
.
sun
.
put
(
"tag"
,
7
);
schoolCalendarWeek
.
sun
.
put
(
"index"
,
sdf
.
format
(
calendar
.
getTime
()));
schoolCalendarWeek
.
setMaxMonth
(
calendar
.
get
(
Calendar
.
MONTH
)
+
1
);
//第几周
schoolCalendarWeek
.
week
.
put
(
"tag"
,
list
.
size
()
+
1
);
//属于哪个月
schoolCalendarWeek
.
month
.
put
(
"tag"
,
schoolCalendarWeek
.
MAX_MONTH
);
schoolCalendarWeek
.
month
.
put
(
"index"
,
months
[
schoolCalendarWeek
.
MAX_MONTH
-
1
]);
//因为是周日,所以List添加一条数据,开始下一周的遍历
list
.
add
(
schoolCalendarWeek
);
schoolCalendarWeek
=
new
SchoolCalendarWeek
();
calendar
.
add
(
Calendar
.
DATE
,
1
);
}
}
int
flag2
=
0
;
//因为最后一周如果没有周日的话会跳出循环,字符串s依然有值,将最后的值插入List中
while
(
calendar
.
get
(
Calendar
.
DAY_OF_WEEK
)
!=
1
||
flag2
==
1
){
if
(
calendar
.
get
(
Calendar
.
DAY_OF_WEEK
)
==
1
){
//s += "0,";
schoolCalendarWeek
.
sun
.
put
(
"tag"
,
7
);
schoolCalendarWeek
.
sun
.
put
(
"index"
,
sdf
.
format
(
calendar
.
getTime
()));
schoolCalendarWeek
.
setMaxMonth
(
calendar
.
get
(
Calendar
.
MONTH
)
+
1
);
//s = s.substring(0,s.length() - 1);
//第几周
schoolCalendarWeek
.
week
.
put
(
"tag"
,
list
.
size
()
+
1
);
//属于哪个月
schoolCalendarWeek
.
month
.
put
(
"tag"
,
schoolCalendarWeek
.
MAX_MONTH
);
schoolCalendarWeek
.
month
.
put
(
"index"
,
months
[
schoolCalendarWeek
.
MAX_MONTH
-
1
]);
list
.
add
(
schoolCalendarWeek
);
break
;
}
else
{
//s += "0,";
switch
(
calendar
.
get
(
Calendar
.
DAY_OF_WEEK
)){
case
2
:
schoolCalendarWeek
.
mon
.
put
(
"tag"
,
1
);
schoolCalendarWeek
.
mon
.
put
(
"index"
,
sdf
.
format
(
calendar
.
getTime
()));
schoolCalendarWeek
.
setMaxMonth
(
calendar
.
get
(
Calendar
.
MONTH
)
+
1
);
break
;
case
3
:
schoolCalendarWeek
.
tue
.
put
(
"tag"
,
2
);
schoolCalendarWeek
.
tue
.
put
(
"index"
,
sdf
.
format
(
calendar
.
getTime
()));
schoolCalendarWeek
.
setMaxMonth
(
calendar
.
get
(
Calendar
.
MONTH
)
+
1
);
break
;
case
4
:
schoolCalendarWeek
.
wed
.
put
(
"tag"
,
3
);
schoolCalendarWeek
.
wed
.
put
(
"index"
,
sdf
.
format
(
calendar
.
getTime
()));
schoolCalendarWeek
.
setMaxMonth
(
calendar
.
get
(
Calendar
.
MONTH
)
+
1
);
break
;
case
5
:
schoolCalendarWeek
.
thu
.
put
(
"tag"
,
4
);
schoolCalendarWeek
.
thu
.
put
(
"index"
,
sdf
.
format
(
calendar
.
getTime
()));
schoolCalendarWeek
.
setMaxMonth
(
calendar
.
get
(
Calendar
.
MONTH
)
+
1
);
break
;
case
6
:
schoolCalendarWeek
.
fri
.
put
(
"tag"
,
5
);
schoolCalendarWeek
.
fri
.
put
(
"index"
,
sdf
.
format
(
calendar
.
getTime
()));
schoolCalendarWeek
.
setMaxMonth
(
calendar
.
get
(
Calendar
.
MONTH
)
+
1
);
break
;
case
7
:
schoolCalendarWeek
.
sat
.
put
(
"tag"
,
6
);
schoolCalendarWeek
.
sat
.
put
(
"index"
,
sdf
.
format
(
calendar
.
getTime
()));
schoolCalendarWeek
.
setMaxMonth
(
calendar
.
get
(
Calendar
.
MONTH
)
+
1
);
break
;
}
calendar
.
add
(
Calendar
.
DATE
,
1
);
flag2
=
1
;
}
}
return
list
;
}
public
void
setMaxMonth
(
int
month
){
if
(
month
>
this
.
getMAX_MONTH
()){
this
.
setMAX_MONTH
(
month
);
}
}
}
src/main/java/org/rcisoft/business/bterm/utils/Week.java
View file @
e4e62ce6
...
...
@@ -191,4 +191,6 @@ public class Week {
}
return
list
;
}
}
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