فهرست منبع

Merge branch 'master' of http://git.xt.wenhq.top:8083/hs/zhny_bg

sx 11 ماه پیش
والد
کامیت
69348b8624

+ 18 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/controller/AdmOpAlarmController.java

@@ -122,4 +122,22 @@ public class AdmOpAlarmController extends BaseController {
     public AjaxResult qryAlarmTypeIndexYear(@RequestParam("areaCode") String areaCode) {
         return success(admOpAlarmService.qryAlarmTypeIndexYear(areaCode));
     }
+
+    @GetMapping("/subsys/index/day")
+    @RequiresPermissions("ems:alarm-info:query")
+    public AjaxResult qrySubSysIndexDay(@RequestParam("areaCode") String areaCode) {
+        return success(admOpAlarmService.qrySubSysIndexDay(areaCode));
+    }
+
+    @GetMapping("/subsys/index/month")
+    @RequiresPermissions("ems:alarm-info:query")
+    public AjaxResult qrySubSysIndexMonth(@RequestParam("areaCode") String areaCode) {
+        return success(admOpAlarmService.qrySubSysIndexMonth(areaCode));
+    }
+
+    @GetMapping("/subsys/index/year")
+    @RequiresPermissions("ems:alarm-info:query")
+    public AjaxResult qrySubSysIndexYear(@RequestParam("areaCode") String areaCode) {
+        return success(admOpAlarmService.qrySubSysIndexYear(areaCode));
+    }
 }

+ 7 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/mapper/AdmOpAlarmMapper.java

@@ -71,4 +71,11 @@ public interface AdmOpAlarmMapper
 
     List<Map<String, Object>> qryAlarmTypeIndexYear(@Param("alarmDate") String alarmDate, @Param("areaCode") String areaCode);
 
+
+    List<Map<String, Object>> qrySubSysIndexDay(@Param("alarmDate") String alarmDate, @Param("areaCode") String areaCode);
+
+    List<Map<String, Object>> qrySubSysIndexMonth(@Param("alarmDate") String alarmDate, @Param("areaCode") String areaCode);
+
+    List<Map<String, Object>> qrySubSysIndexYear(@Param("alarmDate") String alarmDate, @Param("areaCode") String areaCode);
+
 }

+ 6 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/service/IAdmOpAlarmService.java

@@ -68,4 +68,10 @@ public interface IAdmOpAlarmService
     public List<Map<String, Object>> qryAlarmTypeIndexMonth(String areaCode);
 
     public List<Map<String, Object>> qryAlarmTypeIndexYear(String areaCode);
+
+    List<Map<String, Object>> qrySubSysIndexDay(String areaCode);
+
+    List<Map<String, Object>> qrySubSysIndexMonth(String areaCode);
+
+    List<Map<String, Object>> qrySubSysIndexYear(String areaCode);
 }

+ 75 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/service/impl/AdmOpAlarmServiceImpl.java

@@ -3,12 +3,23 @@ package com.ruoyi.ems.service.impl;
 import java.util.List;
 import java.util.Map;
 
+import org.apache.commons.lang3.ObjectUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import com.ruoyi.common.core.enums.ObjType;
 import com.ruoyi.common.core.utils.DateTimeUtil;
 import com.ruoyi.ems.domain.AdmOpAlarm;
+import com.ruoyi.ems.domain.Area;
+import com.ruoyi.ems.domain.AreaBuildingZoning;
+import com.ruoyi.ems.domain.EmsDevice;
+import com.ruoyi.ems.domain.EmsFacs;
 import com.ruoyi.ems.mapper.AdmOpAlarmMapper;
