From 5c92309910361bb197208ffdd95fd84e531b624a Mon Sep 17 00:00:00 2001
From: 潘志宝 <979469083@qq.com>
Date: 星期二, 22 四月 2025 16:59:06 +0800
Subject: [PATCH] Merge branch 'master' of http://dlindusit.com:53929/r/ansteel

---
 ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelGXJTask.java             |   35 ++--
 ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelHCTask.java              |  109 +++++++--------
 ansteel-biz/db/mysql.sql                                                                                 |    1 
 ansteel-biz/src/main/java/com/iailab/module/ansteel/common/constant/CommonConstant.java                  |    2 
 ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/entity/CokingTraceIndEntity.java              |    5 
 ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/service/CokingTraceChartService.java          |    1 
 ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/dto/CokingTraceIndDTO.java                    |    3 
 /dev/null                                                                                                |   11 -
 ansteel-biz/src/main/java/com/iailab/module/ansteel/common/enums/SubProcessTypeEnum.java                 |    3 
 ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/entity/CokingOverviewEntity.java              |   26 +++
 ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/service/impl/CokingTraceChartServiceImpl.java |    5 
 ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelBMTask.java              |  120 ++++++++---------
 ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingOverviewTask.java                  |   38 +++++
 ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelLJTask.java              |   30 ++--
 14 files changed, 214 insertions(+), 175 deletions(-)

diff --git a/ansteel-biz/db/mysql.sql b/ansteel-biz/db/mysql.sql
index 8176a16..295e240 100644
--- a/ansteel-biz/db/mysql.sql
+++ b/ansteel-biz/db/mysql.sql
@@ -598,6 +598,7 @@
     `rel_id`    varchar(36) NULL DEFAULT NULL COMMENT '关联ID',
     `title`     varchar(20) NULL DEFAULT NULL COMMENT '标题',
     `clock`     varchar(20) NULL DEFAULT NULL COMMENT '查询时间',
+    `ind_code`  varchar(20) NULL DEFAULT NULL COMMENT '编码',
     `ind_name`  varchar(20) NULL DEFAULT NULL COMMENT '名称',
     `ind_value` varchar(20) NULL DEFAULT NULL COMMENT '值',
     `ind_unit`  varchar(20) NULL DEFAULT NULL COMMENT '单位',
diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/dto/CokingTraceIndDTO.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/dto/CokingTraceIndDTO.java
index e0bfdfd..64dbd46 100644
--- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/dto/CokingTraceIndDTO.java
+++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/dto/CokingTraceIndDTO.java
@@ -24,6 +24,9 @@
     @Schema(description = "查询时间")
     private String clock;
 
+    @Schema(description = "编码")
+    private String indCode;
+
     @Schema(description = "名称")
     private String indName;
 
diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/entity/CokingOverviewEntity.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/entity/CokingOverviewEntity.java
index 15a84a7..a9bf91c 100644
--- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/entity/CokingOverviewEntity.java
+++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/entity/CokingOverviewEntity.java
@@ -35,13 +35,21 @@
      */
 	private String clock;
     /**
-     * 蒸汽发生
+     * 蒸汽发生/总产生
      */
 	private BigDecimal steamP;
     /**
-     * 蒸汽消耗
+     * 吨焦产蒸汽
+     */
+	private BigDecimal djSteamP;
+    /**
+     * 蒸汽消耗/总耗
      */
 	private BigDecimal steamC;
+    /**
+     * 蒸汽单耗
+     */
+	private BigDecimal steamOnlyC;
     /**
      * 蒸汽量
      */
@@ -55,15 +63,23 @@
      */
 	private BigDecimal gasC;
     /**
-     * 电力消耗
+     * 电力消耗/总耗
      */
 	private BigDecimal powerC;
+    /**
+     * 电力单耗
+     */
+	private BigDecimal powerOnlyC;
+    /**
+     * 电耗基准
+     */
+    private BigDecimal powerCStandard;
     /**
      * 空转时间
      */
 	private BigDecimal idleTime;
     /**
-     * BFG消耗
+     * BFG消耗/总耗
      */
     private BigDecimal bfgC;
     /**
@@ -71,7 +87,7 @@
      */
     private BigDecimal cogP;
     /**
-     * COG消耗
+     * COG消耗/总耗
      */
     private BigDecimal cogC;
 
diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/entity/CokingTraceIndEntity.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/entity/CokingTraceIndEntity.java
index 459f58f..ce56689 100644
--- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/entity/CokingTraceIndEntity.java
+++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/entity/CokingTraceIndEntity.java
@@ -36,7 +36,10 @@
      * 查询时间
      */
     private String clock;
-
+    /**
+     * 编码
+     */
+    private String indCode;
     /**
      * 名称
      */
diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/service/CokingTraceChartService.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/service/CokingTraceChartService.java
index 87edb47..47bcfd9 100644
--- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/service/CokingTraceChartService.java
+++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/service/CokingTraceChartService.java
@@ -15,4 +15,5 @@
     List<CokingTraceChartEntity> list(Map<String, Object> params);
 
     void save(CokingTraceChartEntity cokingTraceChartEntity);
+    void insert(List<CokingTraceChartEntity> list);
 }
\ No newline at end of file
diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/service/impl/CokingTraceChartServiceImpl.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/service/impl/CokingTraceChartServiceImpl.java
index a1ddd4c..1e6a8b1 100644
--- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/service/impl/CokingTraceChartServiceImpl.java
+++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/service/impl/CokingTraceChartServiceImpl.java
@@ -32,4 +32,9 @@
     public void save(CokingTraceChartEntity cokingTraceChartEntity) {
         cokingTraceChartDao.insert(cokingTraceChartEntity);
     }
+
+    @Override
+    public void insert(List<CokingTraceChartEntity> list) {
+        cokingTraceChartDao.insert(list);
+    }
 }
\ No newline at end of file
diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/common/constant/CommonConstant.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/common/constant/CommonConstant.java
index 6653f04..c841e37 100644
--- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/common/constant/CommonConstant.java
+++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/common/constant/CommonConstant.java
@@ -74,4 +74,6 @@
 
     String STEAM_INDEX_CHARTCODE = "STEAM_INDEX";
     String COKE_INDEX_CHARTCODE = "COKE_INDEX";
