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/coking/dto/CokingTraceChartDTO.java | 11 +---- ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java | 2 ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/service/impl/CokingTraceDeviationServiceImpl.java | 5 ++ ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/CokingController.java | 84 ++++++++++++++++++++++++++++++++++++++--- ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/dto/CokingTraceDeviationDTO.java | 4 +- 5 files changed, 87 insertions(+), 19 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 e945f45..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,23 +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.CokingTraceIndDTO; -import com.iailab.module.ansteel.coking.dto.CokingTraceSuggestDTO; +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; @@ -60,6 +68,15 @@ @Autowired private CokingTraceDeviationService cokingTraceDeviationService; + @Autowired + private CokingTraceChartService cokingTraceChartService; + + @Resource + private DataPointApi dataPointApi; + + @Resource + private IndItemApi indItemApi; + @GetMapping("/analy-ind/list") @Operation(summary = "焦化工序-指标分析") public CommonResult<List<CokingAnalyIndDTO>> getCokingAnalyIndList(@RequestParam Map<String, Object> params) { @@ -98,8 +115,8 @@ @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); } @@ -116,4 +133,57 @@ 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 diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java index 6a820f5..5469334 100644 --- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java +++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java @@ -417,7 +417,7 @@ data.add(value); dataList.add(data); } - List<String> categories = DateUtils.getTimeScale(start, end, 5); + List<String> categories = DateUtils.getTimeScale(start, end, 60); result.setCategories(categories); result.setDataList(dataList); diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/dto/CokingTraceChartDTO.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/dto/CokingTraceChartDTO.java index e987a39..502881d 100644 --- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/dto/CokingTraceChartDTO.java +++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/dto/CokingTraceChartDTO.java @@ -4,7 +4,7 @@ import lombok.Data; import java.io.Serializable; -import java.util.Date; +import java.util.List; /** @@ -30,14 +30,9 @@ @Schema(description = "查询时间") private String clock; - @Schema(description = "值") - private String valueJson; + @Schema(description = "图表数据") + private List<Object[]> dataList; - @Schema(description = "排序") - private Integer sort; - - @Schema(description = "创建时间") - private Date createDate; } \ No newline at end of file diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/dto/CokingTraceDeviationDTO.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/dto/CokingTraceDeviationDTO.java index 4af9c82..2014f4e 100644 --- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/dto/CokingTraceDeviationDTO.java +++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/dto/CokingTraceDeviationDTO.java @@ -8,13 +8,13 @@ /** - * 焦化工序影响因数偏差值 + * 焦化工序影响因素偏差值 * * @author lirm ${email} * @since 1.0.0 2025-04-16 */ @Data -@Schema(description = "焦化工序影响因数偏差值") +@Schema(description = "焦化工序影响因素偏差值") public class CokingTraceDeviationDTO implements Serializable { private static final long serialVersionUID = 1L; diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/service/impl/CokingTraceDeviationServiceImpl.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/service/impl/CokingTraceDeviationServiceImpl.java index 955820f..d4f6f27 100644 --- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/service/impl/CokingTraceDeviationServiceImpl.java +++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/service/impl/CokingTraceDeviationServiceImpl.java @@ -4,6 +4,7 @@ import com.iailab.module.ansteel.coking.dao.CokingTraceDeviationDao; import com.iailab.module.ansteel.coking.entity.CokingTraceDeviationEntity; import com.iailab.module.ansteel.coking.service.CokingTraceDeviationService; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -25,9 +26,11 @@ @Override public List<CokingTraceDeviationEntity> list(Map<String, Object> params) { String relId = (String) params.get("relId"); + String sugObj = (String) params.get("sugObj"); QueryWrapper<CokingTraceDeviationEntity> queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("rel_id", relId); + queryWrapper.eq("rel_id", relId) + .eq(StringUtils.isNotBlank(sugObj),"sug_obj", sugObj); return cokingTraceDeviationDao.selectList(new QueryWrapper<>()); } -- Gitblit v1.9.3