+import com.ruoyi.ems.mapper.AreaBuildingZoningMapper;
+import com.ruoyi.ems.mapper.AreaMapper;
+import com.ruoyi.ems.mapper.EmsDeviceMapper;
+import com.ruoyi.ems.mapper.EmsFacsMapper;
 import com.ruoyi.ems.service.IAdmOpAlarmService;
 
 /**
@@ -22,6 +33,18 @@ public class AdmOpAlarmServiceImpl implements IAdmOpAlarmService {
     @Autowired
     private AdmOpAlarmMapper admOpAlarmMapper;
 
+    @Autowired
+    private AreaMapper areaMapper;
+
+    @Autowired
+    private AreaBuildingZoningMapper areaBuildingZoningMapper;
+
+    @Autowired
+    private EmsFacsMapper emsFacsMapper;
+
+    @Autowired
+    private EmsDeviceMapper emsDeviceMapper;
+
     /**
      * 查询能源设施告警
      *
@@ -52,6 +75,7 @@ public class AdmOpAlarmServiceImpl implements IAdmOpAlarmService {
      */
     @Override
     public int insertAdmOpAlarm(AdmOpAlarm admOpAlarm) {
+        admOpAlarm.setObjName(getObjInfo(admOpAlarm.getObjType(), admOpAlarm.getObjCode()));
         return admOpAlarmMapper.insertAdmOpAlarm(admOpAlarm);
     }
 
@@ -63,6 +87,7 @@ public class AdmOpAlarmServiceImpl implements IAdmOpAlarmService {
      */
     @Override
     public int updateAdmOpAlarm(AdmOpAlarm admOpAlarm) {
+        admOpAlarm.setObjName(getObjInfo(admOpAlarm.getObjType(), admOpAlarm.getObjCode()));
         return admOpAlarmMapper.updateAdmOpAlarm(admOpAlarm);
     }
 
@@ -110,4 +135,54 @@ public class AdmOpAlarmServiceImpl implements IAdmOpAlarmService {
         String firstDayOfRecentYear = DateTimeUtil.getFirstDayOfRecentYear();
         return admOpAlarmMapper.qryAlarmTypeIndexYear(firstDayOfRecentYear, areaCode);
     }
+
+    @Override
+    public List<Map<String, Object>> qrySubSysIndexDay(String areaCode) {
+        String dateTime = DateTimeUtil.currentDateTime(DateTimeUtil.DateFormatter.yyyy_MM_dd);
+        return admOpAlarmMapper.qrySubSysIndexDay(dateTime, areaCode);
+    }
+
+    @Override
+    public List<Map<String, Object>> qrySubSysIndexMonth(String areaCode) {
+        String firstDayOfRecentMonth = DateTimeUtil.getFirstDayOfRecentMonth();
+        return admOpAlarmMapper.qrySubSysIndexMonth(firstDayOfRecentMonth, areaCode);
+    }
+
+    @Override
+    public List<Map<String, Object>> qrySubSysIndexYear(String areaCode) {
+        String firstDayOfRecentYear = DateTimeUtil.getFirstDayOfRecentYear();
+        return admOpAlarmMapper.qrySubSysIndexYear(firstDayOfRecentYear, areaCode);
+    }
+
+    private String getObjInfo(Integer objType, String objCode) {
+        if (ObjType.AREA.getCode().equals(objType)) {
+            Area area = areaMapper.selectAreaByCode(objCode);
+            if (ObjectUtils.isEmpty(area)) {
+                return StringUtils.EMPTY;
+            }
+            return area.getAreaName();
+        }
+        if (ObjType.ZONE.getCode().equals(objType)) {
+            AreaBuildingZoning areaBuildingZoning = areaBuildingZoningMapper.selectAreaBuildingZoningByCode(objCode);
+            if (ObjectUtils.isEmpty(areaBuildingZoning)) {
+                return StringUtils.EMPTY;
+            }
+            return areaBuildingZoning.getZoningName();
+        }
+        if (ObjType.FACS.getCode().equals(objType)) {
+            EmsFacs emsFacs = emsFacsMapper.selectEmsFacsByCode(objCode);
+            if (ObjectUtils.isEmpty(emsFacs)) {
+                return StringUtils.EMPTY;
+            }
+            return emsFacs.getFacsName();
+        }
+        if (ObjType.DEVICE.getCode().equals(objType)) {
+            EmsDevice emsDevice = emsDeviceMapper.selectEmsDeviceByCode(objCode);
+            if (ObjectUtils.isEmpty(emsDevice)) {
+                return StringUtils.EMPTY;
+            }
+            return emsDevice.getDeviceName();
+        }
+        return StringUtils.EMPTY;
+    }
 }

