鞍钢鲅鱼圈能源管控系统后端代码
潘志宝
4 天以前 58604b91f1150765203bdd9836951b66761cdf57
ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelBMTask.java
@@ -3,22 +3,21 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.iailab.framework.common.util.date.DateUtils;
import com.iailab.module.ansteel.coking.entity.CokingTraceChartEntity;
import com.iailab.module.ansteel.coking.entity.CokingTraceConfEntity;
import com.iailab.module.ansteel.coking.service.*;
import com.iailab.module.ansteel.common.constant.CommonConstant;
import com.iailab.module.ansteel.common.enums.TraceProcessTypeEnum;
import com.iailab.module.model.api.mcs.McsApi;
import com.iailab.module.model.api.mdk.MdkApi;
import com.iailab.module.model.api.mdk.dto.MdkScheduleReqDTO;
import com.iailab.module.model.api.mdk.dto.MdkScheduleRespDTO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;
import java.util.Objects;
import java.util.*;
import java.util.stream.Collectors;
/**
 * 备煤工序异常溯源
@@ -48,6 +47,10 @@
    @Autowired
    private CokingTraceChartService cokingTraceChartService;
    @Autowired
    private CokingTraceConfService cokingTraceConfService;
    @Autowired
    private McsApi mcsApi;
@@ -97,6 +100,10 @@
            Date startDate = calendar.getTime();
            String clock = DateUtils.format(startDate);
            calendar.add(Calendar.DAY_OF_YEAR, 1);
            calendar.add(Calendar.MINUTE, -3);
            Date collectStartDate = calendar.getTime();
            // 调用模型
//            MdkScheduleReqDTO dto = new MdkScheduleReqDTO();
//            dto.setScheduleTime(calendar.getTime());
@@ -132,10 +139,10 @@
            cokingTraceDeviationService.saveTraceDeviation(relId, process, clock, result, CommonConstant.COKE_INDEX_CHARTCODE, row, SugObj);
            // 保存溯源指标
            cokingTraceIndService.saveTraceInd(relId, indType, clock);
            cokingTraceIndService.saveTraceInd(relId, indType, clock, collectStartDate, endDate);
            // 保存溯源折线图
            cokingTraceChartService.save(relId, clock, indType, startDate, endDate);
            saveTraceChart(relId, clock, indType, startDate, endDate);
        } catch (Exception ex) {
            logger.error("RunCokingTraceModelBMTask运行异常");
@@ -143,4 +150,58 @@
        }
        logger.info("RunCokingTraceModelBMTask运行完成");
    }
    public void saveTraceChart(String relId, String clock, String indType, Date startDate, Date endDate) {
        logger.info("查询需要保存chart的配置");
        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.MILLISECOND, 0);
        calendar.set(Calendar.SECOND, 0);
        calendar.set(Calendar.MINUTE, 0);
        calendar.set(Calendar.HOUR_OF_DAY, 0);
        calendar.set(Calendar.DAY_OF_MONTH, 1);
        Date monthStartDate = calendar.getTime();
        Map<String, Object> map = new HashMap<>();
        map.put("indType", indType);
        map.put("ext1", "chart");
        List<CokingTraceConfEntity> list = cokingTraceConfService.list(map);
        if (CollectionUtils.isEmpty(list)) {
            return;
        }
        logger.info("list.size={}", list.size());
        List<CokingTraceChartEntity> entityList = new ArrayList<>();
        List<CokingTraceConfEntity> listMin = list.stream().filter(e -> e.getIndCode().equals("BMSY025")).collect(Collectors.toList());
        listMin.forEach(value -> {
            CokingTraceChartEntity cokingTraceChartEntity = new CokingTraceChartEntity();
            cokingTraceChartEntity.setRelId(relId);
            cokingTraceChartEntity.setName(value.getIndName());
            cokingTraceChartEntity.setClock(clock);
            cokingTraceChartEntity.setDataType(value.getDataType());
            cokingTraceChartEntity.setDataNo(value.getPointNo());
            cokingTraceChartEntity.setStartTime(startDate);
            cokingTraceChartEntity.setEndTime(endDate);
            cokingTraceChartEntity.setCreateDate(new Date());
            entityList.add(cokingTraceChartEntity);
        });
        List<CokingTraceConfEntity> listMonth = list.stream().filter(e -> e.getIndCode().equals("BMSY026")).collect(Collectors.toList());
        listMonth.forEach(value -> {
            CokingTraceChartEntity cokingTraceChartEntity = new CokingTraceChartEntity();
            cokingTraceChartEntity.setRelId(relId);
            cokingTraceChartEntity.setName(value.getIndName());
            cokingTraceChartEntity.setClock(clock);
            cokingTraceChartEntity.setDataType(value.getDataType());
            cokingTraceChartEntity.setDataNo(value.getPointNo());
            cokingTraceChartEntity.setStartTime(monthStartDate);
            cokingTraceChartEntity.setEndTime(endDate);
            cokingTraceChartEntity.setCreateDate(new Date());
            entityList.add(cokingTraceChartEntity);
        });
        cokingTraceChartService.insert(entityList);
    }
}