jinpengyong
2023-12-01 ac832618393aca09f81d6bd04117e0cdb32301c3
Merge branch 'dev' of http://blit.7drlb.com:8888/r/moral into wb
7 files modified
117 ■■■■ changed files
screen-api/src/main/java/com/moral/api/config/mybatis/PlusConfig.java 2 ●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/controller/AllocationController.java 1 ●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/controller/MonitorPointController.java 22 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/service/HistoryFiveMinutelyService.java 2 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/service/impl/DustldServiceImpl.java 68 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/service/impl/HistoryFiveMinutelyServiceImpl.java 16 ●●●●● patch | view | raw | blame | history
screen-api/src/main/resources/mapper/HistoryHourlyMapper.xml 6 ●●●●● patch | view | raw | blame | history
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>