From 56c701ab19eb16ebf2f75bdd42b4ea9da1c2a733 Mon Sep 17 00:00:00 2001
From: liriming <1343021927@qq.com>
Date: 星期三, 25 六月 2025 14:19:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/CokingController.java |   97 ++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 81 insertions(+), 16 deletions(-)

diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/CokingController.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/CokingController.java
index c3c856c..c91bd41 100644
--- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/CokingController.java
+++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/CokingController.java
@@ -12,6 +12,7 @@
 import com.iailab.module.ansteel.coking.entity.*;
 import com.iailab.module.ansteel.coking.service.*;
 import com.iailab.module.ansteel.common.enums.ProcessConfDataTypeEnum;
+import com.iailab.module.ansteel.common.enums.TraceProcessTypeEnum;
 import com.iailab.module.data.api.ind.IndItemApi;
 import com.iailab.module.data.api.ind.dto.ApiIndItemQueryDTO;
 import com.iailab.module.data.api.ind.dto.ApiIndItemValueDTO;
@@ -63,6 +64,8 @@
 
     @Autowired
     private CokingOverviewService cokingOverviewService;
+    @Autowired
+    private CokingOverviewIndService cokingOverviewIndService;
 
     @Autowired
     private CokingTraceSuggestService cokingTraceSuggestService;
