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
79e952f9
Commit
79e952f9
authored
10 months ago
by
廖旭伟
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
a12241fe
f42c091d
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
79 additions
and
40 deletions
+79
-40
attendance-performance-manager/src/main/java/com/mortals/xhx/daemon/task/CalculateDayAttendTaskImpl.java
...m/mortals/xhx/daemon/task/CalculateDayAttendTaskImpl.java
+18
-14
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/dao/AttendanceRecordDao.java
...ortals/xhx/module/attendance/dao/AttendanceRecordDao.java
+4
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/dao/ibatis/AttendanceRecordDaoImpl.java
...module/attendance/dao/ibatis/AttendanceRecordDaoImpl.java
+13
-7
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/AttendanceRecordService.java
...hx/module/attendance/service/AttendanceRecordService.java
+3
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordServiceImpl.java
.../attendance/service/impl/AttendanceRecordServiceImpl.java
+18
-19
attendance-performance-manager/src/main/resources/sqlmap/module/attendance/AttendanceRecordMapperExt.xml
...es/sqlmap/module/attendance/AttendanceRecordMapperExt.xml
+23
-0
No files found.
attendance-performance-manager/src/main/java/com/mortals/xhx/daemon/task/CalculateDayAttendTaskImpl.java
View file @
79e952f9
...
...
@@ -12,6 +12,7 @@ import com.mortals.xhx.module.attendance.model.*;
import
com.mortals.xhx.module.attendance.service.AttendanceGroupFixedworkService
;
import
com.mortals.xhx.module.attendance.service.AttendanceGroupStaffService
;
import
com.mortals.xhx.module.attendance.service.AttendanceRecordHikService
;
import
com.mortals.xhx.module.attendance.service.AttendanceRecordService
;
import
com.mortals.xhx.module.holiday.model.HolidayEntity
;
import
com.mortals.xhx.module.holiday.model.HolidayQuery
;
import
com.mortals.xhx.module.holiday.service.HolidayService
;
...
...
@@ -35,28 +36,31 @@ public class CalculateDayAttendTaskImpl implements ITaskExcuteService {
@Autowired
private
AttendanceRecordHikService
recordHikService
;
@Autowired
private
StaffService
staffService
;
@Autowired
private
AttendanceGroupStaffService
attendanceGroupStaffService
;
@Autowired
private
AttendanceGroupFixedworkService
groupFixedworkService
;
@Autowired
private
HolidayService
holidayService
;
private
AttendanceRecordService
attendanceRecordService
;
@Override
public
void
excuteTask
(
ITask
task
)
throws
AppException
{
//查询当日考勤记录,查询未考勤人员,构造一条假记录方便计算
AttendanceRecordHikQuery
recordHikQuery
=
new
AttendanceRecordHikQuery
();
recordHikQuery
.
setAttendanceDateStart
(
DateUtil
.
today
());
recordHikQuery
.
setAttendanceDateEnd
(
DateUtil
.
today
());
try
{
AttendanceRecordHikQuery
recordHikQuery
=
new
AttendanceRecordHikQuery
();
recordHikQuery
.
setAttendanceDateStart
(
DateUtil
.
today
());
recordHikQuery
.
setAttendanceDateEnd
(
DateUtil
.
today
());
recordHikQuery
.
setAttendanceDateStart
(
DateUtil
.
today
());
recordHikQuery
.
setAttendanceDateEnd
(
DateUtil
.
today
());
// recordHikService.buildCustomHikRecord(recordHikQuery, null);
recordHikService
.
buildAllCustomHikRecord
(
recordHikQuery
,
null
);
}
catch
(
Exception
e
)
{
recordHikQuery
.
setAttendanceDateStart
(
DateUtil
.
today
());
recordHikQuery
.
setAttendanceDateEnd
(
DateUtil
.
today
());
// recordHikService.buildCustomHikRecord(recordHikQuery, null);
}
recordHikService
.
buildAllCustomHikRecord
(
recordHikQuery
,
null
);
int
delCount
=
attendanceRecordService
.
getDao
().
deleteDuplicateRecord
(
);
log
.
info
(
"删除重复记录条数:{}"
,
delCount
);
//初始化添加考勤记录到每个人
...
...
This diff is collapsed.
Click to expand it.
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/dao/AttendanceRecordDao.java
View file @
79e952f9
...
...
@@ -18,4 +18,8 @@ public interface AttendanceRecordDao extends ICRUDDao<AttendanceRecordEntity,Lo
* 获取打卡记录id
* */
AttendanceRecordEntity
getRecordId
(
Long
id
);
int
deleteDuplicateRecord
();
}
This diff is collapsed.
Click to expand it.
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/dao/ibatis/AttendanceRecordDaoImpl.java
View file @
79e952f9
...
...
@@ -5,18 +5,24 @@ import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import
com.mortals.xhx.module.attendance.dao.AttendanceRecordDao
;
import
com.mortals.xhx.module.attendance.model.AttendanceRecordEntity
;
import
org.springframework.stereotype.Repository
;
/**
* 考勤打卡记录信息DaoImpl DAO接口
*
* @author zxfei
* @date 2023-04-07
*/
* 考勤打卡记录信息DaoImpl DAO接口
*
* @author zxfei
* @date 2023-04-07
*/
@Repository
(
"attendanceRecordDao"
)
public
class
AttendanceRecordDaoImpl
extends
BaseCRUDDaoMybatis
<
AttendanceRecordEntity
,
Long
>
implements
AttendanceRecordDao
{
public
class
AttendanceRecordDaoImpl
extends
BaseCRUDDaoMybatis
<
AttendanceRecordEntity
,
Long
>
implements
AttendanceRecordDao
{
@Override
public
AttendanceRecordEntity
getRecordId
(
Long
id
)
{
return
getSqlSession
().
selectOne
(
getSqlId
(
"getRecordId"
),
id
);
return
getSqlSession
().
selectOne
(
getSqlId
(
"getRecordId"
),
id
);
}
@Override
public
int
deleteDuplicateRecord
()
{
return
getSqlSession
().
delete
(
getSqlId
(
"delete-duplicate-record"
));
}
}
This diff is collapsed.
Click to expand it.
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/AttendanceRecordService.java
View file @
79e952f9
...
...
@@ -3,6 +3,8 @@ package com.mortals.xhx.module.attendance.service;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.service.ICRUDService
;
import
com.mortals.xhx.module.attendance.dao.AttendanceRecordDao
;
import
com.mortals.xhx.module.attendance.dao.AttendanceRecordHikDao
;
import
com.mortals.xhx.module.attendance.model.AttendanceRecordEntity
;
import
com.mortals.xhx.module.attendance.model.vo.AttendStatInfo
;
...
...
@@ -16,6 +18,7 @@ import com.mortals.xhx.module.attendance.model.vo.AttendStatInfo;
*/
public
interface
AttendanceRecordService
extends
ICRUDService
<
AttendanceRecordEntity
,
Long
>
{
AttendanceRecordDao
getDao
();
Rest
<
AttendStatInfo
>
statByDay
(
Context
context
);
...
...
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 @
79e952f9
...
...
@@ -39,28 +39,27 @@ public class AttendanceRecordServiceImpl extends AbstractCRUDServiceImpl<Attenda
@Override
protected
void
findAfter
(
AttendanceRecordEntity
params
,
PageInfo
pageInfo
,
Context
context
,
List
<
AttendanceRecordEntity
>
list
)
throws
AppException
{
list
.
stream
().
map
(
item
->
{
List
<
AttendanceRecordDetailEntity
>
attendanceRecordDetailEntities
=
attendanceRecordDetailService
.
find
(
new
AttendanceRecordDetailQuery
().
recordId
(
item
.
getId
()));
item
.
setAttendanceRecordDetailList
(
attendanceRecordDetailEntities
);
return
item
;
}).
collect
(
Collectors
.
toList
());
protected
void
findAfter
(
AttendanceRecordEntity
params
,
PageInfo
pageInfo
,
Context
context
,
List
<
AttendanceRecordEntity
>
list
)
throws
AppException
{
fillSubData
(
list
);
super
.
findAfter
(
params
,
pageInfo
,
context
,
list
);
}
@Override
protected
void
findAfter
(
AttendanceRecordEntity
entity
,
Context
context
,
List
<
AttendanceRecordEntity
>
list
)
throws
AppException
{
//Map<Long, List<AttendanceRecordDetailEntity>> collect = attendanceRecordDetailService.find(new AttendanceRecordDetailQuery()).parallelStream().collect(Collectors.groupingBy(x -> x.getRecordId()));
list
.
stream
().
map
(
item
->
{
List
<
AttendanceRecordDetailEntity
>
attendanceRecordDetailEntities
=
attendanceRecordDetailService
.
find
(
new
AttendanceRecordDetailQuery
().
recordId
(
item
.
getId
()));
if
(
CollectionUtils
.
isNotEmpty
(
attendanceRecordDetailEntities
))
{
attendanceRecordDetailEntities
.
forEach
(
i
->
{
i
.
setStaffId
(
item
.
getStaffId
());
});
}
//List<AttendanceRecordDetailEntity> attendanceRecordDetailEntities = attendanceRecordDetailService.find(new AttendanceRecordDetailQuery().recordId(item.getId()));
protected
void
findAfter
(
AttendanceRecordEntity
params
,
Context
context
,
List
<
AttendanceRecordEntity
>
list
)
throws
AppException
{
fillSubData
(
list
);
super
.
findAfter
(
params
,
context
,
list
);
}
private
void
fillSubData
(
List
<
AttendanceRecordEntity
>
list
)
{
List
<
Long
>
idList
=
list
.
stream
().
map
(
i
->
i
.
getId
()).
collect
(
Collectors
.
toList
());
if
(
ObjectUtils
.
isEmpty
(
idList
))
return
;
AttendanceRecordDetailQuery
attendanceRecordDetailQuery
=
new
AttendanceRecordDetailQuery
();
attendanceRecordDetailQuery
.
setRecordIdList
(
idList
);
Map
<
Long
,
List
<
AttendanceRecordDetailEntity
>>
attendanceRecordDetailListMap
=
attendanceRecordDetailService
.
find
(
attendanceRecordDetailQuery
).
stream
().
collect
(
Collectors
.
groupingBy
(
AttendanceRecordDetailEntity:
:
getRecordId
));
list
.
forEach
(
item
->{
List
<
AttendanceRecordDetailEntity
>
attendanceRecordDetailEntities
=
attendanceRecordDetailListMap
.
get
(
item
.
getId
());
attendanceRecordDetailEntities
.
forEach
(
i
->
i
.
setStaffId
(
item
.
getStaffId
()));
item
.
setAttendanceRecordDetailList
(
attendanceRecordDetailEntities
);
return
item
;
}).
collect
(
Collectors
.
toList
());
}
);
}
@Override
...
...
This diff is collapsed.
Click to expand it.
attendance-performance-manager/src/main/resources/sqlmap/module/attendance/AttendanceRecordMapperExt.xml
0 → 100644
View file @
79e952f9
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper
namespace=
"com.mortals.xhx.module.attendance.dao.ibatis.AttendanceRecordDaoImpl"
>
<delete
id=
"delete-duplicate-record"
>
DELETE
FROM
mortals_xhx_attendance_record
WHERE
id IN (
SELECT a.id FROM (SELECT
id
FROM
mortals_xhx_attendance_record
GROUP BY
staffId,
DATE_FORMAT( attendanceDate, '%y-%m-%d' )
HAVING
count( staffId ) > 1
ORDER BY
attendanceDate) AS a )
</delete>
</mapper>
\ No newline at end of file
This diff is collapsed.
Click to expand it.
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