From 0780b7a22e2ee023c0381f088caca1f20ff2c8a6 Mon Sep 17 00:00:00 2001 From: 潘志宝 <979469083@qq.com> Date: 星期一, 21 四月 2025 17:41:47 +0800 Subject: [PATCH] 焦化工序-异常溯源折线图 查询接口 --- ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/CokingController.java | 105 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 100 insertions(+), 5 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 734b866..f48c1bf 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,21 +1,31 @@ package com.iailab.module.ansteel.api.controller.admin; import com.iailab.framework.common.pojo.CommonResult; +import com.iailab.framework.common.util.date.DateUtils; import com.iailab.framework.common.util.object.ConvertUtils; import com.iailab.module.ansteel.api.dto.*; -import com.iailab.module.ansteel.coking.dto.CokingTraceEnergyDTO; +import com.iailab.module.ansteel.coking.dto.*; 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.data.api.ind.IndItemApi; +import com.iailab.module.data.api.ind.dto.ApiIndItemQueryDTO; +import com.iailab.module.data.api.ind.dto.ApiIndItemValueDTO; +import com.iailab.module.data.api.point.DataPointApi; +import com.iailab.module.data.api.point.dto.ApiPointValueDTO; +import com.iailab.module.data.api.point.dto.ApiPointValueQueryDTO; import io.swagger.v3.oas.annotations.Operation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import java.util.List; -import java.util.Map; +import javax.annotation.Resource; +import java.math.BigDecimal; +import java.util.*; import static com.iailab.framework.common.pojo.CommonResult.success; @@ -48,6 +58,24 @@ @Autowired private CokingTraceEnergyService cokingTraceEnergyService; + + @Autowired + private CokingTraceSuggestService cokingTraceSuggestService; + + @Autowired + private CokingTraceIndService cokingTraceIndService; + + @Autowired + private CokingTraceDeviationService cokingTraceDeviationService; + + @Autowired + private CokingTraceChartService cokingTraceChartService; + + @Resource + private DataPointApi dataPointApi; + + @Resource + private IndItemApi indItemApi; @GetMapping("/analy-ind/list") @Operation(summary = "焦化工序-指标分析") @@ -87,8 +115,75 @@ @GetMapping("/trace-energy/list") @Operation(summary = "焦化工序-能耗整体情况") - public CommonResult<Map<String,List<CokingTraceEnergyDTO>>> getEnergyConsumptionList(@RequestParam Map<String, Object> params) { - Map<String,List<CokingTraceEnergyDTO>> result = cokingTraceEnergyService.list(params); + public CommonResult<Map<String, List<CokingTraceEnergyDTO>>> getEnergyConsumptionList(@RequestParam Map<String, Object> params) { + Map<String, List<CokingTraceEnergyDTO>> result = cokingTraceEnergyService.list(params); + return success(result); + } + + @GetMapping("/trace-suggest/list") + @Operation(summary = "焦化工序-异常溯源及优化建议") + public CommonResult<List<CokingTraceSuggestDTO>> getTraceSuggestList(@RequestParam Map<String, Object> params) { + List<CokingTraceSuggestEntity> list = cokingTraceSuggestService.list(params); + return success(ConvertUtils.sourceToTarget(list, CokingTraceSuggestDTO.class)); + } + + @GetMapping("/trace-ind/list") + @Operation(summary = "焦化工序-异常溯源指标") + public CommonResult<List<CokingTraceIndDTO>> getTraceIndList(@RequestParam Map<String, Object> params) { + List<CokingTraceIndEntity> list = cokingTraceIndService.list(params); + return success(ConvertUtils.sourceToTarget(list, CokingTraceIndDTO.class)); + } + + @GetMapping("/trace-deviation/list") + @Operation(summary = "焦化工序-异常溯源影响因素偏差值") + public CommonResult<List<CokingTraceDeviationDTO>> getTraceDeviationList(@RequestParam Map<String, Object> params) { + List<CokingTraceDeviationEntity> list = cokingTraceDeviationService.list(params); + return success(ConvertUtils.sourceToTarget(list, CokingTraceDeviationDTO.class)); + } + + @GetMapping("/trace-chart/list") + @Operation(summary = "焦化工序-异常溯源折线图") + public CommonResult<List<CokingTraceChartDTO>> getCokingTraceChartList(@RequestParam Map<String, Object> params) { + List<CokingTraceChartEntity> list = cokingTraceChartService.list(params); + List<CokingTraceChartDTO> result = new ArrayList<>(); + if (CollectionUtils.isEmpty(list)) { + return success(result); + } + for (CokingTraceChartEntity entity : list) { + CokingTraceChartDTO dto = ConvertUtils.sourceToTarget(entity, CokingTraceChartDTO.class); + List<Object[]> dataList = new ArrayList<>(); + switch (ProcessConfDataTypeEnum.getEumByCode(entity.getDataType())) { + case DATAPOINT: + ApiPointValueQueryDTO queryParams1 = new ApiPointValueQueryDTO(); + queryParams1.setPointNo(entity.getDataNo()); + queryParams1.setStart(entity.getStartTime()); + queryParams1.setEnd(entity.getEndTime()); + List<ApiPointValueDTO> pointHisValue = dataPointApi.queryPointHistoryValue(queryParams1); + pointHisValue.forEach(item -> { + Object[] values = new Object[2]; + values[0] = DateUtils.format(item.getT(), DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND); + values[1] = new BigDecimal(item.getV()).setScale(3, BigDecimal.ROUND_HALF_UP); + dataList.add(values); + }); + break; + case IND: + ApiIndItemQueryDTO queryParams2 = new ApiIndItemQueryDTO(); + queryParams2.setItemNo(entity.getDataNo()); + queryParams2.setStart(entity.getStartTime()); + queryParams2.setEnd(entity.getEndTime()); + List<ApiIndItemValueDTO> indValues = indItemApi.queryIndItemHistoryValue(queryParams2); + indValues.forEach(item -> { + Object[] values = new Object[2]; + values[0] = item.getDataTime(); + values[1] = item.getDataValue(); + dataList.add(values); + }); + break; + default: + break; + } + dto.setDataList(dataList); + } return success(result); } } \ No newline at end of file -- Gitblit v1.9.3