瀏覽代碼

待审核列表性能优化

seyason 6 月之前
父節點
當前提交
366626c4f0

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

@@ -1782,22 +1782,17 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                 }
             }
             DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+            List<String> dateList = nameList.stream().map(m->(String)m.get("dateStr")).collect(Collectors.toList());
+            //获取最大和最小日期
+            String minDate = dateList.stream().min(Comparator.comparing(String::toString)).get();
+            String maxDate = dateList.stream().max(Comparator.comparing(String::toString)).get();
             //设置每人每日考勤打卡时长
             if (timeType.getShowCorpwxCardtime() == 1) {
                 //企业微信的情况
                 QueryWrapper<UserCorpwxTime> userCorpwxTimeQueryWrapper = new QueryWrapper<>();
                 if (nameList.size() > 0) {
-                    for (Map map : nameList) {
-                        String corpwxUserid = (String)map.get("corpwxUserid");
-                        String dateStr = (String)map.get("dateStr");
-                        String name = (String)map.get("name");
-                        if (corpwxUserid != null) {
-                            userCorpwxTimeQueryWrapper.or(wrapper->wrapper.eq("corpwx_userid", corpwxUserid).eq("create_date", dateStr));
-                        } else {
-                            userCorpwxTimeQueryWrapper.or(wrapper->wrapper.eq("name", name).eq("create_date", dateStr));
-                        }
-
-                    }
+                    //获取日期范围
+                    userCorpwxTimeQueryWrapper.between("create_date", minDate, maxDate).eq("company_id", companyId);
                     List<UserCorpwxTime> timeList = userCorpwxTimeMapper.selectList(userCorpwxTimeQueryWrapper);
                     //过滤匹配当前的数据
                     for (Map map : nameList) {
@@ -1816,11 +1811,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                 //钉钉的情况
                 QueryWrapper<UserDingdingTime> userDingdingTimeQueryWrapper = new QueryWrapper<>();
                 if (nameList.size() > 0) {
-                    for (Map map : nameList) {
-                        String itemUid = (String)map.get("userId");
-                        String dateStr = (String)map.get("dateStr");
-                        userDingdingTimeQueryWrapper.or(wrapper->wrapper.eq("user_id", itemUid).eq("work_date", dateStr));
-                    }
+                    userDingdingTimeQueryWrapper.between("work_date", minDate, maxDate).eq("company_id", companyId);
                     List<UserDingdingTime> timeList = userDingdingTimeMapper.selectList(userDingdingTimeQueryWrapper);
                     //过滤匹配当前的数据
                     for (Map map : nameList) {
@@ -1838,11 +1829,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                 //泛微的情况
                 QueryWrapper<UserFvTime> userFvTimeQueryWrapper = new QueryWrapper<>();
                 if (nameList.size() > 0) {
-                    for (Map map : nameList) {
-                        String itemUid = (String)map.get("userId");
-                        String dateStr = (String)map.get("dateStr");
-                        userFvTimeQueryWrapper.or(wrapper->wrapper.eq("user_id", itemUid).eq("work_date", dateStr));
-                    }
+                    userFvTimeQueryWrapper.between("work_date", minDate, maxDate).eq("company_id", companyId);
                     List<UserFvTime> timeList = userFvTimeMapper.selectList(userFvTimeQueryWrapper);
                     //过滤匹配当前的数据
                     for (Map map : nameList) {

+ 0 - 1
fhKeeper/formulahousekeeper/timesheet/src/views/workReport/daily.vue

@@ -7398,7 +7398,6 @@
                         if(zhi[n].corpTime && parseInt(zhi[n].he) > zhi[n].corpTime.workHours){
                             overcorp += zhi[n].zhoDataTime + ','
                         }
-                        
                     }
                     if(this.user.companyId != 5978 && overcorp != ''){
                         overcorp = overcorp.substring(0,overcorp.length - 1)