From 3420c1e93b9af68ef2b8b4de6af6e59c7b9a5e2f Mon Sep 17 00:00:00 2001 From: 潘志宝 <979469083@qq.com> Date: 星期三, 23 四月 2025 17:29:28 +0800 Subject: [PATCH] 生产指标增加字段 indCode --- ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingChildDayTask.java | 119 ++++++++++++++++++++++++++++++----------------------------- 1 files changed, 61 insertions(+), 58 deletions(-) diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingChildDayTask.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingChildDayTask.java index e558a04..a1adf38 100644 --- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingChildDayTask.java +++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingChildDayTask.java @@ -11,6 +11,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; +import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import java.util.*; @@ -48,65 +49,67 @@ CokingProcessConfEntity queryParams = new CokingProcessConfEntity(); queryParams.setIndType("child"); List<CokingProcessConfEntity> list = cokingProcessConfService.list(queryParams); - if (ObjectUtils.isNotEmpty(list)) { - // 先建立ext1到sort的映射关系 - Map<String, Integer> ext1ToSort = list.stream() - .collect(Collectors.toMap( - CokingProcessConfEntity::getExt1, - CokingProcessConfEntity::getSort, - (oldValue, newValue) -> oldValue)); - - // 然后按这个关系排序分组 - Map<String, List<CokingProcessConfEntity>> groupMap = list.stream() - .sorted(Comparator.comparing(CokingProcessConfEntity::getSort)) - .collect(Collectors.collectingAndThen( - Collectors.groupingBy(CokingProcessConfEntity::getExt1), - map -> map.entrySet().stream() - .sorted(Comparator.comparingInt( - e -> ext1ToSort.get(e.getKey()))) // 按ext1对应的sort值排序 - .collect(Collectors.toMap( - Map.Entry::getKey, - Map.Entry::getValue, - (a, b) -> a, - LinkedHashMap::new)))); - - logger.info("清理旧数据"); - cokingProcessChildService.deleteByClock(clock); - - AtomicReference<Integer> counter = new AtomicReference<>(1); - groupMap.forEach((group, confList) -> { - CokingProcessChildEntity cokingProcessChildEntity = new CokingProcessChildEntity(); - cokingProcessChildEntity.setInfoType("0"); - cokingProcessChildEntity.setSort(counter.getAndSet(counter.get() + 1)); - cokingProcessChildEntity.setCategory("day"); - cokingProcessChildEntity.setClock(clock); - CokingProcessConfEntity childConf = confList.get(0); - cokingProcessChildEntity.setIndType(childConf.getExt3()); - cokingProcessChildEntity.setIndMain(childConf.getExt4()); - cokingProcessChildEntity.setIndName(childConf.getExt5()); - confList.forEach(conf -> { - List<String> points = new ArrayList<>(); - points.add(conf.getPointNo()); - Map<String, Object> stringObjectMap = dataPointApi.queryPointsRealValue(points); - //保存数据 - Object value = stringObjectMap.get(conf.getPointNo()); - if(ObjectUtils.isNotEmpty(value)) { - if(conf.getExt2().equals(ProcessIndDataTypeEnum.LSPJ.getCode())) { - cokingProcessChildEntity.setAvgValue(value.toString()); - } else if(conf.getExt2().equals(ProcessIndDataTypeEnum.LLZ.getCode())) { - cokingProcessChildEntity.setTheoryValue(value.toString()); - } else if(conf.getExt2().equals(ProcessIndDataTypeEnum.SJZ.getCode())) { - cokingProcessChildEntity.setActualValue(value.toString()); - } else if(conf.getExt2().equals(ProcessIndDataTypeEnum.JZZ.getCode())) { - cokingProcessChildEntity.setStandValue(value.toString()); - } else if(conf.getExt2().equals(ProcessIndDataTypeEnum.SSSJ.getCode())) { - cokingProcessChildEntity.setRealValue(value.toString()); - } - } - }); - cokingProcessChildService.save(cokingProcessChildEntity); - }); + if (CollectionUtils.isEmpty(list)) { + logger.info("子工序配置为空"); + return; } + // 先建立ext1到sort的映射关系 + Map<String, Integer> ext1ToSort = list.stream() + .collect(Collectors.toMap( + CokingProcessConfEntity::getExt1, + CokingProcessConfEntity::getSort, + (oldValue, newValue) -> oldValue)); + + // 然后按这个关系排序分组 + Map<String, List<CokingProcessConfEntity>> groupMap = list.stream() + .sorted(Comparator.comparing(CokingProcessConfEntity::getSort)) + .collect(Collectors.collectingAndThen( + Collectors.groupingBy(CokingProcessConfEntity::getExt1), + map -> map.entrySet().stream() + .sorted(Comparator.comparingInt( + e -> ext1ToSort.get(e.getKey()))) // 按ext1对应的sort值排序 + .collect(Collectors.toMap( + Map.Entry::getKey, + Map.Entry::getValue, + (a, b) -> a, + LinkedHashMap::new)))); + + logger.info("清理旧数据"); + cokingProcessChildService.deleteByClock(clock); + + AtomicReference<Integer> counter = new AtomicReference<>(1); + groupMap.forEach((group, confList) -> { + CokingProcessChildEntity cokingProcessChildEntity = new CokingProcessChildEntity(); + cokingProcessChildEntity.setInfoType("0"); + cokingProcessChildEntity.setSort(counter.getAndSet(counter.get() + 1)); + cokingProcessChildEntity.setCategory("day"); + cokingProcessChildEntity.setClock(clock); + CokingProcessConfEntity childConf = confList.get(0); + cokingProcessChildEntity.setIndType(childConf.getExt3()); + cokingProcessChildEntity.setIndMain(childConf.getExt4()); + cokingProcessChildEntity.setIndName(childConf.getExt5()); + confList.forEach(conf -> { + List<String> points = new ArrayList<>(); + points.add(conf.getPointNo()); + Map<String, Object> stringObjectMap = dataPointApi.queryPointsRealValue(points); + //保存数据 + Object value = stringObjectMap.get(conf.getPointNo()); + if(ObjectUtils.isNotEmpty(value)) { + if(conf.getExt2().equals(ProcessIndDataTypeEnum.LSPJ.getCode())) { + cokingProcessChildEntity.setAvgValue(value.toString()); + } else if(conf.getExt2().equals(ProcessIndDataTypeEnum.LLZ.getCode())) { + cokingProcessChildEntity.setTheoryValue(value.toString()); + } else if(conf.getExt2().equals(ProcessIndDataTypeEnum.SJZ.getCode())) { + cokingProcessChildEntity.setActualValue(value.toString()); + } else if(conf.getExt2().equals(ProcessIndDataTypeEnum.JZZ.getCode())) { + cokingProcessChildEntity.setStandValue(value.toString()); + } else if(conf.getExt2().equals(ProcessIndDataTypeEnum.SSSJ.getCode())) { + cokingProcessChildEntity.setRealValue(value.toString()); + } + } + }); + cokingProcessChildService.save(cokingProcessChildEntity); + }); } catch (Exception ex) { logger.error("RunCokingChildDayTask运行异常"); -- Gitblit v1.9.3