From 1b64c976269e9150fe83bca90cfb4c5d1d88c701 Mon Sep 17 00:00:00 2001 From: dy <2389062315@qq.com> Date: Tue, 12 Aug 2025 16:17:54 +0800 Subject: [PATCH] 1 --- .../property/domain/AttendanceUserGroup.java | 2 +- .../domain/vo/AttendanceArrangementVo.java | 2 +- .../domain/vo/AttendanceUserGroupVo.java | 4 ++ .../AttendanceArrangementServiceImpl.java | 49 +++++++++++-------- .../service/impl/SysUserServiceImpl.java | 2 + 5 files changed, 36 insertions(+), 23 deletions(-) diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/AttendanceUserGroup.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/AttendanceUserGroup.java index bff194a1..666f0ae6 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/AttendanceUserGroup.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/AttendanceUserGroup.java @@ -66,7 +66,7 @@ public class AttendanceUserGroup extends TenantEntity { */ private LocalDate endDate; - private SysUser sysUser; +// private SysUser sysUser; } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AttendanceArrangementVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AttendanceArrangementVo.java index 77cb3442..c2955ad9 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AttendanceArrangementVo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AttendanceArrangementVo.java @@ -79,7 +79,7 @@ public class AttendanceArrangementVo implements Serializable { private AttendanceGroup attendanceGroup; //用户组 - private List userGroupList; + private List userGroupList; //固定排班 private AttendanceWeekSet weekSet; diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AttendanceUserGroupVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AttendanceUserGroupVo.java index f8507a78..f64884a3 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AttendanceUserGroupVo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AttendanceUserGroupVo.java @@ -7,6 +7,8 @@ import org.dromara.common.excel.annotation.ExcelDictFormat; import org.dromara.common.excel.convert.ExcelDictConvert; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; +import org.dromara.system.domain.SysUser; +import org.dromara.system.domain.vo.SysUserVo; import org.springframework.format.annotation.DateTimeFormat; import java.io.Serial; @@ -86,5 +88,7 @@ public class AttendanceUserGroupVo implements Serializable { private AttendanceScheduleCycle scheduleCycle; + private SysUserVo sysUser; + } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceArrangementServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceArrangementServiceImpl.java index b64ff3ba..a6462fd5 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceArrangementServiceImpl.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceArrangementServiceImpl.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.beanutils.BeanUtils; +import org.apache.dubbo.config.annotation.DubboReference; import org.apache.dubbo.config.annotation.DubboService; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; @@ -17,10 +18,13 @@ import org.dromara.property.domain.*; import org.dromara.property.domain.bo.AttendanceArrangementBo; import org.dromara.property.domain.constant.StatusConstant; import org.dromara.property.domain.vo.AttendanceArrangementVo; +import org.dromara.property.domain.vo.AttendanceUserGroupVo; import org.dromara.property.mapper.*; import org.dromara.property.service.IAttendanceArrangementService; import org.dromara.system.domain.SysUser; +import org.dromara.system.domain.vo.SysUserVo; import org.dromara.system.mapper.SysUserMapper; +import org.dromara.system.service.ISysUserService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -57,8 +61,8 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS private final AttendanceScheduleCycleMapper scheduleCycleMapper; - private final SysUserMapper sysUserMapper; - + @DubboReference + private final ISysUserService sysUserService; /** * 查询排班 * @@ -75,7 +79,8 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS vo.setAttendanceGroup(attendanceGroup); //根据id查询排班人员信息 - List userGroupList = userGroupMapper.selectList(Wrappers.lambdaQuery().eq(AttendanceUserGroup::getScheduleId, id)); +// List userGroupList = userGroupMapper.selectList(Wrappers.lambdaQuery().eq(AttendanceUserGroup::getScheduleId, id)); + List userGroupList = userGroupMapper.selectVoList(Wrappers.lambdaQuery().eq(AttendanceUserGroup::getScheduleId, id)); //将排班人员信息添加到排班信息中 vo.setUserGroupList(userGroupList); return vo; @@ -100,6 +105,8 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS Page result = baseMapper.selectVoPage(pageQuery.build(), ge); Page attendanceArrangementVoPage = result.setRecords(result.getRecords().stream().map(vo -> { + + //根据当前日期查询在开始时间和结束时间之间的排班信息 //从前端查询出来的当前日期,判断是否在排班时间内 if ((bo.getCurrentDate().isAfter(vo.getStartDate()) || bo.getCurrentDate().isEqual(vo.getStartDate())) && (bo.getCurrentDate().isBefore(vo.getEndDate()) || bo.getCurrentDate().isEqual(vo.getEndDate()))) { @@ -107,8 +114,20 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS //根据查询出来的result取出shceduleId Long scheduleId = vo.getId(); //根据排班的id查询出排班的人员详细信息 - List userGroupList = userGroupMapper.selectList(Wrappers.lambdaQuery().in(AttendanceUserGroup::getScheduleId, scheduleId)); - vo.setUserGroupList(userGroupList); +// List userGroupList = userGroupMapper.selectList(Wrappers.lambdaQuery().in(AttendanceUserGroup::getScheduleId, scheduleId)); + List userGroupVoList = userGroupMapper.selectVoList(Wrappers.lambdaQuery().in(AttendanceUserGroup::getScheduleId, scheduleId)); + //通过userGroupList查询出人员的详细信息 + + //将userList存到userGroupList中 + userGroupVoList.forEach(userGroup -> { + SysUserVo sysUserVo = sysUserService.selectUserById(userGroup.getEmployeeId()); +// SysUserVo sysUserVo1 = sysUserService.selectUserById(userGroupVoList.get(0).getEmployeeId()); + userGroup.setSysUser(sysUserVo); +// userGroup.setSysUser(sysUserVo1); + } + ); + + vo.setUserGroupList(userGroupVoList); //2.查询考勤组信息 //根据查询出来的信息取出考勤组的id @@ -261,7 +280,6 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS } - /** * 查询某个月的日历排班信息的排班列表 * @@ -315,16 +333,8 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS // 循环排班列表,查询排班人员信息 for (AttendanceArrangementVo vo : result) { // 根据排班查询出人员组的详细信息 - List userGroupList = userGroupMapper.selectList(Wrappers.lambdaQuery().eq(AttendanceUserGroup::getScheduleId, vo.getId())); - - //通过userGroupList查询出人员的详细信息 - - //将userList存到userGroupList中 - userGroupList.forEach(userGroup -> { - SysUser sysUser = sysUserMapper.selectById(userGroup.getEmployeeId()); - userGroup.setSysUser(sysUser); - } - ); +// List userGroupList = userGroupMapper.selectList(Wrappers.lambdaQuery().eq(AttendanceUserGroup::getScheduleId, vo.getId())); + List userGroupList = userGroupMapper.selectVoList(Wrappers.lambdaQuery().eq(AttendanceUserGroup::getScheduleId, vo.getId())); // 将排班人员信息添加到排班信息中 vo.setUserGroupList(userGroupList); @@ -454,8 +464,6 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS judgeDate(bo, add); - - //取出当前新增的排班的id Long ArrangementId = add.getId(); //用获取到的排班id向attendanceUserGroup表中插入数据 @@ -514,10 +522,10 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS Long ArrangementId = update.getId(); //根据arrangementId查询出人员组的所有employeeId List employeeIdList = userGroupMapper.selectList(Wrappers.lambdaQuery().eq(AttendanceUserGroup::getScheduleId, ArrangementId)) - .stream().map(AttendanceUserGroup::getEmployeeId).toList(); + .stream().map(AttendanceUserGroup::getEmployeeId).toList(); //根据employeeId和ArrangementId删除attendanceUserGroup表中的数据 userGroupMapper.delete(Wrappers.lambdaQuery().in(AttendanceUserGroup::getEmployeeId, employeeIdList) - .eq(AttendanceUserGroup::getScheduleId, ArrangementId)); + .eq(AttendanceUserGroup::getScheduleId, ArrangementId)); //根据排班id获取部门id List deptIdList = userGroupMapper.selectList(Wrappers.lambdaQuery().eq(AttendanceUserGroup::getScheduleId, ArrangementId)) @@ -602,5 +610,4 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS } - } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java index e7e8407e..d42d1d44 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java @@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.dubbo.config.annotation.DubboService; import org.dromara.common.core.constant.CacheNames; import org.dromara.common.core.constant.SystemConstants; import org.dromara.common.core.exception.ServiceException; @@ -44,6 +45,7 @@ import java.util.Map; @Slf4j @RequiredArgsConstructor @Service +@DubboService public class SysUserServiceImpl implements ISysUserService { private final SysUserMapper baseMapper;