From 0aea8bd18daaaf91e622fdcfdd81dbb2e1b4860c Mon Sep 17 00:00:00 2001
From: swb <jpy123456>
Date: Mon, 21 Oct 2024 09:01:18 +0800
Subject: [PATCH] fix:立行立改责任主体修改提交

---
 screen-api/src/main/java/com/moral/api/service/impl/DustldServiceImpl.java |   82 ++++++++++-------------------------------
 1 files changed, 20 insertions(+), 62 deletions(-)

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 0d5d1c2..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
@@ -1,7 +1,9 @@
 package com.moral.api.service.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.moral.api.config.Interceptor.UserHelper;
+import com.moral.api.entity.SecondCruiserSort;
 import com.moral.api.entity.SysDictData;
 import com.moral.api.exception.BusinessException;
 import com.moral.api.mapper.*;
@@ -51,6 +53,9 @@
 
     @Autowired
     private DustldMapper dustldMapper;
+
+    @Autowired
+    private SecondCruiserSortMapper secondCruiserSortMapper;
 
     /**
      * ������������������
@@ -467,74 +472,27 @@
      * @return
      */
     @Override
-    public List<DustForm> sort(String mac, String startTime, String endTime) {
+    public List<SecondCruiserSort> sort(String mac, String startTime, String endTime) {
         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");
+        List<SecondCruiserSort> secondCruiserSorts = secondCruiserSortMapper.getSort(mac, startTime, endTime);
 
-        List<Integer> orgList = organizationMapper.orgIdSpecialDevList(orgId,mac);
-        if(CollectionUtils.isEmpty(orgList)){
-            throw new BusinessException("������������������������������������");
-        }
-
-        HashMap<String, Object> params = new HashMap<>();
-        params.put("mac",mac);
-        params.put("startTime",startTime);
-        params.put("endTime",endTime);
-        List<Map<String, Object>> dusts = historySecondCruiserMapper.getDusts(params);
-        Map<String, List<DustldDTO>> collect = manageCoordinateMapper.CompareTo(orgList.get(0)).stream().collect(Collectors.groupingBy(o -> o.getName()));
-        if (ObjectUtils.isEmpty(dusts) || ObjectUtils.isEmpty(collect)){
-            return null;
-        }
-        Set<String> strings = collect.keySet();
-        ArrayList<DustForm> list1 = new ArrayList<>();
-        for (String string : strings) {
-            DustForm dustForm = new DustForm();
-            ArrayList<Double> doubleArrayList = new ArrayList<>();
-            List<DustldDTO> dustldDTOS = collect.get(string);
-            for (DustldDTO dustldDTO : dustldDTOS) {
-                String flyLat = dustldDTO.getFlyLat();
-                String flyLon = dustldDTO.getFlyLon();
-                if (flyLon==null && flyLat==null){
-                    continue;
-                }
-                double latDouble1 = Double.parseDouble(flyLat);
-                double lonDouble1 = Double.parseDouble(flyLon);
-                for (Map<String, Object> dust : dusts) {
-                    String flyLat1 = Objects.nonNull(dust.get("flyLat")) ? dust.get("flyLat").toString() :"0";
-                    String flyLon1 = Objects.nonNull(dust.get("flyLon")) ? dust.get("flyLon").toString() :"0";
-                    double latDouble = Double.parseDouble(flyLat1);
-                    double lonDouble = Double.parseDouble(flyLon1);
-//                    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(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;
+        //���������������
+        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.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.setAvg(BigDecimal.valueOf(secondCruiserSort.getAvg()).add(dataValue).doubleValue());
+                    secondCruiserSort.setAvg((double) Math.round(BigDecimal.valueOf(secondCruiserSort.getAvg()).add(dataValue).doubleValue()));
                 }
             }
-            if (ObjectUtils.isEmpty(doubleArrayList)){
-                continue;
-            }
-            Double ListAva = doubleArrayList.stream() .collect(Collectors.averagingDouble(Double::doubleValue));
-            double rsAvg = new BigDecimal(ListAva/1000).setScale(3, BigDecimal.ROUND_HALF_UP).doubleValue();
-            dustForm.setRoad(string);
-            dustForm.setValue(rsAvg);
-            list1.add(dustForm);
         }
-        //������
-        list1.sort(Comparator.comparing(DustForm::getValue).reversed());
-        return list1;
+        return secondCruiserSorts;
     }
 
 

--
Gitblit v1.8.0