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
5c2ce90c
Commit
5c2ce90c
authored
Sep 24, 2024
by
赵啸非
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改考勤汇总查询
parent
5021366a
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
50 additions
and
101 deletions
+50
-101
attendance-performance-manager/src/main/java/com/mortals/xhx/base/framework/exception/ExceptionHandle.java
...mortals/xhx/base/framework/exception/ExceptionHandle.java
+42
-26
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/work/FixWorkOtherAttendance.java
...odule/attendance/service/work/FixWorkOtherAttendance.java
+8
-75
No files found.
attendance-performance-manager/src/main/java/com/mortals/xhx/base/framework/exception/ExceptionHandle.java
View file @
5c2ce90c
package
com.mortals.xhx.base.framework.exception
;
package
com.mortals.xhx.base.framework.exception
;
import
org.slf4j.Logger
;
import
cn.hutool.core.util.StrUtil
;
import
org.slf4j.LoggerFactory
;
import
cn.hutool.http.HttpStatus
;
import
com.alibaba.fastjson.JSONObject
;
import
com.mortals.framework.exception.AppException
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.converter.HttpMessageNotReadableException
;
import
org.springframework.web.bind.annotation.ControllerAdvice
;
import
org.springframework.web.bind.annotation.ControllerAdvice
;
import
org.springframework.web.bind.annotation.ExceptionHandler
;
import
org.springframework.web.bind.annotation.ExceptionHandler
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
com.alibaba.fastjson.JSONObjec
t
;
import
javax.servlet.http.HttpServletReques
t
;
import
com.mortals.framework.exception.AppException
;
import
javax.servlet.http.HttpServletResponse
;
/**
/**
* 统一异常处理
* 统一异常处理
*/
*/
@ControllerAdvice
@ControllerAdvice
@Slf4j
public
class
ExceptionHandle
{
public
class
ExceptionHandle
{
private
final
static
Logger
log
=
LoggerFactory
.
getLogger
(
ExceptionHandle
.
class
);
@Autowired
private
HttpServletRequest
request
;
@Autowired
private
HttpServletResponse
response
;
public
static
final
String
KEY_RESULT_CODE
=
"code"
;
public
static
final
String
KEY_RESULT_CODE
=
"code"
;
public
static
final
String
KEY_RESULT_MSG
=
"msg"
;
public
static
final
String
KEY_RESULT_MSG
=
"msg"
;
...
@@ -33,9 +43,15 @@ public class ExceptionHandle {
...
@@ -33,9 +43,15 @@ public class ExceptionHandle {
stack
.
getClassName
(),
stack
.
getMethodName
(),
stack
.
getLineNumber
(),
e
.
getClass
().
getName
());
stack
.
getClassName
(),
stack
.
getMethodName
(),
stack
.
getLineNumber
(),
e
.
getClass
().
getName
());
AppException
ex
=
(
AppException
)
e
;
AppException
ex
=
(
AppException
)
e
;
ret
.
put
(
KEY_RESULT_MSG
,
ex
.
getMessage
());
ret
.
put
(
KEY_RESULT_MSG
,
ex
.
getMessage
());
}
if
(
e
instanceof
HttpMessageNotReadableException
)
{
log
.
error
(
"[system error]"
,
e
);
response
.
setStatus
(
HttpStatus
.
HTTP_BAD_REQUEST
);
ret
.
put
(
KEY_RESULT_MSG
,
"参数错误,"
+
StrUtil
.
subBefore
(
e
.
getMessage
(),
";"
,
false
));
}
else
{
}
else
{
log
.
error
(
"[system error]"
,
e
);
log
.
error
(
"[system error]"
,
e
);
ret
.
put
(
KEY_RESULT_MSG
,
"unknown exception!"
);
response
.
setStatus
(
HttpStatus
.
HTTP_INTERNAL_ERROR
);
ret
.
put
(
KEY_RESULT_MSG
,
"未知错误!"
+
e
.
getMessage
());
}
}
return
ret
.
toJSONString
();
return
ret
.
toJSONString
();
}
}
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/work/FixWorkOtherAttendance.java
View file @
5c2ce90c
...
@@ -52,7 +52,7 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
...
@@ -52,7 +52,7 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
private
AttendanceRecordDetailService
attendanceRecordDetailService
;
private
AttendanceRecordDetailService
attendanceRecordDetailService
;
private
Map
<
Long
,
AttendanceClassDetailEntity
>
classDetailEntityMap
;
private
Map
<
Long
,
AttendanceClassDetailEntity
>
classDetailEntityMap
;
public
FixWorkOtherAttendance
(
int
type
)
{
public
FixWorkOtherAttendance
(
int
type
)
{
super
(
type
);
super
(
type
);
...
@@ -75,7 +75,6 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
...
@@ -75,7 +75,6 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
@Override
@Override
void
initData
()
{
void
initData
()
{
}
}
@Override
@Override
...
@@ -85,9 +84,6 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
...
@@ -85,9 +84,6 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
Map
<
Long
,
AttendanceClassEntity
>
classEntityMap
=
commonData
.
getClassEntityMap
();
Map
<
Long
,
AttendanceClassEntity
>
classEntityMap
=
commonData
.
getClassEntityMap
();
Map
<
Long
,
List
<
AttendanceGroupFixedworkSpecialEntity
>>
fixedSpecialGroupMap
=
commonData
.
getFixedSpecialGroupMap
();
Map
<
Long
,
List
<
AttendanceGroupFixedworkSpecialEntity
>>
fixedSpecialGroupMap
=
commonData
.
getFixedSpecialGroupMap
();
this
.
classDetailEntityMap
=
commonData
.
getClassDetailEntityMap
();
this
.
classDetailEntityMap
=
commonData
.
getClassDetailEntityMap
();
// Map<Long, List<AttendanceLeaveRecordEntity>> leaveRecordGroupMap = commonData.getLeaveRecordGroupMap();
if
(
ObjectUtils
.
isEmpty
(
attendanceGroupFixedworkEntity
))
{
if
(
ObjectUtils
.
isEmpty
(
attendanceGroupFixedworkEntity
))
{
log
.
info
(
"attendanceGroupFixedworkEntity is null ! groupId:{}"
,
commonData
.
getAttendanceGroupEntity
().
getId
());
log
.
info
(
"attendanceGroupFixedworkEntity is null ! groupId:{}"
,
commonData
.
getAttendanceGroupEntity
().
getId
());
return
;
return
;
...
@@ -116,15 +112,12 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
...
@@ -116,15 +112,12 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
return
;
return
;
}
}
}
}
//判断当天是否请假 请假分为多个区间段与请假类型。
//判断当天是否请假 请假分为多个区间段与请假类型。
AttendanceLeaveRecordQuery
leaveRecordQuery
=
new
AttendanceLeaveRecordQuery
();
AttendanceLeaveRecordQuery
leaveRecordQuery
=
new
AttendanceLeaveRecordQuery
();
leaveRecordQuery
.
setLeavePersonId
(
commonData
.
getStaffId
());
leaveRecordQuery
.
setLeavePersonId
(
commonData
.
getStaffId
());
leaveRecordQuery
.
setAuditResultList
(
Arrays
.
asList
(
1
,
4
));
leaveRecordQuery
.
setAuditResultList
(
Arrays
.
asList
(
1
,
4
));
boolean
isLeave
=
false
;
boolean
isLeave
=
false
;
List
<
AttendanceLeaveRecordEntity
>
leaveRecordEntities
=
attendanceLeaveRecordService
.
find
(
leaveRecordQuery
);
List
<
AttendanceLeaveRecordEntity
>
leaveRecordEntities
=
attendanceLeaveRecordService
.
find
(
leaveRecordQuery
);
//List<AttendanceLeaveRecordEntity> leaveRecordEntities = leaveRecordGroupMap.get(commonData.getStaffId());
List
<
AttendanceLeaveRecordEntity
>
leaveRecords
=
null
;
List
<
AttendanceLeaveRecordEntity
>
leaveRecords
=
null
;
if
(!
ObjectUtils
.
isEmpty
(
leaveRecordEntities
))
{
if
(!
ObjectUtils
.
isEmpty
(
leaveRecordEntities
))
{
//判断当日日期中 是否有请假记录
//判断当日日期中 是否有请假记录
...
@@ -143,34 +136,7 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
...
@@ -143,34 +136,7 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
isLeave
=
true
;
isLeave
=
true
;
}
}
}
}
/*AttendanceLeaveRecordEntity attendanceLeaveRecordEntity = attendanceLeaveRecordService.selectOne(leaveRecordQuery);
if (!ObjectUtils.isEmpty(attendanceLeaveRecordEntity)) {
// log.info("当天员工请假,不做考勤处理!staffId:{},name:{}", commonData.getStaffId(), attendanceLeaveRecordEntity.getLeavePerson());
//删除当日考勤记录与详细
AttendanceRecordQuery attendanceRecordQuery = new AttendanceRecordQuery();
attendanceRecordQuery.setStaffId(commonData.getStaffId());
attendanceRecordQuery.setAttendanceDateStart(commonData.getDateStr());
attendanceRecordQuery.setAttendanceDateEnd(commonData.getDateStr());
List<AttendanceRecordEntity> attendanceRecordEntities = attendanceRecordService.find(attendanceRecordQuery);
if (!ObjectUtils.isEmpty(attendanceRecordEntities)) {
//删除
Long[] delIds = attendanceRecordEntities.stream().map(AttendanceRecordEntity::getId).toArray(Long[]::new);
attendanceRecordService.remove(delIds, commonData.getContext());
AttendanceRecordDetailQuery detailQuery = new AttendanceRecordDetailQuery();
detailQuery.setRecordIdList(Arrays.asList(delIds));
List<AttendanceRecordDetailEntity> detailEntities = attendanceRecordDetailService.find(detailQuery);
if (!ObjectUtils.isEmpty(detailEntities)) {
attendanceRecordDetailService.remove(detailEntities.stream().map(AttendanceRecordDetailEntity::getId).toArray(Long[]::new), commonData.getContext());
}
}
//删除当天该员工的异常记录与打卡考勤记录
deleteErrorRecord(commonData.getDateStr(), commonData.getStaffId(), commonData.getContext());
return;
}*/
//特殊日期考勤配置
//特殊日期考勤配置
//List<AttendanceGroupFixedworkSpecialEntity> specialEntities = specialService.find(new AttendanceGroupFixedworkSpecialQuery().fixedWorkId(attendanceGroupFixedworkEntity.getId()));
List
<
AttendanceGroupFixedworkSpecialEntity
>
specialEntities
=
fixedSpecialGroupMap
.
get
(
attendanceGroupFixedworkEntity
.
getId
());
List
<
AttendanceGroupFixedworkSpecialEntity
>
specialEntities
=
fixedSpecialGroupMap
.
get
(
attendanceGroupFixedworkEntity
.
getId
());
if
(!
ObjectUtils
.
isEmpty
(
specialEntities
))
{
if
(!
ObjectUtils
.
isEmpty
(
specialEntities
))
{
//分组 需要考勤与不需要考勤
//分组 需要考勤与不需要考勤
...
@@ -226,18 +192,7 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
...
@@ -226,18 +192,7 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
log
.
info
(
"attendanceClassEntity is null ,weekClassId:{}"
,
weekClassId
);
log
.
info
(
"attendanceClassEntity is null ,weekClassId:{}"
,
weekClassId
);
return
;
return
;
}
}
//查询当天,该人员的考勤记录
/* AttendanceRecordHikQuery recordHikQuery = new AttendanceRecordHikQuery();
recordHikQuery.setAttendanceDateStart(commonData.getDateStr());
recordHikQuery.setAttendanceDateEnd(commonData.getDateStr());
recordHikQuery.setStaffId(commonData.getStaffId());
recordHikQuery.setOrderColList(Arrays.asList(new OrderCol("attendanceDate")));
List<AttendanceRecordHikEntity> recordHikEntities = recordHikService.find(recordHikQuery);*/
List
<
AttendanceRecordHikEntity
>
recordHikEntities
=
commonData
.
getRecordHikEntities
();
List
<
AttendanceRecordHikEntity
>
recordHikEntities
=
commonData
.
getRecordHikEntities
();
List
<
AttendanceClassDetailEntity
>
attendanceClassDetailEntities
=
attendanceClassEntity
.
getAttendanceClassDetailList
();
List
<
AttendanceClassDetailEntity
>
attendanceClassDetailEntities
=
attendanceClassEntity
.
getAttendanceClassDetailList
();
Integer
orderNum
=
0
;
Integer
orderNum
=
0
;
...
@@ -248,9 +203,7 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
...
@@ -248,9 +203,7 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
recordDetailEntity
.
setShiftsName
(
classDetailEntity
.
getClassName
());
recordDetailEntity
.
setShiftsName
(
classDetailEntity
.
getClassName
());
recordDetailEntity
.
setGoWorkResult
(
GoWorkResultEnum
.
缺卡
.
getValue
());
recordDetailEntity
.
setGoWorkResult
(
GoWorkResultEnum
.
缺卡
.
getValue
());
//recordDetailEntity.setGoWorkDate(DateUtil.parse(commonData.getDateStr() + " " + DateUtil.formatTime(classDetailEntity.getGoWorkDate())));
recordDetailEntity
.
setOffWorkResult
(
GoWorkResultEnum
.
缺卡
.
getValue
());
recordDetailEntity
.
setOffWorkResult
(
GoWorkResultEnum
.
缺卡
.
getValue
());
//recordDetailEntity.setOffWorkDate(DateUtil.parse(commonData.getDateStr() + " " + DateUtil.formatTime(classDetailEntity.getOffWorkDate())));
recordDetailEntity
.
setOrderNum
(
orderNum
);
recordDetailEntity
.
setOrderNum
(
orderNum
);
commonData
.
getDetailEntityList
().
add
(
recordDetailEntity
);
commonData
.
getDetailEntityList
().
add
(
recordDetailEntity
);
}
}
...
@@ -340,9 +293,7 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
...
@@ -340,9 +293,7 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
}
}
}
}
// AttendanceClassDetailEntity attendanceClassDetailEntity = attendanceClassDetailService.get(commonData.getDetailEntityList().get(0).getShiftsId());
AttendanceClassDetailEntity
attendanceClassDetailEntity
=
classDetailEntityMap
.
get
(
commonData
.
getDetailEntityList
().
get
(
0
).
getShiftsId
());
AttendanceClassDetailEntity
attendanceClassDetailEntity
=
classDetailEntityMap
.
get
(
commonData
.
getDetailEntityList
().
get
(
0
).
getShiftsId
());
commonData
.
getAttendanceRecordEntity
().
setClassId
(
attendanceClassDetailEntity
==
null
?
0L
:
attendanceClassDetailEntity
.
getClassId
());
commonData
.
getAttendanceRecordEntity
().
setClassId
(
attendanceClassDetailEntity
==
null
?
0L
:
attendanceClassDetailEntity
.
getClassId
());
commonData
.
getAttendanceRecordEntity
().
setClassName
(
attendanceClassDetailEntity
==
null
?
""
:
attendanceClassDetailEntity
.
getClassName
());
commonData
.
getAttendanceRecordEntity
().
setClassName
(
attendanceClassDetailEntity
==
null
?
""
:
attendanceClassDetailEntity
.
getClassName
());
}
}
...
@@ -372,7 +323,6 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
...
@@ -372,7 +323,6 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
}
}
}
}
}
}
//生成异常记录
//生成异常记录
genErrorAttendRecord
(
commonData
.
getContext
(),
commonData
.
getDateStr
(),
commonData
.
getAttendanceRecordEntity
(),
commonData
.
getDetailEntityList
());
genErrorAttendRecord
(
commonData
.
getContext
(),
commonData
.
getDateStr
(),
commonData
.
getAttendanceRecordEntity
(),
commonData
.
getDetailEntityList
());
...
@@ -387,8 +337,6 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
...
@@ -387,8 +337,6 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
*/
*/
private
void
calLeaveDate
(
CommonData
commonData
,
Date
startLeaveTime
,
Date
endLeaveTime
)
{
private
void
calLeaveDate
(
CommonData
commonData
,
Date
startLeaveTime
,
Date
endLeaveTime
)
{
//当日 请假开始时间
//当日 请假开始时间
/* Date startLeaveTime = leaveRecord.getStartTime();
Date endLeaveTime = leaveRecord.getEndTime();*/
//修改当日记录集
//修改当日记录集
List
<
AttendanceRecordDetailEntity
>
detailEntityList
=
commonData
.
getDetailEntityList
();
List
<
AttendanceRecordDetailEntity
>
detailEntityList
=
commonData
.
getDetailEntityList
();
...
@@ -405,15 +353,13 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
...
@@ -405,15 +353,13 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
//goWorkDate为空 缺卡状态
//goWorkDate为空 缺卡状态
Date
goWorkDate1
=
attendanceClassDetailEntity
.
getGoWorkDate
();
Date
goWorkDate1
=
attendanceClassDetailEntity
.
getGoWorkDate
();
if
(
attendanceClassDetailEntity
.
getGoWorkDateAfter
()>
0
){
if
(
attendanceClassDetailEntity
.
getGoWorkDateAfter
()
>
0
)
{
goWorkDate1
=
DateUtil
.
offsetMinute
(
goWorkDate1
,
attendanceClassDetailEntity
.
getGoWorkDateAfter
());
goWorkDate1
=
DateUtil
.
offsetMinute
(
goWorkDate1
,
attendanceClassDetailEntity
.
getGoWorkDateAfter
());
}
}
//判断请假区间是否在上班区间内 如果在 则设置为请假 格式化时间范围
//判断请假区间是否在上班区间内 如果在 则设置为请假 格式化时间范围
boolean
in
=
DateUtil
.
isIn
(
goWorkDate1
,
DateUtil
.
parse
(
DateUtil
.
format
(
startLeaveTime
,
"HH:mm:ss"
),
"HH:mm:ss"
),
boolean
in
=
DateUtil
.
isIn
(
goWorkDate1
,
DateUtil
.
parse
(
DateUtil
.
format
(
startLeaveTime
,
"HH:mm:ss"
),
"HH:mm:ss"
),
DateUtil
.
parse
(
DateUtil
.
format
(
endLeaveTime
,
"HH:mm:ss"
),
"HH:mm:ss"
));
DateUtil
.
parse
(
DateUtil
.
format
(
endLeaveTime
,
"HH:mm:ss"
),
"HH:mm:ss"
));
if
(
in
)
{
if
(
in
)
{
detail
.
setGoWorkResult
(
GoWorkResultEnum
.
请假
.
getValue
());
detail
.
setGoWorkResult
(
GoWorkResultEnum
.
请假
.
getValue
());
}
}
...
@@ -424,15 +370,14 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
...
@@ -424,15 +370,14 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
}
}
}
}
}
}
if
(
GoWorkResultEnum
.
请假
.
getValue
()
<
offWorkResult
)
{
if
(
GoWorkResultEnum
.
请假
.
getValue
()
<
offWorkResult
)
{
//判断 异常记录是否在请假时间段内
//判断 异常记录是否在请假时间段内
// DateUtil.between()
// DateUtil.between()
if
(
ObjectUtils
.
isEmpty
(
offWorkDate
))
{
if
(
ObjectUtils
.
isEmpty
(
offWorkDate
))
{
Date
offWorkDate1
=
attendanceClassDetailEntity
.
getOffWorkDate
();
Date
offWorkDate1
=
attendanceClassDetailEntity
.
getOffWorkDate
();
if
(
attendanceClassDetailEntity
.
getOffWorkDateBefore
()>
0
)
{
if
(
attendanceClassDetailEntity
.
getOffWorkDateBefore
()
>
0
)
{
offWorkDate1
=
DateUtil
.
offsetMinute
(
offWorkDate1
,
-
attendanceClassDetailEntity
.
getOffWorkDateBefore
());
offWorkDate1
=
DateUtil
.
offsetMinute
(
offWorkDate1
,
-
attendanceClassDetailEntity
.
getOffWorkDateBefore
());
}
}
boolean
in
=
DateUtil
.
isIn
(
offWorkDate1
,
DateUtil
.
parse
(
DateUtil
.
format
(
startLeaveTime
,
"HH:mm:ss"
),
"HH:mm:ss"
),
boolean
in
=
DateUtil
.
isIn
(
offWorkDate1
,
DateUtil
.
parse
(
DateUtil
.
format
(
startLeaveTime
,
"HH:mm:ss"
),
"HH:mm:ss"
),
...
@@ -460,7 +405,7 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
...
@@ -460,7 +405,7 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
List
<
AttendanceRecordErrorEntity
>
attendanceRecordErrorEntities
=
errorService
.
find
(
errorQuery
);
List
<
AttendanceRecordErrorEntity
>
attendanceRecordErrorEntities
=
errorService
.
find
(
errorQuery
);
Long
[]
errorIds
=
attendanceRecordErrorEntities
.
stream
().
map
(
i
->
i
.
getId
()).
toArray
(
Long
[]::
new
);
Long
[]
errorIds
=
attendanceRecordErrorEntities
.
stream
().
map
(
i
->
i
.
getId
()).
toArray
(
Long
[]::
new
);
if
(!
ObjectUtils
.
isEmpty
(
errorIds
))
{
if
(!
ObjectUtils
.
isEmpty
(
errorIds
))
{
log
.
info
(
"删除 {} 人员:{} 异常记录:{}"
,
dateStr
,
staffId
,
JSON
.
toJSONString
(
attendanceRecordErrorEntities
));
//
log.info("删除 {} 人员:{} 异常记录:{}",dateStr,staffId, JSON.toJSONString(attendanceRecordErrorEntities));
errorService
.
remove
(
errorIds
,
context
);
errorService
.
remove
(
errorIds
,
context
);
}
}
}
}
...
@@ -469,13 +414,11 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
...
@@ -469,13 +414,11 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
public
void
genErrorAttendRecord
(
Context
context
,
String
dateStr
,
AttendanceRecordEntity
attendanceRecordEntity
,
List
<
AttendanceRecordDetailEntity
>
detailEntityList
)
{
public
void
genErrorAttendRecord
(
Context
context
,
String
dateStr
,
AttendanceRecordEntity
attendanceRecordEntity
,
List
<
AttendanceRecordDetailEntity
>
detailEntityList
)
{
//处理异常打卡,所以异常打卡的 都新增一条记录
//处理异常打卡,所以异常打卡的 都新增一条记录
List
<
AttendanceRecordErrorEntity
>
errorEntityList
=
new
ArrayList
<>();
List
<
AttendanceRecordErrorEntity
>
errorEntityList
=
new
ArrayList
<>();
// Map<Long, AttendanceClassDetailEntity> classDetailEntityMap = attendanceClassDetailService.find(new AttendanceClassDetailQuery()).stream().collect(Collectors.toMap(x -> x.getId(), y -> y, (o, n) -> n));
for
(
AttendanceRecordDetailEntity
recordDetailEntity
:
detailEntityList
)
{
for
(
AttendanceRecordDetailEntity
recordDetailEntity
:
detailEntityList
)
{
Integer
goWorkResult
=
recordDetailEntity
.
getGoWorkResult
();
Integer
goWorkResult
=
recordDetailEntity
.
getGoWorkResult
();
Integer
offWorkResult
=
recordDetailEntity
.
getOffWorkResult
();
Integer
offWorkResult
=
recordDetailEntity
.
getOffWorkResult
();
//判断是否是离职员工 如果是 则不添加
//判断是否是离职员工 如果是 则不添加
//判断上班
//判断上班
// AttendanceClassDetailEntity attendanceClassDetailEntity = attendanceClassDetailService.get(recordDetailEntity.getShiftsId());
AttendanceClassDetailEntity
attendanceClassDetailEntity
=
classDetailEntityMap
.
get
(
recordDetailEntity
.
getShiftsId
());
AttendanceClassDetailEntity
attendanceClassDetailEntity
=
classDetailEntityMap
.
get
(
recordDetailEntity
.
getShiftsId
());
if
(
ObjectUtils
.
isEmpty
(
attendanceClassDetailEntity
))
continue
;
if
(
ObjectUtils
.
isEmpty
(
attendanceClassDetailEntity
))
continue
;
//判断上班
//判断上班
...
@@ -483,7 +426,6 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
...
@@ -483,7 +426,6 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
AttendanceRecordErrorEntity
errorEntity
=
new
AttendanceRecordErrorEntity
();
AttendanceRecordErrorEntity
errorEntity
=
new
AttendanceRecordErrorEntity
();
errorEntity
.
initAttrValue
();
errorEntity
.
initAttrValue
();
BeanUtils
.
copyProperties
(
attendanceRecordEntity
,
errorEntity
,
new
String
[]{
"id"
});
BeanUtils
.
copyProperties
(
attendanceRecordEntity
,
errorEntity
,
new
String
[]{
"id"
});
errorEntity
.
setShiftsId
(
recordDetailEntity
.
getShiftsId
());
errorEntity
.
setShiftsId
(
recordDetailEntity
.
getShiftsId
());
errorEntity
.
setShiftsName
(
recordDetailEntity
.
getShiftsName
());
errorEntity
.
setShiftsName
(
recordDetailEntity
.
getShiftsName
());
errorEntity
.
setProcessStatus
(
YesNoEnum
.
NO
.
getValue
());
errorEntity
.
setProcessStatus
(
YesNoEnum
.
NO
.
getValue
());
...
@@ -545,11 +487,9 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
...
@@ -545,11 +487,9 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
//删除当前员工当日未处理的异常后,重新添加 处理的 不做删除
//删除当前员工当日未处理的异常后,重新添加 处理的 不做删除
deleteErrorRecord
(
dateStr
,
attendanceRecordEntity
.
getStaffId
(),
context
);
deleteErrorRecord
(
dateStr
,
attendanceRecordEntity
.
getStaffId
(),
context
);
AttendanceRecordErrorQuery
errorQuery
;
AttendanceRecordErrorQuery
errorQuery
;
if
(!
ObjectUtils
.
isEmpty
(
errorEntityList
))
{
if
(!
ObjectUtils
.
isEmpty
(
errorEntityList
))
{
//过滤异常列表中存在相同的记录
//过滤异常列表中存在相同的记录
errorEntityList
=
errorEntityList
.
stream
().
distinct
().
collect
(
Collectors
.
toList
());
errorEntityList
=
errorEntityList
.
stream
().
distinct
().
collect
(
Collectors
.
toList
());
for
(
AttendanceRecordErrorEntity
errorEntity
:
errorEntityList
)
{
for
(
AttendanceRecordErrorEntity
errorEntity
:
errorEntityList
)
{
//查看是否存在相同的异常记录,如果存在 则不添加
//查看是否存在相同的异常记录,如果存在 则不添加
errorQuery
=
new
AttendanceRecordErrorQuery
();
errorQuery
=
new
AttendanceRecordErrorQuery
();
...
@@ -557,20 +497,16 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
...
@@ -557,20 +497,16 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
errorQuery
.
setStaffId
(
errorEntity
.
getStaffId
());
errorQuery
.
setStaffId
(
errorEntity
.
getStaffId
());
errorQuery
.
setShiftsId
(
errorEntity
.
getShiftsId
());
errorQuery
.
setShiftsId
(
errorEntity
.
getShiftsId
());
errorQuery
.
setProcessStatus
(
YesNoEnum
.
YES
.
getValue
());
errorQuery
.
setProcessStatus
(
YesNoEnum
.
YES
.
getValue
());
AttendanceRecordErrorEntity
attendanceRecordErrorEntity
=
errorService
.
selectOne
(
errorQuery
,
context
);
AttendanceRecordErrorEntity
attendanceRecordErrorEntity
=
errorService
.
selectOne
(
errorQuery
,
context
);
if
(
ObjectUtils
.
isEmpty
(
attendanceRecordErrorEntity
))
{
if
(
ObjectUtils
.
isEmpty
(
attendanceRecordErrorEntity
))
{
errorService
.
save
(
errorEntity
,
context
);
errorService
.
save
(
errorEntity
,
context
);
}
else
{
}
else
{
//log.info("异常记录已存在,不添加");
//log.info("异常记录已存在,不添加");
}
}
}
}
}
}
}
}
private
Boolean
checkWorkByHoliday
(
String
date
)
{
private
Boolean
checkWorkByHoliday
(
String
date
)
{
Boolean
bool
=
false
;
Boolean
bool
=
false
;
HolidayQuery
holidayQuery
=
new
HolidayQuery
();
HolidayQuery
holidayQuery
=
new
HolidayQuery
();
...
@@ -612,9 +548,6 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
...
@@ -612,9 +548,6 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
long between = DateUtil.between(DateUtil.parseDate(date), DateUtil.parseDate(endDate), DateUnit.DAY);
long between = DateUtil.between(DateUtil.parseDate(date), DateUtil.parseDate(endDate), DateUnit.DAY);
System.out.println(between);
System.out.println(between);
String curDateStr = "2024-01-05";
String curDateStr = "2024-01-05";
DateTime dateTime = DateUtil.parseDate(curDateStr);
DateTime dateTime = DateUtil.parseDate(curDateStr);
DateTime start = DateUtil.parseDate("2024-01-05 18:45:15");
DateTime start = DateUtil.parseDate("2024-01-05 18:45:15");
...
...
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