Min 1 rok temu
rodzic
commit
5177252502

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

@@ -598,8 +598,8 @@ public class ProjectController {
      * @param projectId 项目id, 可不传
      */
     @RequestMapping("/getDegreeCost")
-    public HttpRespMsg getDegreeCost(String startDate, String endDate, Integer projectId) {
-        return projectService.getDegreeCost(startDate, endDate, projectId, request);
+    public HttpRespMsg getDegreeCost(String startDate, String endDate, Integer projectId,String userId) {
+        return projectService.getDegreeCost(startDate, endDate, projectId, userId,request);
     }
 
     //导出自定义维度的工时成本

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/ProjectMapper.java

@@ -79,7 +79,7 @@ public interface ProjectMapper extends BaseMapper<Project> {
 
 //    List<Map<String, Object>> getOvertimeList(String userId, Integer companyId, String startDate, String endDate, Integer projectId);
 
-    List<Map<String, Object>> getDegreeCost(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("projectId") Integer projectId, @Param("companyId") Integer companyId,List<Integer> departmentIds);
+    List<Map<String, Object>> getDegreeCost(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("projectId") Integer projectId,@Param("userId") String userId, @Param("companyId") Integer companyId,List<Integer> departmentIds);
 
     //获取导出的项目数据
     List<HashMap<String, Object>> getExportData(Integer companyId, String userId);

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

@@ -119,7 +119,7 @@ public interface ProjectService extends IService<Project> {
 
     HttpRespMsg exportOvertimeList(OvertimeListVO overtimeListVO, HttpServletRequest request);
 
-    HttpRespMsg getDegreeCost(String startDate, String endDate, Integer projectId, HttpServletRequest request);
+    HttpRespMsg getDegreeCost(String startDate, String endDate, Integer projectId, String userId,HttpServletRequest request);
 
     HttpRespMsg exportData(String keyword,
                            @RequestParam(required = false, defaultValue = "1") Integer searchField,

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

@@ -5646,7 +5646,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
     }
 
     @Override
-    public HttpRespMsg getDegreeCost(String startDate, String endDate, Integer projectId, HttpServletRequest request) {
+    public HttpRespMsg getDegreeCost(String startDate, String endDate, Integer projectId,String userId, HttpServletRequest request) {
         HttpRespMsg msg = new HttpRespMsg();
         String token = request.getHeader("TOKEN");
         User user = userMapper.selectById(token);
@@ -5675,7 +5675,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                 }
             }
         }
-        msg.data = projectMapper.getDegreeCost(startDate, endDate, projectId, user.getCompanyId(),deptIds);
+        msg.data = projectMapper.getDegreeCost(startDate, endDate, projectId,userId, user.getCompanyId(),deptIds);
         return msg;
     }
 

+ 17 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ProjectMapper.xml

@@ -879,6 +879,9 @@
         <if test="projectId != null">
             and a.project_id = #{projectId}
         </if>
+        <if test="userId != null and userId!=''">
+            and a.creator_id = #{userId}
+        </if>
         <if test="startDate != null and endDate != null">
             AND a.create_date between #{startDate} and #{endDate}
         </if>
@@ -1658,7 +1661,20 @@
             WHERE report.state = 1
             AND p.is_public = 0
             AND report.company_id=#{companyId}
-            AND report.create_date BETWEEN #{startDate} AND #{endDate}
+            AND
+            (
+            IF(user.induction_date is not null AND user.induction_date &gt; #{startDate} and user.inactive_date is not null AND user.inactive_date &lt; #{endDate}
+            ,report.create_date BETWEEN user.induction_date AND user.inactive_date
+            ,report.create_date BETWEEN #{startDate} AND #{endDate} )
+            and
+            IF(user.induction_date is not null AND user.induction_date &gt; #{startDate}
+            ,report.create_date BETWEEN user.induction_date AND #{endDate}
+            ,report.create_date BETWEEN #{startDate} AND #{endDate} )
+            and
+            IF(user.inactive_date is not null AND user.inactive_date &lt; #{endDate}
+            ,report.create_date BETWEEN #{startDate} AND user.inactive_date
+            ,report.create_date BETWEEN #{startDate} AND #{endDate} )
+            )
             GROUP BY user.id,p.id,user.plate1,p.project_name,p.project_code
         ) r
         ON u.id = r.creator_id