From 661e56eb85e3bd0e35e94fca2d2ec59e77772da5 Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Thu, 01 Feb 2024 15:30:57 +0800
Subject: [PATCH] fix:补充提交

---
 screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java |   59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 54 insertions(+), 5 deletions(-)

diff --git a/screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java
index d6ceef5..44190f4 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java
@@ -4,6 +4,7 @@
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 
+import com.moral.api.config.Interceptor.UserHelper;
 import com.moral.api.entity.*;
 import com.moral.api.mapper.DailyMapper;
 import com.moral.api.mapper.HistorySecondCruiserMapper;
@@ -14,7 +15,9 @@
 import com.moral.api.pojo.dto.historySecondCruiser.HistorySecondCruiserResultCountDTO;
 import com.moral.api.pojo.dto.historySecondCruiser.HistorySecondCruiserResultDTO;
 import com.moral.api.pojo.enums.SysDictTypeEnum;
+import com.moral.api.pojo.vo.device.AppDeviceVo;
 import com.moral.api.pojo.vo.excel.DailyVo;
+import com.moral.api.pojo.vo.user.QxUser;
 import com.moral.api.service.OrganizationService;
 import com.moral.api.service.SpecialDeviceHistoryService;
 import com.moral.api.service.SpecialDeviceService;
@@ -110,9 +113,10 @@
         orgIds.add(orgId);
         integerList.addAll(orgIds);
         QueryWrapper<SpecialDeviceHistory> queryWrapper = new QueryWrapper<>();
-        queryWrapper.select("mac", "name")
+        queryWrapper.select("DISTINCT mac, name").lambda();
+
                 //.eq("special_type", Constants.SPECIAL_DEVICE_CRUISER)
-                .eq("is_delete", Constants.NOT_DELETE)
+        queryWrapper.eq("is_delete", Constants.NOT_DELETE)
                 .in("organization_id", integerList);
         return specialDeviceHistoryService.listMaps(queryWrapper);
     }
@@ -206,7 +210,7 @@
                     });
                 }
             }else {
-                BigDecimal dataValue = Objects.nonNull(list.getDataValue())?BigDecimal.valueOf(Integer.parseInt(list.getDataValue())):BigDecimal.ZERO;
+                BigDecimal dataValue = Objects.nonNull(list.getDataValue())?BigDecimal.valueOf(Double.parseDouble(list.getDataValue())):BigDecimal.ZERO;
                 result.forEach(it->{
                     it.setAvgNum(it.getAvgNum().add(dataValue));
                 });
@@ -220,8 +224,8 @@
     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(Integer.parseInt(list.get(i))))>= 0 ){
-                return num.add(BigDecimal.valueOf(Integer.parseInt(list.get(nums))));
+            if(num.compareTo(BigDecimal.valueOf(Double.parseDouble(list.get(i))))>= 0 ){
+                return num.add(BigDecimal.valueOf(Double.parseDouble(list.get(i+1))));
             }
             nums+=2;
         }
@@ -506,6 +510,20 @@
         return excelBOS;
     }
 
+    @Override
+    public List<AppDeviceVo> selectSpecialDevice() {
+        QxUser user = UserHelper.getCurrentUser();
+        Integer organizationId = user.getOrganizationId();
+//        Integer organizationId=71;
+        List<AppDeviceVo> appDeviceVos;
+        if (organizationId!=24){
+            appDeviceVos = specialDeviceMapper.selectSpecialDevice(organizationId);
+        }else {
+            appDeviceVos = specialDeviceMapper.selectSpecialDevice(null);
+        }
+        return appDeviceVos;
+    }
+
     //���������������������������
     private HashMap<String, Object> getStringObjectHashMap(List<Map<String, Object>> maps) {
         HashMap<String, Object> rsMap = new HashMap<>();
@@ -732,4 +750,35 @@
 
 
     }
+
+    /**
+     *
+     */
+      private double getDivisor(String code,double num){
+          double rs = 0.0;
+        if (code.contains("-")){
+            String data = code.substring(1);
+            rs = num - Double.parseDouble(data);
+        } else if (code.contains("*")){
+            String data = code.substring(1);
+            rs = num * Double.parseDouble(data);
+        } else if (code.contains("/")){
+            String data = code.substring(1);
+            rs = num / Double.parseDouble(data);
+        } else if (code.contains(",")){
+            String[] split = code.split(",");
+            for (String s : split) {
+                String[] split1 = s.split("<");
+                double sp1 = Double.parseDouble(split1[0]);
+                double sp2 = Double.parseDouble(split1[1]);
+                double sp3 = Double.parseDouble(split1[2]);
+                if (num>=sp1 && num<=sp2){
+                    rs = num + sp3;
+                }
+            }
+        }else {
+            rs = num + Double.parseDouble(code);
+        }
+        return rs;
+      }
 }

--
Gitblit v1.8.0