فهرست منبع

+ 大屏设备接口对接

chen.cheng 1 ماه پیش
والد
کامیت
b89ffb5f9e

+ 8 - 4
ems/ems-cloud/ems-server/src/main/java/com/ruoyi/ems/controller/DeviceController.java

@@ -110,8 +110,7 @@ public class DeviceController extends BaseController {
             startPage();
             List<EmsDevice> list = deviceService.selectByAreaTree(queryDevice);
             tabInfo = getDataTable(list);
-        }
-        catch (BusinessException e) {
+        } catch (BusinessException e) {
             tabInfo = new TableDataInfo();
             tabInfo.setCode(e.getCode());
             tabInfo.setMsg(e.getMessage());
@@ -129,7 +128,7 @@ public class DeviceController extends BaseController {
     @RequiresPermissions("basecfg:device:list")
     @GetMapping("/getTreeByFacs")
     public AjaxResult getTreeByFacs(@RequestParam(value = "areaCode", required = false) String areaCode,
-        @RequestParam(value = "deviceCategory", required = false) String deviceCategory) {
+                                    @RequestParam(value = "deviceCategory", required = false) String deviceCategory) {
         QueryDevice queryDevice = new QueryDevice();
         queryDevice.setAreaCode(areaCode);
         queryDevice.setDeviceCategory(deviceCategory);
@@ -205,7 +204,12 @@ public class DeviceController extends BaseController {
      * @return
      */
     @GetMapping(value = "/type/online")
-    public AjaxResult getDeviceOnlineSummary(@RequestParam("areaCode") String areaCode) {
+    public AjaxResult getDeviceOnlineSummary(@RequestParam(value = "areaCode", required = false) String areaCode) {
         return success(deviceService.calcDeviceOnlineSummary(areaCode));
     }
+
+    @GetMapping(value = "/total/status")
+    public AjaxResult cntTotalDevice(@RequestParam(value = "areaCode", required = false) String areaCode) {
+        return success(deviceService.cntTotalDevice(areaCode));
+    }
 }

+ 3 - 0
ems/ems-core/src/main/java/com/ruoyi/ems/mapper/EmsDeviceMapper.java

@@ -107,4 +107,7 @@ public interface EmsDeviceMapper {
     List<Map<String, Object>> cntDeviceStatus(@Param("areaCode") String areaCode);
 
     List<Map<String, Object>> calcDeviceOnlineSummary(@Param("areaCode") String areaCode);
+
+
+    Map<String, Object> cntTotalDevice(@Param("areaCode") String areaCode);
 }

+ 2 - 0
ems/ems-core/src/main/java/com/ruoyi/ems/service/IEmsDeviceService.java

@@ -104,4 +104,6 @@ public interface IEmsDeviceService {
     List<Map<String, Object>> cntDeviceStatus(String areaCode);
 
     List<Map<String, Object>> calcDeviceOnlineSummary(String areaCode);
+
+    Map<String, Object> cntTotalDevice(String areaCode);
 }

+ 8 - 2
ems/ems-core/src/main/java/com/ruoyi/ems/service/impl/EmsDeviceServiceImpl.java

@@ -147,6 +147,12 @@ public class EmsDeviceServiceImpl implements IEmsDeviceService {
         return emsDeviceMapper.calcDeviceOnlineSummary(areaCode);
     }
 
+
+    @Override
+    public Map<String, Object> cntTotalDevice(String areaCode) {
+        return emsDeviceMapper.cntTotalDevice(areaCode);
+    }
+
     /**
      * 批量填充字段
      *
@@ -156,7 +162,7 @@ public class EmsDeviceServiceImpl implements IEmsDeviceService {
         if (CollectionUtils.isNotEmpty(list)) {
             List<Area> areas = areaService.selectArea(new Area());
             Map<String, Area> areaMap = areas.stream()
-                .collect(Collectors.toMap(Area::getAreaCode, Function.identity()));
+                    .collect(Collectors.toMap(Area::getAreaCode, Function.identity()));
 
             for (EmsDevice device : list) {
                 fillAreaName(device, areaMap);
@@ -167,7 +173,7 @@ public class EmsDeviceServiceImpl implements IEmsDeviceService {
     private void fillAreaName(EmsDevice emsDevice) {
         List<Area> areas = areaService.selectArea(new Area());
         Map<String, Area> areaMap = areas.stream()
-            .collect(Collectors.toMap(Area::getAreaCode, Function.identity()));
+                .collect(Collectors.toMap(Area::getAreaCode, Function.identity()));
         fillAreaName(emsDevice, areaMap);
     }
 

+ 11 - 0
ems/ems-core/src/main/resources/mapper/ems/EmsDeviceMapper.xml

@@ -241,5 +241,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         GROUP BY
           facs_subcategory
     </select>
+    <select id="cntTotalDevice">
+        SELECT count(1) as total,
+        SUM(CASE WHEN device_status = 1 THEN 1 ELSE 0 END) AS onlineCount,
+        SUM(CASE WHEN device_status = 0 THEN 1 ELSE 0 END) as offlineCount
+        from adm_ems_device aed
+        <where>
+            <if test="areaCode !=null and areaCode!=''">
+                area_code = #{areaCode}
+            </if>
+        </where>
+    </select>
 
 </mapper>