From 8af1bd5ed227ff568b3ac60f3594ae2a8dfd9dec Mon Sep 17 00:00:00 2001
From: cjl <276999030@qq.com>
Date: Wed, 25 Oct 2023 11:11:10 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/cjl' into qa

---
 screen-api/src/main/java/com/moral/api/pojo/enums/SysDictTypeEnum.java            |   13 ++++++++++++-
 screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java |   26 ++++++++++++++++++++++++--
 screen-api/src/main/resources/mapper/HistorySecondCruiserMapper.xml               |   10 +++++++++-
 3 files changed, 45 insertions(+), 4 deletions(-)

diff --git a/screen-api/src/main/java/com/moral/api/pojo/enums/SysDictTypeEnum.java b/screen-api/src/main/java/com/moral/api/pojo/enums/SysDictTypeEnum.java
index 72778ab..5e9619b 100644
--- a/screen-api/src/main/java/com/moral/api/pojo/enums/SysDictTypeEnum.java
+++ b/screen-api/src/main/java/com/moral/api/pojo/enums/SysDictTypeEnum.java
@@ -20,8 +20,19 @@
      */
     SYS_JBD("JBD", "���������"),
 
-    SYS_SECOND_CRUISER("ZHC","���������������"),
+    /**
+     *ZHC
+     */
+    SYS_SECOND_CRUISER("ZHC","���������������������������"),
 
+    /**
+     *ZHC_RANGE
+     */
+    SYS_SECOND_CRUISER_RANGE("ZHCRANGE","���������������������"),
+
+    /**
+     *WIND
+     */
     WIND_FARM_SCOPE("WIND","������������"),
     ;
 
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..d6ceef5 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,27 @@
         //������������������������
         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")
                 //.eq("special_type", Constants.SPECIAL_DEVICE_CRUISER)
                 .eq("is_delete", Constants.NOT_DELETE)
-                .in("organization_id", orgIds);
+                .in("organization_id", integerList);
         return specialDeviceHistoryService.listMaps(queryWrapper);
     }
 
@@ -153,9 +164,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);
diff --git a/screen-api/src/main/resources/mapper/HistorySecondCruiserMapper.xml b/screen-api/src/main/resources/mapper/HistorySecondCruiserMapper.xml
index 1b61bbb..d44f659 100644
--- a/screen-api/src/main/resources/mapper/HistorySecondCruiserMapper.xml
+++ b/screen-api/src/main/resources/mapper/HistorySecondCruiserMapper.xml
@@ -38,7 +38,15 @@
         WHERE mac = #{mac}
           AND `time` <![CDATA[>=]]> #{time1}
           AND `time` <![CDATA[<=]]> #{time2}
-          AND organization_id = #{orgId}
+        <if test="orgId !=null and orgId != 0">
+            AND organization_id = #{orgId}
+        </if>
+        <if test="orgIds != null and orgIds.size !=0">
+            and organization_id in
+            <foreach collection="orgIds" item="id" index="index" open="(" close=")" separator=",">
+                #{id}
+            </foreach>
+        </if>
         order by time
     </select>
 

--
Gitblit v1.8.0