bug
This commit is contained in:
parent
627f2a1a11
commit
b43c3b25e0
@ -167,7 +167,7 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS
|
||||
LocalDate endDate = vo.getEndDate();
|
||||
LocalDate currentDate = bo.getCurrentDate();
|
||||
// //统计当前考勤组有多少条数据
|
||||
// int count = Math.toIntExact(scheduleCycleMapper.selectCount(Wrappers.<AttendanceScheduleCycle>lambdaQuery().eq(AttendanceScheduleCycle::getGroupId, groupId)));
|
||||
int count = Math.toIntExact(scheduleCycleMapper.selectCount(Wrappers.<AttendanceScheduleCycle>lambdaQuery().eq(AttendanceScheduleCycle::getGroupId, groupId)));
|
||||
|
||||
//取出attendanceScheduleCycle表中的天数
|
||||
List<Integer> cycleDaysList = scheduleCycleMapper.selectList(Wrappers.<AttendanceScheduleCycle>lambdaQuery().eq(AttendanceScheduleCycle::getGroupId, groupId)).stream().map(AttendanceScheduleCycle::getDayNumber).collect(Collectors.toList());
|
||||
@ -177,9 +177,9 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS
|
||||
if (date.isEqual(currentDate)) {
|
||||
// 判断当前日期是cycleDays中的第几天
|
||||
int dayNumber = date.getDayOfYear() - startDate.getDayOfYear() + 1;
|
||||
cycleDay = dayNumber % cycleDaysList.size();
|
||||
cycleDay = dayNumber % count;
|
||||
if (cycleDay == 0) {
|
||||
cycleDay = cycleDaysList.size();
|
||||
cycleDay = count;
|
||||
}
|
||||
// 根据cycleDay查询出当前日期的班次信息
|
||||
AttendanceScheduleCycle cycle = scheduleCycleMapper.selectOne(Wrappers.<AttendanceScheduleCycle>lambdaQuery()
|
||||
@ -512,15 +512,6 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS
|
||||
AttendanceArrangement update = MapstructUtils.convert(bo, AttendanceArrangement.class);
|
||||
validEntityBeforeSave(update);
|
||||
|
||||
// judgeDate(bo, update);
|
||||
|
||||
//根据排班id获取人员id
|
||||
//根据人员id删除人员信息
|
||||
//新增人员信息
|
||||
//根据排班id获取部门id
|
||||
//根据部门id删除部门信息
|
||||
//新增部门信息
|
||||
|
||||
//取出当前排班的id
|
||||
assert update != null;
|
||||
Long ArrangementId = update.getId();
|
||||
@ -528,19 +519,35 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS
|
||||
List<Long> employeeIdList = userGroupMapper.selectList(Wrappers.<AttendanceUserGroup>lambdaQuery().eq(AttendanceUserGroup::getScheduleId, ArrangementId))
|
||||
.stream().map(AttendanceUserGroup::getEmployeeId).toList();
|
||||
//根据employeeId和ArrangementId删除attendanceUserGroup表中的数据
|
||||
userGroupMapper.delete(Wrappers.<AttendanceUserGroup>lambdaQuery().in(AttendanceUserGroup::getEmployeeId, employeeIdList)
|
||||
.eq(AttendanceUserGroup::getScheduleId, ArrangementId));
|
||||
if (!employeeIdList.isEmpty()) {
|
||||
userGroupMapper.delete(Wrappers.<AttendanceUserGroup>lambdaQuery().in(AttendanceUserGroup::getEmployeeId, employeeIdList)
|
||||
.eq(AttendanceUserGroup::getScheduleId, ArrangementId));
|
||||
}
|
||||
|
||||
//根据排班id获取部门id
|
||||
List<Long> deptIdList = userGroupMapper.selectList(Wrappers.<AttendanceUserGroup>lambdaQuery().eq(AttendanceUserGroup::getScheduleId, ArrangementId))
|
||||
.stream().map(AttendanceUserGroup::getDeptId).toList();
|
||||
//根据deptId和ArrangementId删除attendanceDeptGroup表中的数据
|
||||
userGroupMapper.delete(Wrappers.<AttendanceUserGroup>lambdaQuery().in(AttendanceUserGroup::getDeptId, deptIdList)
|
||||
.eq(AttendanceUserGroup::getScheduleId, ArrangementId));
|
||||
if (!deptIdList.isEmpty()) {
|
||||
//根据deptId和ArrangementId删除attendanceDeptGroup表中的数据
|
||||
userGroupMapper.delete(Wrappers.<AttendanceUserGroup>lambdaQuery().in(AttendanceUserGroup::getDeptId, deptIdList)
|
||||
.eq(AttendanceUserGroup::getScheduleId, ArrangementId));
|
||||
}
|
||||
|
||||
//根据当前排班的id查询出当前的开始时间和结束时间
|
||||
AttendanceArrangement old = baseMapper.selectById(ArrangementId);
|
||||
//根据old查询出开始时间
|
||||
LocalDate oldStartDate = old.getStartDate();
|
||||
//根据old查询出结束时间
|
||||
LocalDate oldEndDate = old.getEndDate();
|
||||
|
||||
|
||||
//用获取到的排班id向attendanceUserGroup表中批量插入数据
|
||||
List<AttendanceUserGroup> userGroupList = bo.getUserGroupList();
|
||||
for (AttendanceUserGroup userGroup : userGroupList) {
|
||||
userGroup.setScheduleId(bo.getId());
|
||||
userGroup.setStartDate(oldStartDate);
|
||||
userGroup.setEndDate(oldEndDate);
|
||||
}
|
||||
userGroupMapper.insertBatch(userGroupList);
|
||||
|
||||
return baseMapper.updateById(update) > 0;
|
||||
|
@ -1,5 +1,7 @@
|
||||
package org.dromara.property.service.impl;
|
||||
|
||||
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;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
@ -14,6 +16,8 @@ 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.mapper.*;
|
||||
import org.dromara.system.domain.vo.SysUserVo;
|
||||
import org.dromara.system.service.ISysUserService;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.dromara.property.domain.bo.AttendanceUserGroupBo;
|
||||
import org.dromara.property.domain.vo.AttendanceUserGroupVo;
|
||||
@ -48,6 +52,10 @@ public class AttendanceUserGroupServiceImpl implements IAttendanceUserGroupServi
|
||||
|
||||
private final AttendanceScheduleCycleMapper scheduleCycleMapper;
|
||||
|
||||
@DubboReference
|
||||
private ISysUserService sysUserService;
|
||||
|
||||
|
||||
/**
|
||||
* 查询排班明细
|
||||
*
|
||||
@ -169,8 +177,10 @@ public class AttendanceUserGroupServiceImpl implements IAttendanceUserGroupServi
|
||||
|
||||
// 根据查询出来的result取出scheduleId
|
||||
Long scheduleId = vo.getScheduleId();
|
||||
// 根据排班的id查询出排班的人员详细信息
|
||||
// List<AttendanceUserGroup> userGroupList = baseMapper.selectList(Wrappers.<AttendanceUserGroup>lambdaQuery().eq(AttendanceUserGroup::getScheduleId, scheduleId));
|
||||
|
||||
//根据employeeId查询出用户的详细信息
|
||||
SysUserVo sysUserVo = sysUserService.selectUserById(vo.getEmployeeId());
|
||||
vo.setSysUser(sysUserVo);
|
||||
|
||||
//根据scheduleId查询出排班的详细信息
|
||||
AttendanceArrangement attendanceArrangement = arrangementMapper.selectOne(Wrappers.<AttendanceArrangement>lambdaQuery().eq(AttendanceArrangement::getId, scheduleId));
|
||||
|
Loading…
Reference in New Issue
Block a user