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
7695c7fe
Commit
7695c7fe
authored
Oct 22, 2024
by
赵啸非
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
97add7b4
98be2744
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
71 additions
and
190 deletions
+71
-190
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/AttendanceStatEntity.java
...als/xhx/module/attendance/model/AttendanceStatEntity.java
+1
-1
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceLeaveRecordServiceImpl.java
...ndance/service/impl/AttendanceLeaveRecordServiceImpl.java
+1
-1
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceStatServiceImpl.java
...le/attendance/service/impl/AttendanceStatServiceImpl.java
+69
-188
No files found.
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/AttendanceStatEntity.java
View file @
7695c7fe
...
@@ -187,7 +187,7 @@ public class AttendanceStatEntity extends AttendanceStatVo {
...
@@ -187,7 +187,7 @@ public class AttendanceStatEntity extends AttendanceStatVo {
/**
/**
* 考勤汇总-溜班(次)
* 考勤汇总-溜班(次)
*/
*/
@Excel
(
name
=
"考勤汇总-溜班"
)
@Excel
(
name
=
"考勤汇总-溜班
/早退
"
)
private
Integer
overtimeTimes
;
private
Integer
overtimeTimes
;
/**
/**
* 考勤汇总-空岗
* 考勤汇总-空岗
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceLeaveRecordServiceImpl.java
View file @
7695c7fe
...
@@ -184,7 +184,7 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At
...
@@ -184,7 +184,7 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At
AttendanceSummaryQuery
query
=
new
AttendanceSummaryQuery
();
AttendanceSummaryQuery
query
=
new
AttendanceSummaryQuery
();
query
.
setSummaryTimeEnd
(
DateUtils
.
getStrDate
(
entity
.
getEndTime
()));
query
.
setSummaryTimeEnd
(
DateUtils
.
getStrDate
(
entity
.
getEndTime
()));
query
.
setSummaryTimeStart
(
DateUtils
.
getStrDate
(
entity
.
getStartTime
()));
query
.
setSummaryTimeStart
(
DateUtils
.
getStrDate
(
entity
.
getStartTime
()));
query
.
setStaffId
(
entity
.
get
Staff
Id
());
query
.
setStaffId
(
entity
.
get
LeavePerson
Id
());
cacheService
.
lpush
(
KEY_ATTENDANCE_STAT_CACHE
,
query
);
cacheService
.
lpush
(
KEY_ATTENDANCE_STAT_CACHE
,
query
);
/* AddAttendThread addAttendThread = new AddAttendThread(hikService, attendanceRecordHikQuery, context);
/* AddAttendThread addAttendThread = new AddAttendThread(hikService, attendanceRecordHikQuery, context);
ThreadPool.getInstance().execute(addAttendThread);*/
ThreadPool.getInstance().execute(addAttendThread);*/
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceStatServiceImpl.java
View file @
7695c7fe
...
@@ -240,20 +240,30 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc
...
@@ -240,20 +240,30 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc
staffStatDelete
.
setStaffId
(
query
.
getStaffId
());
staffStatDelete
.
setStaffId
(
query
.
getStaffId
());
}
}
attendanceStaffStatService
.
remove
(
staffStatDelete
,
null
);
attendanceStaffStatService
.
remove
(
staffStatDelete
,
null
);
Map
<
Long
,
AttendanceStatEntity
>
statMap
=
new
HashMap
<>();
Map
<
Long
,
AttendanceStaffStatEntity
>
staffStatMap
=
new
HashMap
<>();
//汇总当前日期假期余额
//汇总当前日期假期余额
List
<
VacationBalanceSummaryVo
>
vacationBalanceSummaryVoList
=
attendanceSummaryDao
.
getVacationBalanceSummary
(
query
);
List
<
VacationBalanceSummaryVo
>
vacationBalanceSummaryVoList
=
attendanceSummaryDao
.
getVacationBalanceSummary
(
query
);
if
(
CollectionUtils
.
isNotEmpty
(
vacationBalanceSummaryVoList
))
{
if
(
CollectionUtils
.
isNotEmpty
(
vacationBalanceSummaryVoList
))
{
log
.
info
(
"考勤人数:"
+
vacationBalanceSummaryVoList
.
size
());
log
.
info
(
"考勤人数:"
+
vacationBalanceSummaryVoList
.
size
());
List
<
AttendanceStatEntity
>
insertList
=
new
ArrayList
<>();
List
<
Long
>
staffIdList
=
vacationBalanceSummaryVoList
.
stream
().
map
(
VacationBalanceSummaryVo:
:
getStaffId
).
collect
(
Collectors
.
toList
());
List
<
AttendanceStatEntity
>
updateList
=
new
ArrayList
<>();
List
<
AttendanceStaffStatEntity
>
addStaffStat
=
new
ArrayList
<>();
List
<
AttendanceStaffStatEntity
>
updateStaffStat
=
new
ArrayList
<>();
AttendanceRecordQuery
attendanceRecordQuery
=
new
AttendanceRecordQuery
();
AttendanceRecordQuery
attendanceRecordQuery
=
new
AttendanceRecordQuery
();
attendanceRecordQuery
.
setAttendanceDateStart
(
query
.
getSummaryTime
());
attendanceRecordQuery
.
setAttendanceDateStart
(
query
.
getSummaryTime
());
attendanceRecordQuery
.
setAttendanceDateEnd
(
query
.
getSummaryTime
());
attendanceRecordQuery
.
setAttendanceDateEnd
(
query
.
getSummaryTime
());
attendanceRecordQuery
.
setStaffIdList
(
staffIdList
);
List
<
AttendanceRecordEntity
>
attendanceRecordList
=
recordService
.
find
(
attendanceRecordQuery
);
List
<
Long
>
recordList
=
attendanceRecordList
.
stream
().
map
(
AttendanceRecordEntity:
:
getId
).
collect
(
Collectors
.
toList
());
Map
<
Long
,
AttendanceRecordEntity
>
staffRecordMap
=
attendanceRecordList
.
parallelStream
().
collect
(
Collectors
.
toMap
(
x
->
x
.
getStaffId
(),
z
->
z
,
(
o
,
n
)
->
n
));
Map
<
Long
,
AttendanceRecordEntity
>
staffRecordMap
=
recordService
.
find
(
attendanceRecordQuery
).
parallelStream
().
collect
(
Collectors
.
toMap
(
x
->
x
.
getStaffId
(),
z
->
z
,
(
o
,
n
)
->
n
));
AttendanceRecordDetailQuery
detailQuery
=
new
AttendanceRecordDetailQuery
();
if
(
CollectionUtils
.
isEmpty
(
recordList
)){
recordList
.
add
(
0
l
);
}
detailQuery
.
setRecordIdList
(
recordList
);
List
<
AttendanceRecordDetailEntity
>
detailEntities
=
attendanceRecordDetailService
.
find
(
detailQuery
);
Map
<
Long
,
List
<
AttendanceRecordDetailEntity
>>
detailGroup
=
detailEntities
.
stream
().
collect
(
Collectors
.
groupingBy
(
AttendanceRecordDetailEntity:
:
getRecordId
));
for
(
VacationBalanceSummaryVo
item
:
vacationBalanceSummaryVoList
)
{
for
(
VacationBalanceSummaryVo
item
:
vacationBalanceSummaryVoList
)
{
String
entryDateStr
=
DateUtils
.
getStrDate
(
item
.
getEntryDate
());
String
entryDateStr
=
DateUtils
.
getStrDate
(
item
.
getEntryDate
());
...
@@ -276,98 +286,43 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc
...
@@ -276,98 +286,43 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc
// }
// }
}
}
AttendanceStatEntity
temp
=
this
.
selectOne
(
new
AttendanceStatQuery
().
staffId
(
item
.
getStaffId
()).
year
(
item
.
getYear
()).
month
(
item
.
getMonth
()).
day
(
item
.
getDay
()));
AttendanceStatEntity
attendanceStatEntity
=
new
AttendanceStatEntity
();
if
(
temp
==
null
)
{
attendanceStatEntity
.
initAttrValue
();
AttendanceStatEntity
attendanceStatEntity
=
new
AttendanceStatEntity
();
attendanceStatEntity
.
setStaffId
(
item
.
getStaffId
());
attendanceStatEntity
.
initAttrValue
();
attendanceStatEntity
.
setStaffName
(
item
.
getStaffName
());
attendanceStatEntity
.
setStaffId
(
item
.
getStaffId
());
attendanceStatEntity
.
setDeptId
(
item
.
getDeptId
());
attendanceStatEntity
.
setStaffName
(
item
.
getStaffName
());
attendanceStatEntity
.
setDeptName
(
item
.
getDeptName
());
attendanceStatEntity
.
setDeptId
(
item
.
getDeptId
());
attendanceStatEntity
.
setSalaId
(
item
.
getSalaId
());
attendanceStatEntity
.
setDeptName
(
item
.
getDeptName
());
attendanceStatEntity
.
setSalaName
(
item
.
getSalaName
());
attendanceStatEntity
.
setSalaId
(
item
.
getSalaId
());
attendanceStatEntity
.
setPhoneNumer
(
item
.
getPhoneNumber
());
attendanceStatEntity
.
setSalaName
(
item
.
getSalaName
());
attendanceStatEntity
.
setYear
(
item
.
getYear
());
attendanceStatEntity
.
setPhoneNumer
(
item
.
getPhoneNumber
());
attendanceStatEntity
.
setMonth
(
item
.
getMonth
());
attendanceStatEntity
.
setYear
(
item
.
getYear
());
attendanceStatEntity
.
setDay
(
item
.
getDay
());
attendanceStatEntity
.
setMonth
(
item
.
getMonth
());
//BeanUtils.copyProperties(item, attendanceStatEntity, BeanUtil.getNullPropertyNames(item));
attendanceStatEntity
.
setDay
(
item
.
getDay
());
attendanceStatEntity
.
setCreateTime
(
new
Date
());
//BeanUtils.copyProperties(item, attendanceStatEntity, BeanUtil.getNullPropertyNames(item));
attendanceStatEntity
.
setCreateUserId
(
1
l
);
attendanceStatEntity
.
setCreateTime
(
new
Date
());
attendanceStatEntity
.
setGoTimes
(
1
);
//默认当天全勤
attendanceStatEntity
.
setCreateUserId
(
1
l
);
statMap
.
put
(
attendanceStatEntity
.
getStaffId
(),
attendanceStatEntity
);
attendanceStatEntity
.
setGoTimes
(
1
);
//默认当天全勤
//this.dao.insert(attendanceStatEntity);
insertList
.
add
(
attendanceStatEntity
);
}
else
{
//BeanUtils.copyProperties(item, temp, BeanUtil.getNullPropertyNames(item));
//temp.setUpdateTime(new Date());
//this.dao.update(temp);
AttendanceStatEntity
attendanceStatEntity
=
new
AttendanceStatEntity
();
attendanceStatEntity
.
initAttrValue
();
attendanceStatEntity
.
setStaffId
(
item
.
getStaffId
());
attendanceStatEntity
.
setStaffName
(
item
.
getStaffName
());
attendanceStatEntity
.
setDeptId
(
item
.
getDeptId
());
attendanceStatEntity
.
setDeptName
(
item
.
getDeptName
());
attendanceStatEntity
.
setSalaId
(
item
.
getSalaId
());
attendanceStatEntity
.
setSalaName
(
item
.
getSalaName
());
attendanceStatEntity
.
setPhoneNumer
(
item
.
getPhoneNumber
());
attendanceStatEntity
.
setYear
(
item
.
getYear
());
attendanceStatEntity
.
setMonth
(
item
.
getMonth
());
attendanceStatEntity
.
setDay
(
item
.
getDay
());
attendanceStatEntity
.
setGoTimes
(
1
);
//默认当天全勤
attendanceStatEntity
.
setId
(
temp
.
getId
());
attendanceStatEntity
.
setUpdateTime
(
new
Date
());
updateList
.
add
(
attendanceStatEntity
);
}
AttendanceStaffStatEntity
staffStat
=
new
AttendanceStaffStatEntity
();
AttendanceStaffStatEntity
staffStat
=
new
AttendanceStaffStatEntity
();
staffStat
.
initAttrValue
();
staffStat
.
initAttrValue
();
BeanUtils
.
copyProperties
(
item
,
staffStat
,
BeanUtil
.
getNullPropertyNames
(
item
));
BeanUtils
.
copyProperties
(
item
,
staffStat
,
BeanUtil
.
getNullPropertyNames
(
item
));
staffStat
.
setAttendanceSummary
(
"正常"
);
staffStat
.
setAttendanceSummary
(
"正常"
);
//todo 保存详细json信息到remark
/* AttendanceRecordQuery attendanceRecordQuery = new AttendanceRecordQuery();
attendanceRecordQuery.setStaffId(item.getStaffId());
attendanceRecordQuery.setAttendanceDateStart(query.getSummaryTime());
attendanceRecordQuery.setAttendanceDateEnd(query.getSummaryTime());
AttendanceRecordEntity recordEntity = recordService.selectOne(attendanceRecordQuery);*/
AttendanceRecordEntity
recordEntity
=
staffRecordMap
.
get
(
item
.
getStaffId
());
AttendanceRecordEntity
recordEntity
=
staffRecordMap
.
get
(
item
.
getStaffId
());
if
(!
ObjectUtils
.
isEmpty
(
recordEntity
)){
if
(!
ObjectUtils
.
isEmpty
(
recordEntity
)){
AttendanceRecordQuery
detailQuery
=
new
AttendanceRecordQuery
();
List
<
AttendanceRecordDetailEntity
>
recordDetailEntities
=
detailGroup
.
get
(
recordEntity
.
getId
());
detailQuery
.
setStaffId
(
item
.
getStaffId
());
if
(!
ObjectUtils
.
isEmpty
(
recordDetailEntities
))
{
detailQuery
.
setId
(
recordEntity
.
getId
());
//log.info("staffId:{},date:{}",staffStat.getStaffId(),date);
detailQuery
.
setAttendanceDateStart
(
query
.
getSummaryTime
());
detailQuery
.
setAttendanceDateEnd
(
query
.
getSummaryTime
());
List
<
AttendanceRecordDetailEntity
>
detailEntities
=
attendanceRecordDetailService
.
getListByWhere
(
detailQuery
);
if
(!
ObjectUtils
.
isEmpty
(
detailEntities
))
{
//log.info("detailEntities size:{}",detailEntities.size());
//log.info("detailEntities size:{}",detailEntities.size());
staffStat
.
setRemark
(
JSON
.
toJSONString
(
d
etailEntities
));
staffStat
.
setRemark
(
JSON
.
toJSONString
(
recordD
etailEntities
));
}
}
}
}
staffStat
.
setCreateTime
(
DateUtils
.
StrToDate
(
query
.
getSummaryTime
()));
AttendanceStaffStatEntity
staffStatTemp
=
attendanceStaffStatService
.
selectOne
(
new
AttendanceStaffStatQuery
().
staffId
(
item
.
getStaffId
()).
year
(
item
.
getYear
()).
month
(
item
.
getMonth
()).
day
(
item
.
getDay
()));
staffStat
.
setUpdateTime
(
new
Date
());
if
(
staffStatTemp
!=
null
)
{
staffStat
.
setCreateUserId
(
1
l
);
staffStat
.
setId
(
staffStatTemp
.
getId
());
staffStatMap
.
put
(
staffStat
.
getStaffId
(),
staffStat
);
staffStat
.
setUpdateTime
(
new
Date
());
updateStaffStat
.
add
(
staffStat
);
}
else
{
staffStat
.
setCreateTime
(
DateUtils
.
StrToDate
(
query
.
getSummaryTime
()));
staffStat
.
setCreateUserId
(
1
l
);
addStaffStat
.
add
(
staffStat
);
}
}
if
(
insertList
.
size
()>
0
){
this
.
dao
.
insertBatch
(
insertList
);
}
if
(
updateList
.
size
()>
0
){
this
.
dao
.
updateBatch
(
updateList
);
}
if
(
addStaffStat
.
size
()>
0
){
attendanceStaffStatService
.
save
(
addStaffStat
);
}
if
(
updateStaffStat
.
size
()>
0
){
attendanceStaffStatService
.
update
(
updateStaffStat
);
}
}
}
}
//log.info("完成汇总当前日期假期余额.....");
//log.info("完成汇总当前日期假期余额.....");
...
@@ -376,9 +331,6 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc
...
@@ -376,9 +331,6 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc
if
(
CollectionUtils
.
isNotEmpty
(
errorSummaryVoList
))
{
if
(
CollectionUtils
.
isNotEmpty
(
errorSummaryVoList
))
{
log
.
info
(
"考勤异常查询条件:"
+
JSON
.
toJSONString
(
query
));
log
.
info
(
"考勤异常查询条件:"
+
JSON
.
toJSONString
(
query
));
log
.
info
(
"当前日期考勤异常人数"
+
errorSummaryVoList
.
size
());
log
.
info
(
"当前日期考勤异常人数"
+
errorSummaryVoList
.
size
());
List
<
AttendanceStatEntity
>
updateList
=
new
ArrayList
<>();
List
<
AttendanceStaffStatEntity
>
addStaffStat
=
new
ArrayList
<>();
List
<
AttendanceStaffStatEntity
>
updateStaffStat
=
new
ArrayList
<>();
for
(
ErrorSummaryVo
item
:
errorSummaryVoList
)
{
for
(
ErrorSummaryVo
item
:
errorSummaryVoList
)
{
if
(
item
.
getStatus
()
==
StaffSatusEnum
.
离职
.
getValue
()){
if
(
item
.
getStatus
()
==
StaffSatusEnum
.
离职
.
getValue
()){
continue
;
continue
;
...
@@ -394,19 +346,14 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc
...
@@ -394,19 +346,14 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc
// continue;
// continue;
// }
// }
}
}
AttendanceStatEntity
temp
=
this
.
selectOne
(
new
AttendanceStatQuery
().
staffId
(
item
.
getStaffId
()).
year
(
item
.
getYear
()).
month
(
item
.
getMonth
()).
day
(
item
.
getDay
()));
AttendanceStatEntity
temp
=
statMap
.
get
(
item
.
getStaffId
());
String
staffName
=
""
;
if
(
temp
!=
null
)
{
if
(
temp
!=
null
)
{
staffName
=
temp
.
getStaffName
();
BeanUtils
.
copyProperties
(
item
,
temp
,
BeanUtil
.
getNullPropertyNames
(
item
));
temp
.
setGoTimes
(
0
);
//默认只要有异常考勤,当天就不算全勤
temp
.
setGoTimes
(
0
);
//默认只要有异常考勤,当天就不算全勤
if
(
item
.
getMorningTimes
()
>
0
)
{
if
(
item
.
getMorningTimes
()
>
0
)
{
temp
.
setNonCompliancePunch
(
new
BigDecimal
(
item
.
getMorningTimes
()));
temp
.
setNonCompliancePunch
(
new
BigDecimal
(
item
.
getMorningTimes
()));
}
}
//this.dao.update(temp);
temp
.
setStaffName
(
staffName
);
temp
.
setUpdateTime
(
new
Date
());
temp
.
setUpdateTime
(
new
Date
());
updateList
.
add
(
temp
);
statMap
.
put
(
temp
.
getStaffId
(),
temp
);
}
}
String
attendanceSummary
=
""
;
String
attendanceSummary
=
""
;
int
normal
=
4
;
//正常次数
int
normal
=
4
;
//正常次数
...
@@ -430,73 +377,24 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc
...
@@ -430,73 +377,24 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc
attendanceSummary
+=
"事假全天*"
+
item
.
getLeaveDay
()
+
"次;"
;
attendanceSummary
+=
"事假全天*"
+
item
.
getLeaveDay
()
+
"次;"
;
normal
=
0
;
normal
=
0
;
}
}
AttendanceStaffStatEntity
staffStat
=
new
AttendanceStaffStatEntity
();
staffStat
.
initAttrValue
();
BeanUtils
.
copyProperties
(
item
,
staffStat
,
BeanUtil
.
getNullPropertyNames
(
item
));
if
(
normal
>
0
){
if
(
normal
>
0
){
attendanceSummary
=
"正常*"
+
normal
+
"次;"
+
attendanceSummary
;
attendanceSummary
=
"正常*"
+
normal
+
"次;"
+
attendanceSummary
;
}
}
staffStat
.
setAttendanceSummary
(
attendanceSummary
);
AttendanceStaffStatEntity
staffStat
=
staffStatMap
.
get
(
item
.
getStaffId
());
if
(
staffStat
!=
null
){
if
(!
ObjectUtils
.
isEmpty
(
attendanceSummary
))
{
staffStat
.
setAttendanceSummary
(
attendanceSummary
);
//todo 保存详细json信息到remark
staffStatMap
.
put
(
staffStat
.
getStaffId
(),
staffStat
);
//格式化年月日
String
date
=
staffStat
.
getYear
()
+
"-"
+
StrUtil
.
padPre
(
staffStat
.
getMonth
()
+
""
,
2
,
"0"
)+
"-"
+
StrUtil
.
padPre
(
staffStat
.
getDay
()
+
""
,
2
,
"0"
);
AttendanceRecordQuery
attendanceRecordQuery
=
new
AttendanceRecordQuery
();
attendanceRecordQuery
.
setStaffId
(
staffStat
.
getStaffId
());
attendanceRecordQuery
.
setAttendanceDateStart
(
date
);
attendanceRecordQuery
.
setAttendanceDateEnd
(
date
);
AttendanceRecordEntity
recordEntity
=
recordService
.
selectOne
(
attendanceRecordQuery
);
if
(!
ObjectUtils
.
isEmpty
(
recordEntity
)){
AttendanceRecordQuery
detailQuery
=
new
AttendanceRecordQuery
();
detailQuery
.
setStaffId
(
staffStat
.
getStaffId
());
detailQuery
.
setId
(
recordEntity
.
getId
());
//log.info("staffId:{},date:{}",staffStat.getStaffId(),date);
detailQuery
.
setAttendanceDateStart
(
date
);
detailQuery
.
setAttendanceDateEnd
(
date
);
List
<
AttendanceRecordDetailEntity
>
detailEntities
=
attendanceRecordDetailService
.
getListByWhere
(
detailQuery
);
if
(!
ObjectUtils
.
isEmpty
(
detailEntities
))
{
//log.info("detailEntities size:{}",detailEntities.size());
staffStat
.
setRemark
(
JSON
.
toJSONString
(
detailEntities
));
}
}
}
staffStat
.
setStaffName
(
staffName
);
AttendanceStaffStatEntity
staffStatTemp
=
attendanceStaffStatService
.
selectOne
(
new
AttendanceStaffStatQuery
().
staffId
(
item
.
getStaffId
()).
year
(
item
.
getYear
()).
month
(
item
.
getMonth
()).
day
(
item
.
getDay
()));
if
(
staffStatTemp
!=
null
)
{
staffStat
.
setId
(
staffStatTemp
.
getId
());
staffStat
.
setUpdateTime
(
new
Date
());
//attendanceStaffStatService.update(staffStat);
//log.info(JSON.toJSONString(staffStat));
updateStaffStat
.
add
(
staffStat
);
}
else
{
staffStat
.
setCreateTime
(
DateUtils
.
StrToDate
(
query
.
getSummaryTime
()));
staffStat
.
setCreateUserId
(
1
l
);
//attendanceStaffStatService.save(staffStat);
//log.info(JSON.toJSONString(staffStat));
addStaffStat
.
add
(
staffStat
);
}
}
}
}
if
(
updateList
.
size
()>
0
){
this
.
dao
.
updateBatch
(
updateList
);
}
if
(
addStaffStat
.
size
()>
0
){
attendanceStaffStatService
.
save
(
addStaffStat
);
//log.info("attendanceStaffStatService新增数据:"+u);
}
if
(
updateStaffStat
.
size
()>
0
){
attendanceStaffStatService
.
update
(
updateStaffStat
);
//log.info("attendanceStaffStatService更新数据:"+u);
}
}
}
log
.
info
(
"完成汇总当前日期异常考勤....."
);
log
.
info
(
"完成汇总当前日期异常考勤....."
);
//汇总当前日期请假情况
//汇总当前日期请假情况
List
<
LeaveSummaryVo
>
leaveSummaryVoList
=
attendanceSummaryDao
.
getLeaveSummary
(
query
);
List
<
LeaveSummaryVo
>
leaveSummaryVoList
=
attendanceSummaryDao
.
getLeaveSummary
(
query
);
if
(
CollectionUtils
.
isNotEmpty
(
leaveSummaryVoList
))
{
if
(
CollectionUtils
.
isNotEmpty
(
leaveSummaryVoList
))
{
List
<
AttendanceStatEntity
>
updateList
=
new
ArrayList
<>();
List
<
AttendanceStaffStatEntity
>
addStaffStat
=
new
ArrayList
<>();
List
<
AttendanceStaffStatEntity
>
updateStaffStat
=
new
ArrayList
<>();
BigDecimal
day
=
new
BigDecimal
(
3600
*
8
);
//一天按8小时折算
BigDecimal
day
=
new
BigDecimal
(
3600
*
8
);
//一天按8小时折算
BigDecimal
oneDay
=
new
BigDecimal
(
1
);
BigDecimal
oneDay
=
new
BigDecimal
(
1
);
for
(
LeaveSummaryVo
item
:
leaveSummaryVoList
)
{
for
(
LeaveSummaryVo
item
:
leaveSummaryVoList
)
{
...
@@ -515,10 +413,8 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc
...
@@ -515,10 +413,8 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc
// }
// }
}
}
String
attendanceSummary
=
""
;
String
attendanceSummary
=
""
;
AttendanceStatEntity
temp
=
this
.
selectOne
(
new
AttendanceStatQuery
().
staffId
(
item
.
getStaffId
()).
year
(
item
.
getYear
()).
month
(
item
.
getMonth
()).
day
(
item
.
getDay
()));
AttendanceStatEntity
temp
=
statMap
.
get
(
item
.
getStaffId
());
String
staffName
=
""
;
if
(
temp
!=
null
)
{
if
(
temp
!=
null
)
{
staffName
=
temp
.
getStaffName
();
BigDecimal
leaveTime
=
new
BigDecimal
(
item
.
getDuration
()).
divide
(
day
,
1
,
BigDecimal
.
ROUND_HALF_DOWN
);
BigDecimal
leaveTime
=
new
BigDecimal
(
item
.
getDuration
()).
divide
(
day
,
1
,
BigDecimal
.
ROUND_HALF_DOWN
);
String
endStr
=
DateUtils
.
getStrDate
(
item
.
getEndTime
());
String
endStr
=
DateUtils
.
getStrDate
(
item
.
getEndTime
());
String
dayStr
=
query
.
getSummaryTime
();
String
dayStr
=
query
.
getSummaryTime
();
...
@@ -624,44 +520,32 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc
...
@@ -624,44 +520,32 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc
break
;
break
;
}
}
//this.dao.update(temp);
//this.dao.update(temp);
temp
.
setStaffName
(
staffName
);
temp
.
setUpdateTime
(
new
Date
());
temp
.
setUpdateTime
(
new
Date
());
updateList
.
add
(
temp
);
statMap
.
put
(
temp
.
getStaffId
(),
temp
);
}
}
AttendanceStaffStatEntity
staffStat
=
new
AttendanceStaffStatEntity
();
AttendanceStaffStatEntity
staffStatTemp
=
staffStatMap
.
get
(
item
.
getStaffId
());
staffStat
.
initAttrValue
();
BeanUtils
.
copyProperties
(
item
,
staffStat
,
BeanUtil
.
getNullPropertyNames
(
item
));
AttendanceStaffStatEntity
staffStatTemp
=
attendanceStaffStatService
.
selectOne
(
new
AttendanceStaffStatQuery
().
staffId
(
item
.
getStaffId
()).
year
(
item
.
getYear
()).
month
(
item
.
getMonth
()).
day
(
item
.
getDay
()));
staffStat
.
setStaffName
(
staffName
);
if
(
staffStatTemp
!=
null
)
{
if
(
staffStatTemp
!=
null
)
{
staffStat
.
setId
(
staffStatTemp
.
getId
());
staffStat
.
setUpdateTime
(
new
Date
());
if
(
staffStatTemp
.
getAttendanceSummary
().
equals
(
"正常"
)){
if
(
staffStatTemp
.
getAttendanceSummary
().
equals
(
"正常"
)){
staffStat
.
setAttendanceSummary
(
attendanceSummary
);
staffStat
Temp
.
setAttendanceSummary
(
attendanceSummary
);
}
else
{
}
else
{
staffStat
.
setAttendanceSummary
(
staffStatTemp
.
getAttendanceSummary
()
+
attendanceSummary
);
staffStat
Temp
.
setAttendanceSummary
(
staffStatTemp
.
getAttendanceSummary
()
+
attendanceSummary
);
}
}
staffStat
.
setRemark
(
staffStatTemp
.
getRemark
());
staffStatMap
.
put
(
staffStatTemp
.
getStaffId
(),
staffStatTemp
);
updateStaffStat
.
add
(
staffStat
);
}
else
{
staffStat
.
setCreateTime
(
DateUtils
.
StrToDate
(
query
.
getSummaryTime
()));
staffStat
.
setCreateUserId
(
1
l
);
staffStat
.
setAttendanceSummary
(
attendanceSummary
);
addStaffStat
.
add
(
staffStat
);
}
}
}
}
if
(
updateList
.
size
()>
0
){
this
.
dao
.
updateBatch
(
updateList
);
}
if
(
addStaffStat
.
size
()>
0
){
attendanceStaffStatService
.
save
(
addStaffStat
);
}
if
(
updateStaffStat
.
size
()>
0
){
attendanceStaffStatService
.
update
(
updateStaffStat
);
}
}
}
log
.
info
(
"完成汇总当前日期请假情况....."
);
log
.
info
(
"完成汇总当前日期请假情况....."
);
if
(
statMap
.
size
()>
0
){
List
<
AttendanceStatEntity
>
insertList
=
new
ArrayList
<>(
statMap
.
values
());
this
.
dao
.
insertBatch
(
insertList
);
}
if
(
staffStatMap
.
size
()>
0
){
List
<
AttendanceStaffStatEntity
>
addStaffStat
=
new
ArrayList
<>(
staffStatMap
.
values
());
//List<AttendanceStaffStatEntity> addStaffStat = staffStatMap.values().stream().collect(Collectors.toList());
attendanceStaffStatService
.
save
(
addStaffStat
);
}
cacheService
.
set
(
ATTENDANCE_STAT_TIME
,
DateUtils
.
getCurrStrDateTime
());
cacheService
.
set
(
ATTENDANCE_STAT_TIME
,
DateUtils
.
getCurrStrDateTime
());
log
.
info
(
"日期:"
+
query
.
getSummaryTime
()
+
",考勤汇总执行完成,耗时:"
+
(
System
.
currentTimeMillis
()
-
currentTime
)
+
"毫秒...."
);
log
.
info
(
"日期:"
+
query
.
getSummaryTime
()
+
",考勤汇总执行完成,耗时:"
+
(
System
.
currentTimeMillis
()
-
currentTime
)
+
"毫秒...."
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
...
@@ -669,6 +553,7 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc
...
@@ -669,6 +553,7 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc
}
}
}
}
@Override
@Override
public
Result
<
AttendanceStatEntity
>
findExt
(
AttendanceSummaryQuery
params
,
PageInfo
pageInfo
,
Context
context
)
throws
AppException
{
public
Result
<
AttendanceStatEntity
>
findExt
(
AttendanceSummaryQuery
params
,
PageInfo
pageInfo
,
Context
context
)
throws
AppException
{
if
(
params
==
null
)
{
if
(
params
==
null
)
{
...
@@ -804,8 +689,4 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc
...
@@ -804,8 +689,4 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc
cacheService
.
set
(
RedisKey
.
KEY_HOME_STAT_CACHE
,
JSON
.
toJSONString
(
homeStatInfo
));
cacheService
.
set
(
RedisKey
.
KEY_HOME_STAT_CACHE
,
JSON
.
toJSONString
(
homeStatInfo
));
}
}
public
static
void
main
(
String
[]
args
)
{
String
ss
=
"2024-08-01"
;
System
.
out
.
println
(
ss
.
substring
(
0
,
7
));
}
}
}
\ 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