@ -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 < AttendanceUserGroup > userGroupList = userGroupMapper . selectList ( Wrappers . < AttendanceUserGroup > lambdaQuery ( ) . eq ( AttendanceUserGroup : : getScheduleId , id ) ) ;
/ / List < AttendanceUserGroup > userGroupList = userGroupMapper . selectList ( Wrappers . < AttendanceUserGroup > lambdaQuery ( ) . eq ( AttendanceUserGroup : : getScheduleId , id ) ) ;
List < AttendanceUserGroupVo > userGroupList = userGroupMapper . selectVoList ( Wrappers . < AttendanceUserGroup > lambdaQuery ( ) . eq ( AttendanceUserGroup : : getScheduleId , id ) ) ;
/ / 将排班人员信息添加到排班信息中
vo . setUserGroupList ( userGroupList ) ;
return vo ;
@ -100,6 +105,8 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS
Page < AttendanceArrangementVo > result = baseMapper . selectVoPage ( pageQuery . build ( ) , ge ) ;
Page < AttendanceArrangementVo > 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 < AttendanceUserGroup > userGroupList = userGroupMapper . selectList ( Wrappers . < AttendanceUserGroup > lambdaQuery ( ) . in ( AttendanceUserGroup : : getScheduleId , scheduleId ) ) ;
vo . setUserGroupList ( userGroupList ) ;
/ / List < AttendanceUserGroup > userGroupList = userGroupMapper . selectList ( Wrappers . < AttendanceUserGroup > lambdaQuery ( ) . in ( AttendanceUserGroup : : getScheduleId , scheduleId ) ) ;
List < AttendanceUserGroupVo > userGroupVoList = userGroupMapper . selectVoList ( Wrappers . < AttendanceUserGroup > 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 < AttendanceUserGroup > userGroupList = userGroupMapper . selectList ( Wrappers . < AttendanceUserGroup > lambdaQuery ( ) . eq ( AttendanceUserGroup : : getScheduleId , vo . getId ( ) ) ) ;
/ / 通过userGroupList查询出人员的详细信息
/ / 将userList存到userGroupList中
userGroupList . forEach ( userGroup - > {
SysUser sysUser = sysUserMapper . selectById ( userGroup . getEmployeeId ( ) ) ;
userGroup . setSysUser ( sysUser ) ;
}
) ;
/ / List < AttendanceUserGroup > userGroupList = userGroupMapper . selectList ( Wrappers . < AttendanceUserGroup > lambdaQuery ( ) . eq ( AttendanceUserGroup : : getScheduleId , vo . getId ( ) ) ) ;
List < AttendanceUserGroupVo > userGroupList = userGroupMapper . selectVoList ( Wrappers . < AttendanceUserGroup > 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 < Long > employeeIdList = userGroupMapper . selectList ( Wrappers . < AttendanceUserGroup > lambdaQuery ( ) . eq ( AttendanceUserGroup : : getScheduleId , ArrangementId ) )
. stream ( ) . map ( AttendanceUserGroup : : getEmployeeId ) . toList ( ) ;
. stream ( ) . map ( AttendanceUserGroup : : getEmployeeId ) . toList ( ) ;
/ / 根据employeeId和ArrangementId删除attendanceUserGroup表中的数据
userGroupMapper . delete ( Wrappers . < AttendanceUserGroup > lambdaQuery ( ) . in ( AttendanceUserGroup : : getEmployeeId , employeeIdList )
. eq ( AttendanceUserGroup : : getScheduleId , ArrangementId ) ) ;
. eq ( AttendanceUserGroup : : getScheduleId , ArrangementId ) ) ;
/ / 根据排班id获取部门id
List < Long > deptIdList = userGroupMapper . selectList ( Wrappers . < AttendanceUserGroup > lambdaQuery ( ) . eq ( AttendanceUserGroup : : getScheduleId , ArrangementId ) )
@ -602,5 +610,4 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS
}
}