From cf12e020761272be8c19d3b77c1dce07fba6de85 Mon Sep 17 00:00:00 2001
From: cjl <276999030@qq.com>
Date: Wed, 01 Nov 2023 13:38:33 +0800
Subject: [PATCH] fix:无人机均值问题修改

---
 screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java |   31 +++++++++++++++++++++++++++----
 1 files changed, 27 insertions(+), 4 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 82c3eb2..e8204e2 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
@@ -93,16 +93,28 @@
         //������������������������
         Map<String, Object> userInfo = (Map<String, Object>) TokenUtils.getUserInfo();
         Map<String, Object> orgInfo = (Map<String, Object>) userInfo.get("organization");
+        Integer userId = (Integer) userInfo.get("userId");
+        List<Integer> integerList = new ArrayList<>();
+        SysDictData listSys = sysDictTypeService.listOne(SysDictTypeEnum.SYS_SECOND_CRUISER_RANGE.getValue(),userId.toString());
+        if(listSys.getDataValue().contains(",")){
+            List<Integer> resultStr = Arrays.asList(listSys.getDataValue().split(",")).stream().map(Integer::parseInt).collect(Collectors.toList());
+            integerList.addAll(resultStr);
+        }else {
+            Integer dataValue = Objects.nonNull(listSys.getDataValue())?Integer.parseInt(listSys.getDataValue()):0;
+            integerList.add(dataValue);
+        }
         Integer orgId = (Integer) orgInfo.get("id");
         //���������������������
         List<Organization> organizations = organizationService.getChildrenOrganizationsById(orgId);
         List<Integer> orgIds = organizations.stream().map(Organization::getId).collect(Collectors.toList());
         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)
-                .in("organization_id", orgIds);
+        queryWrapper.eq("is_delete", Constants.NOT_DELETE)
+                .in("organization_id", integerList);
         return specialDeviceHistoryService.listMaps(queryWrapper);
     }
 
@@ -153,9 +165,20 @@
         String type = params.get("type").toString();
         params.put("dateFormat", "%Y-%m-%d %H:%i:%s");
         Map<String, Object> userInfo = (Map<String, Object>) TokenUtils.getUserInfo();
+        Integer userId = (Integer) userInfo.get("userId");
         Map<String, Object> orgInfo = (Map<String, Object>) userInfo.get("organization");
         Integer orgId = (Integer) orgInfo.get("id");
-        params.put("orgId", orgId);
+        List<Integer> integerList = new ArrayList<>();
+        SysDictData listSys = sysDictTypeService.listOne(SysDictTypeEnum.SYS_SECOND_CRUISER_RANGE.getValue(),userId.toString());
+        if(listSys.getDataValue().contains(",")){
+            List<Integer> resultStr = Arrays.asList(listSys.getDataValue().split(",")).stream().map(Integer::parseInt).collect(Collectors.toList());
+            integerList.addAll(resultStr);
+        }else {
+            Integer dataValue = Objects.nonNull(listSys.getDataValue())?Integer.parseInt(listSys.getDataValue()):0;
+            integerList.add(dataValue);
+        }
+        integerList.add(orgId);
+        params.put("orgIds", integerList);
         params.put("type","$."+type);
         //������������������������������������
         List<HistorySecondCruiserListDTO> data = HistorySecondCruiserMapper.getCruiserDataNewAvg(params);

--
Gitblit v1.8.0