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