2 天以前 | liriming | ![]() |
2 天以前 | liriming | ![]() |
2 天以前 | dengzedong | ![]() |
2 天以前 | 潘志宝 | ![]() |
2 天以前 | 潘志宝 | ![]() |
2 天以前 | dengzedong | ![]() |
2 天以前 | dengzedong | ![]() |
2 天以前 | 潘志宝 | ![]() |
2 天以前 | 潘志宝 | ![]() |
2 天以前 | 潘志宝 | ![]() |
2 天以前 | 潘志宝 | ![]() |
2 天以前 | 潘志宝 | ![]() |
2 天以前 | 潘志宝 | ![]() |
2 天以前 | dengzedong | ![]() |
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/CokingController.java
@@ -187,12 +187,13 @@ 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 clock = DateUtils.format(calendar.getTime(), "yyyy-MM-dd"); CokingAnalyIndEntity analyInd = cokingAnalyIndService.get(TraceProcessTypeEnum.getEumByCode(processType).getProcess(), clock); 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); @@ -209,12 +210,13 @@ 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 clock = DateUtils.format(calendar.getTime(), "yyyy-MM-dd"); CokingAnalyIndEntity analyInd = cokingAnalyIndService.get(TraceProcessTypeEnum.getEumByCode(processType).getProcess(), clock); 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); @@ -231,12 +233,13 @@ 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 clock = DateUtils.format(calendar.getTime(), "yyyy-MM-dd"); CokingAnalyIndEntity analyInd = cokingAnalyIndService.get(TraceProcessTypeEnum.getEumByCode(processType).getProcess(), clock); 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); @@ -251,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)) { ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/GasController.java
@@ -2,6 +2,7 @@ import com.iailab.framework.common.pojo.CommonResult; import com.iailab.module.ansteel.api.dto.PowerNetFactorDTO; import com.iailab.module.ansteel.api.dto.PreDataViewSimpleDTO; import com.iailab.module.ansteel.gas.entity.GasPredConfEntity; import com.iailab.module.ansteel.gas.service.GasPredConfService; import com.iailab.module.ansteel.power.entity.PowerNetFactorEntity; @@ -33,7 +34,7 @@ @GetMapping("/pred-conf/list") @Operation(summary = "煤气预测配置") public CommonResult<List<GasPredConfEntity>> getGasPredConfList(@RequestParam Map<String, Object> params) { public CommonResult<List<PreDataViewSimpleDTO>> getGasPredConfList(@RequestParam Map<String, Object> params) { return CommonResult.success(gasPredConfService.list(params)); } } ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/ModelController.java
@@ -209,13 +209,13 @@ for (String adviceCode : demandAdviceCodeList) { if (data.get(adviceCode) != null) { demandAdviceList.add(DecimalUtil.toPowerTransferDetRespVO(demandAdviceCodeMap.get(adviceCode).getParamName(), data.get(adviceCode))); demandAdviceList.add(DecimalUtil.toPowerTransferDetRespVO(adviceCode, demandAdviceCodeMap.get(adviceCode).getParamName(), data.get(adviceCode))); } } result.setDemandAdviceList(demandAdviceList); for (String adviceCode : gasAdviceCodeList) { if (data.get(adviceCode) != null) { gasAdviceList.add(DecimalUtil.toPowerTransferDetRespVO(gasAdviceCodeMap.get(adviceCode).getParamName(), data.get(adviceCode))); gasAdviceList.add(DecimalUtil.toPowerTransferDetRespVO(adviceCode, gasAdviceCodeMap.get(adviceCode).getParamName(), data.get(adviceCode))); } } result.setGasAdviceList(gasAdviceList); ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dto/PreDataViewSimpleDTO.java
@@ -33,5 +33,17 @@ private List<Object[]> realData; @Schema(description = "T+L预测值") private List<Object[]> preDataL; @Schema(description = "T+N预测值") private List<Object[]> preDataN; @Schema(description = "累计真实值") private List<Object[]> cumulantRealData; @Schema(description = "累计预测值") private List<Object[]> cumulantPreData; @Schema(description = "类型") private Integer lineType; } ansteel-biz/src/main/java/com/iailab/module/ansteel/api/service/impl/DataServiceImpl.java
@@ -529,18 +529,21 @@ @Override public List<PreDataViewSimpleDTO> getPreDataByOutIds(PreDataBarLineReqVO reqVO) { PreDataBarLineRespVO preDataBarLineRespVO = mcsApi.getPreDataCharts(reqVO); String predictTime = DateUtils.format(preDataBarLineRespVO.getPredictTime(), DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND); // String predictTime = DateUtils.format(preDataBarLineRespVO.getPredictTime(), DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND); List<PreDataViewSimpleDTO> preDataViewSimpleDTOList = new ArrayList<>(); preDataBarLineRespVO.getDataViewList().forEach(item -> { PreDataViewSimpleDTO preDataViewSimpleDTO = new PreDataViewSimpleDTO(); preDataViewSimpleDTO.setItemName(item.getResultName()); preDataViewSimpleDTO.setPredictTime(preDataBarLineRespVO.getPredictTime()); preDataViewSimpleDTO.setCurData(item.getCurData()); preDataViewSimpleDTO.setRealData(item.getRealData()); preDataViewSimpleDTO.setPreDataN(item.getPreDataN().stream() .filter(data -> !(DateUtils.parse(data[0].toString(), DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)).after(preDataBarLineRespVO.getPredictTime())) .collect(Collectors.toList())); preDataViewSimpleDTO.setPreDataL(item.getPreDataL()); preDataViewSimpleDTO.setPreDataN(item.getPreDataN()); preDataViewSimpleDTO.setCumulantRealData(item.getCumulantRealData()); preDataViewSimpleDTO.setCumulantPreData(item.getCumulantPreData()); preDataViewSimpleDTOList.add(preDataViewSimpleDTO); }); return preDataViewSimpleDTOList; ansteel-biz/src/main/java/com/iailab/module/ansteel/common/utils/DecimalUtil.java
@@ -38,11 +38,12 @@ return DecimalUtil.toBigDecimal(obj); } public static PowerTransferDetRespVO toPowerTransferDetRespVO(String title, Object o) { public static PowerTransferDetRespVO toPowerTransferDetRespVO(String adviceCode, String title, Object o) { PowerTransferDetRespVO respVO = new PowerTransferDetRespVO(); if (o == null) { return null; } respVO.setAdviceCode(adviceCode); respVO.setTitle(title); respVO.setStart(toBigDecimal(o, 0).intValue()); respVO.setMins(toBigDecimal(o, 1).intValue()); ansteel-biz/src/main/java/com/iailab/module/ansteel/gas/entity/GasPredConfEntity.java
@@ -61,4 +61,8 @@ * 排序 */ private String sort; /** * 类型 */ private Integer lineType; } ansteel-biz/src/main/java/com/iailab/module/ansteel/gas/service/GasPredConfService.java
@@ -1,5 +1,6 @@ package com.iailab.module.ansteel.gas.service; import com.iailab.module.ansteel.api.dto.PreDataViewSimpleDTO; import com.iailab.module.ansteel.gas.entity.GasPredConfEntity; import java.util.List; @@ -11,5 +12,5 @@ * @createTime 2025年05月07日 */ public interface GasPredConfService { List<GasPredConfEntity> list(Map<String, Object> params); List<PreDataViewSimpleDTO> list(Map<String, Object> params); } ansteel-biz/src/main/java/com/iailab/module/ansteel/gas/service/impl/GasPredConfServiceImpl.java
@@ -1,16 +1,26 @@ package com.iailab.module.ansteel.gas.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.iailab.module.ansteel.api.dto.PreDataViewSimpleDTO; import com.iailab.module.ansteel.gas.dao.GasPredConfDao; import com.iailab.module.ansteel.gas.entity.GasPredConfEntity; import com.iailab.module.ansteel.gas.service.GasPredConfService; import com.iailab.module.model.api.mcs.McsApi; import com.iailab.module.model.api.mcs.dto.PreDataBarLineReqVO; import com.iailab.module.model.api.mcs.dto.PreDataBarLineRespVO; import com.iailab.module.model.api.mcs.dto.PreDataViewRespDTO; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.function.Function; import java.util.stream.Collectors; /** * @author dyk @@ -23,14 +33,45 @@ @Resource private GasPredConfDao gasPredConfDao; @Autowired private McsApi mcsApi; @Override public List<GasPredConfEntity> list(Map<String, Object> params) { public List<PreDataViewSimpleDTO> list(Map<String, Object> params) { String chartCode = (String) params.get("chartCode"); QueryWrapper<GasPredConfEntity> queryWrapper = new QueryWrapper<>(); queryWrapper.eq(StringUtils.isNotBlank(chartCode), "chart_code", chartCode); queryWrapper.orderByAsc("sort"); return gasPredConfDao.selectList(queryWrapper); List<GasPredConfEntity> gasPredConfEntities = gasPredConfDao.selectList(queryWrapper); if (CollectionUtils.isEmpty(gasPredConfEntities)) { return new ArrayList<>(); } PreDataBarLineReqVO reqVO = new PreDataBarLineReqVO(); reqVO.setOutIds(gasPredConfEntities.stream().map(GasPredConfEntity::getOutId).collect(Collectors.toList())); PreDataBarLineRespVO preDataBarLineRespVO = mcsApi.getPreDataCharts(reqVO); List<PreDataViewSimpleDTO> preDataViewSimpleDTOList = new ArrayList<>(); Map<String, PreDataViewRespDTO> resultMap = preDataBarLineRespVO.getDataViewList().stream().collect(Collectors.toMap(PreDataViewRespDTO::getOutId, Function.identity(), (e1, e2) -> e1)); for (GasPredConfEntity config : gasPredConfEntities) { if (resultMap.containsKey(config.getOutId())) { PreDataViewRespDTO result = resultMap.get(config.getOutId()); PreDataViewSimpleDTO preDataViewSimpleDTO = new PreDataViewSimpleDTO(); preDataViewSimpleDTO.setItemName(config.getOutName()); preDataViewSimpleDTO.setPredictTime(preDataBarLineRespVO.getPredictTime()); preDataViewSimpleDTO.setLineType(config.getLineType()); preDataViewSimpleDTO.setCurData(result.getCurData()); preDataViewSimpleDTO.setRealData(result.getRealData()); preDataViewSimpleDTO.setPreDataL(result.getPreDataL()); preDataViewSimpleDTO.setPreDataN(result.getPreDataN()); preDataViewSimpleDTO.setCumulantRealData(result.getCumulantRealData()); preDataViewSimpleDTO.setCumulantPreData(result.getCumulantPreData()); preDataViewSimpleDTOList.add(preDataViewSimpleDTO); } } return preDataViewSimpleDTOList; } } ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunOnPowerOptimTask.java
@@ -57,10 +57,12 @@ logger.info("RunOnPowerOptimTask定时任务正在执行,参数为:{}", params); try { // 查询配置参数 // 触发频率 Integer cfpl = Integer.parseInt(pageParamService.getValue("")); // 有功上网溯源触发频率 Integer cfpl = Integer.parseInt(pageParamService.getValue("P0001")); logger.info("cfpl:{}", cfpl); // 望铁关口触发边界 Double wtbj = Double.parseDouble(pageParamService.getValue("")); Double wtbj = Double.parseDouble(pageParamService.getValue("P0002")); logger.info("wtbj:{}", wtbj); Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.MILLISECOND, 0); doc/设计文档/鲅鱼圈钢铁分公司能源管控智能化提升项目-接口设计说明书(模版).docBinary files differ
doc/设计文档/鲅鱼圈钢铁分公司能源管控智能化提升项目-数据库设计(模版).docxBinary files differ
doc/设计文档/鲅鱼圈钢铁分公司能源管控智能化提升项目-概要设计(模版).docBinary files differ
doc/设计文档/鲅鱼圈钢铁分公司能源管控智能化提升项目-详细设计说明书(模版).docBinary files differ
doc/设计文档/鲅鱼圈钢铁分公司能源管控智能化提升项目-需求分析说明书(模版).docxBinary files differ
doc/鞍钢数据接口文档_dev_deng.docBinary files differ
doc/鞍钢数据接口文档_master.docBinary files differ