Bladeren bron

已提交列表数据修改

Min 1 jaar geleden
bovenliggende
commit
54c299df12

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

@@ -109,7 +109,7 @@ public interface ReportMapper extends BaseMapper<Report> {
     List<Map<String, Object>> getDepartmentDetailByState(@Param("departmentIds") List<Integer> departmentIds,
                                                @Param("companyId") Integer companyId);
 
-    List<Map<String, Object>> getUserDailyWorkTime(Integer companyId, String startDate, String endDate, List<Integer> deptIds, String leaderId);
+    List<Map<String, Object>> getUserDailyWorkTime(Integer companyId, String startDate, String endDate, List<Integer> deptIds, String leaderId,String userId);
 
     List<Map<String, Object>> getUserWorkingTimeByRange(Integer companyId, String startDate, String endDate);
 

+ 9 - 9
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -4271,12 +4271,12 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
             //检查是不是部门负责人(含主要负责人和其他负责人)
             List<Integer> allDeptIds = getAllVisibleDeptIdList(user, allDeptList);
             if (allDeptIds.size() > 0) {
-                list = reportMapper.getUserDailyWorkTime(companyId, startDate, endDate, allDeptIds, null);
-                //部门负责人看自己部门相关的
-                allRangeUserList = userMapper.selectList(new QueryWrapper<User>().in("department_id", allDeptIds).orderByDesc("department_id"));
+                list = reportMapper.getUserDailyWorkTime(companyId, startDate, endDate, allDeptIds, null,user.getId());
+                //部门负责人看自己部门相关的 以及自己的
+                allRangeUserList = userMapper.selectList(new QueryWrapper<User>().in("department_id", allDeptIds).or().eq("id",user.getId()).orderByDesc("department_id"));
             } else {
                 //看自己的所负责的项目相关人员的
-                list = reportMapper.getUserDailyWorkTime(companyId, startDate, endDate, null, user.getId());
+                list = reportMapper.getUserDailyWorkTime(companyId, startDate, endDate, null, user.getId(),user.getId());
                 //项目相关的人员列表
                 List<Project> projectList = projectMapper.selectList(new QueryWrapper<Project>().eq("incharger_id", user.getId()));
                 List<Project> collect = projectList.stream().collect(Collectors.toList());
@@ -4284,12 +4284,12 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                     List<Participation> participationList = participationMapper.selectList(new QueryWrapper<Participation>().in("project_id", collect));
                     List<String> collect1 = participationList.stream().map(Participation::getUserId).collect(Collectors.toList());
                     if (collect1.size() > 0) {
-                        allRangeUserList = userMapper.selectList(new QueryWrapper<User>().in("id", collect1).orderByDesc("department_id"));
+                        allRangeUserList = userMapper.selectList(new QueryWrapper<User>().in("id", collect1).or().eq("id",user.getId()).orderByDesc("department_id"));
                     }
                 }
             }
         } else {
-            list = reportMapper.getUserDailyWorkTime(companyId, startDate, endDate, null, null);
+            list = reportMapper.getUserDailyWorkTime(companyId, startDate, endDate, null, null,user.getId());
             //管理员看全公司所有人
             allRangeUserList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", companyId).orderByDesc("department_id"));
         }
@@ -6074,12 +6074,12 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
             List<Integer> allVisibleDeptIdList = getAllVisibleDeptIdList(user, null);
             //检查是不是部门负责人
             if (allVisibleDeptIdList.size() > 0) {
-                list = reportMapper.getUserDailyWorkTime(companyId, startDate, endDate, allVisibleDeptIdList, null);
+                list = reportMapper.getUserDailyWorkTime(companyId, startDate, endDate, allVisibleDeptIdList, null,user.getId());
                 //部门负责人看自己部门相关的
                 allRangeUserList = userMapper.selectList(new QueryWrapper<User>().in("department_id", allVisibleDeptIdList).eq("report_status",0));
             } else {
                 //看自己的所负责的项目相关人员的
-                list = reportMapper.getUserDailyWorkTime(companyId, startDate, endDate, null, user.getId());
+                list = reportMapper.getUserDailyWorkTime(companyId, startDate, endDate, null, user.getId(),user.getId());
                 //项目相关的人员列表
                 List<Project> projectList = projectMapper.selectList(new QueryWrapper<Project>().eq("incharger_id", user.getId()));
                 List<Project> collect = projectList.stream().collect(Collectors.toList());
@@ -6092,7 +6092,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                 }
             }
         } else {
-            list = reportMapper.getUserDailyWorkTime(companyId, startDate, endDate, null, null);
+            list = reportMapper.getUserDailyWorkTime(companyId, startDate, endDate, null, null,user.getId());
             //管理员看全公司所有人
             allRangeUserList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", companyId).eq("report_status",0));
         }

+ 6 - 4
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ReportMapper.xml

@@ -886,9 +886,10 @@
         WHERE (report.state = 0 or report.state = 1)
         and user.company_id = #{companyId} and (user.is_active=1 or(user.is_active=0 and user.inactive_date>=#{startDate}))
         <if test="deptIds != null">
-            AND user.department_id in <foreach collection="deptIds" separator="," index="index" item="item" close=")" open="(">
-            #{item}
-        </foreach>
+            AND ((user.department_id in
+            <foreach collection="deptIds" separator="," index="index" item="item" close=")" open="(">
+                #{item}
+            </foreach>) or (user.id = #{userId}))
         </if>
         <if test="startDate != null">
             AND report.create_date &gt;= #{startDate}
@@ -897,7 +898,8 @@
             AND report.create_date &lt;= #{endDate}
         </if>
         <if test="leaderId != null">
-            AND user.id in (select user_id from participation where project_id in (select id from project where incharger_id = #{leaderId}))
+            AND ((user.id in (select user_id from participation where project_id in (select id from project where incharger_id = #{leaderId})) )
+            or (user.id = #{userId}))
         </if>
         GROUP BY user.id, report.create_date;
     </select>