Browse Source

新增打卡时间限制必须大于开始时间小于结束或者当前时间

anderx 2 years ago
parent
commit
0972bcc1ce

+ 2 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ProjectTaskController.java

@@ -130,6 +130,7 @@ public class ProjectTaskController extends BaseController {
         Long userId = SecurityUtils.getUserId();
         in.setAid(userId);
         AjaxResult ajaxResult = projectStaffRecordService.addCheckMaxDuration(in);
+        ajaxResult=projectStaffRecordService.checkRecordTime(ajaxResult,in);
         if (ajaxResult.isError()){
             return ajaxResult;
         }
@@ -149,6 +150,7 @@ public class ProjectTaskController extends BaseController {
         Long userId = SecurityUtils.getUserId();
         in.setAid(userId);
         AjaxResult ajaxResult = projectStaffRecordService.updateCheckMaxDuration(in);
+        projectStaffRecordService.checkRecordTime(ajaxResult,in);
         if (ajaxResult.isError()){
             return ajaxResult;
         }

+ 2 - 0
ruoyi-system/src/main/java/com/ruoyi/project/service/ProjectStaffRecordService.java

@@ -33,4 +33,6 @@ public interface ProjectStaffRecordService {
     AjaxResult listRecordLog(ProjectStaffRecordLog in);
 
     void downloadFiles(String ids, HttpServletResponse response);
+
+    AjaxResult checkRecordTime(AjaxResult ajaxResult, ProjectStaffRecord in);
 }

+ 15 - 0
ruoyi-system/src/main/java/com/ruoyi/project/service/impl/ProjectStaffRecordServiceImpl.java

@@ -1,5 +1,6 @@
 package com.ruoyi.project.service.impl;
 
+import com.mchange.v2.lang.SystemUtils;
 import com.ruoyi.common.config.RuoYiConfig;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.entity.SysDept;
@@ -269,6 +270,20 @@ public class ProjectStaffRecordServiceImpl implements ProjectStaffRecordService
         }
     }
 
+    @Override
+    public AjaxResult checkRecordTime(AjaxResult ajaxResult, ProjectStaffRecord in) {
+        if (!ajaxResult.isError()){
+            ProjectTask projectTask = projectTaskMapper.selectByPrimaryKey(in.getPid());
+            long endTime = DateUtils.getNowDate().getTime();
+            long startTime = projectTask.getStartTime().getTime();
+            if (endTime>projectTask.getEndTime().getTime())endTime=projectTask.getEndTime().getTime();
+            if (in.getRecordTime().getTime()>endTime||in.getRecordTime().getTime()<startTime){
+                ajaxResult=AjaxResult.error("打卡时间必须大于开始时间或者小于等于当前时间");
+            }
+        }
+        return ajaxResult;
+    }
+
 
     /**
      *