+ 86 - 46
ems-cloud/ems-modules/ems-server/src/main/resources/mapper/ems/AdmOpAlarmMapper.xml

@@ -1,23 +1,23 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.ems.mapper.AdmOpAlarmMapper">
 
     <resultMap type="com.ruoyi.ems.domain.AdmOpAlarm" id="AdmOpAlarmResult">
-        <result property="id"    column="id"    />
-        <result property="areaCode"    column="area_code"    />
-        <result property="objType"    column="obj_type"    />
-        <result property="objCode"    column="obj_code"    />
-        <result property="alarmDate"    column="alarm_date"    />
-        <result property="alarmTime"    column="alarm_time"    />
-        <result property="alarmCode"    column="alarm_code"    />
+        <result property="id" column="id"/>
+        <result property="areaCode" column="area_code"/>
+        <result property="objType" column="obj_type"/>
+        <result property="objCode" column="obj_code"/>
+        <result property="alarmDate" column="alarm_date"/>
+        <result property="alarmTime" column="alarm_time"/>
+        <result property="alarmCode" column="alarm_code"/>
         <result property="subSystemName" column="sub_system_name"/>
         <result property="systemCode" column="system_code"/>
         <result property="objName" column="obj_name"/>
-        <result property="alarmMsg"    column="alarm_msg"    />
-        <result property="alarmType"    column="alarm_type"    />
-        <result property="alarmState"    column="alarm_state"    />
+        <result property="alarmMsg" column="alarm_msg"/>
+        <result property="alarmType" column="alarm_type"/>
+        <result property="alarmState" column="alarm_state"/>
     </resultMap>
 
     <sql id="selectAdmOpAlarmVo">
@@ -65,7 +65,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         where alarm.id = #{id}
     </select>
 
-    <insert id="insertAdmOpAlarm" parameterType="com.ruoyi.ems.domain.AdmOpAlarm" useGeneratedKeys="true" keyProperty="id">
+    <insert id="insertAdmOpAlarm" parameterType="com.ruoyi.ems.domain.AdmOpAlarm" useGeneratedKeys="true"
+            keyProperty="id">
         insert into adm_op_alarm
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="areaCode != null and areaCode != ''">area_code,</if>
@@ -114,7 +115,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </update>
 
     <delete id="deleteAdmOpAlarmById" parameterType="Long">
-        delete from adm_op_alarm where id = #{id}
+        delete
+        from adm_op_alarm
+        where id = #{id}
     </delete>
 
     <delete id="deleteAdmOpAlarmByIds" parameterType="String">
@@ -128,45 +131,34 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         SELECT count(*)   cnt,
                alarm_type alarmType
         FROM adm_op_alarm
-        WHERE
-            area_code = #{areaCode}
+        WHERE area_code = #{areaCode}
         GROUP BY alarm_type
     </select>
 
     <select id="qryAlarmTypeIndexDay" resultType="java.util.Map">
-        SELECT
-            count(*) cnt,
-            alarm_type alarmType,
-            DATE_FORMAT( alarm_time, '%H:00' ) dateIndex
-        FROM
-            adm_op_alarm
-        WHERE
-            area_code = #{areaCode} and
-            alarm_date = #{alarmDate}
-        GROUP BY
-            DATE_FORMAT( alarm_time, '%H:00' ),
-            alarm_type
-        ORDER BY
-            alarm_type,
-            dateIndex;
+        SELECT count(*)                         cnt,
+               alarm_type                       alarmType,
+               DATE_FORMAT(alarm_time, '%H:00') dateIndex
+        FROM adm_op_alarm
+        WHERE area_code = #{areaCode}
+          and alarm_date = #{alarmDate}
+        GROUP BY DATE_FORMAT(alarm_time, '%H:00'),
+                 alarm_type
+        ORDER BY alarm_type,
+                 dateIndex;
     </select>
 
     <select id="qryAlarmTypeIndexMonth" resultType="java.util.Map">
