screen-api/src/main/java/com/moral/api/config/mybatis/PlusConfig.java
@@ -25,7 +25,7 @@ * @Version 1.0 */ @Configuration @MapperScan(basePackages = {"com.moral.*.mapper"}) /*@MapperScan(basePackages = {"com.moral.*.mapper"})*/ public class PlusConfig { @Bean public PaginationInterceptor paginationInterceptor() { screen-api/src/main/java/com/moral/api/controller/AllocationController.java
@@ -173,7 +173,6 @@ return ResultMessage.ok(ObjectUtils.isEmpty(map1)? "0":map1); } @GetMapping("unitExel") public void unitExel(HttpServletResponse response,HttpServletRequest request){ Map<String, Object> params = WebUtils.getParametersStartingWith(request, null); screen-api/src/main/java/com/moral/api/controller/MonitorPointController.java
@@ -123,6 +123,28 @@ List<Object> response = historyFiveMinutelyService.getAreaWindData(params); return ResultMessage.ok(response); } @GetMapping("getWindDataCenter") @ApiOperation(value = "获取风场中心数据", notes = "获取风场中心数据") @ApiImplicitParams(value = { @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"), @ApiImplicitParam(name = "monitorPointIds", value = "站点id", required = true, paramType = "query", dataType = "String") }) public ResultMessage getWindDataCenter(HttpServletRequest request) { Map<String, Object> params = WebUtils.getParametersStartingWith(request, null); if (!params.containsKey("monitorPointIds")) { return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); } String monitorPoint = params.remove("monitorPointIds").toString(); params.put("monitorPointList", monitorPoint); String[] monitorPointIds = monitorPoint.split(","); if (monitorPointIds.length > 3) { return ResultMessage.ok(); } params.put("monitorPointIds", monitorPointIds); List<Object> response = historyFiveMinutelyService.getAreaWindDataCenter(params); return ResultMessage.ok(response); } /** * @Description: 监测站点数据显示导出 screen-api/src/main/java/com/moral/api/service/HistoryFiveMinutelyService.java
@@ -40,6 +40,8 @@ //获取5分钟风场数据 List<Object> getAreaWindData(Map<String,Object> params); //获取中心风场风场数据 List<Object> getAreaWindDataCenter(Map<String,Object> params); /** * @Description: 获取五分钟弹窗数据,六参+时间+tvoc screen-api/src/main/java/com/moral/api/service/impl/DustldServiceImpl.java
@@ -1,8 +1,13 @@ package com.moral.api.service.impl; import com.moral.api.config.Interceptor.UserHelper; import com.moral.api.entity.SysDictData; import com.moral.api.exception.BusinessException; import com.moral.api.mapper.*; import com.moral.api.pojo.enums.SysDictTypeEnum; import com.moral.api.pojo.vo.user.QxUser; import com.moral.api.service.SysDictTypeService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -17,18 +22,7 @@ import java.text.DecimalFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Set; import java.util.UUID; import java.util.*; import java.util.stream.Collectors; import com.alibaba.fastjson.JSON; @@ -67,7 +61,7 @@ */ @Override public Integer getDailyDustld(Map<String, Object> params,MultipartFile file ) { SysDictData listDict = sysDictTypeService.listOne(SysDictTypeEnum.SYS_SECOND_CRUISER.getValue(),"dustld"); //获取jar包所在目录 ApplicationHome applicationHome = new ApplicationHome(getClass()); //在jar包所在目录下生成一个upload文件夹用来存储上传的图片 @@ -93,8 +87,16 @@ ArrayList<Double> rsDouble = new ArrayList<>(); for (String s : dust) { double aDouble = Double.parseDouble(s); if (aDouble>=0 && aDouble<40 ){ if(listDict.getDataValue().contains(",")){ List<String> resultStr = Arrays.asList(listDict.getDataValue().split(",")); if(resultStr.size() % 2 ==0){ aDouble = numAvg(resultStr,BigDecimal.valueOf(aDouble)).doubleValue(); } }else { BigDecimal dataValue = Objects.nonNull(listDict.getDataValue())?BigDecimal.valueOf(Double.parseDouble(listDict.getDataValue())):BigDecimal.ZERO; aDouble = BigDecimal.valueOf(aDouble).add(dataValue).doubleValue(); } /*if (aDouble>=0 && aDouble<40 ){ aDouble = aDouble + 170; }else if (aDouble>=40 && aDouble<60){ aDouble = aDouble + 130; @@ -106,7 +108,7 @@ aDouble = aDouble + 30; }else { aDouble= aDouble+0; } }*/ rsDouble.add(aDouble); } list.addAll(rsDouble); @@ -271,11 +273,13 @@ private MaxRoadMapper maxRoadMapper; @Autowired private OrganizationMapper organizationMapper; @Autowired private SysDictTypeService sysDictTypeService; @Override @Transactional public Map<String, Object> dailyDustlds(Map<String, Object> params) { SysDictData list = sysDictTypeService.listOne(SysDictTypeEnum.SYS_SECOND_CRUISER.getValue(),"dustld"); Map<String, Object> userInfo = (Map<String, Object>) TokenUtils.getUserInfo(); Map<String, Object> orgInfo = (Map<String, Object>) userInfo.get("organization"); Integer orgId = (Integer) orgInfo.get("id"); @@ -323,17 +327,14 @@ // String flyLon1 = dust.get("flyLon").toString(); if (latDouble1==latDouble && lonDouble1==lonDouble){ Double dustld = Objects.nonNull(dust.get("dustld"))?Double.parseDouble(dust.get("dustld").toString()):0d; if (dustld>=0 && dustld<40 ){ dustld = dustld + 170; }else if (dustld>=40 && dustld<60){ dustld = dustld + 130; }else if (dustld>=60 && dustld<100 ){ dustld = dustld + 110; }else if (dustld>=100 && dustld<150){ dustld = dustld + 70; }else if (dustld>=150 && dustld<180){ dustld = dustld + 30; if(list.getDataValue().contains(",")){ List<String> resultStr = Arrays.asList(list.getDataValue().split(",")); if(resultStr.size() % 2 ==0){ dustld = numAvg(resultStr,BigDecimal.valueOf(dustld)).doubleValue(); } }else { BigDecimal dataValue = Objects.nonNull(list.getDataValue())?BigDecimal.valueOf(Double.parseDouble(list.getDataValue())):BigDecimal.ZERO; dustld = BigDecimal.valueOf(dustld).add(dataValue).doubleValue(); } doubleArrayList.add(dustld); break; @@ -494,5 +495,14 @@ } return null; } private BigDecimal numAvg(List<String> list , BigDecimal num){ int nums = 1; for (int i=0;i<list.size();i=i+2){ if(num.compareTo(BigDecimal.valueOf(Double.parseDouble(list.get(i))))>= 0 ){ return num.add(BigDecimal.valueOf(Double.parseDouble(list.get(i+1)))); } nums+=2; } return num; } } screen-api/src/main/java/com/moral/api/service/impl/HistoryFiveMinutelyServiceImpl.java
@@ -191,7 +191,21 @@ } return getWindData(windData,params); } @Override public List<Object> getAreaWindDataCenter(Map<String, Object> params) { // String timeUnits = DateUtils.dateToDateString(new Date(), DateUtils.yyyyMM_EN); // params.put("timeUnits", timeUnits); // //风场数据 // List<WindData> windData = historyFiveMinutelyMapper.getAreaWindData(params); // return getWindData(windData); params.put("timeUnits","202311"); params.put("time","2023-11-05 09:00"); params.put("macs",Arrays.asList("p5dnd7a0245472","p5dnd7a0245400","p5dnd7a0245385","p5dnd7a0245374")); List<WindData> windData = historyHourlyMapper.getArea(params); params.put("perdlen",50); return getWindData(windData,params); } //获取五分钟弹窗数据 @Override @@ -462,7 +476,7 @@ laLaMap.put("minLa", lami); int perdlen = windDate(Objects.nonNull(params.get("monitorPointList"))?params.get("monitorPointList").toString():null); int perdlen = Objects.nonNull(params.get("perdlen"))?Integer.parseInt(params.get("perdlen").toString()):windDate(Objects.nonNull(params.get("monitorPointList"))?params.get("monitorPointList").toString():null); int length = perdlen*10; Double lo1 = lomi - length * 0.00001141; screen-api/src/main/resources/mapper/HistoryHourlyMapper.xml
@@ -50,6 +50,12 @@ <foreach item="monitorPointId" collection="monitorPointIds" index="index" open="(" separator="," close=")"> #{monitorPointId} </foreach> <if test="macs != null and macs.size!= 0"> and h.mac in <foreach collection="macs" item="id" index="index" open="(" close=")" separator=","> #{id} </foreach> </if> AND h.time = #{time} </select>