فهرست منبع

修改查询统计

lengfaqiang 2 سال پیش
والد
کامیت
7f9724fa2f

+ 30 - 8
slope-modules/slope-detection/src/main/java/com/sckw/slope/detection/service/ProjectService.java

@@ -227,6 +227,13 @@ public class ProjectService {
         if (project == null) {
             throw new BusinessException("要删除的项目不存在");
         }
+        Long count = projectDeviceMapper.selectCount(new LambdaQueryWrapper<KwsProjectDevice>()
+                .eq(KwsProjectDevice::getProjectId, list.get(0))
+                .eq(KwsProjectDevice::getDelFlag, 0)
+        );
+        if (count > 0) {
+            throw new BusinessException("项目存在关联设备,不允许删除!");
+        }
         int update = projectMapper.update(null, new LambdaUpdateWrapper<KwsProject>().in(KwsProject::getId, list).set(KwsProject::getDelFlag, "1"));
         Map<String, Object> logMap = new HashMap<>(NumberConstant.SIXTEEN);
         logMap.put("projectName", project.getName());
@@ -1225,6 +1232,9 @@ public class ProjectService {
     @Autowired
     KwsAlarmMapper alarmMapper;
 
+    @Autowired
+    KwsAlarmDetailMapper alarmDetailMapper;
+
     public HttpResult dataScreening(String projectId) {
         DataScreeningVO vo = new DataScreeningVO();
         LambdaQueryWrapper<KwsProject> wrapper = new LambdaQueryWrapper<>();
@@ -1259,21 +1269,33 @@ public class ProjectService {
         }
         List<KwsAlarm> kwsAlarmsCount = alarmMapper.selectList(new LambdaQueryWrapper<KwsAlarm>()
                 .eq(org.apache.commons.lang3.StringUtils.isNotBlank(mountainId), KwsAlarm::getMountainId, mountainId)
-        );
-        vo.setAlarmTotal(CollectionUtils.isEmpty(kwsAlarmsCount) ? 0 : kwsAlarmsCount.size());
-        List<KwsAlarm> unreadKwsAlarms = alarmMapper.selectList(new LambdaQueryWrapper<KwsAlarm>()
-                .eq(org.apache.commons.lang3.StringUtils.isNotBlank(mountainId), KwsAlarm::getMountainId, mountainId)
                 .eq(KwsAlarm::getStatus, 0)
         );
+        int alarmTotal = 0;
+        if (!CollectionUtils.isEmpty(kwsAlarmsCount)) {
+            alarmTotal = kwsAlarmsCount.stream().mapToInt(KwsAlarm::getTriggerTimes).sum();
+        }
+//        vo.setAlarmTotal(CollectionUtils.isEmpty(kwsAlarmsCount) ? 0 : kwsAlarmsCount.size());
+        vo.setAlarmTotal(alarmTotal);
+        List<KwsAlarmDetail> unreadKwsAlarms = alarmDetailMapper.selectList(new LambdaQueryWrapper<KwsAlarmDetail>()
+                .eq(org.apache.commons.lang3.StringUtils.isNotBlank(mountainId), KwsAlarmDetail::getMountainId, mountainId)
+                .eq(KwsAlarmDetail::getStatus, 0)
+        );
         vo.setUnreadAlarmTotal(CollectionUtils.isEmpty(unreadKwsAlarms) ? 0 : unreadKwsAlarms.size());
         List<KwsAlarm> oneThresholdAlarm = alarmMapper.selectList(new LambdaQueryWrapper<KwsAlarm>()
                 .eq(org.apache.commons.lang3.StringUtils.isNotBlank(mountainId), KwsAlarm::getMountainId, mountainId)
                 .eq(KwsAlarm::getLevel, NumberConstant.ONE)
         );
-        vo.setOneAlarmTotal(CollectionUtils.isEmpty(oneThresholdAlarm) ? 0 : oneThresholdAlarm.size());
-        List<KwsAlarm> kwsAlarms = alarmMapper.selectList(new LambdaQueryWrapper<KwsAlarm>()
-                .eq(org.apache.commons.lang3.StringUtils.isNotBlank(mountainId), KwsAlarm::getMountainId, mountainId)
-                .gt(KwsAlarm::getCreateTime, localDateTimeStart).lt(KwsAlarm::getCreateTime, localDateTimeEnd)
+        int oneAlarmTotal = 0;
+        if (!CollectionUtils.isEmpty(oneThresholdAlarm)) {
+            oneAlarmTotal = oneThresholdAlarm.stream().mapToInt(KwsAlarm::getTriggerTimes).sum();
+        }
+//        vo.setOneAlarmTotal(CollectionUtils.isEmpty(oneThresholdAlarm) ? 0 : oneThresholdAlarm.size());
+        vo.setOneAlarmTotal(oneAlarmTotal);
+        List<KwsAlarmDetail> kwsAlarms = alarmDetailMapper.selectList(new LambdaQueryWrapper<KwsAlarmDetail>()
+                .eq(org.apache.commons.lang3.StringUtils.isNotBlank(mountainId), KwsAlarmDetail::getMountainId, mountainId)
+                .eq(KwsAlarmDetail::getDelFlag, 0)
+                .gt(KwsAlarmDetail::getCreateTime, localDateTimeStart).lt(KwsAlarmDetail::getCreateTime, localDateTimeEnd)
         );
         vo.setTodayAlarmTotal(CollectionUtils.isEmpty(kwsAlarms) ? 0 : kwsAlarms.size());
         return HttpResult.ok("查询成功", vo);

+ 48 - 50
slope-modules/slope-detection/src/main/resources/bootstrap-lfdc.yml

@@ -22,7 +22,7 @@ spring:
         # 服务注册地址
         server-addr: 10.10.10.230:8848
         # 命名空间
-        namespace: slope-manage-service
+        namespace: slope-manage-service-lfdc
         # 共享配置
         group: slope-manage-service
       config:
@@ -31,7 +31,7 @@ spring:
         # 配置文件格式
         file-extension: yaml
         # 命名空间
-        namespace: slope-manage-service
+        namespace: slope-manage-service-lfdc
         # 共享配置
         group: slope-manage-service
         #可以读多个配置文件  需要在同一个命名空间下面可以是不同的组
@@ -40,56 +40,44 @@ spring:
             group: slope-manage-service
             refresh: true
 ## MQTT##
-#mqtt:
-#  send:
-#    #完成超时时间
-#    completionTimeout: 3000
-#    #通过mqtt发送消息验证所需用户名
-#    username: test
-#    #通过mqtt发送消息验证所需密码
-#    password: test
-#    #连接的mqtt地址
-#    url: tcp://10.10.10.225
-#    #客户端id
-#    clientId: mqttx_12411c5c1ec1
-#    #推送主题  后面跟着#是监控下面所有的话题
-#    topic: slope#
-#    #topic: my-test
-#    # 会话心跳时间
-#    keepAliveInterval: 20
-#    # 设置连接超时时间
-#    connectionTimeout: 3000
-#    timeout: 10
-#    keepalive: 20
-#  # 要消费的topic配置
-#  receive:
-#    topic: slopePush/slopePull/test/out,test,slope,sharjeck/ai/test/out
-#mqtt:
-#  send:
-#    #完成超时时间
-#    completionTimeout: 3000
-#    #通过mqtt发送消息验证所需用户名
-#    username: sckw
-#    #通过mqtt发送消息验证所需密码
-#    password: sckw123456
-#    #连接的mqtt地址
-#    url: tcp://47.108.205.7:1883
-#    #客户端id
-#    clientId: mqttx_12411c5cec1
-#    #推送主题  后面跟着#是监控下面所有的话题
-#    topic: slope#
-#    #topic: my-test
-#    # 会话心跳时间
-#    keepAliveInterval: 20
-#    # 设置连接超时时间
-#    connectionTimeout: 3000
-#    timeout: 10
-#    keepalive: 20
-#  # 要消费的topic配置
-#  receive:
-#    topic: slopePush/slopePull/test/out,test,slope,sharjeck/ai/test/out
+mqtt:
+  send:
+    #完成超时时间
+    completionTimeout: 3000
+    #通过mqtt发送消息验证所需用户名
+    username: admin
+    port: 1883
+    #通过mqtt发送消息验证所需密码
+    password: public..
+    #连接的mqtt地址
+    url: tcp://10.10.10.108
+    #客户端id
+    clientId: mqttx_4546c5c1ec1
+    #推送主题  后面跟着#是监控下面所有的话题
+    topic: system/iot/device_data_slope/#
+    #topic: my-test
+    # 会话心跳时间
+    keepAliveInterval: 20
+    # 设置连接超时时间
+    connectionTimeout: 3000
+    timeout: 10
+    keepalive: 20
+  # 要消费的topic配置
+  receive:
+    topic: slopePush/slopePull/test/out,test,slope,sharjeck/ai/test/out,system/iot/original_data_slope,system/iot/device_data_slope,system/iot/deviceDataSlopeDemo
+  isConsume: true
 OkHttpClit:
   url: http://10.10.10.185:9501
+## 订阅发布使用
+##ENMQX_HOST=10.10.10.108
+#ENMQX_PORT=1883
+#ENMQX_USERNAME=admin
+#ENMQX_PASSWORD=public..
+#
+##http:发布与订阅/api/v5/publish
+#ENMQX_API_HOST=http://10.10.10.108:18083
+#ENMQX_API_USERNAME=7dd9f635e3eddfca
+#ENMQX_API_PASSWORD=Z9A7kzHsICN5QRG9B8NTodceliwgh9AD9Bg6v4l9CXF1wL1B
 sms:
   url: http://10.10.10.223:8830/msg_api/push
 
@@ -101,6 +89,16 @@ aliyun:
     accessKeyId: LTAI5tPEbubCGq5Rdwygbz4Q
     secret: 7mQLWMaBJeZPRV1SRGogctYGXwppjQ
     bucket: kaiwu-saas
+scheduled:
+  template:
+    enable: false
+
+mybatis-plus:
+  #  mapper-locations: classpath*:/mapper/*/*.xml    #扫描xml文件
+  #  #实体扫描,多个package用逗号或者分号分隔
+  #  typeAliasesPackage: com.sckw.*.model.dos.mysql,com.sckw.*.model.dos.tdengine
+  configuration:
+    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
 scheduled:
   template:
     enable: false

+ 8 - 9
slope-modules/slope-detection/src/main/resources/mapper/mysql/KwsAlarmMapper.xml

@@ -226,7 +226,7 @@
         b.company_id  as companyId,
         b.mountain_id as mountainId
         FROM kws_alarm_detail a
-        LEFT JOIN kws_alarm b ON a.alarm_id = b.id
+        LEFT JOIN kws_alarm b ON a.alarm_id = b.id and a.del_flag = 0
         <where>
             <if test="type != null and type != ''">
                 and b.type =#{type}
@@ -269,7 +269,7 @@
         a.mountain_id as                       mountainId
         FROM kws_alarm a
         LEFT JOIN
-        kws_alarm_detail b on a.id = b.alarm_id
+        kws_alarm_detail b on a.id = b.alarm_id and b.del_flag = 0
         <where>
             <if test="type != null and type != ''">
                 and a.type =#{type}
@@ -298,7 +298,7 @@
         LEFT JOIN (SELECT count(b.id) AS                      number,
         DATE_FORMAT(b.create_time, '%Y-%m') dateTime
         FROM kws_alarm a
-        LEFT JOIN kws_alarm_detail b ON a.id = b.alarm_id
+        LEFT JOIN kws_alarm_detail b ON a.id = b.alarm_id and b.del_flag = 0
         <where>
             <if test="type != null and type != ''">
                 and a.type =#{type}
@@ -317,14 +317,13 @@
     </select>
 
     <select id="getProjectAlarmList" resultType="java.util.Map">
-        SELECT
-        project_id as projectId,COUNT(DISTINCT a.id) as alarmTotal
-        FROM
-        kws_alarm a
-        LEFT JOIN kws_alarm_detail b ON a.id = b.alarm_id
+        SELECT project_id           as projectId,
+               COUNT(DISTINCT a.id) as alarmTotal
+        FROM kws_alarm a
+                 LEFT JOIN kws_alarm_detail b ON a.id = b.alarm_id and b.del_flag = 0
         <where>
             <if test="type != null and type != ''">
-                and a.type =#{type}
+                and a.type = #{type}
             </if>
         </where>
         GROUP BY a.project_id