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
2afbf419
Commit
2afbf419
authored
Apr 19, 2023
by
wenqy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
原始数据生成规则数据修改,异常数据处理
parent
9168439b
Changes
8
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
586 additions
and
432 deletions
+586
-432
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/AttendanceRecordErrorEntity.java
.../module/attendance/model/AttendanceRecordErrorEntity.java
+5
-1
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/vo/AttendanceRecordErrorVo.java
...x/module/attendance/model/vo/AttendanceRecordErrorVo.java
+9
-1
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/AttendanceRecordHikService.java
...module/attendance/service/AttendanceRecordHikService.java
+9
-1
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordHikServiceImpl.java
...tendance/service/impl/AttendanceRecordHikServiceImpl.java
+467
-6
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordServiceImpl.java
.../attendance/service/impl/AttendanceRecordServiceImpl.java
+6
-6
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceRecordErrorController.java
...odule/attendance/web/AttendanceRecordErrorController.java
+44
-6
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceRecordHikController.java
.../module/attendance/web/AttendanceRecordHikController.java
+27
-410
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceStatController.java
...s/xhx/module/attendance/web/AttendanceStatController.java
+19
-1
No files found.
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/AttendanceRecordErrorEntity.java
View file @
2afbf419
...
...
@@ -3,6 +3,8 @@ package com.mortals.xhx.module.attendance.model;
import
java.util.Date
;
import
java.util.List
;
import
java.util.ArrayList
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.mortals.framework.annotation.Excel
;
import
com.mortals.framework.model.BaseEntityLong
;
...
...
@@ -64,6 +66,8 @@ public class AttendanceRecordErrorEntity extends AttendanceRecordErrorVo {
/**
* 上下班时间
*/
@JsonFormat
(
pattern
=
"HH:mm"
)
@JSONField
(
format
=
"HH:mm"
)
private
Date
goOffDateTime
;
/**
* 异常时间
...
...
@@ -468,4 +472,4 @@ public class AttendanceRecordErrorEntity extends AttendanceRecordErrorVo {
this
.
remark
=
""
;
}
}
\ No newline at end of file
}
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/vo/AttendanceRecordErrorVo.java
View file @
2afbf419
package
com.mortals.xhx.module.attendance.model.vo
;
import
com.mortals.framework.model.BaseEntityLong
;
import
com.mortals.xhx.module.attendance.model.AttendanceRecordErrorEntity
;
import
lombok.Data
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
...
...
@@ -9,6 +11,12 @@ import java.util.List;
* @author zxfei
* @date 2023-04-08
*/
@Data
public
class
AttendanceRecordErrorVo
extends
BaseEntityLong
{
}
\ No newline at end of file
/**
* 上班or下班
*/
private
String
goOrOff
;
}
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/AttendanceRecordHikService.java
View file @
2afbf419
package
com.mortals.xhx.module.attendance.service
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.service.ICRUDService
;
import
com.mortals.xhx.module.attendance.model.AttendanceRecordHikEntity
;
/**
* AttendanceRecordHikService
*
...
...
@@ -11,4 +13,10 @@ import com.mortals.xhx.module.attendance.model.AttendanceRecordHikEntity;
*/
public
interface
AttendanceRecordHikService
extends
ICRUDService
<
AttendanceRecordHikEntity
,
Long
>{
}
\ No newline at end of file
/**
* 将原始数据导入打卡记录表
* @param entity
*/
public
void
addAttendanceRecord
(
AttendanceRecordHikEntity
entity
,
Context
context
)
throws
Exception
;
}
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordHikServiceImpl.java
View file @
2afbf419
This diff is collapsed.
Click to expand it.
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordServiceImpl.java
View file @
2afbf419
...
...
@@ -50,8 +50,8 @@ public class AttendanceRecordServiceImpl extends AbstractCRUDServiceImpl<Attenda
if
(!
ObjectUtils
.
isEmpty
(
entity
.
getAttendanceRecordDetailList
())){
entity
.
getAttendanceRecordDetailList
().
stream
().
peek
(
item
->{
item
.
setRecordId
(
entity
.
getId
());
item
.
setCreateUser
(
context
.
getUser
().
getLoginName
());
item
.
setCreateUserId
(
context
.
getUser
().
getId
());
item
.
setCreateUser
(
context
==
null
?
"admin"
:
context
.
getUser
().
getLoginName
());
item
.
setCreateUserId
(
context
==
null
?
1L
:
context
.
getUser
().
getId
());
item
.
setCreateTime
(
new
Date
());
}).
count
();
attendanceRecordDetailService
.
save
(
entity
.
getAttendanceRecordDetailList
());
...
...
@@ -66,11 +66,11 @@ public class AttendanceRecordServiceImpl extends AbstractCRUDServiceImpl<Attenda
attendanceRecordDetailService
.
remove
(
attendanceRecordDetailIds
,
context
);
entity
.
getAttendanceRecordDetailList
().
stream
().
peek
(
item
->{
item
.
setRecordId
(
entity
.
getId
());
item
.
setCreateUser
(
context
.
getUser
().
getLoginName
());
item
.
setCreateUserId
(
context
.
getUser
().
getId
());
item
.
setCreateUser
(
context
==
null
?
"admin"
:
context
.
getUser
().
getLoginName
());
item
.
setCreateUserId
(
context
==
null
?
1L
:
context
.
getUser
().
getId
());
item
.
setCreateTime
(
new
Date
());
item
.
setUpdateUser
(
context
.
getUser
().
getLoginName
());
item
.
setUpdateUserId
(
context
.
getUser
().
getId
());
item
.
setUpdateUser
(
context
==
null
?
"admin"
:
context
.
getUser
().
getLoginName
());
item
.
setUpdateUserId
(
context
==
null
?
1L
:
context
.
getUser
().
getId
());
item
.
setUpdateTime
(
new
Date
());
}).
count
();
attendanceRecordDetailService
.
save
(
entity
.
getAttendanceRecordDetailList
());
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceRecordErrorController.java
View file @
2afbf419
...
...
@@ -23,6 +23,7 @@ import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import
org.apache.commons.lang3.ArrayUtils
;
import
com.mortals.framework.util.StringUtils
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
com.alibaba.fastjson.JSONObject
;
...
...
@@ -52,6 +53,9 @@ public class AttendanceRecordErrorController extends BaseCRUDJsonBodyMappingCont
@Autowired
private
AttendanceClassService
attendanceClassService
;
@Autowired
private
AttendanceClassDetailService
classDetailService
;
@Autowired
private
AttendanceRecordService
attendanceRecordService
;
...
...
@@ -76,7 +80,7 @@ public class AttendanceRecordErrorController extends BaseCRUDJsonBodyMappingCont
}
@PostMapping
(
{
"disposeError"
}
)
@PostMapping
(
value
=
"disposeError"
)
public
Rest
<
String
>
disposeError
(
@RequestBody
AttendanceRecordErrorEntity
query
)
{
Rest
<
String
>
ret
=
new
Rest
();
Context
context
=
this
.
getContext
();
...
...
@@ -84,6 +88,7 @@ public class AttendanceRecordErrorController extends BaseCRUDJsonBodyMappingCont
query
.
setOperDateTime
(
new
Date
());
query
.
setProcessStatus
(
1
);
errorService
.
update
(
query
);
DateUtils
.
convertTime2Str
(
query
.
getErrorDateTime
().
getTime
(),
DateUtils
.
P_yyyy_MM_dd
);
AttendanceRecordQuery
attendanceRecordQuery
=
new
AttendanceRecordQuery
();
attendanceRecordQuery
.
setStaffId
(
query
.
getStaffId
());
...
...
@@ -94,21 +99,54 @@ public class AttendanceRecordErrorController extends BaseCRUDJsonBodyMappingCont
detailQuery
.
setRecordId
(
attendanceRecordEntity
.
getId
());
detailQuery
.
setShiftsId
(
query
.
getShiftsId
());
List
<
AttendanceRecordDetailEntity
>
attendanceRecordDetailEntity
=
attendanceRecordDetailService
.
find
(
detailQuery
);
for
(
AttendanceRecordDetailEntity
recordDetailEntity
:
attendanceRecordDetailEntity
)
{
Date
goWorkDate
=
recordDetailEntity
.
getGoWorkDate
();
Date
offWorkDate
=
recordDetailEntity
.
getOffWorkDate
();
if
(
goWorkDate
.
getTime
()==
query
.
getErrorDateTime
().
getTime
()){
recordDetailEntity
.
setGoWorkResult
(
query
.
getErrorStatus
());
if
(
query
.
getProcessResult
().
contains
(
"正常"
)){
if
(
goWorkDate
.
getTime
()==
query
.
getGoOffDateTime
().
getTime
()){
recordDetailEntity
.
setGoWorkResult
(
1
);
}
if
(
offWorkDate
.
getTime
()==
query
.
getGoOffDateTime
().
getTime
()){
recordDetailEntity
.
setOffWorkResult
(
1
);
}
}
if
(
offWorkDate
.
getTime
()==
query
.
getErrorDateTime
().
getTime
()){
recordDetailEntity
.
setOffWorkResult
(
query
.
getErrorStatus
());
if
(
query
.
getProcessResult
().
contains
(
"早退"
)){
if
(
offWorkDate
.
getTime
()==
query
.
getGoOffDateTime
().
getTime
()){
recordDetailEntity
.
setOffWorkResult
(
5
);
}
}
if
(
query
.
getProcessResult
().
contains
(
"迟到"
)){
if
(
goWorkDate
.
getTime
()==
query
.
getGoOffDateTime
().
getTime
()){
recordDetailEntity
.
setGoWorkResult
(
4
);
}
}
attendanceRecordDetailService
.
update
(
recordDetailEntity
);
}
return
Rest
.
ok
();
}
@Override
protected
int
editAfter
(
Long
id
,
Map
<
String
,
Object
>
model
,
AttendanceRecordErrorEntity
entity
,
Context
context
)
throws
AppException
{
this
.
addDict
(
model
,
"errorStatus"
,
paramService
.
getParamBySecondOrganize
(
"AttendanceRecordError"
,
"errorStatus"
));
return
super
.
editAfter
(
id
,
model
,
entity
,
context
);
}
@Override
protected
void
doListAfter
(
AttendanceRecordErrorEntity
query
,
List
<
AttendanceRecordErrorEntity
>
list
,
Context
context
)
throws
AppException
{
for
(
AttendanceRecordErrorEntity
errorEntity
:
list
)
{
Long
shiftsId
=
errorEntity
.
getShiftsId
();
AttendanceClassDetailEntity
attendanceClassDetailEntity
=
classDetailService
.
selectOne
(
new
AttendanceClassDetailQuery
().
id
(
shiftsId
));
if
(
errorEntity
.
getGoOffDateTime
().
getTime
()==
attendanceClassDetailEntity
.
getGoWorkDate
().
getTime
()){
errorEntity
.
setGoOrOff
(
"上班"
);
}
if
(
errorEntity
.
getGoOffDateTime
().
getTime
()==
attendanceClassDetailEntity
.
getOffWorkDate
().
getTime
()){
errorEntity
.
setGoOrOff
(
"下班"
);
}
}
super
.
doListAfter
(
query
,
list
,
context
);
}
}
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceRecordHikController.java
View file @
2afbf419
This diff is collapsed.
Click to expand it.
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceStatController.java
View file @
2afbf419
package
com.mortals.xhx.module.attendance.web
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.xhx.base.system.param.service.ParamService
;
import
com.mortals.xhx.module.attendance.model.AttendanceClassQuery
;
import
com.mortals.xhx.module.attendance.model.AttendanceGroupQuery
;
import
com.mortals.xhx.module.attendance.service.AttendanceClassService
;
import
com.mortals.xhx.module.attendance.service.AttendanceGroupService
;
import
com.mortals.xhx.module.dept.model.DeptQuery
;
import
com.mortals.xhx.module.dept.service.DeptService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
...
...
@@ -36,14 +42,26 @@ public class AttendanceStatController extends BaseCRUDJsonBodyMappingController<
@Autowired
private
ParamService
paramService
;
@Autowired
private
AttendanceGroupService
attendanceGroupService
;
@Autowired
private
DeptService
deptService
;
@Autowired
private
AttendanceClassService
attendanceClassService
;
public
AttendanceStatController
(){
super
.
setModuleDesc
(
"考勤汇总信息"
);
}
@Override
protected
void
init
(
Map
<
String
,
Object
>
model
,
Context
context
)
{
this
.
addDict
(
model
,
"deptId"
,
deptService
.
find
(
new
DeptQuery
()).
stream
().
collect
(
Collectors
.
toMap
(
x
->
x
.
getId
().
toString
(),
y
->
y
.
getDeptName
())));
this
.
addDict
(
model
,
"groupId"
,
attendanceGroupService
.
find
(
new
AttendanceGroupQuery
()).
stream
().
collect
(
Collectors
.
toMap
(
x
->
x
.
getId
().
toString
(),
y
->
y
.
getGroupName
())));
this
.
addDict
(
model
,
"classId"
,
attendanceClassService
.
find
(
new
AttendanceClassQuery
()).
stream
().
collect
(
Collectors
.
toMap
(
x
->
x
.
getId
().
toString
(),
y
->
y
.
getClassName
())));
super
.
init
(
model
,
context
);
}
}
\ No newline at end of file
}
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