Bladeren bron

1.考勤组与用户关联表新增部门id

2.导出bug处理
main
wangqiang 3 dagen geleden
bovenliggende
commit
c57274e696

+ 2
- 0
script/sql/20250723.sql Bestand weergeven

@@ -0,0 +1,2 @@
ALTER TABLE dk_check_in_attendance_team_and_user
ADD COLUMN dept_id bigint(20) COMMENT '部门id';

+ 10
- 0
zs-manager/src/main/java/com/ruoyi/zhushi/entity/DkAttendanceGroupAndUser.java Bestand weergeven

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.core.domain.entity.SysDept;
import lombok.Data;

/**
@@ -38,7 +39,16 @@ public class DkAttendanceGroupAndUser extends BaseEntity {
@TableField(value = "`nick_name`")
private String nickName;

/** 用户id */
@TableField(value = "`dept_id`")
private long deptId;

/** 所属部门 */
@TableField(value = "`dept_name`")
private String deptName;
/**
* 部门对象
*/
@TableField(exist = false)
private SysDept dept;
}

+ 9
- 1
zs-manager/src/main/java/com/ruoyi/zhushi/service/impl/DkAttendanceGroupServiceImpl.java Bestand weergeven

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.exception.GlobalException;
import com.ruoyi.system.service.ISysDeptService;
import com.ruoyi.zhushi.entity.*;
import com.ruoyi.zhushi.mapper.DkAttendanceGroupAndUserMapper;
import com.ruoyi.zhushi.mapper.DkAttendanceGroupMapper;
@@ -26,7 +27,8 @@ public class DkAttendanceGroupServiceImpl implements DkAttendanceGroupService {

@Autowired
private DkAttendanceGroupAndUserMapper dkAttendanceGroupAndUserMapper;

@Autowired
private ISysDeptService iSysDeptService;

// 查询考勤组
@Override
@@ -39,6 +41,12 @@ public class DkAttendanceGroupServiceImpl implements DkAttendanceGroupService {
queryWrapper.eq(DkAttendanceGroupAndUser::getAttendanceTeamId, dkAttendanceGroup.getId());

List<DkAttendanceGroupAndUser> dkUsers = dkAttendanceGroupAndUserMapper.selectList(queryWrapper);
if (dkUsers!=null&&dkUsers.size()>0) {
for (DkAttendanceGroupAndUser dkAttendanceGroupAndUser:dkUsers) {
long deptId = dkAttendanceGroupAndUser.getDeptId();
dkAttendanceGroupAndUser.setDept(iSysDeptService.selectDeptById(deptId));
}
}
dkAttendanceGroupDTO1.setMembers(dkUsers);
dkAttendanceGroupDTOS.add(dkAttendanceGroupDTO1);
}

+ 14
- 16
zs-manager/src/main/java/com/ruoyi/zhushi/service/impl/DkRecordServiceImpl.java Bestand weergeven

@@ -55,7 +55,7 @@ public class DkRecordServiceImpl implements DkRecordService {
@Override
public TableDataInfo<DkCheckInRecordDTO> queryPageList(DkCheckInRecordDTO dkCheckInRecordDTO, PageQuery pageQuery) {
LoginUser loginUser = LoginHelper.getLoginUser();
LambdaQueryWrapper<DkCheckInRecord> queryWrapper = buildQueryWrapper(dkCheckInRecordDTO, null);
LambdaQueryWrapper<DkCheckInRecord> queryWrapper = buildQueryWrapper(dkCheckInRecordDTO);
if (dkCheckInRecordDTO.getFlag().equals("my")){
if (loginUser == null) {
return TableDataInfo.build();
@@ -76,7 +76,7 @@ public class DkRecordServiceImpl implements DkRecordService {
return TableDataInfo.build(result);
}

private LambdaQueryWrapper<DkCheckInRecord> buildQueryWrapper(DkCheckInRecordDTO dkCheckInRecordDTO, String flag) {
private LambdaQueryWrapper<DkCheckInRecord> buildQueryWrapper(DkCheckInRecordDTO dkCheckInRecordDTO) {
LambdaQueryWrapper<DkCheckInRecord> queryWrapper = Wrappers.lambdaQuery();

queryWrapper.eq(null != dkCheckInRecordDTO.getSysUserId() ,DkCheckInRecord::getSysUserId, dkCheckInRecordDTO.getSysUserId());
@@ -97,13 +97,9 @@ public class DkRecordServiceImpl implements DkRecordService {
queryWrapper.between(DkCheckInRecord::getCheckInTime, TimeUtils.getFirstDayOfMonth(dkCheckInRecordDTO.getStrMonth()),
TimeUtils.getLastDayOfMonth(dkCheckInRecordDTO.getStrMonth()));
}
if(flag != null){
queryWrapper.select(DkCheckInRecord::getSysUserName, DkCheckInRecord::getSysUserId, DkCheckInRecord::getNickName);
queryWrapper.in(null != dkCheckInRecordDTO.getAttendanceGroupIds() ,DkCheckInRecord::getAttendanceGroupId, dkCheckInRecordDTO.getAttendanceGroupIds());
queryWrapper.groupBy(DkCheckInRecord::getSysUserName).groupBy(DkCheckInRecord::getSysUserId).groupBy(DkCheckInRecord::getNickName);
}else{
queryWrapper.orderByDesc(DkCheckInRecord::getSysUserName).orderByDesc(DkCheckInRecord::getCheckInTime);
}

queryWrapper.orderByDesc(DkCheckInRecord::getSysUserName).orderByDesc(DkCheckInRecord::getCheckInTime);

return queryWrapper;
}

@@ -113,7 +109,7 @@ public class DkRecordServiceImpl implements DkRecordService {
*/
@Override
public List<DkCheckInRecordDTO> queryList(DkCheckInRecordDTO dkCheckInRecordDTO) {
LambdaQueryWrapper<DkCheckInRecord> queryWrapper = buildQueryWrapper(dkCheckInRecordDTO, null);
LambdaQueryWrapper<DkCheckInRecord> queryWrapper = buildQueryWrapper(dkCheckInRecordDTO);
List<DkCheckInRecordDTO> dkCheckInRecordDTOS = dkMapper.selectVoList(queryWrapper);
dkCheckInRecordDTOS.forEach(dk -> {
if("0".equals(dk.getCheckInStatus())){
@@ -146,8 +142,10 @@ public class DkRecordServiceImpl implements DkRecordService {
if (inputMonth.isAfter(currentMonth)) {
return ;
}
// 查询出考勤组所有人员
List<DkAttendanceGroupAndUser> users = dkAttendanceGroupAndUserMapper.selectList();
// 查询出选择的考勤组下面的所有人员
QueryWrapper<DkAttendanceGroupAndUser> queryWrapper = new QueryWrapper<>();
queryWrapper.in("attendance_team_id",dkCheckInRecordDTO.getAttendanceGroupIds());
List<DkAttendanceGroupAndUser> users = dkAttendanceGroupAndUserMapper.selectList(queryWrapper);
if (users==null||users.size()==0) {
return;
}
@@ -273,8 +271,8 @@ public class DkRecordServiceImpl implements DkRecordService {

// 定义集合,用于存储每天打卡记录
List<DayRecord> dayRecords = new ArrayList<>();
// 根据用户的ID查询该用户所有的打卡记录
LambdaQueryWrapper<DkCheckInRecord> queryWrapper = buildQueryWrapper(dkCheckInRecordDTO, null);
// 根据用户的ID 和月份查询该用户所有的打卡记录
LambdaQueryWrapper<DkCheckInRecord> queryWrapper = buildQueryWrapper(dkCheckInRecordDTO);
List<DkCheckInRecordDTO> dkCheckInRecordDTOS = dkMapper.selectVoList(queryWrapper);
if (dkCheckInRecordDTOS == null && dkCheckInRecordDTOS.isEmpty()){
return data;
@@ -531,8 +529,8 @@ public class DkRecordServiceImpl implements DkRecordService {
// 定义集合,用于存储每天打卡记录
List<DayRecord> dayRecords = new ArrayList<>();

// 根据用户的ID查询该用户所有的打卡记录
LambdaQueryWrapper<DkCheckInRecord> queryWrapper = buildQueryWrapper(dkCheckInRecordDTO, null);
// 根据用户的ID 和月份查询该用户所有的打卡记录
LambdaQueryWrapper<DkCheckInRecord> queryWrapper = buildQueryWrapper(dkCheckInRecordDTO);
List<DkCheckInRecordDTO> dkCheckInRecordDTOS = dkMapper.selectVoList(queryWrapper);
// 构造excel数据
for(DkCheckInRecordDTO dk : dkCheckInRecordDTOS){

Laden…
Annuleren
Opslaan