@@ -88,25 +91,15 @@
     @GetMapping("/analy-ind/list")
     @Operation(summary = "焦化总图-指标分析")
     public CommonResult<List<CokingAnalyIndDTO>> getCokingAnalyIndList(@RequestParam Map<String, Object> params) {
-        String clock = (String) params.get("clock");
-        if (StringUtils.isBlank(clock)) {
+        String analyDate = (String) params.get("analyDate");
+        if (StringUtils.isBlank(analyDate)) {
             Calendar calendar = Calendar.getInstance();
             calendar.set(Calendar.MILLISECOND, 0);
             calendar.set(Calendar.SECOND, 0);
             calendar.set(Calendar.MINUTE, 0);
-            int hour = calendar.get(Calendar.HOUR_OF_DAY);
-            if (hour >= 8 && hour < 16) {
-                calendar.set(Calendar.HOUR_OF_DAY, 0);
-                clock = DateUtils.format(calendar.getTime()).concat("-").concat("A");
-            } else if (hour >= 16 && hour < 24) {
-                calendar.set(Calendar.HOUR_OF_DAY, 8);
-                clock = DateUtils.format(calendar.getTime()).concat("-").concat("B");
-            } else if (hour >= 0 && hour < 8) {
-                calendar.add(Calendar.DAY_OF_YEAR, -1);
-                calendar.set(Calendar.HOUR_OF_DAY, 16);
-                clock = DateUtils.format(calendar.getTime()).concat("-").concat("B");
-            }
-            params.put("clock", clock);
+            calendar.add(Calendar.DAY_OF_YEAR, -1);
+            analyDate = DateUtils.format(calendar.getTime());
+            params.put("analyDate", analyDate);
         }
         List<CokingAnalyIndEntity> list = cokingAnalyIndService.list(params);
         return success(ConvertUtils.sourceToTarget(list, CokingAnalyIndDTO.class));
@@ -157,10 +150,17 @@
 
 
     @GetMapping("/overview/list")
-    @Operation(summary = "各工序-概况数据")
+    @Operation(summary = "各工序-概况-整体数据")
     public CommonResult<Map<String,List<CokingOverviewDTO>>> getOverviewList(@RequestParam Map<String, Object> params) {
         Map<String,List<CokingOverviewDTO>> result = cokingOverviewService.list(params);
         return success(result);
+    }
+
+    @GetMapping("/overview/indList")
+    @Operation(summary = "各工序-概况-能流图指标数据")
+    public CommonResult<List<CokingOverviewIndEntity>> getOverviewIndList(@RequestParam Map<String, Object> params) {
+        List<CokingOverviewIndEntity> list = cokingOverviewIndService.list(params);
+        return success(list);
     }
 
     @GetMapping("/overview/abnormal-data")
@@ -185,6 +185,22 @@
     @GetMapping("/trace-suggest/list")
     @Operation(summary = "焦化工序-异常溯源及优化建议")
     public CommonResult<List<CokingTraceSuggestDTO>> getTraceSuggestList(@RequestParam Map<String, Object> params) {
+        String relId = (String) params.get("relId");
+        String processType = (String) params.get("processType");
+        String clock = (String) params.get("clock");
+        if (StringUtils.isBlank(relId) && StringUtils.isNotBlank(processType)) {
+            // 查找最新的relId
+            Calendar calendar = Calendar.getInstance();
+            calendar.add(Calendar.DAY_OF_YEAR, -1);
+            String clockQ = StringUtils.isNotBlank(clock) ? clock : DateUtils.format(calendar.getTime(), "yyyy-MM-dd");
+            CokingAnalyIndEntity analyInd = cokingAnalyIndService.get(TraceProcessTypeEnum.getEumByCode(processType.toUpperCase()).getProcess(), clockQ);
+            if (analyInd != null) {
+                relId = analyInd.getRelId();
+                params.put("relId", relId);
+            } else {
+                return success(new ArrayList<>());
+            }
+        }
         List<CokingTraceSuggestEntity> list = cokingTraceSuggestService.list(params);
         return success(ConvertUtils.sourceToTarget(list, CokingTraceSuggestDTO.class));
     }
@@ -192,6 +208,22 @@
     @GetMapping("/trace-ind/list")
     @Operation(summary = "焦化工序-异常溯源指标")
     public CommonResult<List<CokingTraceIndDTO>> getTraceIndList(@RequestParam Map<String, Object> params) {
+        String relId = (String) params.get("relId");
+        String processType = (String) params.get("processType");
+        String clock = (String) params.get("clock");
+        if (StringUtils.isBlank(relId) && StringUtils.isNotBlank(processType)) {
+            // 查找最新的relId
+            Calendar calendar = Calendar.getInstance();
+            calendar.add(Calendar.DAY_OF_YEAR, -1);
+            String clockQ = StringUtils.isNotBlank(clock) ? clock : DateUtils.format(calendar.getTime(), "yyyy-MM-dd");
+            CokingAnalyIndEntity analyInd = cokingAnalyIndService.get(TraceProcessTypeEnum.getEumByCode(processType.toUpperCase()).getProcess(), clockQ);
+            if (analyInd != null) {
+                relId = analyInd.getRelId();
+                params.put("relId", relId);
+            } else {
+                return success(new ArrayList<>());
+            }
+        }
         List<CokingTraceIndEntity> list = cokingTraceIndService.list(params);
         return success(ConvertUtils.sourceToTarget(list, CokingTraceIndDTO.class));
     }
@@ -199,6 +231,22 @@
     @GetMapping("/trace-deviation/list")
     @Operation(summary = "焦化工序-异常溯源影响因素偏差值")
     public CommonResult<List<CokingTraceDeviationDTO>> getTraceDeviationList(@RequestParam Map<String, Object> params) {
+        String relId = (String) params.get("relId");
+        String processType = (String) params.get("processType");
+        String clock = (String) params.get("clock");
+        if (StringUtils.isBlank(relId) && StringUtils.isNotBlank(processType)) {
+            // 查找最新的relId
+            Calendar calendar = Calendar.getInstance();
+            calendar.add(Calendar.DAY_OF_YEAR, -1);
+            String clockQ = StringUtils.isNotBlank(clock) ? clock : DateUtils.format(calendar.getTime(), "yyyy-MM-dd");
+            CokingAnalyIndEntity analyInd = cokingAnalyIndService.get(TraceProcessTypeEnum.getEumByCode(processType.toUpperCase()).getProcess(), clockQ);
+            if (analyInd != null) {
+                relId = analyInd.getRelId();
+                params.put("relId", relId);
+            } else {
+                return success(new ArrayList<>());
+            }
+        }
         List<CokingTraceDeviationEntity> list = cokingTraceDeviationService.list(params);
         return success(ConvertUtils.sourceToTarget(list, CokingTraceDeviationDTO.class));
     }
@@ -206,6 +254,23 @@
     @GetMapping("/trace-chart/list")
     @Operation(summary = "焦化工序-异常溯源折线图")
     public CommonResult<List<CokingTraceChartDTO>> getCokingTraceChartList(@RequestParam Map<String, Object> params) {
+        String relId = (String) params.get("relId");
+        String processType = (String) params.get("processType");
+        String clock = (String) params.get("clock");
+        if (StringUtils.isBlank(relId) && StringUtils.isNotBlank(processType)) {
+            // 查找最新的relId
+            Calendar calendar = Calendar.getInstance();
+            calendar.add(Calendar.DAY_OF_YEAR, -1);
+            String clockQ = StringUtils.isNotBlank(clock) ? clock : DateUtils.format(calendar.getTime(), "yyyy-MM-dd");
+            CokingAnalyIndEntity analyInd = cokingAnalyIndService.get(TraceProcessTypeEnum.getEumByCode(processType.toUpperCase()).getProcess(), clockQ);
+            if (analyInd != null) {
+                relId = analyInd.getRelId();
+                params.put("relId", relId);
+            } else {
+                return success(new ArrayList<>());
+            }
+        }
+
         List<CokingTraceChartEntity> list = cokingTraceChartService.list(params);
         List<CokingTraceChartDTO> result = new ArrayList<>();
         if (CollectionUtils.isEmpty(list)) {

--
Gitblit v1.9.3