update code
parent
88326fad41
commit
62a7807720
|
@ -52,6 +52,10 @@ export function queryAttendanceData(data){
|
||||||
return request({
|
return request({
|
||||||
url: `/project/attendanceWorker/queryAttendanceData?pageNum=${data.pageNum}&pageSize=${data.pageSize}`,
|
url: `/project/attendanceWorker/queryAttendanceData?pageNum=${data.pageNum}&pageSize=${data.pageSize}`,
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data:data
|
data:{
|
||||||
|
...data,
|
||||||
|
index:((data.pageNum||1)-1)*data.pageSize,
|
||||||
|
size:data.pageSize
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -105,9 +105,12 @@ public class SurProjectAttendanceUserController extends BaseController
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/queryAttendanceData")
|
@PostMapping("/queryAttendanceData")
|
||||||
public TableDataInfo queryAttendanceData(@RequestBody SurProjectAttendanceCfg where){
|
public TableDataInfo queryAttendanceData(@RequestBody SurProjectAttendanceUser where){
|
||||||
startPage();
|
long cnt=surProjectAttendanceUserService.countAttendance(where);
|
||||||
List<SurProjectAttendanceUser> list =surProjectAttendanceUserService.queryAttendanceData(where);
|
List<SurProjectAttendanceUser> list =surProjectAttendanceUserService.queryAttendanceData(where);
|
||||||
return getDataTable(list);
|
TableDataInfo dataInfo=new TableDataInfo();
|
||||||
|
dataInfo.setTotal(cnt);
|
||||||
|
dataInfo.setRows(list);
|
||||||
|
return dataInfo;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,6 +8,7 @@ import com.ruoyi.common.annotation.Excel;
|
||||||
import com.ruoyi.common.core.domain.BaseEntity;
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 考勤人员基本属性对象 sur_project_attendance_user
|
* 考勤人员基本属性对象 sur_project_attendance_user
|
||||||
|
@ -213,6 +214,16 @@ public class SurProjectAttendanceUser extends BaseEntity
|
||||||
private Long subDeptId;
|
private Long subDeptId;
|
||||||
private Long deptId;
|
private Long deptId;
|
||||||
|
|
||||||
|
private List<String> workerIds;
|
||||||
|
|
||||||
|
public List<String> getWorkerIds() {
|
||||||
|
return workerIds;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setWorkerIds(List<String> workerIds) {
|
||||||
|
this.workerIds = workerIds;
|
||||||
|
}
|
||||||
|
|
||||||
private int size;
|
private int size;
|
||||||
|
|
||||||
public int getSize() {
|
public int getSize() {
|
||||||
|
|
|
@ -77,10 +77,21 @@ public interface SurProjectAttendanceUserMapper
|
||||||
*/
|
*/
|
||||||
public int batchSurProjectAttendanceUser(List<SurProjectAttendanceUser> surProjectAttendanceUserList);
|
public int batchSurProjectAttendanceUser(List<SurProjectAttendanceUser> surProjectAttendanceUserList);
|
||||||
|
|
||||||
public List<SurProjectAttendanceUser> queryAttendanceData(SurProjectAttendanceCfg where);
|
/**
|
||||||
|
* 下面三个方法完成考勤记录分页查询
|
||||||
|
* countAttendance 获取总记录条数
|
||||||
|
* queryAttendanceUsers 获取当前页workerIds
|
||||||
|
* queryAttendanceByUserIds 根据workerIds查询一页数据然后组装
|
||||||
|
* @param where
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public List<SurProjectAttendanceUser> queryAttendanceByUserIds(SurProjectAttendanceUser where);
|
||||||
|
public long countAttendance(SurProjectAttendanceCfg where);
|
||||||
|
public List<SurProjectAttendanceUser> queryAttendanceUsers(SurProjectAttendanceUser where);
|
||||||
|
|
||||||
public long countTodayAttendance(SurProjectAttendanceUser where);
|
public long countTodayAttendance(SurProjectAttendanceUser where);
|
||||||
|
|
||||||
|
|
||||||
public List<SurProjectAttendanceUser> todayAttendance(SurProjectAttendanceUser where);
|
public List<SurProjectAttendanceUser> todayAttendance(SurProjectAttendanceUser where);
|
||||||
public List<SurProjectAttendanceUser> todayAttendanceData(List<String> list);
|
public List<SurProjectAttendanceUser> todayAttendanceData(List<String> list);
|
||||||
}
|
}
|
||||||
|
|
|
@ -79,9 +79,11 @@ public interface ISurProjectAttendanceUserService
|
||||||
|
|
||||||
public void add(SurProjectAttendanceUser user);
|
public void add(SurProjectAttendanceUser user);
|
||||||
|
|
||||||
public List<SurProjectAttendanceUser> queryAttendanceData(SurProjectAttendanceCfg where);
|
public List<SurProjectAttendanceUser> queryAttendanceData(SurProjectAttendanceUser where);
|
||||||
|
|
||||||
public long countTodayAttendance(SurProjectAttendanceUser where);
|
public long countTodayAttendance(SurProjectAttendanceUser where);
|
||||||
|
|
||||||
public List<SurProjectAttendanceUser> todayAttendance(SurProjectAttendanceUser where);
|
public List<SurProjectAttendanceUser> todayAttendance(SurProjectAttendanceUser where);
|
||||||
|
|
||||||
|
public long countAttendance(SurProjectAttendanceUser where);
|
||||||
}
|
}
|
||||||
|
|
|
@ -141,8 +141,19 @@ public class SurProjectAttendanceUserServiceImpl implements ISurProjectAttendanc
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<SurProjectAttendanceUser> queryAttendanceData(SurProjectAttendanceCfg where) {
|
public List<SurProjectAttendanceUser> queryAttendanceData(SurProjectAttendanceUser where) {
|
||||||
return surProjectAttendanceUserMapper.queryAttendanceData(where);
|
List<SurProjectAttendanceUser> list= surProjectAttendanceUserMapper.queryAttendanceUsers(where);
|
||||||
|
List<String> workerIds=new ArrayList<>();
|
||||||
|
for(SurProjectAttendanceUser u: list){
|
||||||
|
workerIds.add(u.getWorkerId());
|
||||||
|
}
|
||||||
|
where.setWorkerIds(workerIds);
|
||||||
|
List<SurProjectAttendanceUser> datas=surProjectAttendanceUserMapper.todayAttendanceData(workerIds);
|
||||||
|
for (SurProjectAttendanceUser u:list) {
|
||||||
|
u.setInTime(findDate(datas,u,"E"));
|
||||||
|
u.setOutTime(findDate(datas,u,"L"));
|
||||||
|
}
|
||||||
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -169,6 +180,15 @@ public class SurProjectAttendanceUserServiceImpl implements ISurProjectAttendanc
|
||||||
return list;
|
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<SurProjectAttendanceUser> datas, SurProjectAttendanceUser u, String type) {
|
private Date findDate(List<SurProjectAttendanceUser> datas, SurProjectAttendanceUser u, String type) {
|
||||||
for (SurProjectAttendanceUser user:datas) {
|
for (SurProjectAttendanceUser user:datas) {
|
||||||
if(user.getWorkerId().equals(u.getWorkerId()) && user.getName().equals(type)){
|
if(user.getWorkerId().equals(u.getWorkerId()) && user.getName().equals(type)){
|
||||||
|
|
|
@ -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
|
) m left join sur_project_attendance_user n on m.workerId=n.workerId
|
||||||
) oo
|
) oo
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="countAttendance" resultType="Long" parameterType="SurProjectAttendanceCfg">
|
||||||
|
select count(1) cnt from sur_project_attendance_user u, sur_project_attendance_cfg c,view_sur_project_attendance_group g
|
||||||
|
where u.cfgid=c.id and u.state=0 and u.companyId=g.companyId
|
||||||
|
and u.workerid in(
|
||||||
|
SELECT workerid FROM sur_project_attendance_data WHERE DATE(attendance_time)=date(#{createBy}) AND cfgid IN (
|
||||||
|
SELECT id FROM sur_project_attendance_cfg WHERE project_id=#{projectId} AND sub_dept_id=#{subDeptId}
|
||||||
|
)
|
||||||
|
)
|
||||||
|
</select>
|
||||||
|
<select id="queryAttendanceByUserIds" parameterType="SurProjectAttendanceUser" resultMap="SurProjectAttendanceUserResult">
|
||||||
|
select workerid,attendance_type name,min(attendance_time) inTime,max(attendance_time) max from sur_project_attendance_data
|
||||||
|
where DATE(attendance_time)=date(#{createBy})
|
||||||
|
<if test="workerIds !=null and workerIds.size()>0">
|
||||||
|
and workerid in
|
||||||
|
<foreach collection="workerIds" item="item" index="index" open="(" close=")" separator=",">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
group by workerid,attendance_type
|
||||||
|
</select>
|
||||||
|
<select id="queryAttendanceUsers" parameterType="SurProjectAttendanceUser" resultMap="SurProjectAttendanceUserResult">
|
||||||
|
|
||||||
|
select u.* from sur_project_attendance_user u, sur_project_attendance_cfg c,view_sur_project_attendance_group g
|
||||||
|
where u.cfgid=c.id and u.state=0 and u.companyId=g.companyId
|
||||||
|
and u.workerid in(
|
||||||
|
SELECT workerid FROM sur_project_attendance_data WHERE DATE(attendance_time)=date(#{createBy}) AND cfgid IN (
|
||||||
|
SELECT id FROM sur_project_attendance_cfg WHERE project_id=#{projectId} AND sub_dept_id=#{subDeptId}
|
||||||
|
)
|
||||||
|
)
|
||||||
|
order by u.id limit #{index},#{size}
|
||||||
|
</select>
|
||||||
|
|
||||||
<select id="countTodayAttendance" resultType="Long" parameterType="SurProjectAttendanceUser">
|
<select id="countTodayAttendance" resultType="Long" parameterType="SurProjectAttendanceUser">
|
||||||
select count(1) cnt from sur_project_attendance_user u, sur_project_attendance_cfg c,view_sur_project_attendance_group g
|
select count(1) cnt from sur_project_attendance_user u, sur_project_attendance_cfg c,view_sur_project_attendance_group g
|
||||||
where u.cfgid=c.id and u.state=0 and u.companyId=g.companyId
|
where u.cfgid=c.id and u.state=0 and u.companyId=g.companyId
|
||||||
|
|
Loading…
Reference in New Issue