From 3faca3fc0bb178afd9cf17222bee14e1c8722f6b Mon Sep 17 00:00:00 2001 From: swb <jpy123456> Date: Thu, 04 Jul 2024 17:02:26 +0800 Subject: [PATCH] fix:尘负荷排名补充提交 --- screen-api/src/main/resources/mapper/SecondCruiserSortMapper.xml | 20 ++++++++++ screen-api/src/main/java/com/moral/api/service/impl/DustldServiceImpl.java | 14 +++---- screen-job/src/main/java/com/moral/api/entity/SecondCruiserSort.java | 6 +- screen-api/src/main/java/com/moral/api/mapper/SecondCruiserSortMapper.java | 6 +++ screen-job/src/main/java/com/moral/api/service/impl/HistorySecondCruiserServiceImpl.java | 11 ++--- screen-api/src/main/java/com/moral/api/entity/SecondCruiserSort.java | 9 ++++ 6 files changed, 48 insertions(+), 18 deletions(-) diff --git a/screen-api/src/main/java/com/moral/api/entity/SecondCruiserSort.java b/screen-api/src/main/java/com/moral/api/entity/SecondCruiserSort.java index 25a46ac..5806675 100644 --- a/screen-api/src/main/java/com/moral/api/entity/SecondCruiserSort.java +++ b/screen-api/src/main/java/com/moral/api/entity/SecondCruiserSort.java @@ -3,8 +3,9 @@ import lombok.Data; import lombok.EqualsAndHashCode; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.moral.util.DateUtils; + /** * Description //todo @@ -41,5 +42,11 @@ */ private String time; + /** + * ��������� + */ + @TableField(exist = false) + private Double avg; + } diff --git a/screen-api/src/main/java/com/moral/api/mapper/SecondCruiserSortMapper.java b/screen-api/src/main/java/com/moral/api/mapper/SecondCruiserSortMapper.java index c6b31cd..4185a91 100644 --- a/screen-api/src/main/java/com/moral/api/mapper/SecondCruiserSortMapper.java +++ b/screen-api/src/main/java/com/moral/api/mapper/SecondCruiserSortMapper.java @@ -1,7 +1,13 @@ package com.moral.api.mapper; +import io.lettuce.core.dynamic.annotation.Param; + +import java.util.List; + import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.moral.api.entity.SecondCruiserSort; public interface SecondCruiserSortMapper extends BaseMapper<SecondCruiserSort> { + + List<SecondCruiserSort> getSort(@Param("mac") String mac, @Param("startTime") String startTime,@Param("endTime") String endTime); } diff --git a/screen-api/src/main/java/com/moral/api/service/impl/DustldServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/DustldServiceImpl.java index cab12c7..be4b23c 100644 --- a/screen-api/src/main/java/com/moral/api/service/impl/DustldServiceImpl.java +++ b/screen-api/src/main/java/com/moral/api/service/impl/DustldServiceImpl.java @@ -474,23 +474,21 @@ @Override public List<SecondCruiserSort> sort(String mac, String startTime, String endTime) { SysDictData list = sysDictTypeService.listOne(SysDictTypeEnum.SYS_SECOND_CRUISER.getValue(),"dustld"); - String s = DateUtils.stringToDateString(startTime, "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd 00:00:00"); - LambdaQueryWrapper<SecondCruiserSort> wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(SecondCruiserSort::getMac,mac); - wrapper.eq(SecondCruiserSort::getTime,s); - wrapper.orderByDesc(SecondCruiserSort::getValue); - List<SecondCruiserSort> secondCruiserSorts = secondCruiserSortMapper.selectList(wrapper); + List<SecondCruiserSort> secondCruiserSorts = secondCruiserSortMapper.getSort(mac, startTime, endTime); + //��������������� if (!ObjectUtils.isEmpty(secondCruiserSorts)){ for (SecondCruiserSort secondCruiserSort : secondCruiserSorts) { if(list.getDataValue().contains(",")){ List<String> resultStr = Arrays.asList(list.getDataValue().split(",")); if(resultStr.size() % 2 ==0){ - secondCruiserSort.setValue(numAvg(resultStr,BigDecimal.valueOf(secondCruiserSort.getValue())).doubleValue()); +// secondCruiserSort.setAvg(numAvg(resultStr,BigDecimal.valueOf(secondCruiserSort.getAvg())).doubleValue()); + secondCruiserSort.setAvg((double) Math.round(numAvg(resultStr, BigDecimal.valueOf(secondCruiserSort.getAvg())).doubleValue())); } }else { BigDecimal dataValue = Objects.nonNull(list.getDataValue())?BigDecimal.valueOf(Double.parseDouble(list.getDataValue())):BigDecimal.ZERO; - secondCruiserSort.setValue(BigDecimal.valueOf(secondCruiserSort.getValue()).add(dataValue).doubleValue()); +// secondCruiserSort.setAvg(BigDecimal.valueOf(secondCruiserSort.getAvg()).add(dataValue).doubleValue()); + secondCruiserSort.setAvg((double) Math.round(BigDecimal.valueOf(secondCruiserSort.getAvg()).add(dataValue).doubleValue())); } } } diff --git a/screen-api/src/main/resources/mapper/SecondCruiserSortMapper.xml b/screen-api/src/main/resources/mapper/SecondCruiserSortMapper.xml new file mode 100644 index 0000000..9ec731e --- /dev/null +++ b/screen-api/src/main/resources/mapper/SecondCruiserSortMapper.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.moral.api.mapper.SecondCruiserSortMapper"> + + <!-- ������������������������ --> + <resultMap id="BaseResultMap" type="com.moral.api.entity.SecondCruiserSort"> + <result column="road" property="road"/> + <result column="time" property="time"/> + <result column="value" property="value"/> + <result column="mac" property="mac"/> + <result column="organization_id" property="organizationId"/> + </resultMap> + + <select id="getSort" resultType="com.moral.api.entity.SecondCruiserSort"> + select road,avg(value) as "avg",time,mac from second_cruiser_sort + where mac =#{mac} and time BETWEEN #{startTime} and #{endTime} GROUP BY road ORDER BY avg DESC + + </select> + +</mapper> \ No newline at end of file diff --git a/screen-job/src/main/java/com/moral/api/entity/SecondCruiserSort.java b/screen-job/src/main/java/com/moral/api/entity/SecondCruiserSort.java index d698262..6c962e5 100644 --- a/screen-job/src/main/java/com/moral/api/entity/SecondCruiserSort.java +++ b/screen-job/src/main/java/com/moral/api/entity/SecondCruiserSort.java @@ -42,7 +42,7 @@ private String time; - public SecondCruiserSort() { - this.time =DateUtils.getDateStringOfDay(-1,"yyyy-MM-dd 00:00:00"); // ������������������������������ - } +/* public SecondCruiserSort() { + this.time =DateUtils.getDateStringOfDay(-1,"yyyy-MM-dd HH:00:00"); // ������������������������������ + }*/ } diff --git a/screen-job/src/main/java/com/moral/api/service/impl/HistorySecondCruiserServiceImpl.java b/screen-job/src/main/java/com/moral/api/service/impl/HistorySecondCruiserServiceImpl.java index a9df6df..d86dd47 100644 --- a/screen-job/src/main/java/com/moral/api/service/impl/HistorySecondCruiserServiceImpl.java +++ b/screen-job/src/main/java/com/moral/api/service/impl/HistorySecondCruiserServiceImpl.java @@ -9,7 +9,6 @@ import java.math.BigDecimal; import java.util.ArrayList; -import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -21,13 +20,11 @@ import com.moral.api.entity.DustldDTO; import com.moral.api.entity.HistorySecondCruiser; import com.moral.api.entity.SecondCruiserSort; -import com.moral.api.entity.SysDictData; import com.moral.api.mapper.HistorySecondCruiserMapper; import com.moral.api.mapper.ManageCoordinateDetailMapper; import com.moral.api.mapper.OrganizationMapper; import com.moral.api.mapper.SecondCruiserSortMapper; import com.moral.api.service.HistorySecondCruiserService; -import com.moral.api.service.SysDictTypeService; import com.moral.util.DateUtils; /** @@ -56,10 +53,11 @@ public void sort(String startTime, String endTime) { if (ObjectUtils.isEmpty(startTime)&&ObjectUtils.isEmpty(endTime)){ - //������������������������ - startTime = DateUtils.getDateStringOfDay(-1, DateUtils.yyyy_MM_dd_HH_mm_ss_EN); + //������������������������������ + startTime = DateUtils.getDateStringOfHour(-2, "yyyy-MM-dd HH:00:00"); + //������������������ - endTime = DateUtils.getCurDate(DateUtils.yyyy_MM_dd_HH_mm_ss_EN); + endTime = DateUtils.getCurDate("yyyy-MM-dd HH:00:00"); } List<HistorySecondCruiser> result = historySecondCruiserMapper.getResult(startTime, endTime); @@ -118,6 +116,7 @@ secondCruiserSort.setValue(rsAvg); secondCruiserSort.setMac(mac); secondCruiserSort.setOrganizationId(organizationId); + secondCruiserSort.setTime(startTime); list1.add(secondCruiserSort); } } -- Gitblit v1.8.0