Browse Source

报警统计功能优化

shilin 1 year ago
parent
commit
27c3f6dacd
30 changed files with 48160 additions and 12342 deletions
  1. 1 1
      alarm-custom/src/main/java/com/gyee/alarm/init/CacheContext.java
  2. 12 6
      alarm-custom/src/main/java/com/gyee/alarm/task/thread/AlarmThreadPool.java
  3. 3 3
      alarm-service/src/main/java/com/gyee/alarm/mapper/auto/AlarmTsMapper.java
  4. 4 0
      alarm-service/src/main/java/com/gyee/alarm/model/vo/AlarmVo.java
  5. 18 3
      alarm-service/src/main/java/com/gyee/alarm/service/AlarmBtService.java
  6. 12 12
      alarm-service/src/main/java/com/gyee/alarm/service/AlarmCtService.java
  7. 3 2
      alarm-service/src/main/java/com/gyee/alarm/service/AlarmInService.java
  8. 3 2
      alarm-service/src/main/java/com/gyee/alarm/service/AlarmWtService.java
  9. 4 2
      alarm-service/src/main/java/com/gyee/alarm/service/PushDataSevice.java
  10. 1 1
      alarm-service/src/main/java/com/gyee/alarm/service/auto/IAlarmTsService.java
  11. 2 2
      alarm-service/src/main/java/com/gyee/alarm/service/auto/impl/AlarmTsServiceImpl.java
  12. 14 3
      alarm-service/src/main/java/com/gyee/alarm/websocket/WebSocket.java
  13. 3 1
      alarm-web/src/main/java/com/gyee/alarm/controller/AlarmHistoryController.java
  14. 1 1
      alarm-web/src/main/java/com/gyee/alarm/controller/ProBasicDeviceController.java
  15. 4 1
      alarm-web/src/main/java/com/gyee/alarm/mapper/auto/AlarmTsMapper.java
  16. 1 1
      alarm-web/src/main/java/com/gyee/alarm/mapper/auto/ProBasicDeviceMetricsMapper.java
  17. 3 0
      alarm-web/src/main/java/com/gyee/alarm/model/auto/ProBasicDevice.java
  18. 4 0
      alarm-web/src/main/java/com/gyee/alarm/model/auto/ProBasicDeviceFaultMetrics.java
  19. 3 0
      alarm-web/src/main/java/com/gyee/alarm/model/auto/ProBasicDeviceFaultMode.java
  20. 3 0
      alarm-web/src/main/java/com/gyee/alarm/model/auto/ProBasicDeviceMetrics.java
  21. 3 0
      alarm-web/src/main/java/com/gyee/alarm/model/auto/ProBasicDeviceModel.java
  22. 5 1
      alarm-web/src/main/java/com/gyee/alarm/model/auto/ProBasicDeviceModelMetrics.java
  23. 3 0
      alarm-web/src/main/java/com/gyee/alarm/model/auto/ProBasicDeviceStructure.java
  24. 1 1
      alarm-web/src/main/java/com/gyee/alarm/model/vo/AlarmVo.java
  25. 18 8
      alarm-web/src/main/java/com/gyee/alarm/service/AlarmHistoryService.java
  26. 4 1
      alarm-web/src/main/java/com/gyee/alarm/service/DeviceFaultModeService.java
  27. 1 1
      alarm-web/src/main/java/com/gyee/alarm/service/DeviceService.java
  28. 33 1
      alarm-web/src/main/java/com/gyee/alarm/service/RuleUpdateEventService.java
  29. 47993 12288
      log/ota.log
  30. BIN
      log/ota.log.2023-09-17.0.gz

+ 1 - 1
alarm-custom/src/main/java/com/gyee/alarm/init/CacheContext.java

