From 74c430e012ade8363b57949357e3cf653b944a2d Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Wed, 01 Nov 2023 15:41:31 +0800
Subject: [PATCH] chore:补充提交

---
 screen-api/src/main/java/com/moral/api/service/SpecialDeviceService.java          |    5 
 screen-api/src/main/resources/mapper/SpecialDeviceMapper.xml                      |    9 ++
 screen-api/src/main/java/com/moral/api/service/AllocationService.java             |    3 
 screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java    |   28 +++++++
 screen-api/src/main/java/com/moral/api/mapper/DeviceMapper.java                   |    3 
 screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java        |   20 +++-
 screen-api/src/main/java/com/moral/api/pojo/vo/device/AppDeviceVo.java            |   46 +++++++++++
 screen-api/src/main/java/com/moral/api/controller/AppAllocationController.java    |   13 ++-
 screen-api/src/main/java/com/moral/api/service/DeviceService.java                 |    3 
 screen-api/src/main/java/com/moral/api/mapper/SpecialDeviceMapper.java            |    5 +
 screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java |   17 ++++
 screen-api/src/main/java/com/moral/api/controller/AppDevicController.java         |   17 +++-
 screen-api/src/main/resources/mapper/DeviceMapper.xml                             |   16 ++++
 13 files changed, 167 insertions(+), 18 deletions(-)

diff --git a/screen-api/src/main/java/com/moral/api/controller/AppAllocationController.java b/screen-api/src/main/java/com/moral/api/controller/AppAllocationController.java
index c75a0e4..e1d9d2f 100644
--- a/screen-api/src/main/java/com/moral/api/controller/AppAllocationController.java
+++ b/screen-api/src/main/java/com/moral/api/controller/AppAllocationController.java
@@ -2,13 +2,9 @@
 
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.google.common.collect.Lists;
-import com.moral.api.pojo.enums.AllocationApproveEnum;
-import com.moral.api.pojo.enums.AppAllocationStateEnum;
 import com.moral.api.pojo.ext.allocation.AllocationPageExt;
 import com.moral.api.pojo.query.app.AppAllocationFileCond;
 import com.moral.api.pojo.query.app.AppAllocationPageCond;
-import com.moral.api.pojo.vo.allocation.AllocationPageVo;
 import com.moral.api.pojo.vo.app.AppAllocationFindVo;
 import com.moral.constant.PageResult;
 import io.swagger.annotations.Api;
@@ -92,4 +88,13 @@
         return ResultMessage.ok();
     }
 
+
+    @GetMapping("authority")
+    @ApiOperation(value = "������������")
+    public  ResultMessage  authority(@RequestParam @ApiParam(value = "allocationNum",name = "������") String allocationNum,
+                                     @RequestParam @ApiParam(value = "userId",name = "������Id") Integer userId){
+        boolean authority = allocationService.authority(allocationNum,userId);
+        return ResultMessage.ok(authority);
+    }
+
 }
diff --git a/screen-api/src/main/java/com/moral/api/controller/AppDevicController.java b/screen-api/src/main/java/com/moral/api/controller/AppDevicController.java
index d63117f..17b65e8 100644
--- a/screen-api/src/main/java/com/moral/api/controller/AppDevicController.java
+++ b/screen-api/src/main/java/com/moral/api/controller/AppDevicController.java
@@ -16,11 +16,10 @@
 
 import com.moral.api.entity.Device;
 import com.moral.api.entity.MonitorPoint;
-import com.moral.api.entity.Organization;
+import com.moral.api.pojo.vo.device.AppDeviceVo;
 import com.moral.api.service.DeviceService;
 import com.moral.api.service.MonitorPointService;
-import com.moral.api.service.OrganizationService;
-import com.moral.constant.ResponseCodeEnum;
+import com.moral.api.service.SpecialDeviceService;
 import com.moral.constant.ResultMessage;
 
 
@@ -35,6 +34,9 @@
 
     @Autowired
     private DeviceService deviceService;
+
+    @Autowired
+    private SpecialDeviceService specialDeviceService;
 
 
 
