15928045575 пре 2 година
родитељ
комит
f335745e15

+ 2 - 1
slope-common/slope-common-core/src/main/java/com/sckw/core/model/constant/StringConstant.java

@@ -9,7 +9,8 @@ import java.time.format.DateTimeFormatter;
  * @create: 2022-01-27 16:02
  **/
 public final class StringConstant {
-
+    public static final String isFalse = "false";
+    public static final String isTrue = "true";
     public static final String TRACE_ID = "traceId";
     public static final String RUNG = "-";
     public static final String UNDERLINE = "_";

+ 23 - 5
slope-modules/slope-detection/src/main/java/com/sckw/slope/detection/consumer/MqttDeviceCallbackHandler.java

@@ -31,8 +31,7 @@ import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
-import java.time.LocalDateTime;
-import java.time.ZoneOffset;
+import java.time.*;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -95,7 +94,7 @@ public class MqttDeviceCallbackHandler extends AbstractHandler {
             }
             if (device == null) {
                 log.error("接收处理数据:{}", payload);
-                log.error("设备数据并未维护+["+devicesAlarm.getGuid()+"],不做处理");
+                log.error("设备数据并未维护+[" + devicesAlarm.getGuid() + "],不做处理");
                 return null;
             }
             List<DevicesItem> devicesItemList = devicesAlarm.getDevicesItemList();
@@ -112,6 +111,10 @@ public class MqttDeviceCallbackHandler extends AbstractHandler {
                         continue;
                     }
                     Long ts = devicesAlarm.getTs();
+//                    //获取到是 十位 1700970600
+//                    if (Objects.nonNull(ts)) {
+//                        ts = ts * 1000;
+//                    }
                     //判断是否满足设备超时离线报警
                     checkDeviceAlarm(deviceCode, device, itemValue, ts);
                     //判断是否满足数值超阈值报警
@@ -418,7 +421,8 @@ public class MqttDeviceCallbackHandler extends AbstractHandler {
             alarm.setTitle("2");
             alarm.setLevel(level.intValue());
             alarm.setType(2);
-            LocalDateTime localDateTime = new Date(ts).toInstant().atOffset(ZoneOffset.of("+8")).toLocalDateTime();
+            LocalDateTime localDateTime = Instant.ofEpochSecond(ts).atZone(ZoneId.systemDefault()).toLocalDateTime();
+//            LocalDateTime localDateTime = new Date(ts).toInstant().atOffset(ZoneOffset.of("+8")).toLocalDateTime();
             alarm.setCreateTime(localDateTime);
             alarm.setUpdateTime(localDateTime);
             alarm.setStatus(0);
@@ -439,7 +443,8 @@ public class MqttDeviceCallbackHandler extends AbstractHandler {
             alarmDetailMapper.insert(alarmDetail);
         } else {
             KwsAlarm alarm = alarms.get(0);
-            LocalDateTime localDateTime = new Date(ts).toInstant().atOffset(ZoneOffset.of("+8")).toLocalDateTime();
+            LocalDateTime localDateTime = Instant.ofEpochSecond(ts).atZone(ZoneId.systemDefault()).toLocalDateTime();
+//            LocalDateTime localDateTime = new Date(ts).toInstant().atOffset(ZoneOffset.of("+8")).toLocalDateTime();
             alarm.setUpdateTime(localDateTime);
             alarmMapper.updateById(alarm);
         }
@@ -472,6 +477,19 @@ public class MqttDeviceCallbackHandler extends AbstractHandler {
 
     public static void main(String[] args) {
 
+        Long ts = 1700969880l;
+        Instant timestamp = Instant.ofEpochSecond(ts);
+
+        ts = ts * 1000;
+        Instant instant = new Date(ts).toInstant();
+        OffsetDateTime offsetDateTime = instant.atOffset(ZoneOffset.of("+8"));
+        LocalDateTime timeLocalDateTime = offsetDateTime.toLocalDateTime();
+
+        instant = Instant.ofEpochMilli(ts);
+        ZonedDateTime zonedDateTime = instant.atZone(ZoneId.systemDefault());
+        LocalDateTime localDateTimes = zonedDateTime.toLocalDateTime();
+        System.out.println(localDateTimes);
+
         String aaa = "{\"ts\":1700808976,\"guid\":\"0838161D-4C64-EC3E-A3A8-C736C47D93D4\",\"tslver_id\":\"3\",\"msg_id\":\"586569123094614016\",\"raw_ts\":\"\",\"check_arr\":[{\"itemName\":\"lng\",\"itemValue\":\"103.51826198069217\"},{\"itemName\":\"lat\",\"itemValue\":\"29.46725728245242\"},{\"itemName\":\"high\",\"itemValue\":\"710.1730218537282\"},{\"itemName\":\"fix\",\"itemValue\":4015},{\"itemName\":\"e\",\"itemValue\":\"302.7644742928626\"},{\"itemName\":\"n\",\"itemValue\":\"711.0632664506148\"},{\"itemName\":\"u\",\"itemValue\":\"-271.97856155098333\"},{\"itemName\":\"num\",\"itemValue\":7200},{\"itemName\":\"time\",\"itemValue\":\"2023-11-0818:00:00\"}]}";
         DevicesAlarm alarm = new DevicesAlarm();
         List<DevicesItem> list = new ArrayList<>();

+ 1 - 0
slope-modules/slope-detection/src/main/java/com/sckw/slope/detection/dao/mysql/KwsAlarmMapper.java

@@ -53,4 +53,5 @@ public interface KwsAlarmMapper extends BaseMapper<KwsAlarm> {
 
     List<AlarmLogThresholdVO> selectDetailList(@Param("page") Integer page, @Param("pageSize") Integer pageSize);
 
+    int  selectDetailCount();
 }

+ 6 - 7
slope-modules/slope-detection/src/main/java/com/sckw/slope/detection/service/KwsAlarmService.java

@@ -104,13 +104,12 @@ public class KwsAlarmService {
 //                list.add(vo);
             }
         }
-        List<AlarmLogThresholdVO> list1 = alarmMapper.selectDetailList(null, null);
-        int count = CollectionUtils.isEmpty(list1) ? 0 : list1.size();
-        info.setPageNum(query.getPage());
-        info.setPageSize(query.getPageSize());
-        info.setTotal(CollectionUtils.isEmpty(list1) ? 0 : list1.size());
-        int totalPages = (int) Math.ceil((double) count / query.getPageSize());
-        info.setPages(totalPages);
+//        int count= alarmMapper.selectDetailCount();
+//        info.setPageNum(query.getPage());
+//        info.setPageSize(query.getPageSize());
+//        info.setTotal(count);
+//        int totalPages = (int) Math.ceil((double) count / query.getPageSize());
+//        info.setPages(totalPages);
         return PageRes.build(info, list);
     }
 

+ 9 - 9
slope-modules/slope-detection/src/main/java/com/sckw/slope/detection/service/task/ReportTemplateTaskService.java

@@ -1,22 +1,20 @@
 package com.sckw.slope.detection.service.task;
 
-import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.sckw.core.model.constant.StringConstant;
 import com.sckw.core.model.enums.ReportTypeEnum;
 import com.sckw.excel.annotation.ExcelContext;
 import com.sckw.excel.utils.ExcelUtil;
 import com.sckw.slope.detection.dao.mysql.KwsReportTemplateMapper;
+import com.sckw.slope.detection.dao.tdengine.SlopeDataMapper;
 import com.sckw.slope.detection.model.dos.mysql.KwsReportTemplate;
-import com.sckw.slope.detection.model.dos.mysql.KwsThreshold;
 import com.sckw.slope.detection.model.dos.tdengine.SlopeData;
 import com.sckw.slope.detection.model.vo.DeviceVo;
-import com.sckw.slope.detection.model.vo.excel.KwsAlarmExportVO;
 import com.sckw.slope.detection.model.vo.excel.TaskReportExportVO;
 import jakarta.annotation.Resource;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.scheduling.annotation.EnableScheduling;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
@@ -27,7 +25,6 @@ import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
 import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
-import java.time.ZoneId;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -43,6 +40,9 @@ import java.util.stream.Collectors;
 @EnableScheduling
 public class ReportTemplateTaskService {
 
+    @Value("${scheduled.template.enable}")
+    private String templateEnable;
+
     @Resource
     KwsReportTemplateMapper reportTemplateMapper;
 
@@ -75,15 +75,15 @@ public class ReportTemplateTaskService {
                     list.addAll(Arrays.asList(intergration));
                     String projectId = kwsReportTemplate.getProjectId();
                     //首先查询模板中的要素关联的设备-项目中的设备
-                    List<DeviceVo> devices = reportTemplateMapper.selectDeviceByProjectId(projectId,list);
+                    List<DeviceVo> devices = reportTemplateMapper.selectDeviceByProjectId(projectId, list);
                     SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                     //List<Object> deviceName = new ArrayList<>();
                     List<Map<String,Object>> deviceData = new ArrayList<>();
                     Map<String,List<Object>> map1 = new HashMap<>();
                     for (DeviceVo vo : devices){
                         List<SlopeData> selectedData = slopeDataMapper.selectLineListByList(vo.getSnCode(), list, "2022-1-1 00:00:00", date2);
-                        if(Objects.nonNull(selectedData)){
-                            Map<String,List<SlopeData>> map = selectedData.stream().collect(Collectors.groupingBy(SlopeData::getMsgId));
+                        if (Objects.nonNull(selectedData)) {
+                            Map<String, List<SlopeData>> map = selectedData.stream().collect(Collectors.groupingBy(SlopeData::getMsgId));
 
                             List<Object> list1 = new ArrayList<>();
                             map.forEach((key,value) -> {

+ 3 - 0
slope-modules/slope-detection/src/main/resources/bootstrap-dev.yml

@@ -52,6 +52,9 @@ OkHttpClit:
 sms:
   url: http://10.10.10.223:8830/msg_api/push
 
+scheduled:
+  template:
+    enable: true
 
 #oss上传
 aliyun:

+ 7 - 3
slope-modules/slope-detection/src/main/resources/mapper/mysql/KwsAlarmMapper.xml

@@ -339,8 +339,12 @@
         WHERE a.mountain_id = b.mountain_id
           and b.`status` = 0
         ORDER BY a.create_time DESC
-        <if test="page != null and pageSize !=null ">
-            limit #{page} , #{pageSize}
-        </if>
+<!--        <if test="page != null and pageSize !=null ">-->
+<!--            limit #{page} , #{pageSize}-->
+<!--        </if>-->
+    </select>
+
+    <select id="selectDetailCount" resultType="int">
+
     </select>
 </mapper>