From 36844dfeea0914de1138be9ebdf27c92d745d73a Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Thu, 07 Mar 2024 15:58:54 +0800
Subject: [PATCH] fix:断线统计补充提交

---
 screen-api/src/main/java/com/moral/api/controller/HeatMapController.java |  148 +------------------------------------------------
 1 files changed, 4 insertions(+), 144 deletions(-)

diff --git a/screen-api/src/main/java/com/moral/api/controller/HeatMapController.java b/screen-api/src/main/java/com/moral/api/controller/HeatMapController.java
index 2b149c1..7ca6485 100644
--- a/screen-api/src/main/java/com/moral/api/controller/HeatMapController.java
+++ b/screen-api/src/main/java/com/moral/api/controller/HeatMapController.java
@@ -4,24 +4,18 @@
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.ObjectUtils;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
-import java.time.LocalDate;
-import java.time.temporal.ChronoUnit;
-import java.util.ArrayList;
-import java.util.Date;
 import java.util.List;
 import com.moral.api.pojo.dto.dataDisplay.HeatMapDTO;
 import com.moral.api.service.DataDisplayService;
+import com.moral.api.utils.HeatMapTimeUtils;
 import com.moral.api.vo.HeatMapVo;
-import com.moral.api.vo.TimeHourVo;
 import com.moral.constant.ResultMessage;
