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
b768109e
Commit
b768109e
authored
Apr 19, 2023
by
赵啸非
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加每日接口同步考勤数据
parent
55ed9358
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
55 additions
and
4 deletions
+55
-4
attendance-performance-manager/src/main/java/com/mortals/xhx/daemon/task/SyncDoorsEventTaskImpl.java
...a/com/mortals/xhx/daemon/task/SyncDoorsEventTaskImpl.java
+55
-4
No files found.
attendance-performance-manager/src/main/java/com/mortals/xhx/daemon/task/SyncDoorsEventTaskImpl.java
View file @
b768109e
...
@@ -7,19 +7,27 @@ import com.mortals.framework.common.Rest;
...
@@ -7,19 +7,27 @@ import com.mortals.framework.common.Rest;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.service.ITask
;
import
com.mortals.framework.service.ITask
;
import
com.mortals.framework.service.ITaskExcuteService
;
import
com.mortals.framework.service.ITaskExcuteService
;
import
com.mortals.xhx.common.code.YesNoEnum
;
import
com.mortals.xhx.module.attendance.model.AttendanceRecordHikEntity
;
import
com.mortals.xhx.module.attendance.model.AttendanceRecordHikQuery
;
import
com.mortals.xhx.module.attendance.service.AttendanceRecordHikService
;
import
com.mortals.xhx.module.attendance.service.AttendanceRecordHikService
;
import
com.mortals.xhx.module.hik.door.model.req.door.DoorEventReq
;
import
com.mortals.xhx.module.hik.door.model.req.door.DoorEventReq
;
import
com.mortals.xhx.module.hik.door.model.rsp.door.DoorEventDataInfo
;
import
com.mortals.xhx.module.hik.door.model.rsp.door.DoorEventDataInfo
;
import
com.mortals.xhx.module.hik.door.service.IHikDoorService
;
import
com.mortals.xhx.module.hik.door.service.IHikDoorService
;
import
com.mortals.xhx.module.staff.model.StaffEntity
;
import
com.mortals.xhx.module.staff.service.StaffService
;
import
com.mortals.xhx.module.staff.service.StaffService
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.checkerframework.checker.units.qual.A
;
import
org.checkerframework.checker.units.qual.A
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.ObjectUtils
;
import
java.time.Year
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
/**
/**
* 同步获取当天海康门禁事件
* 同步获取当天海康门禁事件
...
@@ -32,7 +40,7 @@ public class SyncDoorsEventTaskImpl implements ITaskExcuteService {
...
@@ -32,7 +40,7 @@ public class SyncDoorsEventTaskImpl implements ITaskExcuteService {
private
AttendanceRecordHikService
recordHikService
;
private
AttendanceRecordHikService
recordHikService
;
@Autowired
@Autowired
private
StaffService
service
;
private
StaffService
s
taffS
ervice
;
@Autowired
@Autowired
private
IHikDoorService
hikDoorService
;
private
IHikDoorService
hikDoorService
;
...
@@ -44,6 +52,11 @@ public class SyncDoorsEventTaskImpl implements ITaskExcuteService {
...
@@ -44,6 +52,11 @@ public class SyncDoorsEventTaskImpl implements ITaskExcuteService {
List
<
Integer
>
eventTypes
=
new
ArrayList
<>();
List
<
Integer
>
eventTypes
=
new
ArrayList
<>();
eventTypes
.
add
(
196885
);
eventTypes
.
add
(
196885
);
eventTypes
.
add
(
196887
);
eventTypes
.
add
(
196887
);
eventTypes
.
add
(
196893
);
eventTypes
.
add
(
196888
);
eventTypes
.
add
(
196889
);
eventTypes
.
add
(
196890
);
eventTypes
.
add
(
196891
);
doorEventReq
.
setEventTypes
(
eventTypes
);
doorEventReq
.
setEventTypes
(
eventTypes
);
// 获取当天的开始时间
// 获取当天的开始时间
Date
todayStart
=
DateUtil
.
beginOfDay
(
new
Date
());
Date
todayStart
=
DateUtil
.
beginOfDay
(
new
Date
());
...
@@ -55,9 +68,47 @@ public class SyncDoorsEventTaskImpl implements ITaskExcuteService {
...
@@ -55,9 +68,47 @@ public class SyncDoorsEventTaskImpl implements ITaskExcuteService {
doorEventReq
.
setPageSize
(
1000
);
doorEventReq
.
setPageSize
(
1000
);
Rest
<
DoorEventDataInfo
>
doorEventsRest
=
hikDoorService
.
getDoorEvents
(
doorEventReq
);
Rest
<
DoorEventDataInfo
>
doorEventsRest
=
hikDoorService
.
getDoorEvents
(
doorEventReq
);
if
(
doorEventsRest
.
getCode
()
==
YesNoEnum
.
YES
.
getValue
())
{
log
.
info
(
JSON
.
toJSONString
(
doorEventsRest
));
//同步当前考勤数据
List
<
AttendanceRecordHikEntity
>
attRecords
=
doorEventsRest
.
getData
().
getList
().
stream
().
map
(
item
->
{
AttendanceRecordHikEntity
recordHikEntity
=
new
AttendanceRecordHikEntity
();
recordHikEntity
.
initAttrValue
();
StaffEntity
staffCache
=
staffService
.
getExtCache
(
item
.
getJobNo
());
if
(
ObjectUtils
.
isEmpty
(
staffCache
))
return
null
;
recordHikEntity
.
setStaffId
(
staffCache
.
getId
());
recordHikEntity
.
setStaffName
(
staffCache
.
getName
());
recordHikEntity
.
setWorkNum
(
staffCache
.
getWorkNum
());
recordHikEntity
.
setDeptId
(
staffCache
.
getDeptId
());
recordHikEntity
.
setDeptName
(
staffCache
.
getDeptName
());
recordHikEntity
.
setPositionId
(
staffCache
.
getPositionId
());
recordHikEntity
.
setPositionName
(
staffCache
.
getPositionName
());
recordHikEntity
.
setAttendanceDate
(
item
.
getEventTime
());
recordHikEntity
.
setAttendanceAddress
(
item
.
getDoorName
());
recordHikEntity
.
setEventSource
(
"门禁点"
);
recordHikEntity
.
setRemark
(
item
.
getEventId
());
recordHikEntity
.
setCreateTime
(
new
Date
());
recordHikEntity
.
setCreateUserName
(
"system"
);
recordHikEntity
.
setCreateUserId
(
1L
);
return
recordHikEntity
;
}).
collect
(
Collectors
.
toList
());
List
<
String
>
eventIds
=
attRecords
.
parallelStream
().
map
(
i
->
i
.
getRemark
()).
collect
(
Collectors
.
toList
());
//查询当天考勤记录是否有重复的 有的 则不添加
AttendanceRecordHikQuery
recordHikQuery
=
new
AttendanceRecordHikQuery
();
recordHikQuery
.
setAttendanceDateStart
(
DateUtil
.
format
(
todayStart
,
"yyyy-MM-dd"
));
recordHikQuery
.
setAttendanceDateEnd
(
DateUtil
.
format
(
todayStart
,
"yyyy-MM-dd"
));
recordHikQuery
.
setRemarkList
(
eventIds
);
Set
<
String
>
eventIdSet
=
recordHikService
.
find
(
recordHikQuery
).
parallelStream
().
map
(
i
->
i
.
getRemark
()).
collect
(
Collectors
.
toSet
());
List
<
AttendanceRecordHikEntity
>
saveRecordList
=
attRecords
.
stream
().
filter
(
f
->
!
eventIdSet
.
contains
(
f
.
getRemark
())).
collect
(
Collectors
.
toList
());
if
(!
ObjectUtils
.
isEmpty
(
saveRecordList
))
{
recordHikService
.
save
(
saveRecordList
);
}
}
}
}
...
...
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