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
d3f48dcc
Commit
d3f48dcc
authored
Aug 14, 2024
by
廖旭伟
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
91c972d5
cfe16b69
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
54 additions
and
146 deletions
+54
-146
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/AttendanceRecordErrorEntity.java
.../module/attendance/model/AttendanceRecordErrorEntity.java
+46
-2
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/vo/AttendanceRecordErrorVo.java
...x/module/attendance/model/vo/AttendanceRecordErrorVo.java
+0
-1
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/work/FixWorkOtherAttendance.java
...odule/attendance/service/work/FixWorkOtherAttendance.java
+3
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceRecordErrorController.java
...odule/attendance/web/AttendanceRecordErrorController.java
+1
-139
attendance-performance-manager/src/test/java/com/mortals/httpclient/system.http
...-manager/src/test/java/com/mortals/httpclient/system.http
+4
-4
No files found.
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/AttendanceRecordErrorEntity.java
View file @
d3f48dcc
...
...
@@ -5,13 +5,19 @@ import java.util.ArrayList;
import
java.math.BigDecimal
;
import
cn.hutool.core.date.DateUtil
;
import
java.util.Date
;
import
java.util.stream.Collectors
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.mortals.framework.annotation.Excel
;
import
com.mortals.framework.model.BaseEntityLong
;
import
com.mortals.xhx.common.utils.BeanUtil
;
import
com.mortals.xhx.module.attendance.model.vo.AttendanceRecordErrorVo
;
import
lombok.Data
;
import
org.springframework.beans.BeanUtils
;
/**
* 考勤打卡记录异常信息实体对象
*
...
...
@@ -126,16 +132,22 @@ public class AttendanceRecordErrorEntity extends AttendanceRecordErrorVo {
private
String
salaName
;
@Override
public
int
hashCode
()
{
return
this
.
getId
(
).
hashCode
();
return
(
this
.
getStaffId
()+
this
.
getProcessStatus
()+
this
.
getShiftsId
()+
this
.
getErrorDateTime
().
getTime
()+
""
).
hashCode
();
}
@Override
public
boolean
equals
(
Object
obj
)
{
if
(
obj
==
null
)
return
false
;
if
(
obj
instanceof
AttendanceRecordErrorEntity
)
{
AttendanceRecordErrorEntity
tmp
=
(
AttendanceRecordErrorEntity
)
obj
;
if
(
this
.
getId
()
==
tmp
.
getId
())
{
/* if (this.getId() == tmp.getId()) {
return true;
}*/
if
(
this
.
getStaffId
()==
tmp
.
getStaffId
()&&
this
.
getProcessStatus
()==
tmp
.
getErrorStatus
()
&&
this
.
getShiftsId
()==
tmp
.
getShiftsId
()&&
this
.
getErrorDateTime
().
getTime
()==
tmp
.
getErrorDateTime
().
getTime
()){
return
true
;
}
}
return
false
;
}
...
...
@@ -164,4 +176,36 @@ public class AttendanceRecordErrorEntity extends AttendanceRecordErrorVo {
this
.
salaId
=
null
;
this
.
salaName
=
""
;
}
public
static
void
main
(
String
[]
args
)
{
List
<
AttendanceRecordErrorEntity
>
list
=
new
ArrayList
<>();
AttendanceRecordErrorEntity
entity
=
new
AttendanceRecordErrorEntity
();
entity
.
initAttrValue
();
entity
.
setStaffId
(
47L
);
entity
.
setProcessStatus
(
0
);
entity
.
setShiftsId
(
20L
);
entity
.
setErrorDateTime
(
DateUtil
.
parseDateTime
(
"2024-07-12 12:00:00"
));
list
.
add
(
entity
);
AttendanceRecordErrorEntity
entity1
=
new
AttendanceRecordErrorEntity
();
BeanUtils
.
copyProperties
(
entity
,
entity1
);
entity1
.
setShiftsId
(
21L
);
// entity1.setErrorDateTime(DateUtil.parseDateTime("2024-07-12 12:00:01"));
list
.
add
(
entity1
);
System
.
out
.
println
(
JSONObject
.
toJSONString
(
list
));
List
<
AttendanceRecordErrorEntity
>
collect
=
list
.
stream
().
distinct
().
collect
(
Collectors
.
toList
());
System
.
out
.
println
(
"去重后"
);
System
.
out
.
println
(
JSON
.
toJSONString
(
collect
));
}
}
\ No newline at end of file
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/vo/AttendanceRecordErrorVo.java
View file @
d3f48dcc
...
...
@@ -35,5 +35,4 @@ public class AttendanceRecordErrorVo extends BaseEntityLong {
private
Integer
duration
;
}
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/work/FixWorkOtherAttendance.java
View file @
d3f48dcc
...
...
@@ -508,6 +508,9 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
AttendanceRecordErrorQuery
errorQuery
;
if
(!
ObjectUtils
.
isEmpty
(
errorEntityList
))
{
//过滤异常列表中存在相同的记录
errorEntityList
=
errorEntityList
.
stream
().
distinct
().
collect
(
Collectors
.
toList
());
for
(
AttendanceRecordErrorEntity
errorEntity
:
errorEntityList
)
{
//查看是否存在相同的异常记录,如果存在 则不添加
errorQuery
=
new
AttendanceRecordErrorQuery
();
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceRecordErrorController.java
View file @
d3f48dcc
...
...
@@ -57,25 +57,12 @@ public class AttendanceRecordErrorController extends BaseCRUDJsonBodyMappingCont
@Autowired
private
ParamService
paramService
;
@Autowired
private
AttendanceGroupService
attendanceGroupService
;
@Autowired
private
DeptService
deptService
;
@Autowired
private
AttendanceClassService
attendanceClassService
;
@Autowired
private
AttendanceClassDetailService
classDetailService
;
@Autowired
private
AttendanceRecordService
attendanceRecordService
;
@Autowired
private
AttendanceRecordDetailService
attendanceRecordDetailService
;
@Autowired
private
AttendanceRecordErrorService
errorService
;
...
...
@@ -105,51 +92,15 @@ public class AttendanceRecordErrorController extends BaseCRUDJsonBodyMappingCont
query
.
setProcessStatus
(
0
);
query
.
setProcessResult
(
"已撤销处理"
);
errorService
.
update
(
query
);
/* DateUtils.convertTime2Str(query.getErrorDateTime().getTime(), DateUtils.P_yyyy_MM_dd);
AttendanceRecordQuery attendanceRecordQuery = new AttendanceRecordQuery();
attendanceRecordQuery.setStaffId(query.getStaffId());
attendanceRecordQuery.setAttendanceDateStart(DateUtils.convertTime2Str(query.getErrorDateTime().getTime(), DateUtils.P_yyyy_MM_dd));
attendanceRecordQuery.setAttendanceDateEnd(DateUtils.convertTime2Str(query.getErrorDateTime().getTime(), DateUtils.P_yyyy_MM_dd));
AttendanceRecordEntity attendanceRecordEntity = attendanceRecordService.selectOne(attendanceRecordQuery);
AttendanceRecordDetailQuery detailQuery = new AttendanceRecordDetailQuery();
detailQuery.setRecordId(attendanceRecordEntity.getId());
detailQuery.setShiftsId(query.getShiftsId());
List<AttendanceRecordDetailEntity> attendanceRecordDetailEntity = attendanceRecordDetailService.find(detailQuery);
for (AttendanceRecordDetailEntity recordDetailEntity : attendanceRecordDetailEntity) {
if (query.getGoOrOff().equals("上班")) {
if (query.getErrorStatus() == 0) {
recordDetailEntity.setGoWorkResult(3);
}
if (query.getErrorStatus() == 2) {
recordDetailEntity.setGoWorkResult(4);
}
}
if (query.getGoOrOff().equals("下班")) {
if (query.getErrorStatus() == 0) {
recordDetailEntity.setOffWorkResult(3);
}
if (query.getErrorStatus() == 1) {
recordDetailEntity.setOffWorkResult(5);
}
}
}*/
return
Rest
.
ok
();
}
@Override
protected
void
saveBefore
(
AttendanceRecordErrorEntity
entity
,
Map
<
String
,
Object
>
model
,
Context
context
)
throws
AppException
{
for
(
AttendanceRecordErrorEntity
recordErrorEntity
:
entity
.
getRecordErrorEntities
())
{
AttendanceRecordErrorEntity
updateEntity
=
new
AttendanceRecordErrorEntity
();
updateEntity
.
setId
(
recordErrorEntity
.
getId
());
/* updateEntity.setAttendanceGroupId(recordErrorEntity.getAttendanceGroupId());
updateEntity.setAttendanceGroupName(recordErrorEntity.getAttendanceGroupName());
updateEntity.setErrorDateTime(recordErrorEntity.getErrorDateTime());
updateEntity.setGoOffDateTime(recordErrorEntity.getGoOffDateTime());*/
updateEntity
.
setProcessStatus
(
entity
.
getProcessStatus
());
updateEntity
.
setProcessResult
(
entity
.
getProcessResult
());
updateEntity
.
setStaffId
(
recordErrorEntity
.
getStaffId
());
...
...
@@ -163,69 +114,6 @@ public class AttendanceRecordErrorController extends BaseCRUDJsonBodyMappingCont
this
.
service
.
update
(
updateEntity
,
getContext
());
entity
.
setId
(
recordErrorEntity
.
getId
());
}
/* for (AttendanceRecordErrorEntity item : entity.getRecordErrorEntities()) {
DateUtils.convertTime2Str(item.getErrorDateTime().getTime(), DateUtils.P_yyyy_MM_dd);
AttendanceRecordQuery attendanceRecordQuery = new AttendanceRecordQuery();
attendanceRecordQuery.setStaffId(item.getStaffId());
attendanceRecordQuery.setAttendanceDateStart(DateUtils.convertTime2Str(item.getErrorDateTime().getTime(), DateUtils.P_yyyy_MM_dd));
attendanceRecordQuery.setAttendanceDateEnd(DateUtils.convertTime2Str(item.getErrorDateTime().getTime(), DateUtils.P_yyyy_MM_dd));
AttendanceRecordEntity attendanceRecordEntity = attendanceRecordService.selectOne(attendanceRecordQuery);
AttendanceRecordDetailQuery detailQuery = new AttendanceRecordDetailQuery();
detailQuery.setRecordId(attendanceRecordEntity.getId());
detailQuery.setShiftsId(item.getShiftsId());
List<AttendanceRecordDetailEntity> attendanceRecordDetailEntity = attendanceRecordDetailService.find(detailQuery);
for (AttendanceRecordDetailEntity recordDetailEntity : attendanceRecordDetailEntity) {
Date goWorkDate = recordDetailEntity.getGoWorkDate();
Date offWorkDate = recordDetailEntity.getOffWorkDate();
if (item.getProcessResult().contains("正常")) {
if (!ObjectUtils.isEmpty(goWorkDate)) {
if (goWorkDate.getTime() == item.getGoOffDateTime().getTime()) {
recordDetailEntity.setGoWorkResult(1);
}
} else {
if (item.getGoOrOff().equals("上班")) {
recordDetailEntity.setGoWorkResult(1);
}
}
if (!ObjectUtils.isEmpty(offWorkDate)) {
if (offWorkDate.getTime() == item.getGoOffDateTime().getTime()) {
recordDetailEntity.setOffWorkResult(1);
}
} else {
if (item.getGoOrOff().equals("")) {
recordDetailEntity.setOffWorkResult(1);
}
}
}
if (item.getProcessResult().contains("早退")) {
if (!ObjectUtils.isEmpty(offWorkDate)) {
if (offWorkDate.getTime() == item.getGoOffDateTime().getTime()) {
recordDetailEntity.setOffWorkResult(5);
}
} else {
if (item.getGoOrOff().equals("下班")) {
recordDetailEntity.setOffWorkResult(5);
}
}
}
if (item.getProcessResult().contains("迟到")) {
if (!ObjectUtils.isEmpty(goWorkDate)) {
if (goWorkDate.getTime() == item.getGoOffDateTime().getTime()) {
recordDetailEntity.setGoWorkResult(4);
}
} else {
if (item.getGoOrOff().equals("上班")) {
recordDetailEntity.setGoWorkResult(4);
}
}
}
attendanceRecordDetailService.update(recordDetailEntity);
}
}*/
super
.
saveBefore
(
entity
,
model
,
context
);
}
...
...
@@ -242,7 +130,7 @@ public class AttendanceRecordErrorController extends BaseCRUDJsonBodyMappingCont
this
.
saveBefore
(
entity
,
model
,
context
);
if
(
entity
.
newEntity
())
{
Class
<
AttendanceRecordErrorEntity
>
tClass
=
ReflectUtils
.
getClassGenricType
(
this
.
getClass
(),
1
);
AttendanceRecordErrorEntity
initEntity
=
(
AttendanceRecordErrorEntity
)
tClass
.
newInstance
();
AttendanceRecordErrorEntity
initEntity
=
tClass
.
newInstance
();
initEntity
.
initAttrValue
();
BeanUtils
.
copyProperties
(
entity
,
initEntity
,
BeanUtil
.
getNullPropertyNames
(
entity
));
entity
=
initEntity
;
...
...
@@ -258,19 +146,6 @@ public class AttendanceRecordErrorController extends BaseCRUDJsonBodyMappingCont
}
this
.
service
.
save
(
initEntity
,
context
);
}
else
{
// busiDesc = "修改" + this.getModuleDesc();
// entity.setUpdateTime(new Date());
// IUser user = this.getCurUser();
// if (user != null) {
// entity.setUpdateUserId(user.getId());
// entity.setUpdateUser(user.getLoginName());
// entity.setUpdateUserName(user.getRealName());
// entity.setUpdateUserDeptId(user.getDeptId());
// entity.setUpdateUserDeptName(user.getDeptName());
// }
//this.service.update(entity, context);
}
model
.
put
(
"id"
,
entity
.
getId
());
...
...
@@ -307,25 +182,12 @@ public class AttendanceRecordErrorController extends BaseCRUDJsonBodyMappingCont
query
.
setOrderColList
(
Arrays
.
asList
(
new
OrderCol
(
"errorDateTime"
,
OrderCol
.
DESCENDING
),
new
OrderCol
(
"staffName"
,
OrderCol
.
DESCENDING
)));
}
else
{
query
.
getOrderColList
().
add
(
new
OrderCol
(
"errorDateTime"
,
OrderCol
.
DESCENDING
));
// query.getOrderColList().add(new OrderCol("staffName", OrderCol.DESCENDING));
}
}
@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 (!ObjectUtils.isEmpty(attendanceClassDetailEntity)) {
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/test/java/com/mortals/httpclient/system.http
View file @
d3f48dcc
...
...
@@ -37,8 +37,8 @@ POST {{baseUrl}}/attendance/record/hik/addAttendanceRecord
Content-Type: application/json
{
"attendanceDateStart": "2024-0
5-11
",
"attendanceDateEnd": "2024-0
5-11
"
"attendanceDateStart": "2024-0
7-19
",
"attendanceDateEnd": "2024-0
7-19
"
}
###海康考勤打卡记录计算1
...
...
@@ -46,8 +46,8 @@ POST {{baseUrl}}/attendance/record/hik/addAttendanceRecord
Content-Type: application/json
{
"attendanceDateStart": "2024-0
5-11
",
"attendanceDateEnd": "2024-0
5-11
",
"attendanceDateStart": "2024-0
7-19
",
"attendanceDateEnd": "2024-0
7-19
",
"staffId": 322
}
...
...
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