Browse Source

Merge remote-tracking branch 'origin/master'

Administrator 1 year ago
parent
commit
208342d867

+ 14 - 15
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/InterviewTableServiceImpl.java

@@ -2,10 +2,7 @@ package com.ruoyi.system.service.impl;
 
 import java.math.BigDecimal;
 import java.time.LocalDate;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 import com.ruoyi.common.core.domain.AjaxResult;
@@ -120,8 +117,6 @@ public class InterviewTableServiceImpl implements IInterviewTableService
     @Override
     public AjaxResult browse(String type) {
         String time = DateUtils.getDate();
-        //获取月
-        String num = time.split("-")[1];
 
         Map<String,Object> map = new HashMap<>();
         //查询所有数据
@@ -138,7 +133,7 @@ public class InterviewTableServiceImpl implements IInterviewTableService
             //总浏览次数
             cs = interviewTableList.size();
             //总浏览人数
-            List<String> equipId = interviewTableList.stream().map(InterviewTable::getEquipmentId).collect(Collectors.toList());
+            Set<String> equipId = interviewTableList.stream().map(InterviewTable::getEquipmentId).collect(Collectors.toSet());
             rs = equipId.size();
             //累计浏览终端数
             zd = interviewTableList.size();
@@ -163,6 +158,8 @@ public class InterviewTableServiceImpl implements IInterviewTableService
         List<Object> list4 = new ArrayList<>();
         //年
         if("1".equals(type)){
+            //获取年
+            String num = time.split("-")[0];
             //获取当前年的所有数据
             InterviewTable table = new InterviewTable();
             table.setYear(num);
@@ -180,15 +177,15 @@ public class InterviewTableServiceImpl implements IInterviewTableService
                     int rqzcs = 0;
                     int rqzds = 0;
                     List<InterviewTable> interviewTableMonth = new ArrayList<>();
-                    if(i<=10){
+                    if(i<10){
                         interviewTableMonth = monthMap.get("0"+i);
 
                     }else{
-                        interviewTableMonth = monthMap.get(i);
+                        interviewTableMonth = monthMap.get(String.valueOf(i));
                     }
                     if(interviewTableMonth!=null && interviewTableMonth.size()>0){
                         //总浏览人数
-                        List<String> equipId = interviewTableMonth.stream().map(InterviewTable::getEquipmentId).collect(Collectors.toList());
+                        Set<String> equipId = interviewTableList.stream().map(InterviewTable::getEquipmentId).collect(Collectors.toSet());
                         rqzrs = equipId.size();
                         //总浏览次数
                         rqzcs = interviewTableMonth.size();
@@ -221,6 +218,8 @@ public class InterviewTableServiceImpl implements IInterviewTableService
         }
         //日
         if("2".equals(type)){
+            //获取月
+            String num = time.split("-")[1];
             //获取当前月天数
             LocalDate localDate = LocalDate.now();
             int numberOfDays = localDate.lengthOfMonth();
@@ -242,15 +241,15 @@ public class InterviewTableServiceImpl implements IInterviewTableService
                     int rqzcs = 0;
                     int rqzds = 0;
                     List<InterviewTable> interviewTableDay = new ArrayList<>();
-                    if(i<=10){
+                    if(i<10){
                         interviewTableDay = dayMap.get("0"+i);
 
                     }else{
-                        interviewTableDay = dayMap.get(i);
+                        interviewTableDay = dayMap.get(String.valueOf(i));
                     }
                     if(interviewTableDay!=null && interviewTableDay.size()>0){
                         //总浏览人数
-                        List<String> equipId = interviewTableDay.stream().map(InterviewTable::getEquipmentId).collect(Collectors.toList());
+                        Set<String> equipId = interviewTableList.stream().map(InterviewTable::getEquipmentId).collect(Collectors.toSet());
                         rqzrs = equipId.size();
                         //总浏览次数
                         rqzcs = interviewTableDay.size();
@@ -311,11 +310,11 @@ public class InterviewTableServiceImpl implements IInterviewTableService
         String rj = "0";
         if(interviewTableList!=null && interviewTableList.size()>0){
             //总浏览人数
-            List<String> equipId = interviewTableList.stream().map(InterviewTable::getEquipmentId).collect(Collectors.toList());
+            Set<String> equipId = interviewTableList.stream().map(InterviewTable::getEquipmentId).collect(Collectors.toSet());
             int rs = equipId.size();
             //人均停留时长
             Double sum = interviewTableList.stream().mapToDouble(InterviewTable::getInterviewTime).sum();
-            BigDecimal a = (BigDecimal.valueOf(Double.valueOf(sum)).divide(BigDecimal.valueOf(rs))).setScale(2,BigDecimal.ROUND_UP);
+            BigDecimal a = BigDecimal.valueOf(Double.valueOf(sum)).divide(BigDecimal.valueOf(rs),2, BigDecimal.ROUND_HALF_UP);
             rj = a.toString();
 
             for (InterviewTable table : interviewTableList) {