Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
attendance-performance-platform
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵啸非
attendance-performance-platform
Commits
77fdd2e0
Commit
77fdd2e0
authored
Aug 15, 2024
by
赵啸非
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化考勤计算
parent
03cb182b
Changes
6
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
85 additions
and
60 deletions
+85
-60
attendance-performance-manager/src/main/java/com/mortals/xhx/common/utils/AddAttendThread.java
...in/java/com/mortals/xhx/common/utils/AddAttendThread.java
+7
-4
attendance-performance-manager/src/main/java/com/mortals/xhx/daemon/task/SyncDoorsEventAfterTaskImpl.java
.../mortals/xhx/daemon/task/SyncDoorsEventAfterTaskImpl.java
+3
-4
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordHikServiceImpl.java
...tendance/service/impl/AttendanceRecordHikServiceImpl.java
+17
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/work/CommonData.java
...ortals/xhx/module/attendance/service/work/CommonData.java
+7
-4
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/work/FixWorkOtherAttendance.java
...odule/attendance/service/work/FixWorkOtherAttendance.java
+51
-47
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceRecordHikController.java
.../module/attendance/web/AttendanceRecordHikController.java
+0
-1
No files found.
attendance-performance-manager/src/main/java/com/mortals/xhx/common/utils/AddAttendThread.java
View file @
77fdd2e0
...
...
@@ -4,6 +4,7 @@ import cn.hutool.core.date.DateTime;
import
cn.hutool.core.date.DateUnit
;
import
cn.hutool.core.date.DateUtil
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.model.OrderCol
;
import
com.mortals.framework.service.ICacheService
;
import
com.mortals.framework.util.DateUtils
;
import
com.mortals.xhx.module.attendance.model.AttendanceRecordHikEntity
;
...
...
@@ -15,6 +16,8 @@ import lombok.extern.slf4j.Slf4j;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.util.StopWatch
;
import
java.util.Arrays
;
import
static
com
.
mortals
.
xhx
.
common
.
key
.
RedisKey
.
KEY_ATTENDANCE_STAT_CACHE
;
...
...
@@ -53,16 +56,16 @@ public class AddAttendThread implements Runnable {
Long
compare
=
DateUtil
.
between
(
attendEnd
,
attendStart
,
DateUnit
.
DAY
);
StopWatch
stopWatch
=
new
StopWatch
(
"stopwatch attend"
);
log
.
info
(
"考勤计算天数区间:{}"
,
compare
);
stopWatch
.
start
(
"执行本地方法"
);
for
(
int
i
=
0
;
i
<=
compare
.
intValue
();
i
++)
{
stopWatch
.
start
(
"执行本地方法"
);
DateTime
curDate
=
DateUtil
.
offsetDay
(
attendStart
,
i
);
log
.
info
(
"考勤计算日期:{}"
,
curDate
.
toDateStr
());
hikEntity
.
setAttendanceDateStart
(
curDate
.
toDateStr
());
hikEntity
.
setAttendanceDateEnd
(
curDate
.
toDateStr
());
hikEntity
.
setOrderColList
(
Arrays
.
asList
(
new
OrderCol
(
"attendanceDate"
)));
hikService
.
addAttendanceRecordByQuery
(
hikEntity
,
context
);
stopWatch
.
stop
();
log
.
info
(
"考勤计算日期:{} 完成,耗时:{}ms"
,
curDate
.
toDateStr
(),
stopWatch
.
getLastTaskTimeMillis
());
}
stopWatch
.
stop
();
log
.
info
(
"完成,耗时:{}ms"
,
stopWatch
.
getLastTaskTimeMillis
());
//生成汇总信息
log
.
info
(
"生成考勤汇总消息开始。。。"
);
AttendanceSummaryQuery
query
=
new
AttendanceSummaryQuery
();
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/daemon/task/SyncDoorsEventAfterTaskImpl.java
View file @
77fdd2e0
...
...
@@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSON;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.model.OrderCol
;
import
com.mortals.framework.service.ICacheService
;
import
com.mortals.framework.service.ITask
;
import
com.mortals.framework.service.ITaskExcuteService
;
...
...
@@ -31,10 +32,7 @@ import org.springframework.beans.factory.annotation.Value;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.ObjectUtils
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
static
com
.
mortals
.
xhx
.
common
.
key
.
RedisKey
.
KEY_ATTENDANCE_STAT_CACHE
;
...
...
@@ -102,6 +100,7 @@ public class SyncDoorsEventAfterTaskImpl implements ITaskExcuteService {
AttendanceRecordHikQuery
recordHikQuery
=
new
AttendanceRecordHikQuery
();
recordHikQuery
.
setAttendanceDateStart
(
DateUtil
.
today
());
recordHikQuery
.
setAttendanceDateEnd
(
DateUtil
.
today
());
recordHikQuery
.
setOrderColList
(
Arrays
.
asList
(
new
OrderCol
(
"attendanceDate"
)));
try
{
recordHikService
.
addAttendanceRecordByQuery
(
recordHikQuery
,
context
);
}
catch
(
Exception
e
)
{
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordHikServiceImpl.java
View file @
77fdd2e0
...
...
@@ -66,6 +66,10 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
private
IHikDoorService
hikDoorService
;
@Autowired
private
AttendanceClassService
attendanceClassService
;
@Autowired
private
AttendanceGroupFixedworkSpecialService
specialService
;
@Autowired
private
AttendanceLeaveRecordService
attendanceLeaveRecordService
;
@Override
...
...
@@ -140,6 +144,13 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
Map
<
Long
,
List
<
AttendanceGroupStaffEntity
>>
groupStaffMap
=
attendanceGroupStaffService
.
find
(
new
AttendanceGroupStaffQuery
()).
parallelStream
().
collect
(
Collectors
.
groupingBy
(
x
->
x
.
getStaffId
()));
Map
<
Long
,
AttendanceGroupEntity
>
groupMap
=
attendanceGroupService
.
find
(
new
AttendanceGroupQuery
()).
parallelStream
().
collect
(
Collectors
.
toMap
(
x
->
x
.
getId
(),
y
->
y
,
(
o
,
n
)
->
n
));
Map
<
Long
,
AttendanceClassEntity
>
classEntityMap
=
attendanceClassService
.
find
(
new
AttendanceClassQuery
()).
parallelStream
().
collect
(
Collectors
.
toMap
(
x
->
x
.
getId
(),
y
->
y
,
(
o
,
n
)
->
n
));
Map
<
Long
,
AttendanceClassDetailEntity
>
classDetailEntityMap
=
attendanceClassDetailService
.
find
(
new
AttendanceClassDetailQuery
()).
parallelStream
().
collect
(
Collectors
.
toMap
(
x
->
x
.
getId
(),
y
->
y
,
(
o
,
n
)
->
n
));
Map
<
Long
,
List
<
AttendanceGroupFixedworkSpecialEntity
>>
fixedSpecialGroupMap
=
specialService
.
find
(
new
AttendanceGroupFixedworkSpecialEntity
()).
parallelStream
().
collect
(
Collectors
.
groupingBy
(
x
->
x
.
getFixedWorkId
()));
AttendanceLeaveRecordQuery
leaveRecordQuery
=
new
AttendanceLeaveRecordQuery
();
leaveRecordQuery
.
setAuditResultList
(
Arrays
.
asList
(
1
,
4
));
Map
<
Long
,
List
<
AttendanceLeaveRecordEntity
>>
leaveRecordGroupMap
=
attendanceLeaveRecordService
.
find
(
leaveRecordQuery
).
parallelStream
().
collect
(
Collectors
.
groupingBy
(
x
->
x
.
getLeavePersonId
()));
for
(
Map
.
Entry
<
Long
,
List
<
AttendanceRecordHikEntity
>>
itemEntry
:
listMap
.
entrySet
())
{
//按人员
...
...
@@ -200,6 +211,9 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
commonData
.
setStaffId
(
attendanceRecordEntity
.
getStaffId
());
commonData
.
setDateStr
(
dateStr
);
commonData
.
setClassEntityMap
(
classEntityMap
);
commonData
.
setRecordHikEntities
(
recordHikEntities
);
commonData
.
setFixedSpecialGroupMap
(
fixedSpecialGroupMap
);
commonData
.
setClassDetailEntityMap
(
classDetailEntityMap
);
workAbstract
.
doHandleWork
(
commonData
);
}
...
...
@@ -226,6 +240,9 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
commonData
.
setStaffId
(
attendanceRecordEntity
.
getStaffId
());
commonData
.
setDateStr
(
dateStr
);
commonData
.
setClassEntityMap
(
classEntityMap
);
commonData
.
setRecordHikEntities
(
recordHikEntities
);
commonData
.
setFixedSpecialGroupMap
(
fixedSpecialGroupMap
);
commonData
.
setClassDetailEntityMap
(
classDetailEntityMap
);
workAbstract
.
doHandleWork
(
commonData
);
}
}
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/work/CommonData.java
View file @
77fdd2e0
...
...
@@ -2,10 +2,7 @@ package com.mortals.xhx.module.attendance.service.work;
import
com.mortals.framework.model.Context
;
import
com.mortals.xhx.module.attendance.model.AttendanceClassEntity
;
import
com.mortals.xhx.module.attendance.model.AttendanceGroupEntity
;
import
com.mortals.xhx.module.attendance.model.AttendanceRecordDetailEntity
;
import
com.mortals.xhx.module.attendance.model.AttendanceRecordEntity
;
import
com.mortals.xhx.module.attendance.model.*
;
import
lombok.Data
;
import
java.util.Date
;
...
...
@@ -37,5 +34,11 @@ public class CommonData {
private
Map
<
Long
,
AttendanceClassEntity
>
classEntityMap
;
private
List
<
AttendanceRecordHikEntity
>
recordHikEntities
;
private
Map
<
Long
,
AttendanceClassDetailEntity
>
classDetailEntityMap
;
private
Map
<
Long
,
List
<
AttendanceGroupFixedworkSpecialEntity
>>
fixedSpecialGroupMap
;
}
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/work/FixWorkOtherAttendance.java
View file @
77fdd2e0
This diff is collapsed.
Click to expand it.
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceRecordHikController.java
View file @
77fdd2e0
...
...
@@ -161,7 +161,6 @@ public class AttendanceRecordHikController extends BaseCRUDJsonBodyMappingContro
}
AddAttendThread
addAttendThread
=
new
AddAttendThread
(
hikService
,
hikEntity
,
getContext
());
ThreadPool
.
getInstance
().
execute
(
addAttendThread
);
//hikService.addAttendanceRecordByQuery(hikEntity, getContext());
model
.
put
(
"message_info"
,
busiDesc
+
"成功"
);
this
.
recordSysLog
(
this
.
request
,
busiDesc
+
" 【成功】"
);
}
catch
(
Exception
e
)
{
...
...
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