diff --git a/zc-business/src/main/java/com/zc/business/controller/StatusController.java b/zc-business/src/main/java/com/zc/business/controller/StatusController.java index 72758157..4e008604 100644 --- a/zc-business/src/main/java/com/zc/business/controller/StatusController.java +++ b/zc-business/src/main/java/com/zc/business/controller/StatusController.java @@ -89,30 +89,19 @@ public class StatusController extends BaseController { status.setStartTime(todayStart); status.setTime(currentTime); String[] types = status.getType().split(","); + status.setTypes(types); Map> maps = new HashMap<>(); + List statuses = statusService.getStatusList(status); for (String type : types) { - status.setType(type); - List listStatus = statusService.list(status); - // List listStatu=listStatus.stream().filter(iteam ->iteam.getType()!=null && iteam.getType().equals(type)).collect(Collectors.toList()); - //根据时间分组 - Map> map = listStatus.stream() - .collect(Collectors.groupingBy(Status -> (Status.getTime().getYear() + "-" + Status.getTime().getMonthValue() + "-" + Status.getTime().getDayOfMonth()))); - //根据类型分组 - // Map> maps = listStatu.stream().filter(iteam->iteam.getType()!=null).collect(Collectors.groupingBy(Status::getType)); - //生成有序map - Map> mapTime = new TreeMap<>(map); - Map mapSort = new TreeMap<>(); - for (Map.Entry> entry : mapTime.entrySet()) { - List groupItems = entry.getValue(); - long count = groupItems.stream().filter(iteam -> Objects.equals(iteam.getDeviceStatus(), "1")).count(); - String onlineRate = String.format("%.2f%%", (double) count / groupItems.size() * 100); - mapSort.put(entry.getKey(), onlineRate); - } - maps.put(type, mapSort); + Map collect = statuses.stream().filter(item -> Objects.equals(item.getType(), type)) + .collect(Collectors.toMap( + item -> item.getTime().getYear() + "-" + item.getTime().getMonthValue() + "-" + item.getTime().getDayOfMonth(), + Status::getSuccessRate + )); + maps.put(type, collect); } - // Map> mapStatus = new TreeMap<>(maps); return AjaxResult.success(maps); } diff --git a/zc-business/src/main/java/com/zc/business/mapper/StatusMapper.java b/zc-business/src/main/java/com/zc/business/mapper/StatusMapper.java index 69ecce04..290beffb 100644 --- a/zc-business/src/main/java/com/zc/business/mapper/StatusMapper.java +++ b/zc-business/src/main/java/com/zc/business/mapper/StatusMapper.java @@ -1,9 +1,11 @@ package com.zc.business.mapper; import com.zc.business.domain.Status; import org.apache.ibatis.annotations.Param; +import org.json.JSONObject; import org.springframework.stereotype.Repository; import java.util.List; +import java.util.Map; /** * @author mengff @@ -21,5 +23,6 @@ public interface StatusMapper { List export(@Param("status")Status status); List deviceStatusListById(@Param("status")Status status); List listStatusByTypes(@Param("status")Status status); + List getStatusList(@Param("status")Status status); } diff --git a/zc-business/src/main/java/com/zc/business/service/impl/StatusService.java b/zc-business/src/main/java/com/zc/business/service/impl/StatusService.java index 312687f9..d58d0d8a 100644 --- a/zc-business/src/main/java/com/zc/business/service/impl/StatusService.java +++ b/zc-business/src/main/java/com/zc/business/service/impl/StatusService.java @@ -1,10 +1,12 @@ package com.zc.business.service.impl; import com.zc.business.domain.Status; import com.zc.business.mapper.StatusMapper; +import org.json.JSONObject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; +import java.util.Map; /** * @author mengff @@ -45,4 +47,10 @@ public class StatusService { List list = statusMapper.listStatusByTypes(status); return list; } + + public List getStatusList(Status status) { + List list = statusMapper.getStatusList(status); + return list; + } + } diff --git a/zc-business/src/main/resources/mapper/business/StatusMapper.xml b/zc-business/src/main/resources/mapper/business/StatusMapper.xml index e2f7e464..fec5456d 100644 --- a/zc-business/src/main/resources/mapper/business/StatusMapper.xml +++ b/zc-business/src/main/resources/mapper/business/StatusMapper.xml @@ -11,6 +11,7 @@ + @@ -187,6 +188,43 @@ + + +