@@ -56,8 +58,15 @@
     @GetMapping("fuzzySearch")
     @ApiOperation(value = "���������������������")
     public ResultMessage fuzzySearch(@RequestParam @ApiParam(value = "mac",name = "������mac���") String mac){
-        List<Device> devices = deviceService.getFuzzySearch(mac);
+        List<AppDeviceVo> devices = deviceService.getFuzzySearch(mac);
         return ResultMessage.ok(devices);
     }
 
+
+    @GetMapping("specialDevice")
+    @ApiOperation(value = "������������������")
+    public ResultMessage selectSpecialDevice(){
+        List<AppDeviceVo> appDeviceVos = specialDeviceService.selectSpecialDevice();
+        return ResultMessage.ok(appDeviceVos);
+    }
 }
diff --git a/screen-api/src/main/java/com/moral/api/mapper/DeviceMapper.java b/screen-api/src/main/java/com/moral/api/mapper/DeviceMapper.java
index f4f0bad..025f615 100644
--- a/screen-api/src/main/java/com/moral/api/mapper/DeviceMapper.java
+++ b/screen-api/src/main/java/com/moral/api/mapper/DeviceMapper.java
@@ -5,6 +5,7 @@
 
 import com.moral.api.entity.Device;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.moral.api.pojo.vo.device.AppDeviceVo;
 import io.lettuce.core.dynamic.annotation.Param;
 
 /**
@@ -34,4 +35,6 @@
 
     List<String> deviceMacs(@Param("organizationId") int organizationId);
 
+    List<AppDeviceVo> getDevices(@Param("mac") String mac,@Param("organizationId") Integer organizationId);
+
 }
diff --git a/screen-api/src/main/java/com/moral/api/mapper/SpecialDeviceMapper.java b/screen-api/src/main/java/com/moral/api/mapper/SpecialDeviceMapper.java
index 92fa648..1b3f94e 100644
--- a/screen-api/src/main/java/com/moral/api/mapper/SpecialDeviceMapper.java
+++ b/screen-api/src/main/java/com/moral/api/mapper/SpecialDeviceMapper.java
@@ -1,7 +1,10 @@
 package com.moral.api.mapper;
 
+import java.util.List;
+
 import com.moral.api.entity.SpecialDevice;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.moral.api.pojo.vo.device.AppDeviceVo;
 
 /**
  * <p>
@@ -13,4 +16,6 @@
  */
 public interface SpecialDeviceMapper extends BaseMapper<SpecialDevice> {
 
+    List<AppDeviceVo> selectSpecialDevice(Integer organizationId);
+
 }
diff --git a/screen-api/src/main/java/com/moral/api/pojo/vo/device/AppDeviceVo.java b/screen-api/src/main/java/com/moral/api/pojo/vo/device/AppDeviceVo.java
new file mode 100644
index 0000000..d3b8d1b
--- /dev/null
+++ b/screen-api/src/main/java/com/moral/api/pojo/vo/device/AppDeviceVo.java
@@ -0,0 +1,46 @@
+package com.moral.api.pojo.vo.device;
+
+
+import lombok.Data;
+
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.moral.api.pojo.enums.InvestigationEnum;
+
+@Data
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
+public class AppDeviceVo {
+
+    private  Integer id;
+
+    private  String name;
+
+    private  String mac;
+
+    private  String specialType;
+
+    @TableField(exist = false)
+    private  String typeName;
+
+
+    public String getTypeName() {
+        String specialType = this.specialType;
+        if (!ObjectUtils.isEmpty(specialType)){
+            if (specialType.equals("1")){
+                return InvestigationEnum.UAV.name;
+            }else if (specialType.equals("0")){
+                return InvestigationEnum.TRAVELING_VEHICLE.name;
+            }
+        }
+        return "������";
+    }
+    public String getSpecialType() {
+        String specialType = this.specialType;
+        if (ObjectUtils.isEmpty(specialType)){
+            return "3";
+        }
+        return specialType;
+    }
+}
diff --git a/screen-api/src/main/java/com/moral/api/service/AllocationService.java b/screen-api/src/main/java/com/moral/api/service/AllocationService.java
index f98f7e4..abdb545 100644
--- a/screen-api/src/main/java/com/moral/api/service/AllocationService.java
+++ b/screen-api/src/main/java/com/moral/api/service/AllocationService.java
@@ -134,4 +134,7 @@
     void checkSmallRoutine(AllocationCheckCond checkCond);
 
 