-        SELECT
-            count(*) cnt,
-            alarm_type alarmType ,
-            DATE_FORMAT( alarm_date, '%Y-%m-%d' ) AS dateIndex
-        FROM
-            adm_op_alarm
-        WHERE
-            area_code = #{areaCode} and
-            alarm_date >= #{alarmDate}
-        GROUP BY
-            alarm_type,
-            alarm_date
-        ORDER BY
-            alarm_type,
-            dateIndex;
+        SELECT count(*)                               cnt,
+               alarm_type                             alarmType,
+               DATE_FORMAT(alarm_date, '%Y-%m-%d') AS dateIndex
+        FROM adm_op_alarm
+        WHERE area_code = #{areaCode}
+          and alarm_date >= #{alarmDate}
+        GROUP BY alarm_type,
+                 alarm_date
+        ORDER BY alarm_type,
+                 dateIndex;
     </select>
 
     <select id="qryAlarmTypeIndexYear" resultType="java.util.Map">
@@ -181,4 +173,52 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         ORDER BY alarm_type,
                  dateIndex;
     </select>
+
+    <select id="qrySubSysIndexDay" resultType="java.util.Map">
+        SELECT count(*)                         cnt,
+               alarm.system_code                systemCode,
+               sub.system_name                  systemName,
+               DATE_FORMAT(alarm_time, '%H:00') dateIndex
+        FROM adm_op_alarm alarm
+                 left join adm_ems_subsystem sub
+                           on alarm.system_code = sub.system_code
+        WHERE area_code = #{areaCode}
+          and alarm_date = #{alarmDate}
+        GROUP BY DATE_FORMAT(alarm_time, '%H:00'),
+                 alarm.system_code
+        ORDER BY alarm.system_code,
+                 dateIndex;
+    </select>
+
+    <select id="qrySubSysIndexMonth" resultType="java.util.Map">
+        SELECT count(*)                               cnt,
+               alarm.system_code                      systemCode,
+               sub.system_name                        systemName,
+               DATE_FORMAT(alarm_date, '%Y-%m-%d') AS dateIndex
+        FROM adm_op_alarm alarm
+                 left join adm_ems_subsystem sub
+                           on alarm.system_code = sub.system_code
+        WHERE area_code = #{areaCode}
+          and alarm_date >= #{alarmDate}
+        GROUP BY alarm.system_code,
+                 alarm_date
+        ORDER BY alarm.system_code,
+                 dateIndex;
+    </select>
+
+    <select id="qrySubSysIndexYear" resultType="java.util.Map">
+        SELECT count(*)                            cnt,
+               alarm.system_code                   systemCode,
+               sub.system_name                     systemName,
+               DATE_FORMAT(alarm_date, '%Y-%m') AS dateIndex
+        FROM adm_op_alarm alarm
+                 left join adm_ems_subsystem sub
+                           on alarm.system_code = sub.system_code
+        WHERE area_code = #{areaCode}
+          and alarm_date >= #{alarmDate}
+        GROUP BY alarm.system_code,
+                 DATE_FORMAT(alarm_date, '%Y-%m')
+        ORDER BY alarm.system_code,
+                 dateIndex;
+    </select>
 </mapper>

+ 30 - 0
ems-cloud/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/enums/ObjType.java

@@ -0,0 +1,30 @@
+package com.ruoyi.common.core.enums;
+
+/**
+ * 用户状态
+ *
+ * @author ruoyi
+ */
+public enum ObjType {
+    /**
+     * 0:园区,1:区块,2:设施,3:设备
+     */
+    AREA(0, "园区"), ZONE(1, "区块"), FACS(2, "设施"), DEVICE(3, "设备");
+
+    private final Integer code;
+
+    private final String info;
+
+    ObjType(Integer code, String info) {
+        this.code = code;
+        this.info = info;
+    }
+
+    public Integer getCode() {
+        return code;
+    }
+
+    public String getInfo() {
+        return info;
+    }
+}