-import com.moral.util.DateUtils;
 
 /**
  * Description //todo
@@ -43,11 +37,11 @@
 
      @GetMapping("query")
      @ApiOperation("���������������")
-     public ResultMessage  getHeatMap(@RequestParam @ApiParam(value = "code",name = "���������") String code,
+     public ResultMessage  getHeatMap(@RequestParam @ApiParam(value = "organizationId",name = "������id") Integer id,
                                       @RequestParam @ApiParam(value = "startTime",name = "������������") String startTime,
                                       @RequestParam @ApiParam(value = "type",name= "������������") String type,
                                       @RequestParam @ApiParam(value = "form",name= "������������") String form){
-         List<HeatMapDTO> heatMapData = dataDisplayService.getHeatMapData(code, startTime, type, form);
+         List<HeatMapDTO> heatMapData = dataDisplayService.getHeatMapDataV2(id, startTime, type, form);
          return ResultMessage.ok(ObjectUtils.isEmpty(heatMapData)?"0":heatMapData);
      }
     @GetMapping("queryTime")
@@ -55,141 +49,7 @@
     public ResultMessage  getHeatMap(@RequestParam @ApiParam(value = "startTime",name = "������������") String startTime,
                                      @RequestParam @ApiParam(value = "endTime",name= "������������") String endTime,
                                      @RequestParam @ApiParam(value = "type",name= "������������") String type){
-        ArrayList<HeatMapVo> heatMapVos = new ArrayList<>();
-        if (type.equals("day")){
-            ArrayList<TimeHourVo> timeHourVos = new ArrayList<>();
-            String[] splitStart = startTime.split("-");
-            String[] splitEnd = endTime.split("-");
-            LocalDate startDate = LocalDate.of(Integer.parseInt(splitStart[0]), Integer.parseInt(splitStart[1]), Integer.parseInt(splitStart[2]));
-            LocalDate endDate = LocalDate.of(Integer.parseInt(splitEnd[0]), Integer.parseInt(splitEnd[1]), Integer.parseInt(splitEnd[2]));
-            long daysBetween = ChronoUnit.DAYS.between(startDate, endDate);
-            for (int i = 0; i <= daysBetween; i++) {
-                HeatMapVo heatMapVo = new HeatMapVo();
-                LocalDate date = startDate.plusDays(i);
-                heatMapVo.setId(i);
-                heatMapVo.setName(date.toString());
-                heatMapVo.setHourListTime(timeHourVos);
-                heatMapVos.add(heatMapVo);
-            }
-        }else if (type.equals("month")){
-            ArrayList<TimeHourVo> timeHourVos = new ArrayList<>();
-            String[] splitStart = startTime.split("-");
-            String[] splitEnd = endTime.split("-");
-            //���������������������������
-
-            int monthDay = DateUtils.getMonthDay(DateUtils.getDate(endTime,DateUtils.yyyy_MM_EN));
-            LocalDate startDate = LocalDate.of(Integer.parseInt(splitStart[0]), Integer.parseInt(splitStart[1]),1);
-            LocalDate endDate = LocalDate.of(Integer.parseInt(splitEnd[0]), Integer.parseInt(splitEnd[1]),monthDay);
-            long daysBetween = ChronoUnit.DAYS.between(startDate, endDate);
-            for (int i = 0; i <= daysBetween; i++) {
-                HeatMapVo heatMapVo = new HeatMapVo();
-                LocalDate date = startDate.plusDays(i);
-                heatMapVo.setId(i);
-                heatMapVo.setName(date.toString());
-                heatMapVo.setHourListTime(timeHourVos);
-                heatMapVos.add(heatMapVo);
-            }
-        }else {
-            int id = 0;
-            int idHour = -1;
-            Date ks = DateUtils.getDate(startTime,"yyyy-MM-dd HH");
-            Date js = DateUtils.getDateAddHour(DateUtils.getDate(endTime,"yyyy-MM-dd HH"),1);
-            String name =  DateUtils.dateToDateString(ks,DateUtils.yyyy_MM_dd_EN);
-            List<TimeHourVo> hourListTime = new ArrayList<>();
-            while (DateUtils.isTimeBefor(js,ks)){
-                idHour++;
-                HeatMapVo heatMapVo = new HeatMapVo();
-                String nameEndTime =  DateUtils.dateToDateString(ks,DateUtils.yyyy_MM_dd_EN);
-                String time =  DateUtils.dateToDateString(ks,"HH");
-                String ksTime =  DateUtils.dateToDateString(ks,"yyyy-MM-dd HH");
-                TimeHourVo hourVo = new TimeHourVo();
-                heatMapVo.setName(name);
-                heatMapVo.setId(id);
-                if(name.equals(nameEndTime)){
-                    heatMapVo.setId(id);
-                    heatMapVo.setName(name);
-                    hourVo.setName(time);
-                    hourVo.setId(idHour);
-                    hourListTime.add(hourVo);
-                    if(ksTime.equals(endTime)){
-                        heatMapVo.setHourListTime(hourListTime);
-                        heatMapVos.add(heatMapVo);
-                        idHour++;
-                        break;
-                    }
-                }else {
-                    id++;
-                    if(ksTime.equals(endTime)){
-                        heatMapVo.setHourListTime(hourListTime);
-                        heatMapVos.add(heatMapVo);
-                        hourListTime = new ArrayList<>();
-                        hourVo = new TimeHourVo();
-                        heatMapVo = new HeatMapVo();
-                        hourVo.setName("00");
-                        hourVo.setId(idHour++);
-                        hourListTime.add(hourVo);
-                        heatMapVo.setId(id);
-                        heatMapVo.setName(nameEndTime);
-                        heatMapVo.setHourListTime(hourListTime);
-                        heatMapVos.add(heatMapVo);
-                        break;
-                    }else {
-                        name = nameEndTime;
-                        heatMapVo.setHourListTime(hourListTime);
-                        heatMapVos.add(heatMapVo);
-                        hourListTime = new ArrayList<>();
-                        hourVo.setName(time);
-                        hourVo.setId(idHour);
-                        hourListTime.add(hourVo);
-                    }
-                }
-                ks = DateUtils.getDateAddHour(ks,1);
-            }
-            if(CollectionUtils.isNotEmpty(heatMapVos)){
-                heatMapVos.get(0).setIdLength(idHour);
-            }
-
-/*            String[] splitStart = startTime.split("-");
-            String[] s1 = splitStart[2].split(" ");
-            String[] splitEnd = endTime.split("-");
-            String[] s2 = splitEnd[2].split(" ");
-            //���������������
-            LocalDate startDate = LocalDate.of(Integer.parseInt(splitStart[0]), Integer.parseInt(splitStart[1]),Integer.parseInt(s1[0]));
-            LocalDate endDate = LocalDate.of(Integer.parseInt(splitEnd[0]), Integer.parseInt(splitEnd[1]),Integer.parseInt(s2[0]));
-            long daysBetween = ChronoUnit.DAYS.between(startDate, endDate);
-            //������������
-            LocalDateTime startDateTime = LocalDateTime.of(Integer.parseInt(splitStart[0]), Integer.parseInt(splitStart[1]), Integer.parseInt(s1[0]), Integer.parseInt(s1[1]), 0);
-            LocalDateTime endDateTime = LocalDateTime.of(Integer.parseInt(splitEnd[0]), Integer.parseInt(splitEnd[1]), Integer.parseInt(s2[0]), Integer.parseInt(s2[1]), 0);
-            List<String> hourList = new ArrayList<>();
-            LocalDateTime currentDateTime = startDateTime;
-            while (currentDateTime.isBefore(endDateTime) || currentDateTime.equals(endDateTime)) {
-                hourList.add(currentDateTime.toString());
-                currentDateTime = currentDateTime.plusHours(1);
-            }
-            int length=0;
-            for (int i = 0; i <= daysBetween; i++) {
-                ArrayList<TimeHourVo> timeHourVos = new ArrayList<>();
-                HeatMapVo heatMapVo = new HeatMapVo();
-                LocalDate date = startDate.plusDays(i);
-                heatMapVo.setId(i);
-                heatMapVo.setName(date.toString());
-                for (int i1 = 0; i1 < hourList.size(); i1++) {
-                    if (hourList.get(i1).contains(date.toString())){
-                        TimeHourVo hourVo = new TimeHourVo();
-                        hourVo.setName(hourList.get(i1).substring(11,13));
-                        hourVo.setId(length);
-                        timeHourVos.add(hourVo);
-                        hourList.remove(i1);
-                        i1--;
-                        length++;
-                    }
-                }
-                heatMapVo.setHourListTime(timeHourVos);
-                heatMapVos.add(heatMapVo);
-            }
-            heatMapVos.get(0).setIdLength(length);*/
-        }
-
+        List<HeatMapVo> heatMapVos = HeatMapTimeUtils.getTime(startTime, endTime, type);
         return ResultMessage.ok(ObjectUtils.isEmpty(heatMapVos)?"0":heatMapVos);
     }
 

--
Gitblit v1.8.0