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

+ 13 - 1
slope-common/slope-common-core/src/main/java/com/sckw/core/model/enums/DictItemEnum.java

@@ -1,5 +1,7 @@
 package com.sckw.core.model.enums;
 
+import java.util.ArrayList;
+import java.util.List;
 import java.util.Objects;
 
 /**
@@ -48,7 +50,6 @@ public enum DictItemEnum {
         }
         return DictItemEnum.ALTITUDE_NULL;
     }
-
     public static int getHasBool(String value) {
         for (DictItemEnum entry : values()) {
             if(!Objects.isNull(entry.getValue())){
@@ -58,6 +59,17 @@ public enum DictItemEnum {
             }
 
         }
+
         return 0;
     }
+
+    public static List<String> getAll() {
+        List<String> list = new ArrayList<>();
+        for (DictItemEnum entry : values()) {
+            if(!"ISNULL".equals(entry.getValue())){
+                list.add(entry.getValue());
+            }
+        }
+        return list;
+    }
 }

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

@@ -3,10 +3,12 @@ package com.sckw.slope.detection.service.task;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.sckw.core.model.constant.NumberConstant;
 import com.sckw.core.model.enums.DeviceEnum;
+import com.sckw.core.model.enums.DictItemEnum;
 import com.sckw.core.model.enums.ReportTypeEnum;
 import com.sckw.core.utils.IdWorker;
 import com.sckw.excel.annotation.ExcelContext;
 import com.sckw.excel.utils.ExcelUtil;
+import com.sckw.slope.detection.dao.mysql.KwsDeviceIntegrationMapper;
 import com.sckw.slope.detection.dao.mysql.KwsProjectDeviceMapper;
 import com.sckw.slope.detection.dao.mysql.KwsReportDataMapper;
 import com.sckw.slope.detection.dao.mysql.KwsReportTemplateMapper;
@@ -15,8 +17,10 @@ import com.sckw.slope.detection.model.dos.mysql.KwsDevice;
 import com.sckw.slope.detection.model.dos.mysql.KwsReportData;
 import com.sckw.slope.detection.model.dos.mysql.KwsReportTemplate;
 import com.sckw.slope.detection.model.dos.tdengine.SlopeData;
+import com.sckw.slope.detection.model.vo.DeviceIntegrationVo;
 import com.sckw.slope.detection.model.vo.DeviceVo;
 import com.sckw.slope.detection.model.vo.excel.TaskReportExportVO;
+import com.sckw.slope.detection.service.CommonService;
 import jakarta.annotation.Resource;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
@@ -63,11 +67,19 @@ public class ReportTemplateTaskService {
     @Autowired
     SlopeDataMapper slopeDataMapper;
 
+    @Autowired
+    KwsDeviceIntegrationMapper deviceIntegrationMapper;
+
+    @Autowired
+    CommonService commonService;
+
     public void report(KwsReportTemplate kwsReportTemplate, String date1, String date2) throws NoSuchAlgorithmException, IOException {
 
         String[] title = "推送时间".split(",");
         String[] part = kwsReportTemplate.getPartNames().split(",");
-        String[] intergration = kwsReportTemplate.getIntergrationNames().split(",");
+        String[] intergrationName = kwsReportTemplate.getIntergrationNames().split(",");
+
+        List<String> intergration = DictItemEnum.getAll();//获取系统中的全部基础要素
         List<String> list = new ArrayList<>();
         list.addAll(Arrays.asList(title));
         list.addAll(Arrays.asList(part));
@@ -81,13 +93,22 @@ public class ReportTemplateTaskService {
         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);
+            /*List<Object> listm = new ArrayList<Object>();
+            if(Objects.nonNull(kwsReportTemplate.getIntergrationNames())){//集成要素不为空时
+                List<DeviceIntegrationVo> intergData = deviceIntegrationMapper.selectListParamsAndInterNameByDeviceId(vo.getId());
+                for (DeviceIntegrationVo listvo : intergData){
+                    listm = commonService.returnIntegrationDataArray(vo.getSnCode(),"2022-1-1 00:00:00",date2,listvo,"time","offset");
+                }
+            }*/
+
             if (Objects.nonNull(selectedData)) {
                 Map<String, List<SlopeData>> map = selectedData.stream().collect(Collectors.groupingBy(SlopeData::getMsgId));
 
                 List<Object> list1 = new ArrayList<>();
                 for (List<SlopeData> value : map.values()) {
                     List<Object> listObject = new ArrayList<>();
-                    listObject.add(sdf.format(value.get(0).getTs()));
+                    listObject.add(sdf.format(value.get(0).getRawId()));
+
                     for (int i = 1; i < list.size(); i++) {
                         for (SlopeData slopeData : value) {
                             if (slopeData.getLine().equals(list.get(i))) {
@@ -95,11 +116,20 @@ public class ReportTemplateTaskService {
                             }
                         }
                     }
+                    /*if(listm.size()>0){
+                        for(Object obj:listm){
+                            Map<String,String> map2 = new HashMap<>();
+                            map2 = (Map<String ,String>) obj;
+                            if(map2.get("time").equals(sdf.format(value.get(0).getRawId()))){
+                                listObject.add(map2.get("offset"));
+                            }
+                        }
+                    }*/
                     list1.add(listObject);
                 }
-
                 map1.put(vo.getName(), list1);
             }
+
         }
         ExcelContext excelContext = TaskReportExportVO.class.getAnnotation(ExcelContext.class);
         if (devices.size() > 0) {
@@ -128,7 +158,7 @@ public class ReportTemplateTaskService {
     /**
      * 报表生成定时任务-天
      */
-    // @Scheduled(cron = "* * * * * *")
+    //@Scheduled(cron = "* * * * * *")
     public void templateTaskDay() throws IOException, NoSuchAlgorithmException {
         List<KwsReportTemplate> kwsReportTemplates = reportTemplateMapper.selectList(new LambdaQueryWrapper<KwsReportTemplate>()
                 .eq(KwsReportTemplate::getStatus, 0)

+ 3 - 1
slope-modules/slope-detection/src/main/resources/mapper/mysql/KwsIntegrationMapper.xml

@@ -43,10 +43,12 @@
       <include refid="Base_Column_List" />
       from kws_integration
       where del_flag=0
-        and mountain_id = #{integrationQuery.mountainId}
       <if test="integrationQuery.integrationName != null and integrationQuery.integrationName != ''">
         and integration_name like concat('%', #{integrationQuery.integrationName}, '%')
       </if>
+      <if test="integrationQuery.mountainId != null and integrationQuery.mountainId != ''">
+        and mountain_id = #{integrationQuery.mountainId,jdbcType=BIGINT}
+      </if>
       order by create_time desc
     </select>
 

+ 3 - 2
slope-modules/slope-detection/src/main/resources/mapper/tdengine/SlopeDataMapper.xml

@@ -115,7 +115,8 @@
         line,
         val,
         msg_id      as msgId,
-        ts
+        ts,
+        raw_ts      as rawId
         FROM devicesv2.device_#{snCode}
         where  raw_ts &gt;= #{dateStart} and raw_ts &lt;= #{dateEnd}
 
@@ -126,7 +127,7 @@
             </foreach>
         </if>
 
-        order by ts desc limit 0,50
+        order by ts desc limit 0,200
     </select>
 
     <select id="selectTableIsExit">