lchao 2 日 前
コミット
12ad3173a1

+ 11 - 0
src/main/java/com/sooka/sponest/monitor/camera/controller/CentermonitorTCameraController.java

@@ -780,6 +780,17 @@ public class CentermonitorTCameraController extends BaseController {
         return R.ok(centermonitorTCameraService.getCameraByChannelNum(channelNum));
     }
 
+    /**
+     * 获取设备树数据
+     * 包含摄像头主表信息和关联的通道信息
+     */
+    @ApiOperation(value = "获取设备树数据", notes = "获取设备树数据,包含摄像头主表信息和关联的通道信息")
+    @Log(title = "设备树", businessType = BusinessType.OTHER)
+    @GetMapping("/getDeviceTree")
+    public AjaxResult getDeviceTree() {
+        return AjaxResult.success(centermonitorTCameraService.selectDeviceTreeData());
+    }
+
 }
 
 

+ 4 - 0
src/main/java/com/sooka/sponest/monitor/camera/domain/CentermonitorTCamera.java

@@ -3,6 +3,7 @@ package com.sooka.sponest.monitor.camera.domain;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.ruoyi.common.core.annotation.Excel;
 import com.ruoyi.common.datascope.base.domain.BaseBusinessEntity;
+import com.sooka.sponest.monitor.camera.domain.CentermonitorTCamerachannel;
 import lombok.Data;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
@@ -27,6 +28,9 @@ public class CentermonitorTCamera extends BaseBusinessEntity {
 
     private List<CentermonitorTCamera> list = new ArrayList<>();
 
+    /** 通道列表 */
+    private List<CentermonitorTCamerachannel> channels;
+
     /**
      * 主键id
      */

+ 6 - 0
src/main/java/com/sooka/sponest/monitor/camera/mapper/CentermonitorTCameraMapper.java

@@ -354,6 +354,12 @@ public interface CentermonitorTCameraMapper {
     List<CameraCodeAndNameVO> selectAllCameraList();
 
     /**
+     * 查询设备树数据
+     * 包含摄像头主表信息和关联的通道信息
+     **/
+    List<CentermonitorTCamera> selectDeviceTreeData();
+
+    /**
      * 根据cameraCode更新执法仪状态
      **/
     void updateLawEnforcementInstrumentState(@Param("status") String status, @Param("code") String code);

+ 6 - 0
src/main/java/com/sooka/sponest/monitor/camera/service/ICentermonitorTCameraService.java

@@ -306,6 +306,12 @@ public interface ICentermonitorTCameraService
     Map<String, List> getOfflineType(Long deptId);
 
     /**
+     * 查询设备树数据
+     * @return 设备树数据列表
+     */
+    List<CentermonitorTCamera> selectDeviceTreeData();
+
+    /**
      * 视频目录统计
      */
     Map<String, List> getVideoDirectory(Long deptId);

+ 8 - 0
src/main/java/com/sooka/sponest/monitor/camera/service/impl/CentermonitorTCameraServiceImpl.java

@@ -788,6 +788,14 @@ public class CentermonitorTCameraServiceImpl extends BaseService implements ICen
         return offlineTypeList;
     }
 
+    /**
+     * 查询设备树数据
+     */
+    @Override
+    public List<CentermonitorTCamera> selectDeviceTreeData() {
+        return centermonitorTCameraMapper.selectDeviceTreeData();
+    }
+
     @Override
     public Map<String, List> getCameraCallDepartmentLogOneStatistics(List<SysDept> sysDeptList) {
         Map<String, List> map = new HashMap<>();

+ 21 - 0
src/main/resources/mapper/monitor/camera/CentermonitorTCameraMapper.xml

@@ -117,6 +117,21 @@
         <result property="cameraImg" column="camera_img"/>
     </resultMap>
 
+    <!-- 设备树数据resultMap -->
+    <resultMap id="DeviceTreeResult" type="CentermonitorTCamera" extends="CentermonitorTCameraResult">
+        <collection property="channels" ofType="CentermonitorTCamerachannel" column="id" select="selectCameraChannels"/>
+    </resultMap>
+    
+    <!-- 根据摄像头ID查询关联的通道列表 -->
+    <select id="selectCameraChannels" parameterType="String" resultMap="com.sooka.sponest.monitor.camera.mapper.CentermonitorTCamerachannelMapper.CentermonitorTCamerachannelResult">
+        SELECT 
+            id, create_by, create_time, update_by, update_time, data_status, 
+            data_dept_id, camera_id, channel_code, channel_name, channel_type,
+            device_code, device_sn, device_protocol_type, device_login_type, channel_number
+        FROM centermonitor_t_camerachannel
+        WHERE camera_id = #{id} AND data_status = '0'
+    </select>
+
     <resultMap type="CameraCodeAndNameVO" id="getAllCameraList">
         <result property="cameraCode" column="camera_code"/>
         <result property="cameraName" column="camera_name"/>
@@ -1653,4 +1668,10 @@
         </foreach>
     </select>
 
+    <!-- 查询设备树数据 -->
+    <select id="selectDeviceTreeData" resultMap="DeviceTreeResult">
+        <include refid="selectCentermonitorTCameraVo"/>
+        ORDER BY create_time DESC
+    </select>
+
 </mapper>