From eafa70b2484a561f7ae633cf0b26f0e6e27c8b8c Mon Sep 17 00:00:00 2001
From: 潘志宝 <979469083@qq.com>
Date: 星期三, 23 四月 2025 09:33:32 +0800
Subject: [PATCH] Merge branch 'master' of http://dlindusit.com:53929/r/ansteel

---
 ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingOverviewTask.java |   39 ++++++++++++++++++++++++++++++++++++---
 1 files changed, 36 insertions(+), 3 deletions(-)

diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingOverviewTask.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingOverviewTask.java
index 0b9df33..b52cf2a 100644
--- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingOverviewTask.java
+++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingOverviewTask.java
@@ -4,9 +4,11 @@
 import com.iailab.framework.common.util.date.DateUtils;
 import com.iailab.module.ansteel.coking.entity.CokingOverviewEntity;
 import com.iailab.module.ansteel.coking.entity.CokingProcessConfEntity;
+import com.iailab.module.ansteel.coking.entity.CokingTraceChartEntity;
 import com.iailab.module.ansteel.coking.entity.CokingTraceReportEntity;
 import com.iailab.module.ansteel.coking.service.CokingOverviewService;
 import com.iailab.module.ansteel.coking.service.CokingProcessConfService;
+import com.iailab.module.ansteel.coking.service.CokingTraceChartService;
 import com.iailab.module.ansteel.coking.service.CokingTraceReportService;
 import com.iailab.module.ansteel.common.enums.ProcessConfDataTypeEnum;
 import com.iailab.module.ansteel.common.enums.ProcessTypeEnum;
@@ -23,6 +25,7 @@
 import javax.annotation.Resource;
 import java.util.*;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 /**
  * 备煤工序-概况
@@ -46,6 +49,8 @@
     private IndItemApi indItemApi;
     @Resource
     private CokingTraceReportService cokingTraceReportService;
+    @Resource
+    private CokingTraceChartService cokingTraceChartService;
 
     @Override
     public void run(String processTypes) {
@@ -66,9 +71,11 @@
                 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);
                 String clock = DateUtils.format(calendar.getTime(), DateUtils.FORMAT_YEAR_MONTH_DAY);
-                // 插入溯源报告
+                // 溯源报告
                 CokingTraceReportEntity reportEntity = new CokingTraceReportEntity();
                 String relId = UUID.randomUUID().toString();
                 reportEntity.setId(relId);
@@ -78,8 +85,9 @@
                 reportEntity.setClock(clock);
                 cokingTraceReportService.save(reportEntity);
 
-                // 按照子工序类型分组
-                Map<String, List<CokingProcessConfEntity>> processTypeMap = list.stream().collect(Collectors.groupingBy(CokingProcessConfEntity::getExt2));
+                // 整体情况
+                // 筛选info_type = 2,按照子工序类型分组
+                Map<String, List<CokingProcessConfEntity>> processTypeMap = list.stream().filter(e -> e.getInfoType().equals("2")).collect(Collectors.groupingBy(CokingProcessConfEntity::getExt2));
                 // 结果 <子工序类型,<数据key,数据value>>
                 List<CokingOverviewEntity> result = new ArrayList<>(processTypeMap.size());
 
@@ -126,6 +134,31 @@
                     result.add(overviewEntity);
                 }
                 cokingOverviewService.insert(result);
+
+                // 指标运行趋势
+                List<CokingProcessConfEntity> indRunTrend = list.stream().filter(e -> e.getInfoType().equals("1")).collect(Collectors.toList());
+                List<CokingTraceChartEntity> cokingTraceChartEntityList = new ArrayList<>(indRunTrend.size());
+                indRunTrend.forEach(e -> {
+                    CokingTraceChartEntity cokingTraceChartEntity = new CokingTraceChartEntity();
+                    cokingTraceChartEntity.setRelId(relId);
+                    cokingTraceChartEntity.setName(e.getIndName());
+                    cokingTraceChartEntity.setClock(clock);
+                    cokingTraceChartEntity.setDataNo(e.getPointNo());
+                    cokingTraceChartEntity.setDataType(e.getDataType());
+
+                    Calendar clone = (Calendar) calendar.clone();
+                    cokingTraceChartEntity.setEndTime(clone.getTime());
+                    if (e.getExt2().equals("month")) {
+                        clone.add(Calendar.MONTH,-1 * Integer.parseInt(e.getExt1()));
+                    } else if (e.getExt2().equals("day")) {
+                        clone.add(Calendar.DAY_OF_YEAR,-1 * Integer.parseInt(e.getExt1()));
+                    }
+                    cokingTraceChartEntity.setStartTime(clone.getTime());
+                    cokingTraceChartEntity.setCreateDate(new Date());
+                    cokingTraceChartEntityList.add(cokingTraceChartEntity);
+                });
+                cokingTraceChartService.insert(cokingTraceChartEntityList);
+
             }
         } catch (Exception ex) {
             logger.error("runCokingOverviewTask运行异常");

--
Gitblit v1.9.3