Преглед на файлове

考勤规则增加验证

dzx преди 6 месеца
родител
ревизия
e8c4ce091b
променени са 1 файла, в които са добавени 15 реда и са изтрити 0 реда
  1. 15 0
      src/main/java/com/xjrsoft/module/attendance/service/impl/AttendanceRuleCategoryServiceImpl.java

+ 15 - 0
src/main/java/com/xjrsoft/module/attendance/service/impl/AttendanceRuleCategoryServiceImpl.java

@@ -57,6 +57,13 @@ public class AttendanceRuleCategoryServiceImpl extends MPJBaseServiceImpl<Attend
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Boolean add(AddAttendanceRuleCategoryDto dto) {
+        List<AttendanceRuleCategory> defaultShowRuleCategories = this.list(
+                new QueryWrapper<AttendanceRuleCategory>().lambda()
+                        .eq(AttendanceRuleCategory::getIsDefaultShow, 1)
+        );
+        if(!defaultShowRuleCategories.isEmpty()){
+            throw new MyException("已存在一个默认显示的规则,无法再次添加");
+        }
         AttendanceRuleCategory attendanceRuleCategory = BeanUtil.toBean(dto, AttendanceRuleCategory.class);
         attendanceRuleCategory.setUserRelation(JsonUtil.toJsonString(dto.getAttendanceUserRelationList()));
 
@@ -209,6 +216,14 @@ public class AttendanceRuleCategoryServiceImpl extends MPJBaseServiceImpl<Attend
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Boolean update(UpdateAttendanceRuleCategoryDto dto) {
+        List<AttendanceRuleCategory> defaultShowRuleCategories = this.list(
+                new QueryWrapper<AttendanceRuleCategory>().lambda()
+                        .eq(AttendanceRuleCategory::getIsDefaultShow, 1)
+                        .ne(AttendanceRuleCategory::getId, dto.getId())
+        );
+        if(!defaultShowRuleCategories.isEmpty()){
+            throw new MyException("已存在一个默认显示的规则,无法再次添加");
+        }
         AttendanceRuleCategory attendanceRuleCategory = BeanUtil.toBean(dto, AttendanceRuleCategory.class);
         attendanceRuleCategory.setUserRelation(JsonUtil.toJsonString(dto.getAttendanceUserRelationList()));
         if (attendanceRuleCategory.getAttendanceRange() == 1) {