+    String COAL_INDEX_CHARTCODE = "COAL_INDEX";
+    String CHEMPROD_INDEX_CHARTCODE = "CHEMPROD_INDEX";
 }
diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/common/enums/SubProcessTypeEnum.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/common/enums/SubProcessTypeEnum.java
index 3045d35..0f800f9 100644
--- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/common/enums/SubProcessTypeEnum.java
+++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/common/enums/SubProcessTypeEnum.java
@@ -27,6 +27,9 @@
     JLLQ("JLLQ", "焦炉炉区"),
     GXJ("GXJ", "干熄焦"),
     HCHS("HCHS", "化产回收"),
+    BMZHD("BMZHD", "备煤总耗电"),
+    FJHD("FJHD", "风机耗电"),
+    QTGXHD("QTGXHD", "其他工序耗电"),
     ZT("ZT", "总体");
     private String code;
     private String process;
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..0e2da10 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,30 @@
                     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());
+
+                    cokingTraceChartEntity.setEndTime(calendar.getTime());
+                    if (e.getExt2().equals("month")) {
+                        calendar.add(Calendar.MONTH,-1 * Integer.parseInt(e.getExt1()));
+                    } else if (e.getExt2().equals("day")) {
+                        calendar.add(Calendar.DAY_OF_YEAR,-1 * Integer.parseInt(e.getExt1()));
+                    }
+                    cokingTraceChartEntity.setStartTime(calendar.getTime());
+                    cokingTraceChartEntity.setCreateDate(new Date());
+                    cokingTraceChartEntityList.add(cokingTraceChartEntity);
+                });
+                cokingTraceChartService.insert(cokingTraceChartEntityList);
+
             }
         } catch (Exception ex) {
             logger.error("runCokingOverviewTask运行异常");
diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModel1Task.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModel1Task.java
deleted file mode 100644
index 5ff3b27..0000000
--- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModel1Task.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.iailab.module.ansteel.job.task;
-
-/**
- * 备煤工序异常溯源
- *
- * @author PanZhibao
- * @Description
- * @createTime 2025年04月18日
- */
-public class RunCokingTraceModel1Task {
-}
\ No newline at end of file
diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModel2Task.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModel2Task.java
deleted file mode 100644
index adac5ff..0000000
--- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModel2Task.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.iailab.module.ansteel.job.task;
-
-/**
- * 化产工序异常溯源
- *
- * @author PanZhibao
- * @Description
- * @createTime 2025年04月18日
- */
-public class RunCokingTraceModel2Task {
-}
\ No newline at end of file
diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModel3Task.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelBMTask.java
similarity index 70%
copy from ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModel3Task.java
copy to ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelBMTask.java
index 10e65f8..3472167 100644
--- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModel3Task.java
+++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelBMTask.java
@@ -25,14 +25,14 @@
 import java.util.stream.Collectors;
 
 /**
- * 炼焦工序-异常溯源
+ * 备煤工序异常溯源
  *
  * @author lirm
  * @Description
- * @createTime 2025年04月21日
+ * @createTime 2025年04月22日
  */
-@Component("runCokingTraceModel3Task")
-public class RunCokingTraceModel3Task implements ITask {
+@Component("runCokingTraceModelBMTask")
+public class RunCokingTraceModelBMTask implements ITask{
     private Logger logger = LoggerFactory.getLogger(getClass());
 
     @Autowired
@@ -65,43 +65,35 @@
     @Autowired
     private IndItemApi indItemApi;
 
-    private static final HashMap<String, Object> cokeColoumMap = new HashMap<String, Object>() {{
-        put("cokeColoum0", "一级指标-偏差值");
-        put("cokeColoum1", "二级指标-偏差值");
-        put("cokeColoum2", "影响因素1-偏差值");
-        put("cokeColoum3", "影响因素2-偏差值");
-        put("cokeColoum4", "影响因素3-偏差值");
-        put("cokeColoum5", "影响因素n-偏差值");
+    private static final HashMap<String, Object> coalColoumMap = new HashMap<String, Object>() {{
+        put("coalColoum0", "一级指标-偏差值");
+        put("coalColoum1", "二级指标-偏差值");
+        put("coalColoum2", "影响因素1-偏差值");
     }};
 
     private static final HashMap<String, Object> historyPointMap = new HashMap<String, Object>() {{
-        put("LJSY001", "荒煤气发生");
-        put("LJSY005", "耗热量");
+        put("BMSY001", "备煤耗电");
     }};
 
     private static final String jsonStr="{\n" +
             "    \"result\": {\n" +
-            "      \"cokeCOG\":[100.5,99.8],\n" +
-            "      \"cokeHeat\":[3.7,3.8],\n" +
-            "      \"cokeIndex\":[[0.8,0.7],[608,608],[1440,1460],[1346,1293],[0.8,0.7],[1372,1293]],\n" +
-            "      \"cokeTotal\":\"炼焦吨焦耗热量因煤气流量偏高、煤气水分偏低而增加23,经模型计算,延建议调整煤气流量,预计可使吨焦耗热量指标降低17\",\n" +
-            "      \"cokeColoum0\":[[0,13],[0,42],[0,34]],\n" +
-            "      \"cokeColoum1\":[[13,12],[12,34],[24,42]],\n" +
-            "      \"cokeColoum2\":[[27,45],[58,42],[70,31]],\n" +
-            "      \"cokeColoum3\":[[108,56],[110,89],[185,21]],\n" +
-            "      \"cokeColoum4\":[[199,13],[200,51],[197,34]],\n" +
-            "      \"cokeColoum5\":[[147,33],[131,12],[122,13]],\n" +
-            "      \"cokeHomePage\":[[202,42],[203,13],[204,45],[205,34],[206,17]],\n" +
-            "      \"cokeHomeIndex\":[[90.4,90.2],[80.3,78],[103,100],[280,270]],\n" +
-            "      \"cokeHomeIndexInfo\":\"2月18日甲班:吨焦耗热量异常\",\n" +
-            "      \"cokeHomeErr\":\"2月18日煤气预热器前数据异常(无数据)\"\n" +
-            "    }\n" +
+            "      \"coalPrepElec\":[1600.8,1613.5],     \n" +
+            "      \"coalPrepElecIndex\":[[0.8,0.73],[723,608],[1782,1782],[752,743],[729,783]],\n" +
+            "      \"coalPrepElecTotal1\":\"1#粉碎机耗电因粉碎机偏高增加220KW/h,经模型计算,建建议调整单班用煤量,预计可使粉碎机耗电量指标降低170KW/h\",\n" +
+            "      \"coalPrepElecTotal2\":\"1#粉碎机耗电量数据异常\",\n" +
+            "     \"coalColoum0\":[[0,450],[0,137],[0,342]],\n" +
+            "     \"coalColoum1\":[[2,306],[3,134],[1,142]],\n" +
+            "     \"coalColoum2\":[[4,142],[4,132],[4,349]],\n" +
+            "\"coalPrepElecHomePage\":[[50,42],[10,10]],\n" +
+            "\"coalHomeIndex\":[[90.4,90.2],[80.3,78],[103,100],[280,270]],\n" +
+            "\"coalIndexInfo\":\"2月18日甲班:备煤耗电异常\",\n" +
+            "\"coalErr\":\"2月18日粉碎机耗电数据异常(无数据)\"\n" +
+            "    }" +
             "}";
 
     @Override
-    @Transactional
     public void run(String params) {
-        logger.info("RunCokingTraceModel3Task,参数为:{}", params);
+        logger.info("RunCokingTraceModelBMTask,参数为:{}", params);
         try {
             Calendar calendar = Calendar.getInstance();
             calendar.set(Calendar.MILLISECOND, 0);
@@ -109,11 +101,10 @@
             calendar.set(Calendar.MINUTE,0);
             calendar.add(Calendar.DAY_OF_YEAR, -1);
             String yesterday = DateUtils.format(calendar.getTime(), DateUtils.FORMAT_YEAR_MONTH_DAY);
-//            int hour = calendar.get(Calendar.HOUR_OF_DAY);
+            int hour = calendar.get(Calendar.HOUR_OF_DAY);
             Date startDate = calendar.getTime();
             calendar.add(Calendar.HOUR, 8);
             Date endDate = calendar.getTime();
-            int hour = 8;
             String clock = "";
             String analyClass = "";
             if (hour == 0) {
@@ -128,12 +119,12 @@
             }
             Map<String, Object> tMap = new HashMap<>();
             tMap.put("relId", UUID.randomUUID().toString());
-            tMap.put("process", "炼焦工序");
-            tMap.put("reportName", "炼焦工序");
+            tMap.put("process", "备煤工序");
+            tMap.put("reportName", "备煤工序");
             tMap.put("analyDate", yesterday);
             tMap.put("analyClass", analyClass);
             tMap.put("clock", clock);
-            tMap.put("analyContent", "COG回收量异常;吨焦耗热量异常");
+            tMap.put("analyContent", "备煤耗电异常");
             tMap.put("startDate", startDate);
             tMap.put("endDate", endDate);
 
@@ -148,13 +139,13 @@
                 saveTraceChart(tMap,result,startDate,endDate);
             }
         } catch (Exception ex) {
-            logger.error("RunCokingTraceModel3Task运行异常");
+            logger.error("RunCokingTraceModelBMTask运行异常");
             ex.printStackTrace();
         }
-        logger.info("RunCokingTraceModel3Task运行完成");
+        logger.info("RunCokingTraceModelBMTask运行完成");
     }
 
-    private void saveTraceReport(Map<String, Object> tMap,JSONObject result) {
+    public void saveTraceReport(Map<String, Object> tMap,JSONObject result) {
         CokingTraceReportEntity reportEntity = new CokingTraceReportEntity();
         reportEntity.setId(tMap.get("relId").toString());
         reportEntity.setProcess(tMap.get("process").toString());
@@ -167,37 +158,37 @@
         cokingTraceReportService.save(reportEntity);
     }
 
-    private void saveTraceSuggest(Map<String, Object> tMap,JSONObject result) {
-        String cokeTotal = result.get("cokeTotal").toString();
-        if(StringUtils.isNotBlank(cokeTotal)){
-            CokingTraceSuggestEntity suggestEntity = new CokingTraceSuggestEntity();
-            suggestEntity.setRelId(tMap.get("relId").toString());
-            suggestEntity.setProcess(tMap.get("process").toString());
-            suggestEntity.setSugObj("LJ");
-            suggestEntity.setClock(tMap.get("clock").toString());
-            suggestEntity.setContent(cokeTotal);
-            suggestEntity.setCreateDate(new Date());
-            cokingTraceSuggestService.save(suggestEntity);
-        }
+    public void saveTraceSuggest(Map<String, Object> tMap,JSONObject result) {
+            String coalTotal = result.get("coalPrepElecTotal1").toString();
+            if(StringUtils.isNotBlank(coalTotal)){
+                CokingTraceSuggestEntity suggestEntity = new CokingTraceSuggestEntity();
+                suggestEntity.setRelId(tMap.get("relId").toString());
+                suggestEntity.setProcess(tMap.get("process").toString());
+                suggestEntity.setSugObj("BM");
+                suggestEntity.setClock(tMap.get("clock").toString());
+                suggestEntity.setContent(coalTotal);
+                suggestEntity.setCreateDate(new Date());
+                cokingTraceSuggestService.save(suggestEntity);
+            }
     }
 
-    private void saveTraceDeviation(Map<String, Object> tMap,JSONObject result) {
-        List<ChartParamDTO> list = mcsApi.getChartParamList(CommonConstant.COKE_INDEX_CHARTCODE);
-        Map<String, String> steamIndexMaps = list.stream().collect(Collectors.toMap(ChartParamDTO::getParamCode, e -> e.getParamValue()));
-        for(int i=0;i<=5;i++){
-            String cokeColoum = result.get("cokeColoum"+i).toString();
-            if(StringUtils.isNotBlank(cokeColoum)){
-                JSONArray responseArr = JSON.parseArray(cokeColoum);
+    @Transactional
+    public void saveTraceDeviation(Map<String, Object> tMap,JSONObject result) {
+        List<ChartParamDTO> list = mcsApi.getChartParamList(CommonConstant.COAL_INDEX_CHARTCODE);
+        Map<String, String> steamIndexMaps = list.stream().collect(Collectors.toMap(ChartParamDTO::getParamCode, e -> e.getParamName()));
+        for(int i=0;i<=2;i++){
+            String coalColoum = result.get("coalColoum"+i).toString();
+            if(StringUtils.isNotBlank(coalColoum)){
+                JSONArray responseArr = JSON.parseArray(coalColoum);
                 for (int j = 0; j < responseArr.size(); j++) {
                     JSONArray element = JSON.parseArray(responseArr.get(j).toString());
                     CokingTraceDeviationEntity deviationEntity = new CokingTraceDeviationEntity();
                     deviationEntity.setRelId(tMap.get("relId").toString());
                     deviationEntity.setProcess(tMap.get("process").toString());
                     deviationEntity.setClock(tMap.get("clock").toString());
-                    deviationEntity.setSugObj("LJ");
-                    deviationEntity.setGroupName(cokeColoumMap.get("cokeColoum"+i).toString());
+                    deviationEntity.setSugObj("BM");
+                    deviationEntity.setGroupName(coalColoumMap.get("coalColoum"+i).toString());
                     deviationEntity.setIndName(steamIndexMaps.get(element.get(0).toString()));
-//                    deviationEntity.setIndName(element.get(0).toString());
                     deviationEntity.setIndValue(element.get(1).toString());
                     deviationEntity.setCreateDate(new Date());
                     cokingTraceDeviationService.save(deviationEntity);
@@ -206,7 +197,7 @@
         }
     }
 
-    private void saveAnalyInd(Map<String, Object> tMap,JSONObject result) {
+    public void saveAnalyInd(Map<String, Object> tMap,JSONObject result) {
         String[] analyContent = tMap.get("analyContent").toString().split(";");
         for(int i=0;i<analyContent.length;i++){
             CokingAnalyIndEntity analyIndEntity = new CokingAnalyIndEntity();
@@ -220,9 +211,9 @@
         }
     }
 
-    private void saveTraceInd(Map<String, Object> tMap,JSONObject result) {
+    public void saveTraceInd(Map<String, Object> tMap,JSONObject result) {
         Map<String,Object> map = new HashMap<>();
-        map.put("indType","炼焦工序异常溯源");
+        map.put("indType","备煤工序异常溯源");
         List<CokingTraceConfEntity> list = cokingTraceConfService.list(map);
         if (CollectionUtils.isEmpty(list)) {
             logger.info("ConfLis is Empty");
@@ -258,6 +249,7 @@
             cokingTraceIndEntity.setRelId(tMap.get("relId").toString());
             cokingTraceIndEntity.setTitle(conf.getIndType());
             cokingTraceIndEntity.setClock(tMap.get("clock").toString());
+            cokingTraceIndEntity.setIndCode(conf.getIndCode());
             cokingTraceIndEntity.setIndName(conf.getIndName());
             cokingTraceIndEntity.setIndValue(value);
             cokingTraceIndEntity.setIndUnit(conf.getIndUnit());
@@ -265,7 +257,7 @@
         }
     }
 
-    private void saveTraceChart(Map<String, Object> tMap, JSONObject result,Date startDate,Date endDate) {
+    public void saveTraceChart(Map<String, Object> tMap, JSONObject result,Date startDate,Date endDate) {
         historyPointMap.forEach((key,value) ->{
             CokingTraceChartEntity cokingTraceChartEntity = new CokingTraceChartEntity();
             cokingTraceChartEntity.setRelId(tMap.get("relId").toString());
diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelTask.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelGXJTask.java
similarity index 91%
rename from ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelTask.java
rename to ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelGXJTask.java
index f93129a..74fadb1 100644
--- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelTask.java
+++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelGXJTask.java
@@ -18,6 +18,7 @@
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
 import java.util.*;
@@ -30,8 +31,8 @@
  * @Description
  * @createTime 2025年04月17日
  */
-@Component("runCokingTraceModelTask")
-public class RunCokingTraceModelTask implements ITask {
+@Component("runCokingTraceModelGXJTask")
+public class RunCokingTraceModelGXJTask implements ITask {
 
     private Logger logger = LoggerFactory.getLogger(getClass());
 
@@ -102,14 +103,13 @@
 
     @Override
     public void run(String params) {
-        logger.info("RunCokingTraceModelTask,参数为:{}", params);
+        logger.info("RunCokingTraceModelGXJTask,参数为:{}", params);
         try {
             Calendar calendar = Calendar.getInstance();
-//            int hour = calendar.get(Calendar.HOUR_OF_DAY);
+            int hour = calendar.get(Calendar.HOUR_OF_DAY);
             String yesterday = DateUtils.format(DateUtils.addDateDays(new Date(), -1), DateUtils.FORMAT_YEAR_MONTH_DAY);
             String clock = "";
             String analyClass = "";
-            int hour = 8;
             if (hour == 0) {
                 clock = yesterday.concat("-").concat("A");
                 analyClass = "甲班";
@@ -139,14 +139,14 @@
                 saveTraceInd(tMap,result);
             }
         } catch (Exception ex) {
-            logger.error("RunCokingTraceModelTask运行异常");
+            logger.error("RunCokingTraceModelGXJTask运行异常");
             ex.printStackTrace();
         }
-        logger.info("RunCokingTraceModelTask运行完成");
+        logger.info("RunCokingTraceModelGXJTask运行完成");
 
     }
 
-    private void saveTraceReport(Map<String, Object> tMap,JSONObject result) {
+    public void saveTraceReport(Map<String, Object> tMap,JSONObject result) {
         CokingTraceReportEntity reportEntity = new CokingTraceReportEntity();
         reportEntity.setId(tMap.get("relId").toString());
         reportEntity.setProcess(tMap.get("process").toString());
@@ -159,14 +159,14 @@
         cokingTraceReportService.save(reportEntity);
     }
 
-    private void saveTraceSuggest(Map<String, Object> tMap,JSONObject result) {
+    public void saveTraceSuggest(Map<String, Object> tMap,JSONObject result) {
         for(int i=1;i<=2;i++){
             String steamTotal = result.get("steamTotal"+i).toString();
             if(StringUtils.isNotBlank(steamTotal)){
                 CokingTraceSuggestEntity suggestEntity = new CokingTraceSuggestEntity();
                 suggestEntity.setRelId(tMap.get("relId").toString());
                 suggestEntity.setProcess(tMap.get("process").toString());
-                suggestEntity.setSugObj(i+"#");
+                suggestEntity.setSugObj("GXJ");
                 suggestEntity.setClock(tMap.get("clock").toString());
                 suggestEntity.setContent(steamTotal);
                 suggestEntity.setCreateDate(new Date());
@@ -175,9 +175,9 @@
         }
     }
 
-    private void saveTraceDeviation(Map<String, Object> tMap,JSONObject result) {
+    public void saveTraceDeviation(Map<String, Object> tMap,JSONObject result) {
         List<ChartParamDTO> list = mcsApi.getChartParamList(CommonConstant.STEAM_INDEX_CHARTCODE);
-        Map<String, String> steamIndexMaps = list.stream().collect(Collectors.toMap(ChartParamDTO::getParamCode, e -> e.getParamValue()));
+        Map<String, String> steamIndexMaps = list.stream().collect(Collectors.toMap(ChartParamDTO::getParamCode, e -> e.getParamName()));
         for(int i=0;i<=5;i++){
             String steamFirstColoum = result.get("steamFirstColoum"+i).toString();
             if(StringUtils.isNotBlank(steamFirstColoum)){
@@ -188,7 +188,7 @@
                     deviationEntity.setRelId(tMap.get("relId").toString());
                     deviationEntity.setProcess(tMap.get("process").toString());
                     deviationEntity.setClock(tMap.get("clock").toString());
-                    deviationEntity.setSugObj("1#");
+                    deviationEntity.setSugObj("GXJ");
                     deviationEntity.setGroupName(steamFirstColoumMap.get("steamFirstColoum"+i).toString());
                     deviationEntity.setIndName(steamIndexMaps.get(element.get(0).toString()));
                     deviationEntity.setIndValue(element.get(1).toString());
@@ -208,9 +208,9 @@
                     deviationEntity.setRelId(tMap.get("relId").toString());
                     deviationEntity.setProcess(tMap.get("process").toString());
                     deviationEntity.setClock(tMap.get("clock").toString());
-                    deviationEntity.setSugObj("2#");
+                    deviationEntity.setSugObj("GXJ");
                     deviationEntity.setGroupName(steamSecondColoumMap.get("steamSecondColoum" + i).toString());
-                    deviationEntity.setIndName(element.get(0).toString());
+                    deviationEntity.setIndName(steamIndexMaps.get(element.get(0).toString()));
                     deviationEntity.setIndValue(element.get(1).toString());
                     deviationEntity.setCreateDate(new Date());
                     cokingTraceDeviationService.save(deviationEntity);
@@ -220,7 +220,7 @@
 
     }
 
-    private void saveAnalyInd(Map<String, Object> tMap,JSONObject result) {
+    public void saveAnalyInd(Map<String, Object> tMap,JSONObject result) {
         String[] analyContent = tMap.get("analyContent").toString().split(";");
         for(int i=0;i<analyContent.length;i++){
             CokingAnalyIndEntity analyIndEntity = new CokingAnalyIndEntity();
@@ -234,7 +234,7 @@
         }
     }
 
-    private void saveTraceInd(Map<String, Object> tMap,JSONObject result) {
+    public void saveTraceInd(Map<String, Object> tMap,JSONObject result) {
         Map<String,Object> map = new HashMap<>();
         map.put("indType","干熄焦工序异常溯源");
         List<CokingTraceConfEntity> list = cokingTraceConfService.list(map);
@@ -273,6 +273,7 @@
             cokingTraceIndEntity.setRelId(tMap.get("relId").toString());
             cokingTraceIndEntity.setTitle(conf.getIndType());
             cokingTraceIndEntity.setClock(tMap.get("clock").toString());
+            cokingTraceIndEntity.setIndCode(conf.getIndCode());
             cokingTraceIndEntity.setIndName(conf.getIndName());
             cokingTraceIndEntity.setIndValue(value);
             cokingTraceIndEntity.setIndUnit(conf.getIndUnit());
diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModel3Task.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelHCTask.java
similarity index 72%
copy from ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModel3Task.java
copy to ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelHCTask.java
index 10e65f8..f887940 100644
--- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModel3Task.java
+++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelHCTask.java
@@ -25,14 +25,14 @@
 import java.util.stream.Collectors;
 
 /**
- * 炼焦工序-异常溯源
+ * 化产工序异常溯源
  *
  * @author lirm
  * @Description
- * @createTime 2025年04月21日
+ * @createTime 2025年04月22日
  */
-@Component("runCokingTraceModel3Task")
-public class RunCokingTraceModel3Task implements ITask {
+@Component("runCokingTraceModelHCTask")
+public class RunCokingTraceModelHCTask implements ITask{
     private Logger logger = LoggerFactory.getLogger(getClass());
 
     @Autowired
@@ -65,43 +65,37 @@
     @Autowired
     private IndItemApi indItemApi;
 
-    private static final HashMap<String, Object> cokeColoumMap = new HashMap<String, Object>() {{
-        put("cokeColoum0", "一级指标-偏差值");
-        put("cokeColoum1", "二级指标-偏差值");
-        put("cokeColoum2", "影响因素1-偏差值");
-        put("cokeColoum3", "影响因素2-偏差值");
-        put("cokeColoum4", "影响因素3-偏差值");
-        put("cokeColoum5", "影响因素n-偏差值");
+    private static final HashMap<String, Object> chemProdColoumMap = new HashMap<String, Object>() {{
+        put("chemProdFirstColoum0", "一级指标-偏差值");
+        put("chemProdFirstColoum1", "二级指标-偏差值");
+        put("chemProdFirstColoum2", "影响因素1-偏差值");
     }};
 
     private static final HashMap<String, Object> historyPointMap = new HashMap<String, Object>() {{
-        put("LJSY001", "荒煤气发生");
-        put("LJSY005", "耗热量");
+        put("HCSY001", "蒸汽消耗");
+        put("HCSY020", "初冷器出口煤气温度");
+        put("HCSY021", "洗苯塔后煤气含苯");
+        put("HCSY022", "脱硫后H2S含量");
     }};
 
     private static final String jsonStr="{\n" +
-            "    \"result\": {\n" +
-            "      \"cokeCOG\":[100.5,99.8],\n" +
-            "      \"cokeHeat\":[3.7,3.8],\n" +
-            "      \"cokeIndex\":[[0.8,0.7],[608,608],[1440,1460],[1346,1293],[0.8,0.7],[1372,1293]],\n" +
-            "      \"cokeTotal\":\"炼焦吨焦耗热量因煤气流量偏高、煤气水分偏低而增加23,经模型计算,延建议调整煤气流量,预计可使吨焦耗热量指标降低17\",\n" +
-            "      \"cokeColoum0\":[[0,13],[0,42],[0,34]],\n" +
-            "      \"cokeColoum1\":[[13,12],[12,34],[24,42]],\n" +
-            "      \"cokeColoum2\":[[27,45],[58,42],[70,31]],\n" +
-            "      \"cokeColoum3\":[[108,56],[110,89],[185,21]],\n" +
-            "      \"cokeColoum4\":[[199,13],[200,51],[197,34]],\n" +
-            "      \"cokeColoum5\":[[147,33],[131,12],[122,13]],\n" +
-            "      \"cokeHomePage\":[[202,42],[203,13],[204,45],[205,34],[206,17]],\n" +
-            "      \"cokeHomeIndex\":[[90.4,90.2],[80.3,78],[103,100],[280,270]],\n" +
-            "      \"cokeHomeIndexInfo\":\"2月18日甲班:吨焦耗热量异常\",\n" +
-            "      \"cokeHomeErr\":\"2月18日煤气预热器前数据异常(无数据)\"\n" +
-            "    }\n" +
+            "    \"result\":{\n" +
+            "      \"chemProdSteam\":[[33836,33925]],  \n" +
+            "      \"chemProdIndex\":[[352,355],[68,66.3],[82.5,87.6],[50.7,56.5],[73.5,73.1]],\n" +
+            "      \"chemProdTotal\":\"蒸汽消耗量异常,当前值1342,经模型计算,指标1异常,当前值1342,建议调整指标1至区间[90,110],指标2异常,当前值1342,建议调整指标2至区间[50,80]\",\n" +
+            "      \"chemProdFirstColoum0\":[[0,42]],\n" +
+            "      \"chemProdFirstColoum1\":[[5,1342],[7,1342],[9,1342]],\n" +
+            "      \"chemProdFirstColoum2\":[[5,10,1342],[5,16,1342],[7,18,1342]],\n" +
+            "      \"chemProdHomePage\":[[9,1342],[9,1342]],\n" +
+            "      \"chemProdHomeIndex\":[[90.4,90.2],[80.3,78],[103,100],[280,270]],\n" +
+            "      \"chemProdHomeIndexInfo\":\"2月18日甲班:化产蒸汽消耗量异常\",\n" +
+            "      \"chemProdHomeErr\":\"2月18日化产蒸汽消耗量数据异常(无数据)\"\n" +
+            "    }" +
             "}";
 
     @Override
-    @Transactional
     public void run(String params) {
-        logger.info("RunCokingTraceModel3Task,参数为:{}", params);
+        logger.info("RunCokingTraceModelHCTask,参数为:{}", params);
         try {
             Calendar calendar = Calendar.getInstance();
             calendar.set(Calendar.MILLISECOND, 0);
@@ -109,11 +103,10 @@
             calendar.set(Calendar.MINUTE,0);
             calendar.add(Calendar.DAY_OF_YEAR, -1);
             String yesterday = DateUtils.format(calendar.getTime(), DateUtils.FORMAT_YEAR_MONTH_DAY);
-//            int hour = calendar.get(Calendar.HOUR_OF_DAY);
+            int hour = calendar.get(Calendar.HOUR_OF_DAY);
             Date startDate = calendar.getTime();
             calendar.add(Calendar.HOUR, 8);
             Date endDate = calendar.getTime();
-            int hour = 8;
             String clock = "";
             String analyClass = "";
             if (hour == 0) {
@@ -128,12 +121,12 @@
             }
             Map<String, Object> tMap = new HashMap<>();
             tMap.put("relId", UUID.randomUUID().toString());
-            tMap.put("process", "炼焦工序");
-            tMap.put("reportName", "炼焦工序");
+            tMap.put("process", "化产工序");
+            tMap.put("reportName", "化产工序");
             tMap.put("analyDate", yesterday);
             tMap.put("analyClass", analyClass);
             tMap.put("clock", clock);
-            tMap.put("analyContent", "COG回收量异常;吨焦耗热量异常");
+            tMap.put("analyContent", "化产蒸汽消耗量异常");
             tMap.put("startDate", startDate);
             tMap.put("endDate", endDate);
 
@@ -148,13 +141,13 @@
                 saveTraceChart(tMap,result,startDate,endDate);
             }
         } catch (Exception ex) {
-            logger.error("RunCokingTraceModel3Task运行异常");
+            logger.error("RunCokingTraceModelHCTask运行异常");
             ex.printStackTrace();
         }
-        logger.info("RunCokingTraceModel3Task运行完成");
+        logger.info("RunCokingTraceModelHCTask运行完成");
     }
 
-    private void saveTraceReport(Map<String, Object> tMap,JSONObject result) {
+    public void saveTraceReport(Map<String, Object> tMap,JSONObject result) {
         CokingTraceReportEntity reportEntity = new CokingTraceReportEntity();
         reportEntity.setId(tMap.get("relId").toString());
         reportEntity.setProcess(tMap.get("process").toString());
@@ -167,37 +160,36 @@
         cokingTraceReportService.save(reportEntity);
     }
 
-    private void saveTraceSuggest(Map<String, Object> tMap,JSONObject result) {
-        String cokeTotal = result.get("cokeTotal").toString();
-        if(StringUtils.isNotBlank(cokeTotal)){
+    public void saveTraceSuggest(Map<String, Object> tMap,JSONObject result) {
+        String chemProdTotal = result.get("chemProdTotal").toString();
+        if(StringUtils.isNotBlank(chemProdTotal)){
             CokingTraceSuggestEntity suggestEntity = new CokingTraceSuggestEntity();
             suggestEntity.setRelId(tMap.get("relId").toString());
             suggestEntity.setProcess(tMap.get("process").toString());
-            suggestEntity.setSugObj("LJ");
+            suggestEntity.setSugObj("HC");
             suggestEntity.setClock(tMap.get("clock").toString());
-            suggestEntity.setContent(cokeTotal);
+            suggestEntity.setContent(chemProdTotal);
             suggestEntity.setCreateDate(new Date());
             cokingTraceSuggestService.save(suggestEntity);
         }
     }
 
-    private void saveTraceDeviation(Map<String, Object> tMap,JSONObject result) {
-        List<ChartParamDTO> list = mcsApi.getChartParamList(CommonConstant.COKE_INDEX_CHARTCODE);
-        Map<String, String> steamIndexMaps = list.stream().collect(Collectors.toMap(ChartParamDTO::getParamCode, e -> e.getParamValue()));
-        for(int i=0;i<=5;i++){
-            String cokeColoum = result.get("cokeColoum"+i).toString();
-            if(StringUtils.isNotBlank(cokeColoum)){
-                JSONArray responseArr = JSON.parseArray(cokeColoum);
+    public void saveTraceDeviation(Map<String, Object> tMap,JSONObject result) {
+        List<ChartParamDTO> list = mcsApi.getChartParamList(CommonConstant.CHEMPROD_INDEX_CHARTCODE);
+        Map<String, String> steamIndexMaps = list.stream().collect(Collectors.toMap(ChartParamDTO::getParamCode, e -> e.getParamName()));
+        for(int i=0;i<=2;i++){
+            String chemProdFirstColoum = result.get("chemProdFirstColoum"+i).toString();
+            if(StringUtils.isNotBlank(chemProdFirstColoum)){
+                JSONArray responseArr = JSON.parseArray(chemProdFirstColoum);
                 for (int j = 0; j < responseArr.size(); j++) {
                     JSONArray element = JSON.parseArray(responseArr.get(j).toString());
                     CokingTraceDeviationEntity deviationEntity = new CokingTraceDeviationEntity();
                     deviationEntity.setRelId(tMap.get("relId").toString());
                     deviationEntity.setProcess(tMap.get("process").toString());
                     deviationEntity.setClock(tMap.get("clock").toString());
-                    deviationEntity.setSugObj("LJ");
-                    deviationEntity.setGroupName(cokeColoumMap.get("cokeColoum"+i).toString());
+                    deviationEntity.setSugObj("HC");
+                    deviationEntity.setGroupName(chemProdColoumMap.get("chemProdFirstColoum"+i).toString());
                     deviationEntity.setIndName(steamIndexMaps.get(element.get(0).toString()));
-//                    deviationEntity.setIndName(element.get(0).toString());
                     deviationEntity.setIndValue(element.get(1).toString());
                     deviationEntity.setCreateDate(new Date());
                     cokingTraceDeviationService.save(deviationEntity);
@@ -206,7 +198,7 @@
         }
     }
 
-    private void saveAnalyInd(Map<String, Object> tMap,JSONObject result) {
+    public void saveAnalyInd(Map<String, Object> tMap,JSONObject result) {
         String[] analyContent = tMap.get("analyContent").toString().split(";");
         for(int i=0;i<analyContent.length;i++){
             CokingAnalyIndEntity analyIndEntity = new CokingAnalyIndEntity();
@@ -220,9 +212,9 @@
         }
     }
 
-    private void saveTraceInd(Map<String, Object> tMap,JSONObject result) {
+    public void saveTraceInd(Map<String, Object> tMap,JSONObject result) {
         Map<String,Object> map = new HashMap<>();
-        map.put("indType","炼焦工序异常溯源");
+        map.put("indType","化产工序异常溯源");
         List<CokingTraceConfEntity> list = cokingTraceConfService.list(map);
         if (CollectionUtils.isEmpty(list)) {
             logger.info("ConfLis is Empty");
@@ -258,6 +250,7 @@
             cokingTraceIndEntity.setRelId(tMap.get("relId").toString());
             cokingTraceIndEntity.setTitle(conf.getIndType());
             cokingTraceIndEntity.setClock(tMap.get("clock").toString());
+            cokingTraceIndEntity.setIndCode(conf.getIndCode());
             cokingTraceIndEntity.setIndName(conf.getIndName());
             cokingTraceIndEntity.setIndValue(value);
             cokingTraceIndEntity.setIndUnit(conf.getIndUnit());
@@ -265,7 +258,7 @@
         }
     }
 
-    private void saveTraceChart(Map<String, Object> tMap, JSONObject result,Date startDate,Date endDate) {
+    public void saveTraceChart(Map<String, Object> tMap, JSONObject result,Date startDate,Date endDate) {
         historyPointMap.forEach((key,value) ->{
             CokingTraceChartEntity cokingTraceChartEntity = new CokingTraceChartEntity();
             cokingTraceChartEntity.setRelId(tMap.get("relId").toString());
diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModel3Task.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelLJTask.java
similarity index 92%
rename from ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModel3Task.java
rename to ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelLJTask.java
index 10e65f8..ca3fece 100644
--- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModel3Task.java
+++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelLJTask.java
@@ -31,8 +31,8 @@
  * @Description
  * @createTime 2025年04月21日
  */
-@Component("runCokingTraceModel3Task")
-public class RunCokingTraceModel3Task implements ITask {
+@Component("runCokingTraceModelLJTask")
+public class RunCokingTraceModelLJTask implements ITask {
     private Logger logger = LoggerFactory.getLogger(getClass());
 
     @Autowired
@@ -99,9 +99,8 @@
             "}";
 
     @Override
-    @Transactional
     public void run(String params) {
-        logger.info("RunCokingTraceModel3Task,参数为:{}", params);
+        logger.info("RunCokingTraceModelLJTask,参数为:{}", params);
         try {
             Calendar calendar = Calendar.getInstance();
             calendar.set(Calendar.MILLISECOND, 0);
@@ -109,11 +108,10 @@
             calendar.set(Calendar.MINUTE,0);
             calendar.add(Calendar.DAY_OF_YEAR, -1);
             String yesterday = DateUtils.format(calendar.getTime(), DateUtils.FORMAT_YEAR_MONTH_DAY);
-//            int hour = calendar.get(Calendar.HOUR_OF_DAY);
+            int hour = calendar.get(Calendar.HOUR_OF_DAY);
             Date startDate = calendar.getTime();
             calendar.add(Calendar.HOUR, 8);
             Date endDate = calendar.getTime();
-            int hour = 8;
             String clock = "";
             String analyClass = "";
             if (hour == 0) {
@@ -148,13 +146,13 @@
                 saveTraceChart(tMap,result,startDate,endDate);
             }
         } catch (Exception ex) {
-            logger.error("RunCokingTraceModel3Task运行异常");
+            logger.error("RunCokingTraceModelLJTask运行异常");
             ex.printStackTrace();
         }
-        logger.info("RunCokingTraceModel3Task运行完成");
+        logger.info("RunCokingTraceModelLJTask运行完成");
     }
 
-    private void saveTraceReport(Map<String, Object> tMap,JSONObject result) {
+    public void saveTraceReport(Map<String, Object> tMap,JSONObject result) {
         CokingTraceReportEntity reportEntity = new CokingTraceReportEntity();
         reportEntity.setId(tMap.get("relId").toString());
         reportEntity.setProcess(tMap.get("process").toString());
@@ -167,7 +165,7 @@
         cokingTraceReportService.save(reportEntity);
     }
 
-    private void saveTraceSuggest(Map<String, Object> tMap,JSONObject result) {
+    public void saveTraceSuggest(Map<String, Object> tMap,JSONObject result) {
         String cokeTotal = result.get("cokeTotal").toString();
         if(StringUtils.isNotBlank(cokeTotal)){
             CokingTraceSuggestEntity suggestEntity = new CokingTraceSuggestEntity();
@@ -181,9 +179,9 @@
         }
     }
 
-    private void saveTraceDeviation(Map<String, Object> tMap,JSONObject result) {
+    public void saveTraceDeviation(Map<String, Object> tMap,JSONObject result) {
         List<ChartParamDTO> list = mcsApi.getChartParamList(CommonConstant.COKE_INDEX_CHARTCODE);
-        Map<String, String> steamIndexMaps = list.stream().collect(Collectors.toMap(ChartParamDTO::getParamCode, e -> e.getParamValue()));
+        Map<String, String> steamIndexMaps = list.stream().collect(Collectors.toMap(ChartParamDTO::getParamCode, e -> e.getParamName()));
         for(int i=0;i<=5;i++){
             String cokeColoum = result.get("cokeColoum"+i).toString();
             if(StringUtils.isNotBlank(cokeColoum)){
@@ -197,7 +195,6 @@
                     deviationEntity.setSugObj("LJ");
                     deviationEntity.setGroupName(cokeColoumMap.get("cokeColoum"+i).toString());
                     deviationEntity.setIndName(steamIndexMaps.get(element.get(0).toString()));
-//                    deviationEntity.setIndName(element.get(0).toString());
                     deviationEntity.setIndValue(element.get(1).toString());
                     deviationEntity.setCreateDate(new Date());
                     cokingTraceDeviationService.save(deviationEntity);
@@ -206,7 +203,7 @@
         }
     }
 
-    private void saveAnalyInd(Map<String, Object> tMap,JSONObject result) {
+    public void saveAnalyInd(Map<String, Object> tMap,JSONObject result) {
         String[] analyContent = tMap.get("analyContent").toString().split(";");
         for(int i=0;i<analyContent.length;i++){
             CokingAnalyIndEntity analyIndEntity = new CokingAnalyIndEntity();
@@ -220,7 +217,7 @@
         }
     }
 
-    private void saveTraceInd(Map<String, Object> tMap,JSONObject result) {
+    public void saveTraceInd(Map<String, Object> tMap,JSONObject result) {
         Map<String,Object> map = new HashMap<>();
         map.put("indType","炼焦工序异常溯源");
         List<CokingTraceConfEntity> list = cokingTraceConfService.list(map);
@@ -258,6 +255,7 @@
             cokingTraceIndEntity.setRelId(tMap.get("relId").toString());
             cokingTraceIndEntity.setTitle(conf.getIndType());
             cokingTraceIndEntity.setClock(tMap.get("clock").toString());
+            cokingTraceIndEntity.setIndCode(conf.getIndCode());
             cokingTraceIndEntity.setIndName(conf.getIndName());
             cokingTraceIndEntity.setIndValue(value);
             cokingTraceIndEntity.setIndUnit(conf.getIndUnit());
@@ -265,7 +263,7 @@
         }
     }
 
-    private void saveTraceChart(Map<String, Object> tMap, JSONObject result,Date startDate,Date endDate) {
+    public void saveTraceChart(Map<String, Object> tMap, JSONObject result,Date startDate,Date endDate) {
         historyPointMap.forEach((key,value) ->{
             CokingTraceChartEntity cokingTraceChartEntity = new CokingTraceChartEntity();
             cokingTraceChartEntity.setRelId(tMap.get("relId").toString());

--
Gitblit v1.9.3