Commit d88c806b zshaohui

温湿度页面展示平均值

1 个父辈 0cc69d94
...@@ -7,6 +7,7 @@ import com.neotel.smfcore.common.utils.*; ...@@ -7,6 +7,7 @@ import com.neotel.smfcore.common.utils.*;
import com.neotel.smfcore.core.device.util.DataCache; import com.neotel.smfcore.core.device.util.DataCache;
import com.neotel.smfcore.core.humiture.rest.bean.dto.HumitureDto; import com.neotel.smfcore.core.humiture.rest.bean.dto.HumitureDto;
import com.neotel.smfcore.core.humiture.rest.bean.query.HumitureQueryCriteria; import com.neotel.smfcore.core.humiture.rest.bean.query.HumitureQueryCriteria;
import com.neotel.smfcore.core.kanban.rest.bean.HumiAndtemp;
import com.neotel.smfcore.core.language.util.MessageUtils; import com.neotel.smfcore.core.language.util.MessageUtils;
import com.neotel.smfcore.core.msd.bean.MSDSettiings; import com.neotel.smfcore.core.msd.bean.MSDSettiings;
import com.neotel.smfcore.core.storage.service.po.Storage; import com.neotel.smfcore.core.storage.service.po.Storage;
...@@ -27,8 +28,10 @@ import javax.servlet.http.HttpServletRequest; ...@@ -27,8 +28,10 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.text.DateFormat; import java.text.DateFormat;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
@Slf4j @Slf4j
...@@ -41,6 +44,8 @@ public class HumitureController { ...@@ -41,6 +44,8 @@ public class HumitureController {
@Autowired @Autowired
DataCache dataCache; DataCache dataCache;
DecimalFormat df = new DecimalFormat("######0.0");
@ApiOperation("获取温湿度") @ApiOperation("获取温湿度")
@GetMapping("api/humiture/list") @GetMapping("api/humiture/list")
@AnonymousAccess @AnonymousAccess
...@@ -73,29 +78,39 @@ public class HumitureController { ...@@ -73,29 +78,39 @@ public class HumitureController {
query.addCriteria(Criteria.where("humiAndtempListStr").exists(true)); query.addCriteria(Criteria.where("humiAndtempListStr").exists(true));
PageData<Humiture> resultList = new PageData<>(); PageData<Humiture> resultList = new PageData<>();
int resultTotalElements = 0;
List<Humiture> resultHumitureList = new ArrayList<>(); List<Humiture> resultHumitureList = new ArrayList<>();
PageData<Humiture> humitureList = humitureManager.findByPage(query, pageable); PageData<Humiture> humitureList = humitureManager.findByPage(query, pageable);
int totalElements = humitureList.getTotalElements(); int totalElements = humitureList.getTotalElements();
if (totalElements != 0) { if (totalElements != 0) {
resultTotalElements = totalElements;
List<Humiture> content = humitureList.getContent(); List<Humiture> content = humitureList.getContent();
for (Humiture humiture : content) { for (Humiture humiture : content) {
String humiAndtempListStr = humiture.getHumiAndtempListStr(); String humiAndtempListStr = humiture.getHumiAndtempListStr();
if (StringUtils.isNotBlank(humiAndtempListStr)){ if (StringUtils.isNotBlank(humiAndtempListStr)){
List<Humiture> subHumiAndtempList = JsonUtil.toList(humiAndtempListStr, Humiture.class);
for (Humiture subHumiture : subHumiAndtempList) { Humiture resultHumiture = new Humiture();
subHumiture.setCid(humiture.getCid()+"-"+subHumiture.getId()); resultHumiture.setCid(humiture.getCid());
subHumiture.setCreateDate(humiture.getCreateDate()); resultHumiture.setCreateDate(humiture.getCreateDate());
subHumiture.setUpdateDate(humiture.getUpdateDate()); resultHumiture.setUpdateDate(humiture.getUpdateDate());
resultHumitureList.add(subHumiture); resultHumiture.setId(humiture.getId());
List<HumiAndtemp> humiAndtempList = JsonUtil.toList(humiAndtempListStr, HumiAndtemp.class);
Double humidityAgv = humiAndtempList.stream().collect(Collectors.averagingDouble(HumiAndtemp::getHumidity));
if (humidityAgv != null){
resultHumiture.setHumidity(df.format(humidityAgv));
}
Double temperatureAgv = humiAndtempList.stream().collect(Collectors.averagingDouble(HumiAndtemp::getTemperature));
if (temperatureAgv != null){
resultHumiture.setTemperature(df.format(temperatureAgv));
} }
resultHumitureList.add(resultHumiture);
} }
} }
} }
resultList.setTotalElements(resultTotalElements); resultList.setTotalElements(totalElements);
resultList.setContent(resultHumitureList); resultList.setContent(resultHumitureList);
HumitureDto restultDto = new HumitureDto(); HumitureDto restultDto = new HumitureDto();
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!