@@ -366,7 +366,7 @@ public class CacheContext implements CommandLineRunner {
 //            });
 //        }
 
-        wtls = proBasicEquipmentService.list().stream().filter(i->runWpids.contains(i.getWindpowerstationId()) && i.getIsable()==1).collect(Collectors.toList());
+        wtls = proBasicEquipmentService.list().stream().filter(i->i.getIsable()==1).collect(Collectors.toList());
         logger.info(wtls.size()+"");
         wtls.forEach(wt->{
             if(modelMap.containsKey(wt.getModelId()))

+ 12 - 6
alarm-custom/src/main/java/com/gyee/alarm/task/thread/AlarmThreadPool.java

@@ -87,8 +87,8 @@ public class AlarmThreadPool implements Callable<Integer>, Serializable {
 
                 checkRule(saveAlarmTags, updateAlarmTags, vo,map);
 
-                logger.info(String.valueOf(threadPoolTaskData) + "新增报警数量:" + saveAlarmTags.size());
-                logger.info(String.valueOf(threadPoolTaskData) + "结束报警数量:" + updateAlarmTags.size());
+                logger.info( "新增报警数量:" + saveAlarmTags.size());
+                logger.info( "结束报警数量:" + updateAlarmTags.size());
             }
 
             if (!saveAlarmTags.isEmpty()) {
@@ -141,7 +141,7 @@ public class AlarmThreadPool implements Callable<Integer>, Serializable {
                 Object obj = alarmFunction.explain();
                 if (obj instanceof Boolean) {
 
-					boolean endStatus=false;
+					Boolean endStatus=null;
 					if(map.containsKey(ar.getId().toLowerCase()))
 					{
 						AlarmSimpleVo vo=map.get(ar.getId().toLowerCase());
@@ -149,8 +149,14 @@ public class AlarmThreadPool implements Callable<Integer>, Serializable {
 						if(StringUtils.notEmp(vo.getEndts()))
 						{
 							endStatus=true;
-						}
-					}
+						}else
+                        {
+                            endStatus=false;
+                        }
+					}else
+                    {
+                        endStatus=true;
+                    }
                     if (true == (boolean) obj) {
 
 						if(endStatus)
@@ -167,7 +173,7 @@ public class AlarmThreadPool implements Callable<Integer>, Serializable {
 
                     } else {
 
-						if(!endStatus)
+						if(StringUtils.notEmp(endStatus) && !endStatus)
 						{
 							AlarmTag po = new AlarmTag();
 							po.setId(ar.getId());

+ 3 - 3
alarm-service/src/main/java/com/gyee/alarm/mapper/auto/AlarmTsMapper.java

@@ -55,7 +55,7 @@ public interface AlarmTsMapper extends BaseMapper<AlarmTs> {
             "components NCHAR(50),description NCHAR(500),deviceid NCHAR(50),devicename NCHAR(70)," +
             "devicetype NCHAR(50),enabled BOOL,lineid NCHAR(50),linename NCHAR(70),modelId NCHAR(50),projectid NCHAR(50)," +
             "projectname NCHAR(70),rank INT,resettable BOOL,stationid NCHAR(50),stationname NCHAR(70),subcomponents NCHAR(50)," +
-            "suffix NCHAR(50),tagid NCHAR(100),triggertype INT,uniformcode NCHAR(50),name NCHAR(100),nemCode NCHAR(50),faultCause NCHAR(1000),resolvent NCHAR(1000));")
+            "suffix NCHAR(50),tagid NCHAR(100),triggertype INT,uniformcode NCHAR(50),name NCHAR(100),nemCode NCHAR(50),faultCause NCHAR(500),resolvent NCHAR(500),faultType NCHAR(50),aname NCHAR(50));")
     int createAlarmSuperTable(@Param("superTableName") String superTableName);
 
 
@@ -65,7 +65,7 @@ public interface AlarmTsMapper extends BaseMapper<AlarmTs> {
             "#{characteristic}, #{components},#{description}, #{deviceid}, #{devicename}," +
             "#{devicetype}, #{enabled}, #{lineid}, #{linename}, #{modelId}, #{projectid}," +
             "#{projectname}, #{rank}, #{resettable}, #{stationid}, #{stationname}, #{subcomponents}," +
-            "#{suffix},  #{tagid}, #{triggertype}, #{uniformcode},#{name}, #{nemCode}, #{faultCause}, #{resolvent}" +
+            "#{suffix},  #{tagid}, #{triggertype}, #{uniformcode},#{name}, #{nemCode}, #{faultCause}, #{resolvent, #{faultType}, #{aname}" +
             " )")
     int createTable(@Param("tbName") String tbName, @Param("alarmid") String alarmid, @Param("alarmtype") String alarmtype,
                     @Param("characteristic") String characteristic, @Param("components") String components,
@@ -79,7 +79,7 @@ public interface AlarmTsMapper extends BaseMapper<AlarmTs> {
                     @Param("stationname") String stationname, @Param("subcomponents") String subcomponents,
                     @Param("suffix") String suffix, @Param("tagid") String tagid,
                     @Param("triggertype") Integer triggertype, @Param("uniformcode") String uniformcode, @Param("superTableName") String superTableName,
-                    @Param("name") String name, @Param("nemCode") String nemCode, @Param("faultCause") String faultCause, @Param("resolvent") String resolvent
+                    @Param("name") String name, @Param("nemCode") String nemCode, @Param("faultCause") String faultCause, @Param("resolvent") String resolvent, @Param("faultType") String faultType, @Param("aname") String aname
 
                     );
 

+ 4 - 0
alarm-service/src/main/java/com/gyee/alarm/model/vo/AlarmVo.java

@@ -63,4 +63,8 @@ public class AlarmVo {
      */
     private String resolvent;
 
+    private String faultType;
+    private String aname;
+
+
 }

+ 18 - 3
alarm-service/src/main/java/com/gyee/alarm/service/AlarmBtService.java

@@ -76,7 +76,7 @@ public class AlarmBtService {
                         vo.getSuffix(), vo.getTagid(),
                         vo.getTriggertype(), vo.getUniformcode(), vo.getSuperTableName(),
                         vo.getName(),
-                        vo.getNemCode(),vo.getFaultCause(),vo.getResolvent());
+                        vo.getNemCode(),vo.getFaultCause(),vo.getResolvent(),vo.getFaultType(),vo.getAname());
 
 
 
@@ -135,7 +135,8 @@ public class AlarmBtService {
 
                     vo.setVal(null);
                     vo.setOval(null);
-
+                    vo.setFaultType(alarm.getDeviceId());
+                    vo.setAname(alarm.getSuffix());
                     vo.setName(alarm.getName());
                     vo.setNemCode(alarm.getNemCode());
                     vo.setFaultCause(alarm.getFaultCause());
@@ -192,6 +193,20 @@ public class AlarmBtService {
                         po.setLastUpdateTime(new Date(alarm.getTs()));
                         po.setTagId(alarm.getTagId());
                         po.setTriggerType(alarm.getTriggerType());
+
+                        if(alarm.getTriggerType()==-1)
+                        {
+                            if(alarm.getOval()==0)
+                            {
+                                po.setDescription(vo.getDescription()+"_分位");
+                            }else   if(alarm.getOval()==1)
+                            {
+                                po.setDescription(vo.getDescription()+"_合位");
+                            }
+                        }else
+                        {
+                            po.setDescription(vo.getDescription());
+                        }
                         po.setAlarmId(vo.getAlarmid());
                         po.setDeviceId(vo.getDeviceid());
                         po.setSubcomponents(vo.getSuffix());
@@ -202,7 +217,7 @@ public class AlarmBtService {
                         po.setDeviceType(vo.getDevicetype());
                         po.setComponents(vo.getComponents());
                         po.setSubcomponents(vo.getSubcomponents());
-                        po.setDescription(vo.getDescription());
+
                         po.setModelId(vo.getModelId());
                         po.setResetTable(vo.getResettable());
                         po.setEnable(vo.getEnabled());

+ 12 - 12
alarm-service/src/main/java/com/gyee/alarm/service/AlarmCtService.java

@@ -71,22 +71,22 @@ public class AlarmCtService {
                         vo.getSuffix(), vo.getTagid(),
                         vo.getTriggertype(), vo.getUniformcode(),
                         vo.getSuperTableName(),vo.getName(),
-                        vo.getNemCode(),vo.getFaultCause(),vo.getResolvent());
-
-                AlarmTag po = new AlarmTag();
-                po.setId(vo.getTbName());
-                po.setVal(0.0);
-                po.setTriggerType(vo.getTriggertype());
-                po.setTagId(vo.getTagid());
-                po.setVal(0.0);
-                po.setRank(vo.getRank());
-                po.setTs(new Date().getTime());
-                alarmTags.add(po);
+                        vo.getNemCode(),vo.getFaultCause(),vo.getResolvent(),vo.getFaultType(),vo.getAname());
+
+//                AlarmTag po = new AlarmTag();
+//                po.setId(vo.getTbName());
+//                po.setVal(0.0);
+//                po.setTriggerType(vo.getTriggertype());
+//                po.setTagId(vo.getTagid());
+//                po.setVal(0.0);
+//                po.setRank(vo.getRank());
+//                po.setTs(new Date().getTime());
+//                alarmTags.add(po);
             }
         }
 
 
-        alarmTsService.insertList(alarmTags);
+//        alarmTsService.insertList(alarmTags);
     }
 
 

+ 3 - 2
alarm-service/src/main/java/com/gyee/alarm/service/AlarmInService.java

@@ -105,7 +105,7 @@ public class AlarmInService {
                         vo.getSuffix(), vo.getTagid(),
                         vo.getTriggertype(), vo.getUniformcode(),vo.getSuperTableName(),
                         vo.getName(),
-                        vo.getNemCode(),vo.getFaultCause(),vo.getResolvent());
+                        vo.getNemCode(),vo.getFaultCause(),vo.getResolvent(),vo.getFaultType(),vo.getAname());
 
 //                AlarmTag po=new AlarmTag();
 //                po.setId(vo.getTbName());
@@ -201,7 +201,8 @@ public class AlarmInService {
 
                                     vo.setVal(null);
                                     vo.setOval(null);
-
+                                    vo.setFaultType(alarm.getDeviceId());
+                                    vo.setAname(alarm.getSuffix());
                                     vo.setName(alarm.getName());
                                     vo.setNemCode(alarm.getNemCode());
                                     vo.setFaultCause(alarm.getFaultCause());

+ 3 - 2
alarm-service/src/main/java/com/gyee/alarm/service/AlarmWtService.java

@@ -112,7 +112,7 @@ public class AlarmWtService {
                         vo.getSuffix(), vo.getTagid(),
                         vo.getTriggertype(), vo.getUniformcode(),vo.getSuperTableName(),
                         vo.getName(),
-                        vo.getNemCode(),vo.getFaultCause(),vo.getResolvent());
+                        vo.getNemCode(),vo.getFaultCause(),vo.getResolvent(),vo.getFaultType(),vo.getAname());
 
 //                AlarmTag po=new AlarmTag();
 //                po.setId(vo.getTbName());
@@ -210,7 +210,8 @@ public class AlarmWtService {
                                     vo.setTriggertype(alarm.getTriggerType());
                                     vo.setUniformcode(alarm.getUniformCode());
                                     vo.setSuperTableName(AlarmSuperTalbeType.WT.getCode());
-
+                                    vo.setFaultType(alarm.getDeviceId());
+                                    vo.setAname(alarm.getSuffix());
 //                                    PointData temp=edosUtil.getRealData(equipmentPoint.getNemCode());
 //                                    vo.setVal((int)temp.getPointValueInDouble());
 //                                    vo.setOval((int)temp.getPointValueInDouble());

+ 4 - 2
alarm-service/src/main/java/com/gyee/alarm/service/PushDataSevice.java

@@ -72,9 +72,11 @@ public class PushDataSevice {
 //                    }
 
                     if (checkWtId(key, po.getDeviceId())) {
-                        webSocket.sendMessageByUserId(key, po);
-
 
+                        if(webSocketPushMap.containsKey(key))
+                        {
+                            webSocket.sendMessageByUserId(key, po);
+                        }
                     }
                 }
 

+ 1 - 1
alarm-service/src/main/java/com/gyee/alarm/service/auto/IAlarmTsService.java

@@ -34,7 +34,7 @@ public interface IAlarmTsService extends IService<AlarmTs> {
                            String stationname, String subcomponents,
                            String suffix, String tagid,
                            Integer triggertype, String uniformcode,String superTableName,
-                           String name,String nemCode, String faultCause, String resolvent
+                           String name,String nemCode, String faultCause, String resolvent,String faultType,String aname
 
     );
 

+ 2 - 2
alarm-service/src/main/java/com/gyee/alarm/service/auto/impl/AlarmTsServiceImpl.java

@@ -47,7 +47,7 @@ public class AlarmTsServiceImpl extends ServiceImpl<AlarmTsMapper, AlarmTs> impl
                            String stationname, String subcomponents,
                            String suffix, String tagid,
                            Integer triggertype, String uniformcode, String superTableName,
-                          String name,String nemCode, String faultCause, String resolvent
+                          String name,String nemCode, String faultCause, String resolvent,String faultType,String aname
 
 
     ) {
@@ -62,7 +62,7 @@ public class AlarmTsServiceImpl extends ServiceImpl<AlarmTsMapper, AlarmTs> impl
                 resettable, stationid,
                 stationname, subcomponents,
                 suffix, tagid,
-                triggertype, uniformcode,superTableName,   name, nemCode,  faultCause,  resolvent);
+                triggertype, uniformcode,superTableName,   name, nemCode,  faultCause,  resolvent,faultType,aname);
     }
 
 

+ 14 - 3
alarm-service/src/main/java/com/gyee/alarm/websocket/WebSocket.java

@@ -1,5 +1,6 @@
 package com.gyee.alarm.websocket;
-import org.apache.commons.lang.StringUtils;
+
+import com.gyee.alarm.util.StringUtils;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import org.springframework.stereotype.Component;
@@ -120,7 +121,14 @@ public class WebSocket {
      * 向客户端发送消息
      */
     public void sendMessage(Object message) throws IOException, EncodeException {
-        this.session.getBasicRemote().sendObject(message);
+
+        if(StringUtils.notEmp(this.session))
+        {
+            synchronized (this.session) {
+                this.session.getBasicRemote().sendObject(message);
+            }
+        }
+
         //this.session.getAsyncRemote().sendText(message);
     }
 
@@ -144,7 +152,10 @@ public class WebSocket {
     public void sendMessageByUserId(String userId, Object message) throws IOException, EncodeException {
         logger.info("服务端发送消息到{},消息:{}",userId,message);
         if(StringUtils.isNotBlank(userId)&&webSocketMap.containsKey(userId)){
-            webSocketMap.get(userId).sendMessage(message);
+            synchronized (userId) {
+                webSocketMap.get(userId).sendMessage(message);
+            }
+
         }else{
             logger.error("用户{}不在线",userId);
         }

+ 3 - 1
alarm-web/src/main/java/com/gyee/alarm/controller/AlarmHistoryController.java

@@ -191,6 +191,7 @@ public class AlarmHistoryController {
             @ApiImplicitParam(name = "stationid", value = "场站编号", required = true, dataType = "string", paramType = "query"),
             @ApiImplicitParam(name = "modelId", value = "型号编号", required = false, dataType = "string", paramType = "query"),
             @ApiImplicitParam(name = "components", value = "部件集合", required = true, dataType = "string", paramType = "query"),
+            @ApiImplicitParam(name = "deviceType", value = "报警类型 booststation:升压站报警,windturbine:设备报警,inverter:光伏", required = true, dataType = "string", paramType = "query"),
             @ApiImplicitParam(name = "alarmIds", value = "报警编号集合", required = true, dataType = "string", paramType = "query"),
             @ApiImplicitParam(name = "timeType", value = "秒、分、时(s,m,h)", required = false, dataType = "string", paramType = "query")
     })
@@ -201,6 +202,7 @@ public class AlarmHistoryController {
             @RequestParam(value = "stationid", required = true) String stId,
             @RequestParam(value = "modelId", required = false) String modelId,
             @RequestParam(value = "components", required = true) String components,
+            @RequestParam(value = "deviceType", required = true) String deviceType,
             @RequestParam(value = "alarmIds", required = true) String alarmIds,
             @RequestParam(value = "timeType", required = false) String timeType
     ) throws ParseException {
@@ -214,7 +216,7 @@ public class AlarmHistoryController {
         {
             modelId=null;
         }
-        List<AlarmStatVo> pressureList = alarmHistoryService.findCtFeatureStat(stId,modelId, dtStart, dtEnd,components,alarmIds,timeType);
+        List<AlarmStatVo> pressureList = alarmHistoryService.findCtFeatureStat(stId,modelId, dtStart, dtEnd,components,deviceType,alarmIds,timeType);
 
 //
 //        Map<String, List<AlarmStatVo>> map=new TreeMap<>();

+ 1 - 1
alarm-web/src/main/java/com/gyee/alarm/controller/ProBasicDeviceController.java

@@ -174,7 +174,7 @@ public class ProBasicDeviceController {
 
 
     @DeleteMapping(value = "/metrics/single/delete/{metricId}")
-    public int deleteDeviceMetric(@PathVariable("metricId") long metricId) {
+    public int deleteDeviceMetric(@PathVariable("metricId") String metricId) {
         return deviceService.deleteDeviceMetric(metricId);
     }
 

+ 4 - 1
alarm-web/src/main/java/com/gyee/alarm/mapper/auto/AlarmTsMapper.java

@@ -257,12 +257,15 @@ public interface AlarmTsMapper extends BaseMapper<AlarmTs> {
             "<if test='components != null'>",
             "and components in(${components}) ",
             "</if>",
+            "<if test='deviceType != null'>",
+            "and deviceType = #{deviceType}",
+            "</if>",
             "</where>",
 
             " group by deviceid,components,stationid,alarmid,description ",
             " order by deviceid  ",
             "</script>"})
-    List<ProBasicFeatureStat> findCtFeatureStat( @Param("begin")long begin, @Param("end") long end, @Param("stationid") String stationid, @Param("modelId")String modelId, @Param("components") List<String> components, @Param("alarmid") List<String> alarmid);
+    List<ProBasicFeatureStat> findCtFeatureStat( @Param("begin")long begin, @Param("end") long end, @Param("stationid") String stationid, @Param("modelId")String modelId, @Param("components") String components, @Param("alarmid") String alarmid, @Param("deviceType")String deviceType);
 
     @Select("${sql}")
     List<AlarmSimpleVo> selectLastRowByTbname( @Param("sql") String sql);

+ 1 - 1
alarm-web/src/main/java/com/gyee/alarm/mapper/auto/ProBasicDeviceMetricsMapper.java

@@ -36,7 +36,7 @@ public interface ProBasicDeviceMetricsMapper extends BaseMapper<ProBasicDeviceMe
     ProBasicDeviceMetrics getDeviceMetricsByCode(@Param("deviceId")String deviceId,
                                          @Param("metricCode")String metricCode);
     @Select({"<script>",
-            "select * from pro_basic_device_metrics ",
+            "select * from pro_basic_device_metrics a",
             "<where>",
             "<if test='deviceId !=null' >",
             "and a.device_id=#{deviceId}",

+ 3 - 0
alarm-web/src/main/java/com/gyee/alarm/model/auto/ProBasicDevice.java

@@ -1,5 +1,7 @@
 package com.gyee.alarm.model.auto;
 
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -21,6 +23,7 @@ public class ProBasicDevice extends Model {
     /**
      * 编号
      */
+    @TableId(value = "ID",type = IdType.INPUT)
     private String id;
 
     /**

+ 4 - 0
alarm-web/src/main/java/com/gyee/alarm/model/auto/ProBasicDeviceFaultMetrics.java

@@ -1,6 +1,9 @@
 package com.gyee.alarm.model.auto;
 
 import java.math.BigDecimal;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -27,6 +30,7 @@ public class ProBasicDeviceFaultMetrics extends Model {
     /**
      * 设备
      */
+    @TableId(value = "ID",type = IdType.INPUT)
     private String deviceId;
 
     /**

+ 3 - 0
alarm-web/src/main/java/com/gyee/alarm/model/auto/ProBasicDeviceFaultMode.java

@@ -1,5 +1,7 @@
 package com.gyee.alarm.model.auto;
 
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -21,6 +23,7 @@ public class ProBasicDeviceFaultMode extends Model {
     /**
      * 编号
      */
+    @TableId(value = "ID",type = IdType.INPUT)
     private String id;
 
     /**

+ 3 - 0
alarm-web/src/main/java/com/gyee/alarm/model/auto/ProBasicDeviceMetrics.java

@@ -1,6 +1,8 @@
 package com.gyee.alarm.model.auto;
 
+import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -24,6 +26,7 @@ public class ProBasicDeviceMetrics extends Model {
     /**
      * 编号
      */
+    @TableId(value = "ID",type = IdType.INPUT)
     private String id;
 
     /**

+ 3 - 0
alarm-web/src/main/java/com/gyee/alarm/model/auto/ProBasicDeviceModel.java

@@ -1,5 +1,7 @@
 package com.gyee.alarm.model.auto;
 
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -21,6 +23,7 @@ public class ProBasicDeviceModel extends Model {
     /**
      * 编号
      */
+    @TableId(value = "ID",type = IdType.INPUT)
     private String id;
 
     /**

+ 5 - 1
alarm-web/src/main/java/com/gyee/alarm/model/auto/ProBasicDeviceModelMetrics.java

@@ -1,6 +1,9 @@
 package com.gyee.alarm.model.auto;
 
 import java.math.BigDecimal;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -22,12 +25,13 @@ public class ProBasicDeviceModelMetrics extends Model {
     /**
      * 编号
      */
+    @TableId(value = "ID",type = IdType.INPUT)
     private String id;
 
     /**
      * 设备
      */
-    private String deviceiD;
+    private String deviceId;
 
     /**
      * 设备名称

+ 3 - 0
alarm-web/src/main/java/com/gyee/alarm/model/auto/ProBasicDeviceStructure.java

@@ -1,5 +1,7 @@
 package com.gyee.alarm.model.auto;
 
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -21,6 +23,7 @@ public class ProBasicDeviceStructure extends Model {
     /**
      * 编号
      */
+    @TableId(value = "ID",type = IdType.INPUT)
     private String id;
 
     /**

+ 1 - 1
alarm-web/src/main/java/com/gyee/alarm/model/vo/AlarmVo.java

@@ -65,5 +65,5 @@ public class AlarmVo {
     private String wpName;
     private String code;
     private String wpId;
-
+    private String faultType;
 }

+ 18 - 8
alarm-web/src/main/java/com/gyee/alarm/service/AlarmHistoryService.java

@@ -584,12 +584,12 @@ public class AlarmHistoryService   {
         vos.add(fs);
     }
 
-    public List<AlarmStatVo> findCtFeatureStat(String stationId,String modelId, Date startTime, Date endTime,String components,String alarmIds,String timeType) {
+    public List<AlarmStatVo> findCtFeatureStat(String stationId,String modelId, Date startTime, Date endTime,String components,String deviceType,String alarmIds,String timeType) {
         List<AlarmStatVo> resultList = new ArrayList<>();
 
 
-        List<String> alarmIdList=new ArrayList();
-        List<String> componentsList=new ArrayList();
+        StringBuilder alarmIdList=new StringBuilder();
+        StringBuilder componentsList=new StringBuilder();
 
         Map<String,String> alarmIdMap=new HashMap<>();
         Map<String,String> componentsMap=new HashMap();
@@ -599,7 +599,7 @@ public class AlarmHistoryService   {
             String [] componentsStr=components.split(",");
             for(String c:componentsStr)
             {
-                componentsList.add(c);
+                componentsList.append("'").append(c).append("',");
                 componentsMap.put(c,c);
             }
 
@@ -609,12 +609,22 @@ public class AlarmHistoryService   {
             String [] alarmIdStr=alarmIds.split(",");
             for(String c:alarmIdStr)
             {
-                alarmIdList.add(c);
+                alarmIdList.append("'").append(c).append("',");
                 alarmIdMap.put(c,c);
             }
 
         }
-        List<ProBasicFeatureStat> fsls = alarmTsMapper.findCtFeatureStat(startTime.getTime(), endTime.getTime(),stationId,modelId,componentsList,alarmIdList);
+        String alarmId=null;
+        String component=null;
+        if(alarmIdList.length()>0)
+        {
+            alarmId=String.valueOf(alarmIdList.substring(0,alarmIdList.length()-1));
+        }
+        if(componentsList.length()>0)
+        {
+            component=String.valueOf(componentsList.substring(0,componentsList.length()-1));
+        }
+        List<ProBasicFeatureStat> fsls = alarmTsMapper.findCtFeatureStat(startTime.getTime(), endTime.getTime(),stationId,modelId,component,alarmId,deviceType);
 
 
         Map<String, ProBasicFeatureStat> map = new HashMap<>();
@@ -643,9 +653,9 @@ public class AlarmHistoryService   {
                 StringBuilder sb=new StringBuilder();
                 sb.append(wt.getWindpowerstationId()).append(wt.getModelId());
 
-                if(CacheContext.ctAlarmMap.containsKey(String.valueOf(sb))) {
+                if(CacheContext.ctAlarmlsMap.containsKey(String.valueOf(sb))) {
 
-                    List<ProEconAlarmRule> wtCustomls=CacheContext.alarmRulesMap.get(AlarmCustomType.WT.getCode());
+                    List<ProEconAlarmRule> wtCustomls=CacheContext.ctAlarmlsMap.get(String.valueOf(sb));
 
                     for (ProEconAlarmRule at : wtCustomls) {
 

+ 4 - 1
alarm-web/src/main/java/com/gyee/alarm/service/DeviceFaultModeService.java

@@ -1,5 +1,6 @@
 package com.gyee.alarm.service;
 
+import com.gyee.alarm.mapper.auto.ProBasicDeviceFaultModeMapper;
 import com.gyee.alarm.model.auto.ProBasicDeviceFaultMode;
 import com.gyee.alarm.service.auto.IProBasicDeviceFaultModeService;
 import com.gyee.alarm.util.SnowflakeGenerator;
@@ -16,7 +17,8 @@ import java.util.List;
 public class DeviceFaultModeService {
     @Resource
     private IProBasicDeviceFaultModeService proBasicDeviceFaultModeService;
-
+    @Resource
+    private ProBasicDeviceFaultModeMapper proBasicDeviceFaultModeMapper;
 
 
     public boolean saveorUpdateDeviceFaultMode(ProBasicDeviceFaultMode deviceFaultMode) {
@@ -30,6 +32,7 @@ public class DeviceFaultModeService {
             if (oldData != null) {
                 result = proBasicDeviceFaultModeService.updateById(deviceFaultMode);
             } else {
+                deviceFaultMode.setId(String.valueOf(SnowflakeGenerator.generateId()));
                 result = proBasicDeviceFaultModeService.save(deviceFaultMode);
             }
         }

+ 1 - 1
alarm-web/src/main/java/com/gyee/alarm/service/DeviceService.java

@@ -357,7 +357,7 @@ public class DeviceService {
         return proBasicDeviceMetricsMapper.getDeviceMetricsByCode(deviceId, metricCode);
     }
 
-    public int deleteDeviceMetric(long metricId) {
+    public int deleteDeviceMetric(String metricId) {
         return proBasicDeviceMetricsMapper.deleteById(metricId);
     }
 

+ 33 - 1
alarm-web/src/main/java/com/gyee/alarm/service/RuleUpdateEventService.java

@@ -51,8 +51,20 @@ public class RuleUpdateEventService {
 
         if(!ruleUpdateEventIPage.getRecords().isEmpty())
         {
+
+
             for(ProEconRuleUpdateEvent vo:ruleUpdateEventIPage.getRecords())
             {
+                if(CacheContext.wpmap.containsKey(vo.getStationId()))
+                {
+                    ProBasicPowerstation wp=CacheContext.wpmap.get(vo.getStationId());
+                    vo.setStationName(wp.getName());
+                }
+                if(CacheContext.subwpmap.containsKey(vo.getStationId()))
+                {
+                    ProBasicSubStation wp=CacheContext.subwpmap.get(vo.getStationId());
+                    vo.setStationName(wp.getName());
+                }
                 List<ProEconRuleUpdateInfo> infoList=new ArrayList<>();
                 QueryWrapper<ProEconRuleUpdateInfo> wrapper2 = new QueryWrapper<>();
 
@@ -91,7 +103,16 @@ public class RuleUpdateEventService {
                 event.setUpdateUser(userId);
                 event.setStationId(newRule2.getStationId());
                 event.setModelId(newRule2.getModelId());
-
+                if(CacheContext.wpmap.containsKey(newRule2.getStationId()))
+                {
+                    ProBasicPowerstation wp=CacheContext.wpmap.get(newRule2.getStationId());
+                    event.setStationName(wp.getName());
+                }
+                if(CacheContext.subwpmap.containsKey(newRule2.getStationId()))
+                {
+                    ProBasicSubStation wp=CacheContext.subwpmap.get(newRule2.getStationId());
+                    event.setStationName(wp.getName());
+                }
                 proEconRuleUpdateEventService.save(event);
                 return 0;
 
@@ -106,6 +127,17 @@ public class RuleUpdateEventService {
                 event.setUpdateTime(new Date());
                 event.setUpdateUser(userId);
                 event.setStationId(newRule2.getStationId());
+
+                if(CacheContext.wpmap.containsKey(newRule2.getStationId()))
+                {
+                    ProBasicPowerstation wp=CacheContext.wpmap.get(newRule2.getStationId());
+                    event.setStationName(wp.getName());
+                }
+                if(CacheContext.subwpmap.containsKey(newRule2.getStationId()))
+                {
+                    ProBasicSubStation wp=CacheContext.subwpmap.get(newRule2.getStationId());
+                    event.setStationName(wp.getName());
+                }
                 event.setModelId(newRule2.getModelId());
                 List<ProEconRuleUpdateInfo> infoList = new ArrayList<>();
 

File diff suppressed because it is too large
+ 47993 - 12288
log/ota.log


BIN
log/ota.log.2023-09-17.0.gz