Selaa lähdekoodia

报表关于人员 离职人员不展示
填报及时率修复

yurk 2 vuotta sitten
vanhempi
commit
7cfebb19bb

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

@@ -5507,8 +5507,8 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             List<Map<String,Object>> dataList=new ArrayList<>();
             long days =dateTimeList.size();
             List<LeaveSheet> leaveSheets = leaveSheetList.stream().filter(ls -> ls.getOwnerId().equals(user.getId())
-                    &&(ls.getStartDate().isBefore(ChronoLocalDate.from(sDate))||ls.getStartDate().isEqual(ChronoLocalDate.from(sDate))||ls.getEndDate().isAfter(ChronoLocalDate.from(eDate))||ls.getEndDate().isEqual(ChronoLocalDate.from(eDate)))
-                    &&(ls.getEndDate().isAfter(ChronoLocalDate.from(eDate))||ls.getEndDate().isEqual(ChronoLocalDate.from(eDate))||ls.getEndDate().isAfter(ChronoLocalDate.from(sDate))||ls.getEndDate().isEqual(ChronoLocalDate.from(sDate)))).collect(Collectors.toList());
+                    &&(ls.getStartDate().isAfter(ChronoLocalDate.from(sDate))||ls.getStartDate().isEqual(ChronoLocalDate.from(sDate))||ls.getStartDate().isBefore(ChronoLocalDate.from(eDate))||ls.getStartDate().isEqual(ChronoLocalDate.from(eDate)))
+                    &&(ls.getEndDate().isBefore(ChronoLocalDate.from(eDate))||ls.getEndDate().isEqual(ChronoLocalDate.from(eDate))||ls.getEndDate().isAfter(ChronoLocalDate.from(sDate))||ls.getEndDate().isEqual(ChronoLocalDate.from(sDate)))).collect(Collectors.toList());
             TimelinessRateVO timelinessRateVO=new TimelinessRateVO();
             timelinessRateVO.setUserName(user.getName());
             timelinessRateVO.setJobNumber(user.getJobNumber());
@@ -5519,6 +5519,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             }
             List<Map<String, Object>> mapList = listMap.get(user.getName());
             //请假的不参与及时率统计
+            System.out.println(leaveSheets);
             if(leaveSheets.size()>0){
                 for (LeaveSheet leaveSheet : leaveSheets) {
                     List<LocalDateTime> leaveDateList = getDays(leaveSheet.getStartDate().atTime(LocalTime.MIN), leaveSheet.getEndDate().atTime(LocalTime.MIN));
@@ -5597,6 +5598,8 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     }
                     dataList.add(objectMap);
                 }
+                System.out.println(days);
+                System.out.println(num);
                 BigDecimal bigDecimal=new BigDecimal(num);
                 BigDecimal divide;
                 if(days!=0){

+ 6 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ProjectMapper.xml

@@ -696,6 +696,7 @@
         left join project on project.id = report.project_id
         WHERE
         report.`state` = 1
+        AND user.`is_active` = 1
         AND report.`create_date` BETWEEN #{startDate} and #{endDate}
         AND user.`company_id` =#{companyId}
         <if test="userId!=null">
@@ -732,6 +733,7 @@
         left join project on project.id = report.project_id
         WHERE
         report.`state` = 1
+        AND user.`is_active` = 1
         AND report.`create_date` BETWEEN #{startDate} and #{endDate}
         AND user.`company_id` =#{companyId}
         <if test="userId!=null">
@@ -858,6 +860,7 @@
                 left join user u on u.id = a.project_auditor_id
                 WHERE a.company_id =#{companyId}
                 and a.state = 0
+                and u.is_active = 1
                 <if test="startDate!=null and endDate!=null">
                     AND a.create_date between #{startDate} and #{endDate}
                 </if>
@@ -893,6 +896,7 @@
                 left join department dp on u.department_id=dp.department_id
                 WHERE a.company_id =#{companyId}
                 and a.state = 0
+                and u.is_active = 1
                 <if test="startDate!=null and endDate!=null">
                     AND a.create_date between #{startDate} and #{endDate}
                 </if>
@@ -936,6 +940,7 @@
             left join user u on u.id = a.project_auditor_id
             WHERE a.company_id =#{companyId}
             and a.state = 0
+            and u.is_active = 1
             <if test="startDate!=null and endDate!=null">
                 AND a.create_date between #{startDate} and #{endDate}
             </if>
@@ -971,6 +976,7 @@
             left join department dp on u.department_id=dp.department_id
             WHERE a.company_id =#{companyId}
             and a.state = 0
+            and u.is_active = 1
             <if test="startDate!=null and endDate!=null">
                 AND a.create_date between #{startDate} and #{endDate}
             </if>

+ 1 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ReportMapper.xml

@@ -683,6 +683,7 @@
         where rl.company_id=#{companyId}
         and rl.create_date between  #{startDate} and #{endDate}
         and rl.msg like '%提交了%'
+        and `user`.is_active = 1
         group by user.id,rl.create_date
     </select>
 </mapper>

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 10639 - 909
fhKeeper/formulahousekeeper/management-platform/workTime.log