ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/dto/CokingTraceDeviationDTO.java
@@ -27,6 +27,9 @@ @Schema(description = "工序名称") private String process; @Schema(description = "建议对象") private String sugObj; @Schema(description = "查询时间") private String clock; ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/dto/CokingTraceSuggestDTO.java
@@ -27,6 +27,9 @@ @Schema(description = "工序名称") private String process; @Schema(description = "建议对象") private String sugObj; @Schema(description = "查询时间") private String clock; ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/entity/CokingAnalyIndEntity.java
@@ -1,5 +1,6 @@ package com.iailab.module.ansteel.coking.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -16,9 +17,11 @@ public class CokingAnalyIndEntity implements Serializable { private static final long serialVersionUID = 1L; @TableId @TableId(type = IdType.ASSIGN_UUID) private String id; private String relId; private String analyType; private String analyDate; ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/entity/CokingTraceChartEntity.java
@@ -1,5 +1,7 @@ package com.iailab.module.ansteel.coking.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -15,9 +17,7 @@ @TableName("t_coking_trace_chart") public class CokingTraceChartEntity { /** * id */ @TableId(type = IdType.ASSIGN_UUID) private String id; /** * 关联ID ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/entity/CokingTraceConfEntity.java
@@ -1,5 +1,7 @@ package com.iailab.module.ansteel.coking.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -15,9 +17,7 @@ @TableName("t_coking_trace_conf") public class CokingTraceConfEntity { /** * id */ @TableId(type = IdType.ASSIGN_UUID) private String id; /** * 信息类型(0:生产情况,1:能源发生,2:能源消耗) ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/entity/CokingTraceDataEntity.java
@@ -1,5 +1,7 @@ package com.iailab.module.ansteel.coking.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -15,9 +17,7 @@ @TableName("t_coking_trace_data") public class CokingTraceDataEntity { /** * id */ @TableId(type = IdType.ASSIGN_UUID) private String id; /** * 关联ID ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/entity/CokingTraceDeviationEntity.java
@@ -1,5 +1,7 @@ package com.iailab.module.ansteel.coking.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -15,9 +17,7 @@ @TableName("t_coking_trace_deviation") public class CokingTraceDeviationEntity { /** * id */ @TableId(type = IdType.ASSIGN_UUID) private String id; /** * 关联ID @@ -28,6 +28,10 @@ */ private String process; /** * 建议对象 */ private String sugObj; /** * 查询时间 */ private String clock; ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/entity/CokingTraceEnergyEntity.java
@@ -1,5 +1,7 @@ package com.iailab.module.ansteel.coking.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -16,9 +18,7 @@ @TableName("t_coking_trace_energy") public class CokingTraceEnergyEntity { /** * id */ @TableId(type = IdType.ASSIGN_UUID) private String id; /** * 关联ID ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/entity/CokingTraceReportEntity.java
@@ -1,5 +1,7 @@ package com.iailab.module.ansteel.coking.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -15,9 +17,7 @@ @TableName("t_coking_trace_report") public class CokingTraceReportEntity { /** * id */ @TableId private String id; /** * 工序名称 ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/entity/CokingTraceSuggestEntity.java
@@ -1,5 +1,7 @@ package com.iailab.module.ansteel.coking.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -15,9 +17,7 @@ @TableName("t_coking_trace_suggest") public class CokingTraceSuggestEntity { /** * id */ @TableId(type = IdType.ASSIGN_UUID) private String id; /** * 关联ID @@ -28,6 +28,10 @@ */ private String process; /** * 建议对象 */ private String sugObj; /** * 查询时间 */ private String clock; ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/service/CokingAnalyIndService.java
@@ -13,4 +13,6 @@ public interface CokingAnalyIndService { List<CokingAnalyIndEntity> list(Map<String, Object> params); void save(CokingAnalyIndEntity analyIndEntity); } ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/service/CokingTraceDeviationService.java
@@ -14,4 +14,6 @@ */ public interface CokingTraceDeviationService { List<CokingTraceDeviationEntity> list(Map<String, Object> params); void save(CokingTraceDeviationEntity deviationEntity); } ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/service/CokingTraceReportService.java
@@ -13,4 +13,6 @@ */ public interface CokingTraceReportService { List<CokingTraceReportEntity> list(Map<String, Object> params); void save(CokingTraceReportEntity reportEntity); } ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/service/CokingTraceSuggestService.java
@@ -13,4 +13,6 @@ */ public interface CokingTraceSuggestService { List<CokingTraceSuggestEntity> list(Map<String, Object> params); void save(CokingTraceSuggestEntity suggestEntity); } ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/service/impl/CokingAnalyIndServiceImpl.java
@@ -29,4 +29,9 @@ queryWrapper.orderByAsc("sort"); return cokingAnalyIndDao.selectList(queryWrapper); } @Override public void save(CokingAnalyIndEntity analyIndEntity) { cokingAnalyIndDao.insert(analyIndEntity); } } ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/service/impl/CokingTraceDeviationServiceImpl.java
@@ -26,4 +26,9 @@ public List<CokingTraceDeviationEntity> list(Map<String, Object> params) { return cokingTraceDeviationDao.selectList(new QueryWrapper<>()); } @Override public void save(CokingTraceDeviationEntity deviationEntity) { cokingTraceDeviationDao.insert(deviationEntity); } } ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/service/impl/CokingTraceReportServiceImpl.java
@@ -26,4 +26,9 @@ public List<CokingTraceReportEntity> list(Map<String, Object> params) { return cokingTraceReportDao.selectList(new QueryWrapper<>()); } @Override public void save(CokingTraceReportEntity reportEntity) { cokingTraceReportDao.insert(reportEntity); } } ansteel-biz/src/main/java/com/iailab/module/ansteel/coking/service/impl/CokingTraceSuggestServiceImpl.java
@@ -26,4 +26,9 @@ public List<CokingTraceSuggestEntity> list(Map<String, Object> params) { return cokingTraceSuggestDao.selectList(new QueryWrapper<>()); } @Override public void save(CokingTraceSuggestEntity suggestEntity) { cokingTraceSuggestDao.insert(suggestEntity); } } ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelTask.java
对比新文件 @@ -0,0 +1,145 @@ package com.iailab.module.ansteel.job.task; import com.iailab.framework.common.util.date.DateUtils; import com.iailab.module.ansteel.coking.entity.CokingAnalyIndEntity; import com.iailab.module.ansteel.coking.entity.CokingTraceDeviationEntity; import com.iailab.module.ansteel.coking.entity.CokingTraceReportEntity; import com.iailab.module.ansteel.coking.entity.CokingTraceSuggestEntity; import com.iailab.module.ansteel.coking.service.CokingAnalyIndService; import com.iailab.module.ansteel.coking.service.CokingTraceDeviationService; import com.iailab.module.ansteel.coking.service.CokingTraceReportService; import com.iailab.module.ansteel.coking.service.CokingTraceSuggestService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.util.*; /** * @author lirm * @Description * @createTime 2025年04月17日 */ @Component("runCokingTraceModelTask") public class RunCokingTraceModelTask implements ITask { private Logger logger = LoggerFactory.getLogger(getClass()); @Autowired private CokingTraceReportService cokingTraceReportService; @Autowired private CokingTraceSuggestService cokingTraceSuggestService; @Autowired private CokingTraceDeviationService cokingTraceDeviationService; @Autowired private CokingAnalyIndService cokingAnalyIndService; private static final HashMap<String, Object> sugObjMap = new HashMap<String, Object>() {{ put("1#", "1#干熄焦主蒸汽温度因装焦量、装焦温度偏低而降低13℃。经模型计算,建议调整XX,预计可使XX指标升高/降低XX"); put("2#", "2#干熄焦蒸汽发生量因空气导入量偏高、锅炉入口温度偏低而减少13t。经模型计算,建议调整XX,预计可使XX指标升高/降低XX\n"); }}; private static final HashMap<String, List<String>> deviationMap = new HashMap<String, List<String>>() {{ put("1", Arrays.asList("1#", "一级指标-偏差值", "主蒸汽温度", "13", "℃")); put("2", Arrays.asList("1#", "二级指标-偏差值", "装焦温度", "50", "℃")); put("3", Arrays.asList("1#", "影响因素1-偏差值", "CO含量", "5", "%")); put("4", Arrays.asList("1#", "影响因素2-偏差值", "H2含量", "4", "%")); put("5", Arrays.asList("2#", "一级指标-偏差值", "蒸汽产量", "15", "t")); put("6", Arrays.asList("2#", "二级指标-偏差值", "空气导入量", "350", "")); put("7", Arrays.asList("2#", "影响因素1-偏差值", "干熄炉入口温度", "30", "℃")); put("8", Arrays.asList("2#", "影响因素2-偏差值", "H2含量", "4", "%")); }}; @Override public void run(String params) { logger.info("RunCokingTraceModelTask,参数为:{}", params); try { Calendar calendar = Calendar.getInstance(); int hour = calendar.get(Calendar.HOUR_OF_DAY); String yesterday = DateUtils.format(DateUtils.addDateDays(new Date(), -1), DateUtils.FORMAT_YEAR_MONTH_DAY); String clock = ""; if (hour == 0) { clock = yesterday.concat("-").concat("A"); } else if (hour == 8) { clock = yesterday.concat("-").concat("B"); } else if (hour == 16) { clock = yesterday.concat("-").concat("C"); } Map<String, Object> tMap = new HashMap<>(); tMap.put("relId", UUID.randomUUID().toString()); tMap.put("process", "干熄焦工序"); tMap.put("reportName", "锅炉蒸汽产量"); tMap.put("analyDate", yesterday); tMap.put("analyClass", "甲班"); tMap.put("clock", clock); tMap.put("analyContent", "锅炉蒸汽产量异常"); saveTraceReport(tMap); saveTraceSuggest(tMap); saveTraceDeviation(tMap); saveTraceAnalyInd(tMap); } catch (Exception ex) { logger.error("RunCokingTraceModelTask运行异常"); ex.printStackTrace(); } logger.info("RunCokingTraceModelTask运行完成"); } private void saveTraceReport(Map<String, Object> tMap) { CokingTraceReportEntity reportEntity = new CokingTraceReportEntity(); reportEntity.setId(tMap.get("relId").toString()); reportEntity.setProcess(tMap.get("process").toString()); reportEntity.setReportName(tMap.get("reportName").toString()); reportEntity.setAnalyDate(tMap.get("analyDate").toString()); reportEntity.setAnalyClass(tMap.get("analyClass").toString()); reportEntity.setClock(tMap.get("clock").toString()); reportEntity.setAnalyContent(tMap.get("analyContent").toString()); reportEntity.setCreateDate(new Date()); cokingTraceReportService.save(reportEntity); } private void saveTraceSuggest(Map<String, Object> tMap) { for (Map.Entry<String, Object> entry : sugObjMap.entrySet()) { CokingTraceSuggestEntity suggestEntity = new CokingTraceSuggestEntity(); suggestEntity.setRelId(tMap.get("relId").toString()); suggestEntity.setProcess(tMap.get("process").toString()); suggestEntity.setSugObj(entry.getKey()); suggestEntity.setClock(tMap.get("clock").toString()); suggestEntity.setContent(entry.getValue().toString()); cokingTraceSuggestService.save(suggestEntity); } } private void saveTraceDeviation(Map<String, Object> tMap) { for (Map.Entry<String, List<String>> entry : deviationMap.entrySet()) { CokingTraceDeviationEntity deviationEntity = new CokingTraceDeviationEntity(); deviationEntity.setRelId(tMap.get("relId").toString()); deviationEntity.setProcess(tMap.get("process").toString()); deviationEntity.setSugObj(entry.getValue().get(0)); deviationEntity.setClock(tMap.get("clock").toString()); deviationEntity.setGroupName(entry.getValue().get(1)); deviationEntity.setIndName(entry.getValue().get(2)); deviationEntity.setIndValue(entry.getValue().get(3)); deviationEntity.setIndUnit(entry.getValue().get(4)); deviationEntity.setCreateDate(new Date()); cokingTraceDeviationService.save(deviationEntity); } } private void saveTraceAnalyInd(Map<String, Object> tMap) { CokingAnalyIndEntity analyIndEntity = new CokingAnalyIndEntity(); analyIndEntity.setRelId(tMap.get("relId").toString()); analyIndEntity.setAnalyType(tMap.get("process").toString()); analyIndEntity.setAnalyDate(tMap.get("analyDate").toString()); analyIndEntity.setAnalyClass(tMap.get("analyClass").toString()); analyIndEntity.setAnalyContent(tMap.get("analyContent").toString()); cokingAnalyIndService.save(analyIndEntity); } }