From d99504a92ccc6d96a2436dbcf461a6259bffd7ea Mon Sep 17 00:00:00 2001 From: 潘志宝 <979469083@qq.com> Date: 星期二, 06 五月 2025 07:18:24 +0800 Subject: [PATCH] 溯源查询接口增加 processType --- ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/service/CokingAnalyIndService.java | 2 + ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/service/impl/CokingAnalyIndServiceImpl.java | 17 +++++++- ansteel-biz/src/main/java/com/iailab/module/ansteel/common/enums/TraceProcessTypeEnum.java | 31 +++++++++++++++ ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/CokingController.java | 46 +++++++++++++++++++++++ 4 files changed, 94 insertions(+), 2 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 384e390..1666392 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; @@ -196,6 +197,21 @@ @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)); } @@ -203,6 +219,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)); } @@ -210,6 +241,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)); } diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/service/CokingAnalyIndService.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/service/CokingAnalyIndService.java index a79086f..b976c6a 100644 --- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/service/CokingAnalyIndService.java +++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/service/CokingAnalyIndService.java @@ -14,6 +14,8 @@ List<CokingAnalyIndEntity> list(Map<String, Object> params); + CokingAnalyIndEntity get(String analyType, String analyDate); + void save(List<CokingAnalyIndEntity> entityList); void delete(String analyType, String analyDate); diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/service/impl/CokingAnalyIndServiceImpl.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/service/impl/CokingAnalyIndServiceImpl.java index 58c9d7f..cc7dce3 100644 --- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/service/impl/CokingAnalyIndServiceImpl.java +++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/service/impl/CokingAnalyIndServiceImpl.java @@ -37,6 +37,21 @@ } @Override + public CokingAnalyIndEntity get(String analyType, String analyDate) { + QueryWrapper<CokingAnalyIndEntity> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("analy_type", analyType) + .eq("analy_date", analyDate) + .orderByDesc("analy_date"); + + List<CokingAnalyIndEntity> list = cokingAnalyIndDao.selectList(queryWrapper); + if (list != null && list.size() > 0) { + return list.get(0); + } else { + return null; + } + } + + @Override public void save(List<CokingAnalyIndEntity> entityList) { cokingAnalyIndDao.insert(entityList); } @@ -47,8 +62,6 @@ queryWrapper.eq("analy_type", analyType) .eq("analy_date", analyDate); cokingAnalyIndDao.delete(queryWrapper); - - } @Override diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/common/enums/TraceProcessTypeEnum.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/common/enums/TraceProcessTypeEnum.java new file mode 100644 index 0000000..774c573 --- /dev/null +++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/common/enums/TraceProcessTypeEnum.java @@ -0,0 +1,31 @@ +package com.iailab.module.ansteel.common.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import org.apache.commons.lang3.StringUtils; + +@Getter +@AllArgsConstructor +public enum TraceProcessTypeEnum { + + BM("BM", "备煤工序"), + LJ("LJ", "炼焦"), + GXJ("GXJ", "干熄焦"), + HC("HC", "化产"), + UNKNOW("unkuow", "未知"); + + private String code; + private String process; + + public static TraceProcessTypeEnum getEumByCode(String code) { + if (StringUtils.isBlank(code)) { + return UNKNOW; + } + for (TraceProcessTypeEnum statusEnum : TraceProcessTypeEnum.values()) { + if (statusEnum.getCode().equals(code.trim().toUpperCase())) { + return statusEnum; + } + } + return UNKNOW; + } +} -- Gitblit v1.9.3