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
057a07b7
Commit
057a07b7
authored
Jul 19, 2023
by
赵啸非
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改考勤汇总
parent
6b9810b9
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
26 additions
and
22 deletions
+26
-22
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordHikServiceImpl.java
...tendance/service/impl/AttendanceRecordHikServiceImpl.java
+26
-22
No files found.
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordHikServiceImpl.java
View file @
057a07b7
...
...
@@ -86,7 +86,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
//对相同工号的人员进行遍历判断考勤规则.
AttendanceRecordEntity
attendanceRecordEntity
=
new
AttendanceRecordEntity
();
attendanceRecordEntity
.
initAttrValue
();
List
<
AttendanceRecordDetailEntity
>
detailEntity
=
new
ArrayList
<>();
List
<
AttendanceRecordDetailEntity
>
detailEntity
List
=
new
ArrayList
<>();
for
(
AttendanceRecordHikEntity
item
:
attendanceRecordHikEntities
)
{
//对主表的对象进行赋值
if
(
StringUtils
.
isNull
(
attendanceRecordEntity
)
||
StringUtils
.
isEmpty
(
attendanceRecordEntity
.
getStaffName
()))
{
...
...
@@ -121,21 +121,26 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
AttendanceGroupEntity
attendanceGroupEntity
=
attendanceGroupService
.
selectOne
(
attendanceGroupQuery
.
id
(
attendanceGroupStaffEntities
.
get
(
0
).
getGroupId
()));
attendanceRecordEntity
.
setAttendanceGroupId
(
attendanceGroupEntity
.
getId
());
attendanceRecordEntity
.
setAttendanceGroupName
(
attendanceGroupEntity
.
getGroupName
());
log
.
info
(
"attendanceGroupEntity.getId()=={}"
,
attendanceGroupEntity
.
getId
());
//查询考勤组详细信息获取班次
AttendanceGroupFixedwork
Query
attendanceGroupFixedworkQuery
=
new
AttendanceGroupFixedworkQuery
();
AttendanceGroupFixedworkEntity
attendanceGroupFixedworkEntity
=
attendanceGroupFixedworkService
.
selectOne
(
attendanceGroupFixedworkQuery
.
groupId
(
attendanceGroupEntity
.
getId
()));
AttendanceGroupFixedwork
Entity
attendanceGroupFixedworkEntity
=
attendanceGroupFixedworkService
.
selectOne
(
new
AttendanceGroupFixedworkQuery
()
.
groupId
(
attendanceGroupEntity
.
getId
()));
//判断当前考勤日期为周几
Date
attendanceDate1
=
attendanceDate
;
String
week
=
this
.
getWeek
(
attendanceDate1
);
log
.
info
(
"week:{}"
,
week
);
//通过考勤日期的星期拿到班次id.
Long
weekClassId
=
this
.
getWeekClassId
(
attendanceGroupFixedworkEntity
,
week
);
log
.
info
(
"weekClassId:{}"
,
weekClassId
);
//weekClassId为-1 则不在考勤
if
(
weekClassId
==
-
1L
)
{
//跳过本次循环
continue
;
}
//获取班次信息
AttendanceClassEntity
attendanceClassEntity
=
attendanceClassService
.
selectOne
(
new
AttendanceClassQuery
().
id
(
weekClassId
));
//AttendanceClassEntity attendanceClassEntity = attendanceClassService.selectOne(new AttendanceClassQuery().id(weekClassId));
AttendanceClassEntity
attendanceClassEntity
=
attendanceClassService
.
get
(
weekClassId
);
if
(
ObjectUtils
.
isEmpty
(
attendanceClassEntity
)){
log
.
info
(
"attendanceClassEntity is null ,weekClassId:{}"
,
weekClassId
);
continue
;
...
...
@@ -145,7 +150,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
AttendanceClassDetailQuery
attendanceClassDetailQuery
=
new
AttendanceClassDetailQuery
();
List
<
AttendanceClassDetailEntity
>
attendanceClassDetailEntities
=
attendanceClassDetailService
.
find
(
attendanceClassDetailQuery
.
classId
(
attendanceClassEntity
.
getId
()));
Integer
orderNum
=
0
;
if
(
detailEntity
==
null
||
detailEntity
.
size
()
==
0
)
{
if
(
ObjectUtils
.
isEmpty
(
detailEntityList
)
)
{
for
(
AttendanceClassDetailEntity
classDetailEntity
:
attendanceClassDetailEntities
)
{
orderNum
++;
AttendanceRecordDetailEntity
recordDetailEntity
=
new
AttendanceRecordDetailEntity
();
...
...
@@ -154,7 +159,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
recordDetailEntity
.
setGoWorkResult
(
GoWorkResultEnum
.
缺卡
.
getValue
());
recordDetailEntity
.
setOffWorkResult
(
GoWorkResultEnum
.
缺卡
.
getValue
());
recordDetailEntity
.
setOrderNum
(
orderNum
);
detailEntity
.
add
(
recordDetailEntity
);
detailEntity
List
.
add
(
recordDetailEntity
);
}
}
for
(
AttendanceClassDetailEntity
classDetail
:
attendanceClassDetailEntities
)
{
...
...
@@ -178,7 +183,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
//如果是上班打卡,判断是否迟到
boolean
inTime
=
isInTime
(
sdf
.
parse
(
sdf
.
format
(
attendanceDate
)),
goWorkDateBefore
,
sdf
.
parse
(
sdf
.
format
(
classDetail
.
getGoWorkDate
())));
if
(!
inTime
)
{
for
(
AttendanceRecordDetailEntity
attendanceRecordDetailEntity
:
detailEntity
)
{
for
(
AttendanceRecordDetailEntity
attendanceRecordDetailEntity
:
detailEntity
List
)
{
if
(
attendanceRecordDetailEntity
.
getShiftsId
().
longValue
()
==
classDetail
.
getId
().
longValue
())
{
attendanceRecordDetailEntity
.
setGoWorkResult
(
GoWorkResultEnum
.
迟到
.
getValue
());
attendanceRecordDetailEntity
.
setGoWorkDate
(
attendanceDate
);
...
...
@@ -186,7 +191,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
}
}
if
(
inTime
)
{
for
(
AttendanceRecordDetailEntity
attendanceRecordDetailEntity
:
detailEntity
)
{
for
(
AttendanceRecordDetailEntity
attendanceRecordDetailEntity
:
detailEntity
List
)
{
if
(
attendanceRecordDetailEntity
.
getShiftsId
().
longValue
()
==
classDetail
.
getId
().
longValue
())
{
attendanceRecordDetailEntity
.
setGoWorkResult
(
GoWorkResultEnum
.
正常
.
getValue
());
attendanceRecordDetailEntity
.
setGoWorkDate
(
attendanceDate
);
...
...
@@ -197,7 +202,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
if
(
offInTime
)
{
boolean
inTime
=
isInTime
(
sdf
.
parse
(
sdf
.
format
(
attendanceDate
)),
sdf
.
parse
(
sdf
.
format
(
classDetail
.
getOffWorkDate
())),
offWorkDateAfter
);
if
(!
inTime
)
{
for
(
AttendanceRecordDetailEntity
attendanceRecordDetailEntity
:
detailEntity
)
{
for
(
AttendanceRecordDetailEntity
attendanceRecordDetailEntity
:
detailEntity
List
)
{
if
(
attendanceRecordDetailEntity
.
getShiftsId
().
longValue
()
==
classDetail
.
getId
().
longValue
())
{
attendanceRecordDetailEntity
.
setOffWorkResult
(
GoWorkResultEnum
.
早退
.
getValue
());
attendanceRecordDetailEntity
.
setOffWorkDate
(
attendanceDate
);
...
...
@@ -205,7 +210,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
}
}
if
(
inTime
)
{
for
(
AttendanceRecordDetailEntity
attendanceRecordDetailEntity
:
detailEntity
)
{
for
(
AttendanceRecordDetailEntity
attendanceRecordDetailEntity
:
detailEntity
List
)
{
if
(
attendanceRecordDetailEntity
.
getShiftsId
().
longValue
()
==
classDetail
.
getId
().
longValue
())
{
attendanceRecordDetailEntity
.
setOffWorkResult
(
GoWorkResultEnum
.
正常
.
getValue
());
attendanceRecordDetailEntity
.
setOffWorkDate
(
attendanceDate
);
...
...
@@ -244,7 +249,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
AttendanceClassDetailQuery
attendanceClassDetailQuery
=
new
AttendanceClassDetailQuery
();
List
<
AttendanceClassDetailEntity
>
attendanceClassDetailEntities
=
attendanceClassDetailService
.
find
(
attendanceClassDetailQuery
.
classId
(
attendanceClassEntity
.
getId
()));
Integer
orderNum
=
0
;
if
(
detailEntity
!=
null
||
detailEntity
.
size
()
==
0
)
{
if
(
detailEntity
List
!=
null
||
detailEntityList
.
size
()
==
0
)
{
for
(
AttendanceClassDetailEntity
classDetailEntity
:
attendanceClassDetailEntities
)
{
orderNum
++;
AttendanceRecordDetailEntity
recordDetailEntity
=
new
AttendanceRecordDetailEntity
();
...
...
@@ -253,7 +258,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
recordDetailEntity
.
setGoWorkResult
(
GoWorkResultEnum
.
缺卡
.
getValue
());
recordDetailEntity
.
setOffWorkResult
(
GoWorkResultEnum
.
缺卡
.
getValue
());
recordDetailEntity
.
setOrderNum
(
orderNum
);
detailEntity
.
add
(
recordDetailEntity
);
detailEntity
List
.
add
(
recordDetailEntity
);
}
}
for
(
AttendanceClassDetailEntity
classDetail
:
attendanceClassDetailEntities
)
{
...
...
@@ -277,7 +282,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
//如果是上班打卡,判断是否迟到
boolean
inTime
=
isInTime
(
sdf
.
parse
(
sdf
.
format
(
attendanceDate
)),
goWorkDateBefore
,
sdf
.
parse
(
sdf
.
format
(
classDetail
.
getGoWorkDate
())));
if
(!
inTime
)
{
for
(
AttendanceRecordDetailEntity
attendanceRecordDetailEntity
:
detailEntity
)
{
for
(
AttendanceRecordDetailEntity
attendanceRecordDetailEntity
:
detailEntity
List
)
{
if
(
attendanceRecordDetailEntity
.
getShiftsId
().
equals
(
classDetail
.
getId
()))
{
attendanceRecordDetailEntity
.
setGoWorkResult
(
GoWorkResultEnum
.
迟到
.
getValue
());
attendanceRecordDetailEntity
.
setGoWorkDate
(
attendanceDate
);
...
...
@@ -285,7 +290,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
}
}
if
(
inTime
)
{
for
(
AttendanceRecordDetailEntity
attendanceRecordDetailEntity
:
detailEntity
)
{
for
(
AttendanceRecordDetailEntity
attendanceRecordDetailEntity
:
detailEntity
List
)
{
if
(
attendanceRecordDetailEntity
.
getShiftsId
().
equals
(
classDetail
.
getId
()))
{
attendanceRecordDetailEntity
.
setGoWorkResult
(
GoWorkResultEnum
.
正常
.
getValue
());
attendanceRecordDetailEntity
.
setGoWorkDate
(
attendanceDate
);
...
...
@@ -296,7 +301,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
if
(
offInTime
)
{
boolean
inTime
=
isInTime
(
sdf
.
parse
(
sdf
.
format
(
attendanceDate
)),
sdf
.
parse
(
sdf
.
format
(
classDetail
.
getOffWorkDate
())),
offWorkDateAfter
);
if
(!
inTime
)
{
for
(
AttendanceRecordDetailEntity
attendanceRecordDetailEntity
:
detailEntity
)
{
for
(
AttendanceRecordDetailEntity
attendanceRecordDetailEntity
:
detailEntity
List
)
{
if
(
attendanceRecordDetailEntity
.
getShiftsId
().
equals
(
classDetail
.
getId
()))
{
attendanceRecordDetailEntity
.
setOffWorkResult
(
GoWorkResultEnum
.
早退
.
getValue
());
attendanceRecordDetailEntity
.
setOffWorkDate
(
attendanceDate
);
...
...
@@ -304,7 +309,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
}
}
if
(
inTime
)
{
for
(
AttendanceRecordDetailEntity
attendanceRecordDetailEntity
:
detailEntity
)
{
for
(
AttendanceRecordDetailEntity
attendanceRecordDetailEntity
:
detailEntity
List
)
{
if
(
attendanceRecordDetailEntity
.
getShiftsId
().
equals
(
classDetail
.
getId
()))
{
attendanceRecordDetailEntity
.
setOffWorkResult
(
GoWorkResultEnum
.
正常
.
getValue
());
attendanceRecordDetailEntity
.
setOffWorkDate
(
attendanceDate
);
...
...
@@ -318,7 +323,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
}
}
List
<
AttendanceRecordErrorEntity
>
errorEntityList
=
new
ArrayList
<>();
for
(
AttendanceRecordDetailEntity
recordDetailEntity
:
detailEntity
)
{
for
(
AttendanceRecordDetailEntity
recordDetailEntity
:
detailEntity
List
)
{
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
SimpleDateFormat
sdft
=
new
SimpleDateFormat
(
"HH:mm:ss"
);
Integer
goWorkResult
=
recordDetailEntity
.
getGoWorkResult
();
...
...
@@ -350,7 +355,6 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
errorEntity
.
setErrorStatus
(
ErrorStatusEnum
.
缺卡
.
getValue
());
}
if
(
GoWorkResultEnum
.
迟到
.
getValue
()==
recordDetailEntity
.
getGoWorkResult
()
)
{
errorEntity
.
setErrorStatus
(
ErrorStatusEnum
.
迟到
.
getValue
());
}
errorEntity
.
setProcessStatus
(
0
);
...
...
@@ -391,13 +395,13 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
}
}
if
(
detailEntity
!=
null
&&
detailEntity
.
size
()
>
0
)
{
if
(
detailEntity
List
!=
null
&&
detailEntityList
.
size
()
>
0
)
{
if
(
errorEntityList
!=
null
&&
errorEntityList
.
size
()
>
0
)
{
errorService
.
save
(
errorEntityList
,
context
);
}
attendanceRecordEntity
.
setShiftsName
(
detailEntity
.
get
(
0
).
getShiftsName
());
attendanceRecordEntity
.
setShiftsId
(
attendanceClassDetailService
.
selectOne
(
new
AttendanceClassDetailQuery
().
id
(
detailEntity
.
get
(
0
).
getShiftsId
())).
getClassId
());
attendanceRecordEntity
.
setAttendanceRecordDetailList
(
detailEntity
);
attendanceRecordEntity
.
setShiftsName
(
detailEntity
List
.
get
(
0
).
getShiftsName
());
attendanceRecordEntity
.
setShiftsId
(
attendanceClassDetailService
.
selectOne
(
new
AttendanceClassDetailQuery
().
id
(
detailEntity
List
.
get
(
0
).
getShiftsId
())).
getClassId
());
attendanceRecordEntity
.
setAttendanceRecordDetailList
(
detailEntity
List
);
attendanceRecordService
.
save
(
attendanceRecordEntity
,
context
);
}
...
...
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