+    boolean authority(String allocationNum,Integer userId);
+
+
 }
diff --git a/screen-api/src/main/java/com/moral/api/service/DeviceService.java b/screen-api/src/main/java/com/moral/api/service/DeviceService.java
index 8217a0f..75f9d36 100644
--- a/screen-api/src/main/java/com/moral/api/service/DeviceService.java
+++ b/screen-api/src/main/java/com/moral/api/service/DeviceService.java
@@ -2,6 +2,7 @@
 
 import com.moral.api.entity.Device;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.moral.api.pojo.vo.device.AppDeviceVo;
 
 import java.util.List;
 import java.util.Map;
@@ -56,7 +57,7 @@
      * @param mac
      * @return
      */
-    List<Device> getFuzzySearch(String mac);
+    List<AppDeviceVo> getFuzzySearch(String mac);
 
     /**
      * ������������������������
diff --git a/screen-api/src/main/java/com/moral/api/service/SpecialDeviceService.java b/screen-api/src/main/java/com/moral/api/service/SpecialDeviceService.java
index 4a8ab4e..3810dd8 100644
--- a/screen-api/src/main/java/com/moral/api/service/SpecialDeviceService.java
+++ b/screen-api/src/main/java/com/moral/api/service/SpecialDeviceService.java
@@ -10,6 +10,7 @@
 import com.moral.api.entity.SpecialDevice;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.moral.api.pojo.bo.ExcelBO;
+import com.moral.api.pojo.vo.device.AppDeviceVo;
 import com.moral.api.pojo.vo.excel.DailyVo;
 
 /**
@@ -53,7 +54,7 @@
     //������������
     List<ExcelBO> selectDaily(Map<String, Object> params);
 
-
-
+    //������������������������
+    List<AppDeviceVo> selectSpecialDevice();
 
 }
diff --git a/screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java
index 6716882..235b1e7 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java
@@ -12,6 +12,7 @@
 import com.moral.api.mapper.ResponsibilityUnitMapper;
 import com.moral.api.mapper.SysDictDataMapper;
 import com.moral.api.mapper.SysDictTypeMapper;
+import com.moral.api.mapper.UserMapper;
 import com.moral.api.pojo.bean.BaseInvalidEntity;
 import com.moral.api.pojo.dto.allocation.AllocationUnitViewDto;
 import com.moral.api.pojo.enums.*;
@@ -834,6 +835,33 @@
     }
 
     @Override
+    public boolean authority(String allocationNum,Integer userId) {
+        //������������������
+        QxUser user = UserHelper.getCurrentUser();
+        List<Integer> userList = responsibilityUnitMapper.selectCodeList(SysDictTypeEnum.SYS_JBD.getValue(),user.getUserId());
+        if(CollectionUtils.isNotEmpty(userList)){
+            return true;
+        }
+        if(Objects.nonNull(user.getUnitId())){
+            LambdaQueryWrapper<Allocation> wrapper = new LambdaQueryWrapper<>();
+            wrapper.eq(Allocation::getAllocationNum,allocationNum);
+            wrapper.eq(Allocation::getIsDel,0);
+            wrapper.eq(Allocation::getIsInvalid,0);
+            Allocation allocation = allocationMapper.selectOne(wrapper);
+            if (allocation.getUnitId().equals(user.getUnitId())){
+                return true;
+            }
+            String code = responsibilityUnitMapper.selectAreaCode(user.getUnitId());
+            if(code.length()>6){
+                return false;
+            }else {
+                return true;
+            }
+        }
+        return true;
+    }
+
+    @Override
     public List<Integer>  unitResult() {
         QxUser user = UserHelper.getCurrentUser();
         Integer unitId = Objects.nonNull(user.getUnitId())?user.getUnitId():0;
diff --git a/screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
index 7ced9a0..453be39 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
@@ -4,6 +4,7 @@
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.moral.api.config.Interceptor.UserHelper;
 import com.moral.api.config.mybatis.MybatisPlusConfig;
 import com.moral.api.entity.*;
 import com.moral.api.mapper.DeviceMapper;
@@ -11,6 +12,8 @@
 import com.moral.api.mapper.HistoryHourlyMapper;
 import com.moral.api.mapper.OrganizationUnitAlarmMapper;
 import com.moral.api.mapper.UnitConversionMapper;
+import com.moral.api.pojo.vo.device.AppDeviceVo;
+import com.moral.api.pojo.vo.user.QxUser;
 import com.moral.api.service.DeviceService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.moral.api.service.SensorService;
@@ -503,17 +506,20 @@
      * @return
      */
     @Override
