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
9878416a
Commit
9878416a
authored
Jul 31, 2023
by
赵啸非
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改固定班次考勤
parent
ebfc22fd
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
155 additions
and
7 deletions
+155
-7
attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/h5/web/PerformApiController.java
...va/com/mortals/xhx/busiz/h5/web/PerformApiController.java
+7
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordHikServiceImpl.java
...tendance/service/impl/AttendanceRecordHikServiceImpl.java
+1
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/work/CommonData.java
...ortals/xhx/module/attendance/service/work/CommonData.java
+2
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/work/FixWorkAttendance.java
...xhx/module/attendance/service/work/FixWorkAttendance.java
+1
-4
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/work/FreedomWorkAttendance.java
...module/attendance/service/work/FreedomWorkAttendance.java
+142
-1
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/work/ScheduleWorkAttendance.java
...odule/attendance/service/work/ScheduleWorkAttendance.java
+2
-2
No files found.
attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/h5/web/PerformApiController.java
View file @
9878416a
...
...
@@ -201,6 +201,8 @@ public class PerformApiController extends AbstractBaseController<PerformReq> {
query
.
setCheckTimeEnd
(
performReq
.
getPerformEndDate
());
query
.
setStaffId
(
context
.
getUser
().
getCustomerId
());
query
.
setCheckStatus
(
CheckStatusEnum
.
已处理
.
getValue
());
query
.
setSubMethodList
(
Arrays
.
asList
(
1
,
2
,
3
));
query
.
setOrderColList
(
Arrays
.
asList
(
new
OrderCol
(
"createTime"
,
OrderCol
.
DESCENDING
)));
Result
<
CheckAttendRecordEntity
>
result
=
checkAttendRecordService
.
find
(
query
,
pageInfo
,
context
);
...
...
@@ -223,6 +225,7 @@ public class PerformApiController extends AbstractBaseController<PerformReq> {
query
.
setCheckTimeEnd
(
performReq
.
getPerformEndDate
());
query
.
setStaffId
(
context
.
getUser
().
getCustomerId
());
query
.
setCheckStatus
(
CheckStatusEnum
.
已处理
.
getValue
());
query
.
setSubMethodList
(
Arrays
.
asList
(
1
,
2
,
3
));
query
.
setOrderColList
(
Arrays
.
asList
(
new
OrderCol
(
"createTime"
,
OrderCol
.
DESCENDING
)));
Result
<
CheckReviewRecordEntity
>
result
=
checkReviewRecordService
.
find
(
query
,
pageInfo
,
context
);
...
...
@@ -245,6 +248,7 @@ public class PerformApiController extends AbstractBaseController<PerformReq> {
query
.
setCheckTimeEnd
(
performReq
.
getPerformEndDate
());
query
.
setStaffId
(
context
.
getUser
().
getCustomerId
());
query
.
setCheckStatus
(
CheckStatusEnum
.
已处理
.
getValue
());
query
.
setSubMethodList
(
Arrays
.
asList
(
1
,
2
,
3
));
query
.
setOrderColList
(
Arrays
.
asList
(
new
OrderCol
(
"createTime"
,
OrderCol
.
DESCENDING
)));
Result
<
CheckComplainRecordEntity
>
result
=
checkComplainRecordService
.
find
(
query
,
pageInfo
,
context
);
...
...
@@ -267,6 +271,7 @@ public class PerformApiController extends AbstractBaseController<PerformReq> {
query
.
setCheckTimeEnd
(
performReq
.
getPerformEndDate
());
query
.
setStaffId
(
context
.
getUser
().
getCustomerId
());
query
.
setCheckStatus
(
CheckStatusEnum
.
已处理
.
getValue
());
query
.
setSubMethodList
(
Arrays
.
asList
(
1
,
2
,
3
));
query
.
setOrderColList
(
Arrays
.
asList
(
new
OrderCol
(
"createTime"
,
OrderCol
.
DESCENDING
)));
Result
<
CheckGoworkRecordEntity
>
result
=
checkGoworkRecordService
.
find
(
query
,
pageInfo
,
context
);
...
...
@@ -289,6 +294,7 @@ public class PerformApiController extends AbstractBaseController<PerformReq> {
query
.
setCheckTimeEnd
(
performReq
.
getPerformEndDate
());
query
.
setStaffId
(
context
.
getUser
().
getCustomerId
());
query
.
setCheckStatus
(
CheckStatusEnum
.
已处理
.
getValue
());
query
.
setSubMethodList
(
Arrays
.
asList
(
1
,
2
,
3
));
query
.
setOrderColList
(
Arrays
.
asList
(
new
OrderCol
(
"createTime"
,
OrderCol
.
DESCENDING
)));
Result
<
CheckEffectRecordEntity
>
result
=
checkEffectRecordService
.
find
(
query
,
pageInfo
,
context
);
...
...
@@ -310,6 +316,7 @@ public class PerformApiController extends AbstractBaseController<PerformReq> {
query
.
setCheckTimeEnd
(
performReq
.
getPerformEndDate
());
query
.
setStaffId
(
context
.
getUser
().
getCustomerId
());
query
.
setCheckStatus
(
CheckStatusEnum
.
已处理
.
getValue
());
query
.
setSubMethodList
(
Arrays
.
asList
(
1
,
2
,
3
));
Result
<
CheckOtherRecordEntity
>
result
=
checkOtherRecordService
.
find
(
query
,
pageInfo
,
context
);
List
<
PerformInfo
>
collect
=
result
.
getList
().
stream
().
map
(
item
->
{
PerformInfo
performInfo
=
new
PerformInfo
();
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordHikServiceImpl.java
View file @
9878416a
...
...
@@ -272,6 +272,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
commonData
.
setAttendanceGroupEntity
(
attendanceGroupEntity
);
commonData
.
setAttendanceDate
(
attendanceDate
);
commonData
.
setDetailEntityList
(
detailEntityList
);
commonData
.
setStaffId
(
attendanceRecordEntity
.
getStaffId
());
workAbstract
.
doHandleWork
(
commonData
);
/*
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/work/CommonData.java
View file @
9878416a
...
...
@@ -23,5 +23,7 @@ public class CommonData {
private
Date
attendanceDate
;
private
Long
staffId
;
}
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/work/FixWorkAttendance.java
View file @
9878416a
...
...
@@ -45,13 +45,10 @@ public class FixWorkAttendance extends AttendanceWorkAbstract {
}
@Override
void
doHandleWork
(
CommonData
commonData
)
{
public
void
doHandleWork
(
CommonData
commonData
)
{
AttendanceGroupFixedworkEntity
attendanceGroupFixedworkEntity
=
attendanceGroupFixedworkService
.
selectOne
(
new
AttendanceGroupFixedworkQuery
()
.
groupId
(
commonData
.
getAttendanceGroupEntity
().
getId
()));
//判断当前考勤日期为周几
String
week
=
super
.
getWeek
(
commonData
.
getAttendanceDate
());
//log.info("week:{}", week);
//通过考勤日期的星期拿到班次id.
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/work/FreedomWorkAttendance.java
View file @
9878416a
package
com.mortals.xhx.module.attendance.service.work
;
import
cn.hutool.core.date.DateUtil
;
import
com.mortals.framework.model.OrderCol
;
import
com.mortals.framework.util.DateUtils
;
import
com.mortals.xhx.common.code.GoWorkResultEnum
;
import
com.mortals.xhx.common.code.TypeEnum
;
import
com.mortals.xhx.module.attendance.model.*
;
import
com.mortals.xhx.module.attendance.service.AttendanceClassService
;
import
com.mortals.xhx.module.attendance.service.AttendanceGroupFreeworkService
;
import
com.mortals.xhx.module.attendance.service.AttendanceRecordHikService
;
import
com.mortals.xhx.module.attendance.service.AttendanceRecordService
;
import
com.mortals.xhx.utils.SpringUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.util.ObjectUtils
;
import
java.util.Arrays
;
import
java.util.Date
;
import
java.util.List
;
/**
* 自由排班
*
* @author:
* @date: 2023/7/31 15:15
*/
@Slf4j
public
class
FreedomWorkAttendance
extends
AttendanceWorkAbstract
{
private
AttendanceGroupFreeworkService
freeworkService
;
private
AttendanceClassService
attendanceClassService
;
private
AttendanceRecordService
attendanceRecordService
;
@Autowired
private
AttendanceRecordHikService
recordHikService
;
public
FreedomWorkAttendance
(
int
type
)
{
super
(
type
);
this
.
freeworkService
=
SpringUtils
.
getBean
(
AttendanceGroupFreeworkService
.
class
);
this
.
attendanceClassService
=
SpringUtils
.
getBean
(
AttendanceClassService
.
class
);
this
.
attendanceRecordService
=
SpringUtils
.
getBean
(
AttendanceRecordService
.
class
);
}
@Override
...
...
@@ -27,7 +55,120 @@ public class FreedomWorkAttendance extends AttendanceWorkAbstract {
}
@Override
void
doHandleWork
(
CommonData
commonData
)
{
public
void
doHandleWork
(
CommonData
commonData
)
{
AttendanceGroupFreeworkEntity
attendanceGroupFreeworkEntity
=
freeworkService
.
selectOne
(
new
AttendanceGroupFreeworkQuery
()
.
groupId
(
commonData
.
getAttendanceGroupEntity
().
getId
()));
//判断当前考勤日期为周几
String
week
=
super
.
getWeek
(
commonData
.
getAttendanceDate
());
Boolean
weekIsAttend
=
getWeekIsAttend
(
attendanceGroupFreeworkEntity
,
week
);
if
(
weekIsAttend
)
{
//需要考勤 获取干活时长 单位小时
Integer
workTime
=
attendanceGroupFreeworkEntity
.
getWorkTime
();
// 查询当前这个人今日的考勤数据,并且按打卡时间进行升序排列
AttendanceRecordHikQuery
recordHikQuery
=
new
AttendanceRecordHikQuery
();
recordHikQuery
.
setAttendanceDateStart
(
DateUtil
.
today
());
recordHikQuery
.
setAttendanceDateEnd
(
DateUtil
.
today
());
recordHikQuery
.
setStaffId
(
commonData
.
getStaffId
());
recordHikQuery
.
setOrderColList
(
Arrays
.
asList
(
new
OrderCol
(
"attendanceDate"
)));
List
<
AttendanceRecordHikEntity
>
recordHikEntities
=
recordHikService
.
find
(
recordHikQuery
);
if
(!
ObjectUtils
.
isEmpty
(
recordHikEntities
))
{
if
(
recordHikEntities
.
size
()
>
1
)
{
//取首位 算时间差 判断时间是否够 不够 就是早退
int
compare
=
DateUtil
.
compare
(
recordHikEntities
.
get
(
0
).
getAttendanceDate
(),
recordHikEntities
.
get
(
recordHikEntities
.
size
()).
getAttendanceDate
());
AttendanceRecordDetailEntity
recordDetailEntity
=
new
AttendanceRecordDetailEntity
();
recordDetailEntity
.
setGoWorkDate
(
recordHikEntities
.
get
(
0
).
getAttendanceDate
());
recordDetailEntity
.
setGoWorkResult
(
GoWorkResultEnum
.
正常
.
getValue
());
recordDetailEntity
.
setOffWorkDate
(
recordHikEntities
.
get
(
recordHikEntities
.
size
()).
getAttendanceDate
());
recordDetailEntity
.
setOffWorkResult
(
GoWorkResultEnum
.
正常
.
getValue
());
recordDetailEntity
.
setOrderNum
(
0
);
if
(
compare
>
workTime
)
{
//构建详细记录 正常下班
commonData
.
getDetailEntityList
().
add
(
recordDetailEntity
);
}
else
{
recordDetailEntity
.
setOffWorkResult
(
GoWorkResultEnum
.
早退
.
getValue
());
}
commonData
.
getDetailEntityList
().
add
(
recordDetailEntity
);
}
else
{
//只有一条 缺下班卡
AttendanceRecordDetailEntity
recordDetailEntity
=
new
AttendanceRecordDetailEntity
();
recordDetailEntity
.
setGoWorkDate
(
recordHikEntities
.
get
(
0
).
getAttendanceDate
());
recordDetailEntity
.
setGoWorkResult
(
GoWorkResultEnum
.
正常
.
getValue
());
recordDetailEntity
.
setOffWorkDate
(
null
);
recordDetailEntity
.
setOffWorkResult
(
GoWorkResultEnum
.
缺卡
.
getValue
());
recordDetailEntity
.
setOrderNum
(
0
);
commonData
.
getDetailEntityList
().
add
(
recordDetailEntity
);
}
}
else
{
AttendanceRecordDetailEntity
recordDetailEntity
=
new
AttendanceRecordDetailEntity
();
recordDetailEntity
.
setGoWorkDate
(
null
);
recordDetailEntity
.
setGoWorkResult
(
GoWorkResultEnum
.
缺卡
.
getValue
());
recordDetailEntity
.
setOffWorkDate
(
null
);
recordDetailEntity
.
setOffWorkResult
(
GoWorkResultEnum
.
缺卡
.
getValue
());
recordDetailEntity
.
setOrderNum
(
0
);
commonData
.
getDetailEntityList
().
add
(
recordDetailEntity
);
}
}
}
/**
* 获取当前日期是否需要考勤,需要的话返回
*
* @return
*/
protected
Boolean
getWeekIsAttend
(
AttendanceGroupFreeworkEntity
attendanceGroupFreeworkEntity
,
String
week
)
{
switch
(
week
)
{
case
"星期一"
:
if
(
attendanceGroupFreeworkEntity
.
getMonday
()
==
0
)
{
return
false
;
}
else
{
return
true
;
}
case
"星期二"
:
if
(
attendanceGroupFreeworkEntity
.
getTuesday
()
==
0
)
{
return
false
;
}
else
{
return
true
;
}
case
"星期三"
:
if
(
attendanceGroupFreeworkEntity
.
getWednesday
()
==
0
)
{
return
false
;
}
else
{
return
true
;
}
case
"星期四"
:
if
(
attendanceGroupFreeworkEntity
.
getThursday
()
==
0
)
{
return
false
;
}
else
{
return
true
;
}
case
"星期五"
:
if
(
attendanceGroupFreeworkEntity
.
getFriday
()
==
0
)
{
return
false
;
}
else
{
return
true
;
}
case
"星期六"
:
if
(
attendanceGroupFreeworkEntity
.
getSaturday
()
==
0
)
{
return
false
;
}
else
{
return
true
;
}
case
"星期日"
:
if
(
attendanceGroupFreeworkEntity
.
getSunday
()
==
0
)
{
return
false
;
}
else
{
return
true
;
}
default
:
return
false
;
}
}
}
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/work/ScheduleWorkAttendance.java
View file @
9878416a
...
...
@@ -28,7 +28,7 @@ public class ScheduleWorkAttendance extends AttendanceWorkAbstract {
}
@Override
void
doHandleWork
(
CommonData
commonData
)
{
public
void
doHandleWork
(
CommonData
commonData
)
{
//todo
}
}
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