From bd97649e51a4bbfae4aa485c89fdcc52f27fe17f Mon Sep 17 00:00:00 2001 From: 潘志宝 <979469083@qq.com> Date: 星期一, 12 五月 2025 15:53:02 +0800 Subject: [PATCH] 负荷移植-最大需量发生记录详情 --- ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/CokingController.java | 120 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 111 insertions(+), 9 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 d9ac9c3..6aab84e 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 @@ -1,5 +1,6 @@ package com.iailab.module.ansteel.api.controller.admin; +import com.alibaba.fastjson.JSONArray; import com.iailab.framework.common.pojo.CommonResult; import com.iailab.framework.common.util.date.DateUtils; import com.iailab.framework.common.util.object.ConvertUtils; @@ -11,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; @@ -19,6 +21,7 @@ import com.iailab.module.data.api.point.dto.ApiPointValueQueryDTO; import io.swagger.v3.oas.annotations.Operation; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.GetMapping; @@ -61,6 +64,8 @@ @Autowired private CokingOverviewService cokingOverviewService; + @Autowired + private CokingOverviewIndService cokingOverviewIndService; @Autowired private CokingTraceSuggestService cokingTraceSuggestService; @@ -74,6 +79,9 @@ @Autowired private CokingTraceChartService cokingTraceChartService; + @Autowired + private CokingTraceDataService cokingTraceDataService; + @Resource private DataPointApi dataPointApi; @@ -81,58 +89,117 @@ private IndItemApi indItemApi; @GetMapping("/analy-ind/list") - @Operation(summary = "焦化工序-指标分析") + @Operation(summary = "焦化总图-指标分析") public CommonResult<List<CokingAnalyIndDTO>> getCokingAnalyIndList(@RequestParam Map<String, Object> params) { + 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); + 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)); } @GetMapping("/analy-trend/list") - @Operation(summary = "焦化工序-趋势分析") + @Operation(summary = "焦化工序-趋势分析(废弃)") public CommonResult<List<CokingAnalyTrendDTO>> getCokingAnalyTrendList(@RequestParam Map<String, Object> params) { List<CokingAnalyTrendEntity> list = cokingAnalyTrendService.list(params); return success(ConvertUtils.sourceToTarget(list, CokingAnalyTrendDTO.class)); } @GetMapping("/process-child/list") - @Operation(summary = "焦化工序-子工序指标") + @Operation(summary = "焦化总图-子工序指标") public CommonResult<List<CokingProcessChildDTO>> getCokingProcessChildList(@RequestParam Map<String, Object> params) { List<CokingProcessChildEntity> list = cokingProcessChildService.list(params); return success(ConvertUtils.sourceToTarget(list, CokingProcessChildDTO.class)); } @GetMapping("/process-main/list") - @Operation(summary = "焦化工序-主工序指标") + @Operation(summary = "焦化总图-主工序指标") public CommonResult<List<CokingProcessMainDTO>> getCokingProcessMainList(@RequestParam Map<String, Object> params) { List<CokingProcessMainEntity> list = cokingProcessMainService.list(params); return success(ConvertUtils.sourceToTarget(list, CokingProcessMainDTO.class)); } @GetMapping("/prod-day/list") - @Operation(summary = "焦化工序-日生产信息") + @Operation(summary = "焦化总图-日生产信息") public CommonResult<List<CokingProdDayDTO>> getCokingProdDayList(@RequestParam Map<String, Object> params) { List<CokingProdDayEntity> list = cokingProdDayService.list(params); return success(ConvertUtils.sourceToTarget(list, CokingProdDayDTO.class)); } + @GetMapping("/ex-data/list") + @Operation(summary = "焦化总图-异常数据") + public CommonResult<List<CokingTraceDataDTO>> getExDataList(@RequestParam Map<String, Object> params) { + String clock = (String) params.get("clock"); + if (StringUtils.isBlank(clock)) { + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.DAY_OF_YEAR, -1); + clock = DateUtils.format(calendar.getTime(), "yyyy-MM-dd"); + params.put("clock", clock); + } + + List<CokingTraceDataEntity> list = cokingTraceDataService.list(params); + return success(ConvertUtils.sourceToTarget(list, CokingTraceDataDTO.class)); + } + @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") @Operation(summary = "各工序-异常数据") - public CommonResult<List<CokingTraceSuggestEntity>> getAbnormalData(@RequestParam Map<String, Object> params) { - List<CokingTraceSuggestEntity> result = cokingTraceSuggestService.getAbnormalData(params); - return success(result); + public CommonResult<List<CokingTraceDataDTO>> getAbnormalData(@RequestParam Map<String, Object> params) { + String processType = (String) params.get("processType"); + if (StringUtils.isBlank(processType)) { + return success(new ArrayList<>()); + } + + String clock = (String) params.get("clock"); + if (StringUtils.isBlank(clock)) { + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.DAY_OF_YEAR, -1); + clock = DateUtils.format(calendar.getTime(), "yyyy-MM-dd"); + params.put("clock", clock); + } + List<CokingTraceDataEntity> list = cokingTraceDataService.list(params); + return success(ConvertUtils.sourceToTarget(list, CokingTraceDataDTO.class)); } @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"); + if (StringUtils.isBlank(relId) && StringUtils.isNotBlank(processType)) { + // 查找最新的relId + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.DAY_OF_YEAR, -1); + String clock = DateUtils.format(calendar.getTime(), "yyyy-MM-dd"); + CokingAnalyIndEntity analyInd = cokingAnalyIndService.get(TraceProcessTypeEnum.getEumByCode(processType).getProcess(), clock); + 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)); } @@ -140,6 +207,21 @@ @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"); + if (StringUtils.isBlank(relId) && StringUtils.isNotBlank(processType)) { + // 查找最新的relId + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.DAY_OF_YEAR, -1); + String clock = DateUtils.format(calendar.getTime(), "yyyy-MM-dd"); + CokingAnalyIndEntity analyInd = cokingAnalyIndService.get(TraceProcessTypeEnum.getEumByCode(processType).getProcess(), clock); + 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)); } @@ -147,6 +229,21 @@ @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"); + if (StringUtils.isBlank(relId) && StringUtils.isNotBlank(processType)) { + // 查找最新的relId + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.DAY_OF_YEAR, -1); + String clock = DateUtils.format(calendar.getTime(), "yyyy-MM-dd"); + CokingAnalyIndEntity analyInd = cokingAnalyIndService.get(TraceProcessTypeEnum.getEumByCode(processType).getProcess(), clock); + 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)); } @@ -157,13 +254,16 @@ List<CokingTraceChartEntity> list = cokingTraceChartService.list(params); List<CokingTraceChartDTO> result = new ArrayList<>(); if (CollectionUtils.isEmpty(list)) { + log.info("TraceChart is empty"); return success(result); } + log.info("TraceChart List:" + JSONArray.toJSONString(list)); for (CokingTraceChartEntity entity : list) { CokingTraceChartDTO dto = ConvertUtils.sourceToTarget(entity, CokingTraceChartDTO.class); List<Object[]> dataList = new ArrayList<>(); switch (ProcessConfDataTypeEnum.getEumByCode(entity.getDataType())) { case DATAPOINT: + log.info("DATAPOINT"); ApiPointValueQueryDTO queryParams1 = new ApiPointValueQueryDTO(); queryParams1.setPointNo(entity.getDataNo()); queryParams1.setStart(entity.getStartTime()); @@ -177,6 +277,7 @@ }); break; case IND: + log.info("IND"); ApiIndItemQueryDTO queryParams2 = new ApiIndItemQueryDTO(); queryParams2.setItemNo(entity.getDataNo()); queryParams2.setStart(entity.getStartTime()); @@ -193,6 +294,7 @@ break; } dto.setDataList(dataList); + result.add(dto); } return success(result); } -- Gitblit v1.9.3