Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-boot-biz
Project
Project
Details
Activity
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
项目统一框架
amos-boot-biz
Commits
5715baec
Commit
5715baec
authored
Sep 18, 2021
by
chenzhao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bug2468 值班排班,日历视图单班次执勤人数满足≤3且班次≤2时,值班显示方式错误
parent
f1125ef5
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
54 additions
and
8 deletions
+54
-8
DutyCommonServiceImpl.java
...module/common/biz/service/impl/DutyCommonServiceImpl.java
+54
-8
No files found.
amos-boot-module/amos-boot-module-biz/amos-boot-module-common-biz/src/main/java/com/yeejoin/amos/boot/module/common/biz/service/impl/DutyCommonServiceImpl.java
View file @
5715baec
...
@@ -30,9 +30,13 @@ import org.typroject.tyboot.core.foundation.utils.Bean;
...
@@ -30,9 +30,13 @@ import org.typroject.tyboot.core.foundation.utils.Bean;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
java.text.ParseException
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.time.LocalDate
;
import
java.time.temporal.ChronoUnit
;
import
java.util.*
;
import
java.util.*
;
import
java.util.function.Function
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
java.util.stream.Stream
;
/**
/**
* @author DELL
* @author DELL
...
@@ -133,17 +137,59 @@ public class DutyCommonServiceImpl implements IDutyCommonService {
...
@@ -133,17 +137,59 @@ public class DutyCommonServiceImpl implements IDutyCommonService {
m
.
put
(
"dutyShift"
,
personShiftList
);
m
.
put
(
"dutyShift"
,
personShiftList
);
}
}
/*bug2468 值班排班,日历视图单班次执勤人数满足≤3且班次≤2时,值班显示方式错误 陈召 开始*/
//获取时间段内的每一天
public
static
List
<
String
>
getBetweenDate
(
String
start
,
String
end
)
{
List
<
String
>
list
=
new
ArrayList
<>();
LocalDate
startDate
=
LocalDate
.
parse
(
start
);
LocalDate
endDate
=
LocalDate
.
parse
(
end
);
long
distance
=
ChronoUnit
.
DAYS
.
between
(
startDate
,
endDate
);
if
(
distance
<
1
)
{
return
list
;
}
Stream
.
iterate
(
startDate
,
d
->
d
.
plusDays
(
1
)).
limit
(
distance
+
1
).
forEach
(
f
->
list
.
add
(
f
.
toString
()));
return
list
;
}
@Override
@Override
public
List
<
Map
<
String
,
Object
>>
statisticsDay
(
String
beginDate
,
String
endDate
)
throws
ParseException
{
public
List
<
Map
<
String
,
Object
>>
statisticsDay
(
String
beginDate
,
String
endDate
)
throws
ParseException
{
DutyViewTypeEnum
viewTypeEnum
=
this
.
inferView
(
beginDate
,
endDate
,
RequestContext
.
getAppKey
());
Date
dateBegin
=
DateUtils
.
dateParse
(
beginDate
,
DateUtils
.
DATE_PATTERN
);
String
timeStart
=
DateUtils
.
dateTimeToDateString
(
dateBegin
);
Date
dateEnd
=
DateUtils
.
dateParse
(
endDate
,
DateUtils
.
DATE_PATTERN
);
String
timeEnd
=
DateUtils
.
dateTimeToDateString
(
dateEnd
);
List
<
String
>
betweenDate
=
getBetweenDate
(
timeStart
,
timeEnd
);
//拿到每一天的视图展示
String
beginTime
=
null
;
String
endTime
=
null
;
List
<
Map
<
String
,
Object
>>
viewTypeResult
=
new
ArrayList
<>();
for
(
String
time
:
betweenDate
)
{
beginTime
=
time
+
" 00:00:00"
;
endTime
=
time
+
" 23:59:59"
;
Map
<
String
,
Object
>
viewTypeMap
=
new
HashMap
<>();
viewTypeMap
.
put
(
"date"
,
time
);
viewTypeMap
.
put
(
"viewType"
,
this
.
inferView
(
beginTime
,
endTime
,
RequestContext
.
getAppKey
()));
viewTypeResult
.
add
(
viewTypeMap
);
}
List
<
Map
<
String
,
Object
>>
rangeDate
=
dutyPersonShiftService
.
getBaseMapper
().
genRangeDate
(
beginDate
,
endDate
);
List
<
Map
<
String
,
Object
>>
rangeDate
=
dutyPersonShiftService
.
getBaseMapper
().
genRangeDate
(
beginDate
,
endDate
);
return
rangeDate
.
stream
().
map
(
p
->
{
Map
<
String
,
Object
>
result
=
new
LinkedHashMap
<>();
List
<
Map
<
String
,
Object
>>
resultMap
=
new
ArrayList
<>();
result
.
put
(
"key"
,
p
.
get
(
"date"
));
for
(
Map
<
String
,
Object
>
stringObjectMap
:
viewTypeResult
)
{
result
.
put
(
"viewType"
,
viewTypeEnum
.
getCode
());
for
(
Map
<
String
,
Object
>
objectMap
:
rangeDate
)
{
result
.
put
(
"data"
,
this
.
buildViewData
(
viewTypeEnum
,
p
.
get
(
"date"
).
toString
(),
RequestContext
.
getAppKey
()));
if
(
stringObjectMap
.
get
(
"date"
).
equals
(
objectMap
.
get
(
"date"
))){
return
result
;
Map
<
String
,
Object
>
result
=
new
LinkedHashMap
<>();
}).
collect
(
Collectors
.
toList
());
DutyViewTypeEnum
viewType
=
(
DutyViewTypeEnum
)
stringObjectMap
.
get
(
"viewType"
);
result
.
put
(
"key"
,
objectMap
.
get
(
"date"
));
result
.
put
(
"viewType"
,
viewType
.
getCode
());
result
.
put
(
"data"
,
this
.
buildViewData
(
viewType
,
objectMap
.
get
(
"date"
).
toString
(),
RequestContext
.
getAppKey
()));
resultMap
.
add
(
result
);
}
}
}
return
resultMap
;
/*bug2468 值班排班,日历视图单班次执勤人数满足≤3且班次≤2时,值班显示方式错误 陈召 结束*/
}
}
private
Object
buildViewData
(
DutyViewTypeEnum
viewTypeEnum
,
String
dutyDate
,
String
appKey
)
{
private
Object
buildViewData
(
DutyViewTypeEnum
viewTypeEnum
,
String
dutyDate
,
String
appKey
)
{
...
...
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