Bladeren bron

修复个人看pc端的自己日报时不显示工序和产品名称的问题

seyason 1 jaar geleden
bovenliggende
commit
3b522f5cad

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

@@ -60,7 +60,7 @@ public interface ReportMapper extends BaseMapper<Report> {
                                                              @Param("endDate") String endDate, @Param("projectId") Integer projectId,@Param("stateKey")Integer stateKey,@Param("branchDepartment")List<Integer> branchDepartment);
 
     //按当前人员获取本人报告
-    List<ReportVO> getReportByDate(@Param("date") String date, @Param("id") String id);
+//    List<ReportVO> getReportByDate(@Param("date") String date, @Param("id") String id);
     //获取项目经理所管理的人员的报告
     List<Map<String, Object>> getInchargeReportByDate(@Param("date") String date, @Param("id") String id, @Param("state") Integer state);
 
@@ -104,6 +104,8 @@ public interface ReportMapper extends BaseMapper<Report> {
 
     List<Map<String, Object>> getUserDailyWorkTime(Integer companyId, String startDate, String endDate, List<Integer> deptIds, String leaderId);
 
+    List<Map<String, Object>> getMyDailyWorkTime(String startDate, String endDate, String userId);
+
     List<Map<String, Object>> getUserWorkingTimeByRange(Integer companyId, String startDate, String endDate);
 
     List<Report> selectSimpleTime(Integer companyId, String startDate, String endDate);

+ 7 - 2
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -227,7 +227,6 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
             List<Map<String, Object>> nameList = new ArrayList<>();
             List<SysRichFunction> functionList = sysFunctionMapper.getRoleFunctions(user.getRoleId(), "查看全公司工时");
             if (functionList.size() == 0) {
-                String leaderId = user.getId();
                 //不是项目经理,只看自己的报告
                 List<ReportVO> list = new ArrayList<>();
                 //没有指定员工或者指定的就是自己
@@ -236,7 +235,9 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                     Map<String, Object> map = new HashMap<>();
                     map.put("id", user.getId());
                     map.put("name", user.getName());
-                    list = reportMapper.getReportByDate(date, (String) map.get("id"));
+                    List<String> userIds = new ArrayList<>();
+                    userIds.add(user.getId());
+                    list = reportMapper.getUserReportByDate(date, userIds);
                     if (list.size() > 0) {
                         //个人日报
                         nameList.add(map);
@@ -1799,6 +1800,10 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                 list = reportMapper.getUserDailyWorkTime(companyId, startDate, endDate, allDeptIds, null);
                 //部门负责人看自己部门相关的
                 allRangeUserList = userMapper.selectList(new QueryWrapper<User>().in("department_id", allDeptIds).orderByDesc("department_id"));
+            } else {
+                //个人只能看自己的
+                list = reportMapper.getMyDailyWorkTime(startDate, endDate, user.getId());
+                allRangeUserList.add(user);
             }
         } else {
             list = reportMapper.getUserDailyWorkTime(companyId, startDate, endDate, null, null);

+ 14 - 16
fhKeeper/formulahousekeeper/management-workshop/src/main/resources/mapper/ReportMapper.xml

@@ -71,6 +71,20 @@
         GROUP BY user.id, report.create_date;
     </select>
 
+    <select id="getMyDailyWorkTime" resultType="java.util.Map">
+        SELECT user.id, user.name,department.department_name as departmentName,department.corpwx_deptid as corpwxDeptId, report.create_date as createDate, sum(working_time) as workingTime,user.inactive_date as inactiveDate,user.corpwx_userid as corpwxUserId
+        FROM user
+        left join report on user.id = report.creator_id
+        left join department on department.department_id = user.department_id
+        WHERE  user.id = #{userId}
+        <if test="startDate != null">
+            AND report.create_date &gt;= #{startDate}
+        </if>
+        <if test="endDate != null">
+            AND report.create_date &lt;= #{endDate}
+        </if>
+        group by report.create_date
+    </select>
 
     <!--根据日期,部门,指定人员获取报告上传人-->
     <select id="getReportNameByDateAndDept" resultType="java.util.Map">
@@ -96,22 +110,6 @@
     </select>
 
 
-    <!--根据员工id,日期获取当天全部报告信息-->
-    <select id="getReportByDate" resultMap="FullMap">
-        select a.*,b.name as productName,prod_procedure.name as procedureName,checker.name as checkerName,u.name as creatorName
-        FROM report AS a
-        left JOIN product AS b ON a.product_id=b.id
-        left join prod_procedure on prod_procedure.id = a.prod_procedure_id
-        left join user u on u.id = a.creator_id
-        left join user checker on checker.id = a.checker_id
-        WHERE 1=1
-        <if test="date != null and date != ''">
-            AND a.create_date=#{date}
-        </if>
-        AND a.creator_id=#{id}
-        ORDER BY a.creator_id ASC
-    </select>
-
     <!-- 批量获取员工某天的报告 -->
     <select id="getUserReportByDate" resultMap="FullMap">
         select a.*,b.name as productName,prod_procedure.name as procedureName,checker.name as checkerName,u.name as creatorName,