Procházet zdrojové kódy

Merge remote-tracking branch 'origin/master'

yusm před 2 měsíci
rodič
revize
90210fe671

+ 12 - 12
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/LeaveSheetServiceImpl.java

@@ -97,18 +97,18 @@ public class LeaveSheetServiceImpl extends ServiceImpl<LeaveSheetMapper, LeaveSh
             //按天请假时,计算小时数
             float v = timeType.getAllday() * sheet.getTimeDays();
             sheet.setTimeHours(v);
-        }
-        if (isNew) {
-            //检查该时间段是否已经有按天请假
-            QueryWrapper<LeaveSheet> queryWrapper = new QueryWrapper<>();
-            queryWrapper.eq("owner_id", sheet.getOwnerId());
-            queryWrapper.le("start_date", sheet.getEndDate()).ge("end_date", sheet.getStartDate());
-
-            int count = leaveSheetMapper.selectCount(queryWrapper);
-            if (count > 0) {
-                //msg.setError("该时间段已有请假申请,不能重复请假");
-                msg.setError(MessageUtils.message("leave.repeatedLeave"));
-                return msg;
+            if (isNew) {
+                //当前是按天请假,需要检查是否已有按天的;按小时请假则不需要校验
+                QueryWrapper<LeaveSheet> queryWrapper = new QueryWrapper<>();
+                queryWrapper.eq("owner_id", sheet.getOwnerId());
+                queryWrapper.eq("time_type", 0);
+                queryWrapper.le("start_date", sheet.getEndDate()).ge("end_date", sheet.getStartDate());
+                int count = leaveSheetMapper.selectCount(queryWrapper);
+                if (count > 0) {
+                    //msg.setError("该时间段已有请假申请,不能重复请假");
+                    msg.setError(MessageUtils.message("leave.repeatedLeave"));
+                    return msg;
+                }
             }
         }