Bläddra i källkod

加班情况表部门筛选,以及导出筛选

cs 2 år sedan
förälder
incheckning
979545d61b

+ 5 - 10
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ProjectController.java

@@ -4,6 +4,7 @@ package com.management.platform.controller;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.management.platform.entity.*;
+import com.management.platform.entity.vo.OvertimeListVO;
 import com.management.platform.mapper.*;
 import com.management.platform.service.OperationRecordService;
 import com.management.platform.service.ProjectService;
@@ -485,14 +486,11 @@ public class ProjectController {
 
     /**
      *
-     * @param projectId 项目id, 非必传
-     * @param startDate 开始日期 必传
-     * @param endDate  结束日期 必传
      * @return
      */
     @RequestMapping("/getOvertimeList")
-    public HttpRespMsg getOvertimeList(String userId, Integer projectId, String startDate, String endDate,Integer departmentId) {
-        return projectService.getOvertimeList(userId, projectId, startDate, endDate, request,departmentId);
+    public HttpRespMsg getOvertimeList(OvertimeListVO overtimeListVO) {
+        return projectService.getOvertimeList(overtimeListVO);
     }
 
     /**
@@ -511,14 +509,11 @@ public class ProjectController {
 
     /**
      * 导出加班统计报表
-     * @param projectId
-     * @param startDate
-     * @param endDate
      * @return
      */
     @RequestMapping("/exportOvertimeList")
-    public HttpRespMsg exportOvertimeList(String userId, Integer projectId, String startDate, String endDate) {
-        return projectService.exportOvertimeList(userId, projectId, startDate, endDate, request);
+    public HttpRespMsg exportOvertimeList(OvertimeListVO overtimeListVO) {
+        return projectService.exportOvertimeList(overtimeListVO, request);
     }
 
     /**

+ 19 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/vo/OvertimeListVO.java

@@ -0,0 +1,19 @@
+package com.management.platform.entity.vo;
+
+import lombok.Data;
+
+/**
+ * @author cs
+ * @version 1.0
+ * @ClassName OvertimeListVO
+ * @Description
+ * @date 2022-11-10 20:14
+ */
+@Data
+public class OvertimeListVO {
+    private String userId;
+    private Integer projectId;
+    private String startDate;
+    private String endDate;
+    private Integer[] departmentId;
+}

+ 3 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ProjectService.java

@@ -3,6 +3,7 @@ package com.management.platform.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.management.platform.entity.Project;
 import com.management.platform.entity.ProjectSeparate;
+import com.management.platform.entity.vo.OvertimeListVO;
 import com.management.platform.util.HttpRespMsg;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.multipart.MultipartFile;
@@ -102,9 +103,9 @@ public interface ProjectService extends IService<Project> {
 
     HttpRespMsg exportProjectStagesCost( HttpServletRequest request,String stageNames);
 
-    HttpRespMsg getOvertimeList(String userId, Integer projectId, String startDate, String endDate, HttpServletRequest request,Integer departmentId);
+    HttpRespMsg getOvertimeList(OvertimeListVO overtimeListVO);
 
-    HttpRespMsg exportOvertimeList(String userId, Integer projectId, String startDate, String endDate, HttpServletRequest request);
+    HttpRespMsg exportOvertimeList(OvertimeListVO overtimeListVO, HttpServletRequest request);
 
     HttpRespMsg getDegreeCost(String startDate, String endDate, Integer projectId, HttpServletRequest request);
 

+ 28 - 5
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java

@@ -2741,7 +2741,13 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
     }
 
     @Override
-    public HttpRespMsg getOvertimeList(String userId, Integer projectId, String startDate, String endDate, HttpServletRequest request,Integer departmentId) {
+    public HttpRespMsg getOvertimeList(OvertimeListVO overtimeListVO) {
+        Integer projectId = overtimeListVO.getProjectId();
+        String startDate = overtimeListVO.getStartDate();
+        String endDate = overtimeListVO.getEndDate();
+        String userId = overtimeListVO.getUserId();
+        Integer[] deptId = overtimeListVO.getDepartmentId();
+        ArrayList<Integer> departmentId = null;
         HttpRespMsg msg = new HttpRespMsg();
         String token = request.getHeader("TOKEN");
         User user = userMapper.selectById(token);
@@ -2766,8 +2772,12 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             }
         }
         List<Integer> branchDepartment =null;
-        if(departmentId!=null){
-            branchDepartment = getBranchDepartment(departmentId, allDepartmentList);
+        if(deptId!=null){
+            departmentId = new ArrayList<>(Arrays.asList(deptId));
+            branchDepartment = new ArrayList<>();
+            for (Integer dept : departmentId) {
+                branchDepartment.addAll(getBranchDepartment(dept, allDepartmentList));
+            }
         }
         List<Map<String, Object>> list = projectMapper.getOvertimeDetail(userId, user.getCompanyId(), startDate, endDate, projectId,branchDepartment,deptIds);
         boolean hasViewSalary = sysFunctionService.hasPriviledge(user.getRoleId(), "查看加班成本");
@@ -2784,8 +2794,13 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
     }
 
     @Override
-    public HttpRespMsg exportOvertimeList(String userId, Integer projectId, String startDate, String endDate, HttpServletRequest request) {
+    public HttpRespMsg exportOvertimeList(OvertimeListVO overtimeListVO, HttpServletRequest request) {
         HttpRespMsg httpRespMsg = new HttpRespMsg();
+        String userId = overtimeListVO.getUserId();
+        String startDate = overtimeListVO.getStartDate();
+        String endDate = overtimeListVO.getEndDate();
+        Integer projectId = overtimeListVO.getProjectId();
+        Integer[] deptId = overtimeListVO.getDepartmentId();
         try {
             String token = request.getHeader("TOKEN");
             User user = userMapper.selectById(token);
@@ -2811,7 +2826,15 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     }
                 }
             }
-            List<Map<String, Object>> list = projectMapper.getOvertimeDetail(userId, user.getCompanyId(), startDate, endDate, projectId,null,deptIds);
+            List<Integer> branchDepartment =null;
+            if(deptId!=null){
+                ArrayList<Integer> departmentId = new ArrayList<>(Arrays.asList(deptId));
+                branchDepartment = new ArrayList<>();
+                for (Integer dept : departmentId) {
+                    branchDepartment.addAll(getBranchDepartment(dept, allDepartmentList));
+                }
+            }
+            List<Map<String, Object>> list = projectMapper.getOvertimeDetail(userId, user.getCompanyId(), startDate, endDate, projectId,branchDepartment,deptIds);
             boolean hasViewSalary = sysFunctionService.hasPriviledge(user.getRoleId(), "查看加班成本");
             BigDecimal totalMoneyCost = BigDecimal.valueOf(0);
             List<String> headList = new ArrayList<String>();