Browse Source

修改考勤列表

anderx 1 year ago
parent
commit
1fa13d21bf

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

@@ -392,4 +392,13 @@ public class ProjectTaskController extends BaseController {
         projectStaffRecordService.downloadFiles(ids, response);
 
     }
+
+    /**
+     * 考勤数据合并
+     */
+    @PostMapping("/mateUserRecord")
+    public AjaxResult mateUserRecord(ProjectStaffRecordInput in) {
+        projectStaffRecordService.mateUserRecord(in);
+        return AjaxResult.success();
+    }
 }

+ 3 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java

@@ -7,6 +7,7 @@ import java.util.stream.Collectors;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import com.ruoyi.project.bo.ProjectStaffRecordInput;
 import com.ruoyi.system.domain.UserClockDetailsInput;
 import com.ruoyi.system.domain.UserRecord;
 import com.ruoyi.system.domain.selectUserClockInput;
@@ -356,4 +357,6 @@ public class SysUserController extends BaseController
         userService.userRecordMerge();
         return result;
     }
+
+
 }

+ 2 - 0
ruoyi-system/src/main/java/com/ruoyi/project/mapper/ProjectStaffRecordMapper.java

@@ -50,4 +50,6 @@ public interface ProjectStaffRecordMapper {
     List<ProjectStaffRecord> selectByAidAndTime(@Param("uid") Long uid, @Param("startTime") String startTime, @Param("endTime") String endTime);
 
     List<ProjectStaffRecord> selectByDDUidAndTime(@Param("ddUserId") Long ddUserId, @Param("clockDate") LocalDate clockDate);
+
+    void mateUserRecord(List<Long> collect);
 }

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

@@ -40,4 +40,5 @@ public interface ProjectStaffRecordService {
     AjaxResult checkRecordTime(AjaxResult ajaxResult, ProjectStaffRecord in);
 
 
+    void mateUserRecord(ProjectStaffRecordInput in);
 }

+ 7 - 1
ruoyi-system/src/main/java/com/ruoyi/project/service/impl/ProjectStaffRecordServiceImpl.java

@@ -344,7 +344,13 @@ public class ProjectStaffRecordServiceImpl implements ProjectStaffRecordService
         return ajaxResult;
     }
 
-
+    @Override
+    public void mateUserRecord(ProjectStaffRecordInput in) {
+        in.setPageSize(999999);
+        List<ProjectStaffRecordOut> projectStaffRecordOuts = listRecord(in);
+        List<Long> collect = projectStaffRecordOuts.stream().map(ProjectStaffRecordOut::getId).collect(Collectors.toList());
+        projectStaffRecordMapper.mateUserRecord(collect);
+    }
 
 
     /**

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

@@ -5,6 +5,7 @@ import java.util.Map;
 
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.project.bo.ProjectStaffRecordInput;
 import com.ruoyi.system.domain.*;
 
 /**
@@ -235,4 +236,5 @@ public interface ISysUserService
     void userRecordMerge();
 
     AjaxResult  userRecordMergeCheck();
+
 }

+ 5 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java

@@ -12,12 +12,15 @@ import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.entity.SysDept;
 import com.ruoyi.common.enums.UserRolesType;
 import com.ruoyi.common.utils.bean.BeanUtils;
+import com.ruoyi.project.bo.ProjectStaffRecordInput;
+import com.ruoyi.project.bo.ProjectStaffRecordOut;
 import com.ruoyi.project.domain.ProjectStaff;
 import com.ruoyi.project.domain.ProjectStaffRecord;
 import com.ruoyi.project.domain.ProjectTask;
 import com.ruoyi.project.mapper.ProjectStaffMapper;
 import com.ruoyi.project.mapper.ProjectStaffRecordMapper;
 import com.ruoyi.project.mapper.ProjectTaskMapper;
+import com.ruoyi.project.service.ProjectStaffRecordService;
 import com.ruoyi.system.domain.*;
 import com.ruoyi.system.mapper.*;
 import com.ruoyi.system.service.ISysDeptService;
@@ -81,6 +84,8 @@ public class SysUserServiceImpl implements ISysUserService
     private ProjectTaskMapper projectTaskMapper;
     @Autowired
     private UserRecordMapper userRecordMapper;
+    @Autowired
+    private ProjectStaffRecordService projectStaffRecordService;
 
 
     /**

+ 10 - 0
ruoyi-system/src/main/resources/mapper/project/ProjectStaffRecordMapper.xml

@@ -280,6 +280,7 @@
         set x.duration=y.duration
         where x.user_id =y.aid
     </update>
+
     <select id="selectByDDUidAndTime" resultType="com.ruoyi.project.domain.ProjectStaffRecord">
         select
             b.id,b.duration,b.aid,b.pid,
@@ -289,6 +290,15 @@
           and b.record_time = #{clockDate}
     </select>
 
+    <update id="mateUserRecord">
+        update project_staff_record
+        set duration =check_duration
+        where check_status =1
+        and id in
+        <foreach collection="collect" open="(" close=")" separator="," item="e">
+            #{e}
+        </foreach>
+    </update>
 
 </mapper>