From 62a780772060da899e252c329ac36c41a858a981 Mon Sep 17 00:00:00 2001 From: haha Date: Thu, 1 Feb 2024 23:05:24 +0800 Subject: [PATCH] update code --- ruoyi-ui/src/api/project/attendanceWorker.js | 6 +++- .../SurProjectAttendanceUserController.java | 9 +++-- .../domain/SurProjectAttendanceUser.java | 11 +++++++ .../SurProjectAttendanceUserMapper.java | 13 +++++++- .../ISurProjectAttendanceUserService.java | 4 ++- .../SurProjectAttendanceUserServiceImpl.java | 24 ++++++++++++-- .../SurProjectAttendanceUserMapper.xml | 33 +++++++++++++++++++ 7 files changed, 92 insertions(+), 8 deletions(-) diff --git a/ruoyi-ui/src/api/project/attendanceWorker.js b/ruoyi-ui/src/api/project/attendanceWorker.js index 5a3ac477..7b2df96f 100644 --- a/ruoyi-ui/src/api/project/attendanceWorker.js +++ b/ruoyi-ui/src/api/project/attendanceWorker.js @@ -52,6 +52,10 @@ export function queryAttendanceData(data){ return request({ url: `/project/attendanceWorker/queryAttendanceData?pageNum=${data.pageNum}&pageSize=${data.pageSize}`, method: 'post', - data:data + data:{ + ...data, + index:((data.pageNum||1)-1)*data.pageSize, + size:data.pageSize + } }) } diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/controller/SurProjectAttendanceUserController.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/controller/SurProjectAttendanceUserController.java index 4602610b..6b85b336 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/controller/SurProjectAttendanceUserController.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/controller/SurProjectAttendanceUserController.java @@ -105,9 +105,12 @@ public class SurProjectAttendanceUserController extends BaseController } @PostMapping("/queryAttendanceData") - public TableDataInfo queryAttendanceData(@RequestBody SurProjectAttendanceCfg where){ - startPage(); + public TableDataInfo queryAttendanceData(@RequestBody SurProjectAttendanceUser where){ + long cnt=surProjectAttendanceUserService.countAttendance(where); List list =surProjectAttendanceUserService.queryAttendanceData(where); - return getDataTable(list); + TableDataInfo dataInfo=new TableDataInfo(); + dataInfo.setTotal(cnt); + dataInfo.setRows(list); + return dataInfo; } } diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/domain/SurProjectAttendanceUser.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/domain/SurProjectAttendanceUser.java index 9724dc19..ddf1e6c0 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/domain/SurProjectAttendanceUser.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/domain/SurProjectAttendanceUser.java @@ -8,6 +8,7 @@ import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.core.domain.BaseEntity; import java.util.Date; +import java.util.List; /** * 考勤人员基本属性对象 sur_project_attendance_user @@ -213,6 +214,16 @@ public class SurProjectAttendanceUser extends BaseEntity private Long subDeptId; private Long deptId; + private List workerIds; + + public List getWorkerIds() { + return workerIds; + } + + public void setWorkerIds(List workerIds) { + this.workerIds = workerIds; + } + private int size; public int getSize() { diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectAttendanceUserMapper.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectAttendanceUserMapper.java index 90c3e33d..7ed2d4f2 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectAttendanceUserMapper.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectAttendanceUserMapper.java @@ -77,10 +77,21 @@ public interface SurProjectAttendanceUserMapper */ public int batchSurProjectAttendanceUser(List surProjectAttendanceUserList); - public List queryAttendanceData(SurProjectAttendanceCfg where); + /** + * 下面三个方法完成考勤记录分页查询 + * countAttendance 获取总记录条数 + * queryAttendanceUsers 获取当前页workerIds + * queryAttendanceByUserIds 根据workerIds查询一页数据然后组装 + * @param where + * @return + */ + public List queryAttendanceByUserIds(SurProjectAttendanceUser where); + public long countAttendance(SurProjectAttendanceCfg where); + public List queryAttendanceUsers(SurProjectAttendanceUser where); public long countTodayAttendance(SurProjectAttendanceUser where); + public List todayAttendance(SurProjectAttendanceUser where); public List todayAttendanceData(List list); } diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectAttendanceUserService.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectAttendanceUserService.java index 662b7a47..f930ef12 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectAttendanceUserService.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectAttendanceUserService.java @@ -79,9 +79,11 @@ public interface ISurProjectAttendanceUserService public void add(SurProjectAttendanceUser user); - public List queryAttendanceData(SurProjectAttendanceCfg where); + public List queryAttendanceData(SurProjectAttendanceUser where); public long countTodayAttendance(SurProjectAttendanceUser where); public List todayAttendance(SurProjectAttendanceUser where); + + public long countAttendance(SurProjectAttendanceUser where); } diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectAttendanceUserServiceImpl.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectAttendanceUserServiceImpl.java index db0655e9..f5028257 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectAttendanceUserServiceImpl.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectAttendanceUserServiceImpl.java @@ -141,8 +141,19 @@ public class SurProjectAttendanceUserServiceImpl implements ISurProjectAttendanc } @Override - public List queryAttendanceData(SurProjectAttendanceCfg where) { - return surProjectAttendanceUserMapper.queryAttendanceData(where); + public List queryAttendanceData(SurProjectAttendanceUser where) { + List list= surProjectAttendanceUserMapper.queryAttendanceUsers(where); + List workerIds=new ArrayList<>(); + for(SurProjectAttendanceUser u: list){ + workerIds.add(u.getWorkerId()); + } + where.setWorkerIds(workerIds); + List datas=surProjectAttendanceUserMapper.todayAttendanceData(workerIds); + for (SurProjectAttendanceUser u:list) { + u.setInTime(findDate(datas,u,"E")); + u.setOutTime(findDate(datas,u,"L")); + } + return list; } @Override @@ -169,6 +180,15 @@ public class SurProjectAttendanceUserServiceImpl implements ISurProjectAttendanc return list; } + @Override + public long countAttendance(SurProjectAttendanceUser user) { + SurProjectAttendanceCfg where=new SurProjectAttendanceCfg(); + where.setCreateBy(user.getCreateBy()); + where.setSubDeptId(user.getSubDeptId()); + where.setProjectId(user.getProjectId()); + return surProjectAttendanceUserMapper.countAttendance(where); + } + private Date findDate(List datas, SurProjectAttendanceUser u, String type) { for (SurProjectAttendanceUser user:datas) { if(user.getWorkerId().equals(u.getWorkerId()) && user.getName().equals(type)){ diff --git a/yanzhu-jh/src/main/resources/mapper/project/SurProjectAttendanceUserMapper.xml b/yanzhu-jh/src/main/resources/mapper/project/SurProjectAttendanceUserMapper.xml index 2b0ab838..182014ba 100644 --- a/yanzhu-jh/src/main/resources/mapper/project/SurProjectAttendanceUserMapper.xml +++ b/yanzhu-jh/src/main/resources/mapper/project/SurProjectAttendanceUserMapper.xml @@ -299,6 +299,39 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ) m left join sur_project_attendance_user n on m.workerId=n.workerId ) oo + + + + +