|
|
@@ -1,6 +1,7 @@
|
|
|
package com.xjrsoft.module.attendance.service.impl;
|
|
|
|
|
|
import cn.dev33.satoken.stp.StpUtil;
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.github.yulichang.base.MPJBaseServiceImpl;
|
|
|
@@ -8,6 +9,7 @@ import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
|
|
import com.xjrsoft.common.enums.DeleteMark;
|
|
|
import com.xjrsoft.common.exception.MyException;
|
|
|
import com.xjrsoft.common.utils.VoToColumnUtil;
|
|
|
+import com.xjrsoft.module.attendance.dto.AddAttendanceRuleCategoryDto;
|
|
|
import com.xjrsoft.module.attendance.entity.AttendanceRuleCategory;
|
|
|
import com.xjrsoft.module.attendance.entity.AttendanceRuleDetails;
|
|
|
import com.xjrsoft.module.attendance.entity.AttendanceUserRelation;
|
|
|
@@ -49,25 +51,15 @@ public class AttendanceRuleCategoryServiceImpl extends MPJBaseServiceImpl<Attend
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public Boolean add(AttendanceRuleCategory attendanceRuleCategory) {
|
|
|
- attendanceRuleCategory.setCreateDate(new Date());
|
|
|
- categoryMapper.insert(attendanceRuleCategory);
|
|
|
- for (AttendanceRuleDetails attendanceRuleDetails : attendanceRuleCategory.getAttendanceRuleDetailsList()) {
|
|
|
- attendanceRuleDetails.setAttendanceRuleCategoryId(attendanceRuleCategory.getId());
|
|
|
- detailsMapper.insert(attendanceRuleDetails);
|
|
|
- }
|
|
|
+ public Boolean add(AddAttendanceRuleCategoryDto dto) {
|
|
|
+ AttendanceRuleCategory attendanceRuleCategory = BeanUtil.toBean(dto, AttendanceRuleCategory.class);
|
|
|
+
|
|
|
List<XjrUser> insertList = new ArrayList<>();
|
|
|
if(attendanceRuleCategory.getRoleId() != null && attendanceRuleCategory.getRoleId() == 2){
|
|
|
if(attendanceRuleCategory.getAttendanceRange() == 1){
|
|
|
//首先判断是否已经存在一个全体教职工的考勤规则
|
|
|
- Long count = categoryMapper.selectCount(
|
|
|
- new QueryWrapper<AttendanceRuleCategory>()
|
|
|
- .lambda()
|
|
|
- .eq(AttendanceRuleCategory::getRoleId, attendanceRuleCategory.getRoleId())
|
|
|
- .eq(AttendanceRuleCategory::getAttendanceRange, attendanceRuleCategory.getAttendanceRange())
|
|
|
- .eq(AttendanceRuleCategory::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
- );
|
|
|
- if(count > 0){
|
|
|
+ Integer existCount = categoryMapper.getExistCount(dto);
|
|
|
+ if(existCount > 0){
|
|
|
throw new MyException("已存在一个全体教职工的考勤规则,无法添加");
|
|
|
}
|
|
|
List<XjrUser> userList = xjrUserService.list(
|
|
|
@@ -126,14 +118,8 @@ public class AttendanceRuleCategoryServiceImpl extends MPJBaseServiceImpl<Attend
|
|
|
}else if(attendanceRuleCategory.getRoleId() != null && attendanceRuleCategory.getRoleId() == 3){//学生
|
|
|
if(attendanceRuleCategory.getAttendanceRange() == 1){
|
|
|
//首先判断是否已经存在一个全体学生的考勤规则
|
|
|
- Long count = categoryMapper.selectCount(
|
|
|
- new QueryWrapper<AttendanceRuleCategory>()
|
|
|
- .lambda()
|
|
|
- .eq(AttendanceRuleCategory::getRoleId, attendanceRuleCategory.getRoleId())
|
|
|
- .eq(AttendanceRuleCategory::getAttendanceRange, attendanceRuleCategory.getAttendanceRange())
|
|
|
- .eq(AttendanceRuleCategory::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
- );
|
|
|
- if(count > 0){
|
|
|
+ Integer existCount = categoryMapper.getExistCount(dto);
|
|
|
+ if(existCount > 0){
|
|
|
throw new MyException("已存在一个全体学生的考勤规则,无法添加");
|
|
|
}
|
|
|
List<XjrUser> userList = xjrUserService.list(
|
|
|
@@ -189,6 +175,12 @@ public class AttendanceRuleCategoryServiceImpl extends MPJBaseServiceImpl<Attend
|
|
|
insertList.addAll(userList);
|
|
|
}
|
|
|
}
|
|
|
+ attendanceRuleCategory.setCreateDate(new Date());
|
|
|
+ categoryMapper.insert(attendanceRuleCategory);
|
|
|
+ for (AttendanceRuleDetails attendanceRuleDetails : attendanceRuleCategory.getAttendanceRuleDetailsList()) {
|
|
|
+ attendanceRuleDetails.setAttendanceRuleCategoryId(attendanceRuleCategory.getId());
|
|
|
+ detailsMapper.insert(attendanceRuleDetails);
|
|
|
+ }
|
|
|
for (XjrUser user : insertList) {
|
|
|
AttendanceUserRelation relation = new AttendanceUserRelation();
|
|
|
relation.setCreateDate(new Date());
|