From 27fed838af17d5dba6ade37152e02d2429a5bc0a Mon Sep 17 00:00:00 2001
From: liriming <1343021927@qq.com>
Date: 星期四, 29 五月 2025 16:19:19 +0800
Subject: [PATCH] 化产蒸汽消耗折线图修改

---
 ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelHCTask.java |   71 ++++++++++++++++++++++++++++++-----
 ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelBMTask.java |    4 +-
 2 files changed, 63 insertions(+), 12 deletions(-)

diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelBMTask.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelBMTask.java
index d5c12ff..a8d898d 100644
--- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelBMTask.java
+++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelBMTask.java
@@ -142,7 +142,7 @@
             cokingTraceIndService.saveTraceInd(relId, indType, clock, collectStartDate, endDate);
 
             // 保存溯源折线图
-            save(relId, clock, indType, startDate, endDate);
+            saveTraceChart(relId, clock, indType, startDate, endDate);
 
         } catch (Exception ex) {
             logger.error("RunCokingTraceModelBMTask运行异常");
@@ -151,7 +151,7 @@
         logger.info("RunCokingTraceModelBMTask运行完成");
     }
 
-    public void save(String relId, String clock, String indType, Date startDate, Date endDate) {
+    public void saveTraceChart(String relId, String clock, String indType, Date startDate, Date endDate) {
         logger.info("查询需要保存chart的配置");
 
         Calendar calendar = Calendar.getInstance();
diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelHCTask.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelHCTask.java
index 2d91857..8ac2ef0 100644
--- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelHCTask.java
+++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelHCTask.java
@@ -3,19 +3,19 @@
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.iailab.framework.common.util.date.DateUtils;
+import com.iailab.module.ansteel.coking.entity.CokingTraceChartEntity;
+import com.iailab.module.ansteel.coking.entity.CokingTraceConfEntity;
 import com.iailab.module.ansteel.coking.service.*;
 import com.iailab.module.ansteel.common.constant.CommonConstant;
 import com.iailab.module.ansteel.common.enums.TraceProcessTypeEnum;
-import com.iailab.module.model.api.mcs.McsApi;
-import com.iailab.module.model.api.mdk.MdkApi;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
+import org.springframework.util.CollectionUtils;
 
-import java.util.Calendar;
-import java.util.Date;
-import java.util.Objects;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * 化产工序异常溯源
@@ -47,10 +47,7 @@
     private CokingTraceChartService cokingTraceChartService;
 
     @Autowired
-    private McsApi mcsApi;
-
-    @Autowired
-    private MdkApi mdkApi;
+    private CokingTraceConfService cokingTraceConfService;
 
     private final static String process = TraceProcessTypeEnum.HC.getProcess();
 
@@ -140,7 +137,7 @@
             cokingTraceIndService.saveTraceInd(relId, indType, clock,collectStartDate,endDate);
 
             // 保存溯源折线图
-            cokingTraceChartService.save(relId, clock, indType, chartStartDate, endDate);
+            saveTraceChart(relId, clock, indType, chartStartDate, endDate);
 
         } catch (Exception ex) {
             logger.error("RunCokingTraceModelHCTask运行异常");
@@ -148,4 +145,58 @@
         }
         logger.info("RunCokingTraceModelHCTask运行完成");
     }
+
+    public void saveTraceChart(String relId, String clock, String indType, Date startDate, Date endDate) {
+        logger.info("查询需要保存chart的配置");
+
+        Calendar calendar = Calendar.getInstance();
+        calendar.set(Calendar.MILLISECOND, 0);
+        calendar.set(Calendar.SECOND, 0);
+        calendar.set(Calendar.MINUTE, 0);
+        calendar.set(Calendar.HOUR_OF_DAY, 0);
+        calendar.add(Calendar.DAY_OF_YEAR, -1);
+        Date start = calendar.getTime();
+
+        Map<String, Object> map = new HashMap<>();
+        map.put("indType", indType);
+        map.put("ext1", "chart");
+        List<CokingTraceConfEntity> list = cokingTraceConfService.list(map);
+        if (CollectionUtils.isEmpty(list)) {
+            return;
+        }
+        logger.info("list.size={}", list.size());
+
+        List<CokingTraceChartEntity> entityList = new ArrayList<>();
+
+        List<CokingTraceConfEntity> listMin = list.stream().filter(e -> !e.getIndCode().equals("HCSY032")).collect(Collectors.toList());
+
+        listMin.forEach(value -> {
+            CokingTraceChartEntity cokingTraceChartEntity = new CokingTraceChartEntity();
+            cokingTraceChartEntity.setRelId(relId);
+            cokingTraceChartEntity.setName(value.getIndName());
+            cokingTraceChartEntity.setClock(clock);
+            cokingTraceChartEntity.setDataType(value.getDataType());
+            cokingTraceChartEntity.setDataNo(value.getPointNo());
+            cokingTraceChartEntity.setStartTime(startDate);
+            cokingTraceChartEntity.setEndTime(endDate);
+            cokingTraceChartEntity.setCreateDate(new Date());
+            entityList.add(cokingTraceChartEntity);
+        });
+
+        List<CokingTraceConfEntity> listMonth = list.stream().filter(e -> e.getIndCode().equals("HCSY032")).collect(Collectors.toList());
+
+        listMonth.forEach(value -> {
+            CokingTraceChartEntity cokingTraceChartEntity = new CokingTraceChartEntity();
+            cokingTraceChartEntity.setRelId(relId);
+            cokingTraceChartEntity.setName(value.getIndName());
+            cokingTraceChartEntity.setClock(clock);
+            cokingTraceChartEntity.setDataType(value.getDataType());
+            cokingTraceChartEntity.setDataNo(value.getPointNo());
+            cokingTraceChartEntity.setStartTime(start);
+            cokingTraceChartEntity.setEndTime(endDate);
+            cokingTraceChartEntity.setCreateDate(new Date());
+            entityList.add(cokingTraceChartEntity);
+        });
+        cokingTraceChartService.insert(entityList);
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3