-    public List<Device> getFuzzySearch(String mac) {
-        LambdaQueryWrapper<Device> wrapper = new LambdaQueryWrapper<>();
-        if (ObjectUtils.isEmpty(mac)){
-            return null;
+    public List<AppDeviceVo> getFuzzySearch(String mac) {
+        QxUser user = UserHelper.getCurrentUser();
+        Integer organizationId = user.getOrganizationId();
+//        Integer organizationId = 24;
+        List<AppDeviceVo> devices;
+        if (organizationId!=24){
+             devices = deviceMapper.getDevices(mac,organizationId);
+        }else {
+             devices = deviceMapper.getDevices(mac,null);
         }
-        wrapper.eq(Device::getIsDelete,Constants.NOT_DELETE);
-        wrapper.like(Device::getMac,mac);
-        List<Device> devices = deviceMapper.selectList(wrapper);
         return devices;
     }
 
+
     /**
      * ������������������������
      *
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 e8204e2..33c1ea6 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;
@@ -507,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<>();
diff --git a/screen-api/src/main/resources/mapper/DeviceMapper.xml b/screen-api/src/main/resources/mapper/DeviceMapper.xml
index abda196..238bf81 100644
--- a/screen-api/src/main/resources/mapper/DeviceMapper.xml
+++ b/screen-api/src/main/resources/mapper/DeviceMapper.xml
@@ -192,4 +192,20 @@
         select mac from device where organization_id = #{organizationId} order by id desc
 
     </select>
+
+    <select id="getDevices" resultType="com.moral.api.pojo.vo.device.AppDeviceVo">
+        SELECT d.id,d.`name`,d.mac,d.special_type FROM device as d
+        where 1=1
+        <if test="organizationId !=null">
+            AND organization_id = #{organizationId}
+        </if>
+           and mac LIKE "%"#{mac}"%" AND is_delete = 0
+        union
+        SELECT sd.id,sd.`name`,sd.mac,sd.special_type FROM special_device  as sd
+        WHERE 1=1
+        <if test="organizationId !=null">
+            AND organization_id = #{organizationId}
+        </if>
+          and mac LIKE "%"#{mac}"%" AND is_delete = 0
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/screen-api/src/main/resources/mapper/SpecialDeviceMapper.xml b/screen-api/src/main/resources/mapper/SpecialDeviceMapper.xml
index 8c5e135..60e231b 100644
--- a/screen-api/src/main/resources/mapper/SpecialDeviceMapper.xml
+++ b/screen-api/src/main/resources/mapper/SpecialDeviceMapper.xml
@@ -17,4 +17,13 @@
         <result column="is_delete" property="isDelete"/>
     </resultMap>
 
+    <select id="selectSpecialDevice" resultType="com.moral.api.pojo.vo.device.AppDeviceVo">
+        SELECT id,`name`,mac,special_type FROM special_device
+        WHERE 1=1
+        <if test="organization_id !=null">
+            AND organization_id=#{organizationId}
+        </if>
+           AND is_delete =0
+    </select>
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0