鞍钢鲅鱼圈能源管控系统后端代码
潘志宝
2 天以前 85acbcffcfb866fe7db01cedb34ef4b1a6490bae
ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunScheduleModuleTask.java
@@ -51,7 +51,7 @@
     * 煤气调度调整方向
     * 1:超上限;-1:超下限;0:正常
     */
    private static Map<String, Integer> gasAdjustMode = new HashMap<>();
    private static Map<String, BigDecimal> gasAdjustMode = new HashMap<>();
    /**
     * 煤气调度建议时间
@@ -130,8 +130,10 @@
            if (LdgCode.equals(params)) {
                // 调整速率
                String scheduleObjLDG = "LDG";
                Integer adjustValue = Integer.parseInt(mdkScheduleRespDTO.getResult().get(flag).toString());
                if (gasAdjustMode.containsKey(scheduleObjLDG) && gasAdjustMode.get(scheduleObjLDG).equals(adjustValue) &&
                BigDecimal adjustValue = new BigDecimal(mdkScheduleRespDTO.getResult().get(flag).toString());
                if (adjustValue.compareTo(BigDecimal.ZERO) == 0) {
                    logger.info("转炉实时调度建议 flag为0");
                }else if (gasAdjustMode.containsKey(scheduleObjLDG) && gasAdjustMode.get(scheduleObjLDG).equals(adjustValue) &&
                        gasLastSugTime.containsKey(scheduleObjLDG) && (calendar.getTime().getTime() - gasLastSugTime.get(scheduleObjLDG).getTime() <= mdkScheduleRespDTO.getAdjustRate().longValue() * 60 * 1000)) {
                    logger.info("转炉实时调度建议在有效期内");
                } else {
@@ -150,9 +152,10 @@
                            logger.error("转炉实时调度建议保存失败");
                        }
                    }
                    // 更新调整速率
                    gasAdjustMode.put(scheduleObjLDG, adjustValue);
                    gasLastSugTime.put(scheduleObjLDG, calendar.getTime());
                }
                gasAdjustMode.put(scheduleObjLDG, adjustValue);
                gasLastSugTime.put(scheduleObjLDG, calendar.getTime());
                // 预警
                Object earlywarning = mdkScheduleRespDTO.getResult().get(warningKey);
                if (earlywarning != null && StringUtils.isNotBlank(earlywarning.toString())) {
@@ -174,8 +177,10 @@
            if (CogCode.equals(params)) {
                // 调整速率
                String scheduleObjCOG = "COG";
                Integer adjustValue = Integer.parseInt(mdkScheduleRespDTO.getResult().get(flag).toString());
                if (gasAdjustMode.containsKey(scheduleObjCOG) && gasAdjustMode.get(scheduleObjCOG).equals(adjustValue) &&
                BigDecimal adjustValue = new BigDecimal(mdkScheduleRespDTO.getResult().get(flag).toString());
                if (adjustValue.compareTo(BigDecimal.ZERO) == 0) {
                    logger.info("焦炉实时调度建议 flag为0");
                }else if (gasAdjustMode.containsKey(scheduleObjCOG) && gasAdjustMode.get(scheduleObjCOG).equals(adjustValue) &&
                        gasLastSugTime.containsKey(scheduleObjCOG) && (calendar.getTime().getTime() - gasLastSugTime.get(scheduleObjCOG).getTime() <= mdkScheduleRespDTO.getAdjustRate().longValue() * 60 * 1000)) {
                    logger.info("焦炉实时调度建议在有效期内");
                }else {
@@ -187,6 +192,7 @@
                        suggestDto.setContent(suggestion.toString());
                        suggestDto.setScheduleObj(scheduleObjCOG);
                        suggestDto.setScheduleTime(dto.getScheduleTime());
                        suggestDto.setSort(1);
                        suggestDto.setCreateTime(new Date());
                        if (mcsApi.createScheduleSuggest(suggestDto)) {
                            logger.info("焦炉实时调度建议{" + suggestion + "}保存成功");
@@ -197,10 +203,11 @@
                    suggestion = mdkScheduleRespDTO.getResult().get(guiweiRate);
                    if (suggestion != null && StringUtils.isNotBlank(suggestion.toString())) {
                        ScheduleSuggestRespDTO suggestDto = new ScheduleSuggestRespDTO();
                        suggestDto.setTitle("焦炉实时调度建议");
                        suggestDto.setTitle("焦炉煤气柜柜位");
                        suggestDto.setContent(suggestion.toString());
                        suggestDto.setScheduleObj(scheduleObjCOG);
                        suggestDto.setScheduleTime(dto.getScheduleTime());
                        suggestDto.setSort(2);
                        suggestDto.setCreateTime(new Date());
                        if (mcsApi.createScheduleSuggest(suggestDto)) {
                            logger.info("焦炉实时调度建议{" + suggestion + "}保存成功");
@@ -211,10 +218,11 @@
                    suggestion = mdkScheduleRespDTO.getResult().get(gas);
                    if (suggestion != null && StringUtils.isNotBlank(suggestion.toString())) {
                        ScheduleSuggestRespDTO suggestDto = new ScheduleSuggestRespDTO();
                        suggestDto.setTitle("焦炉实时调度建议");
                        suggestDto.setTitle("焦炉煤气富余量");
                        suggestDto.setContent(suggestion.toString());
                        suggestDto.setScheduleObj(scheduleObjCOG);
                        suggestDto.setScheduleTime(dto.getScheduleTime());
                        suggestDto.setSort(3);
                        suggestDto.setCreateTime(new Date());
                        if (mcsApi.createScheduleSuggest(suggestDto)) {
                            logger.info("焦炉实时调度建议{" + suggestion + "}保存成功");
@@ -222,6 +230,9 @@
                            logger.error("焦炉实时调度建议保存失败");
                        }
                    }
                    // 更新调整速率
                    gasAdjustMode.put(scheduleObjCOG, adjustValue);
                    gasLastSugTime.put(scheduleObjCOG, calendar.getTime());
                }
                // 预警
@@ -263,8 +274,10 @@
            if (BfgCode.equals(params)) {
                // 调整速率
                String scheduleObjBFG = "BFG";
                Integer adjustValue = Integer.parseInt(mdkScheduleRespDTO.getResult().get(flag).toString());
                if (gasAdjustMode.containsKey(scheduleObjBFG) && gasAdjustMode.get(scheduleObjBFG).equals(adjustValue) &&
                BigDecimal adjustValue = new BigDecimal(mdkScheduleRespDTO.getResult().get(flag).toString());
                if (adjustValue.compareTo(BigDecimal.ZERO) == 0) {
                    logger.info("高炉实时调度建议 flag为0");
                }else if (gasAdjustMode.containsKey(scheduleObjBFG) && gasAdjustMode.get(scheduleObjBFG).equals(adjustValue) &&
                        gasLastSugTime.containsKey(scheduleObjBFG) && (calendar.getTime().getTime() - gasLastSugTime.get(scheduleObjBFG).getTime() <= mdkScheduleRespDTO.getAdjustRate().longValue() * 60 * 1000)) {
                    logger.info("高炉实时调度建议在有效期内");
                }else {
@@ -276,6 +289,7 @@
                        suggestDto.setContent(suggestion.toString());
                        suggestDto.setScheduleObj(scheduleObjBFG);
                        suggestDto.setScheduleTime(dto.getScheduleTime());
                        suggestDto.setSort(1);
                        suggestDto.setCreateTime(new Date());
                        if (mcsApi.createScheduleSuggest(suggestDto)) {
                            logger.info("高炉实时调度建议{" + suggestion + "}保存成功");
@@ -286,10 +300,11 @@
                    suggestion = mdkScheduleRespDTO.getResult().get(guiweiRate);
                    if (suggestion != null && StringUtils.isNotBlank(suggestion.toString())) {
                        ScheduleSuggestRespDTO suggestDto = new ScheduleSuggestRespDTO();
                        suggestDto.setTitle("高炉实时调度建议");
                        suggestDto.setTitle("高炉煤气柜柜位");
                        suggestDto.setContent(suggestion.toString());
                        suggestDto.setScheduleObj(scheduleObjBFG);
                        suggestDto.setScheduleTime(dto.getScheduleTime());
                        suggestDto.setSort(2);
                        suggestDto.setCreateTime(new Date());
                        if (mcsApi.createScheduleSuggest(suggestDto)) {
                            logger.info("高炉实时调度建议{" + suggestion + "}保存成功");
@@ -300,10 +315,11 @@
                    suggestion = mdkScheduleRespDTO.getResult().get(gas);
                    if (suggestion != null && StringUtils.isNotBlank(suggestion.toString())) {
                        ScheduleSuggestRespDTO suggestDto = new ScheduleSuggestRespDTO();
                        suggestDto.setTitle("高炉实时调度建议");
                        suggestDto.setTitle("高炉煤气富余量");
                        suggestDto.setContent(suggestion.toString());
                        suggestDto.setScheduleObj(scheduleObjBFG);
                        suggestDto.setScheduleTime(dto.getScheduleTime());
                        suggestDto.setSort(3);
                        suggestDto.setCreateTime(new Date());
                        if (mcsApi.createScheduleSuggest(suggestDto)) {
                            logger.info("高炉实时调度建议{" + suggestion + "}保存成功");
@@ -311,6 +327,9 @@
                            logger.error("高炉实时调度建议保存失败");
                        }
                    }
                    // 更新调整速率
                    gasAdjustMode.put(scheduleObjBFG, adjustValue);
                    gasLastSugTime.put(scheduleObjBFG, calendar.getTime());
                }
                // 预警
                Object earlywarning = mdkScheduleRespDTO.getResult().get(warningKey);