Newer
Older
zq-big-sreen / src / main / java / com / casic / service / impl / OperationalBuilder.java
ChaiZhuang on 27 Oct 2022 2 KB 章丘大屏接口变更
package com.casic.service.impl;

import com.casic.dao.cms.CmsDataMapper;
import com.casic.util.FormatUtil;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component;

import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Component
@AllArgsConstructor
public class OperationalBuilder {
    private final CmsDataMapper cmsDataMapper;

    public List<Map<String, String>> OperationalStatusProvider(String beginTime, String endTime) {
        List<Map<String, String>> operaStatusList  = getWorkOrder(beginTime,endTime);
        operaStatusList.add(getTask(beginTime,endTime));
        operaStatusList.add(getEvent(beginTime,endTime));
        return operaStatusList;
    }

    private Map<String, String> getTask(String beginTime, String endTime) {
        Integer initTask = cmsDataMapper.getTotalTask(beginTime,endTime);
        Map<String, String> taskMap = new HashMap<>();
        taskMap.put("type", "运维任务");
        taskMap.put("count", String.valueOf(initTask));
        return taskMap;
    }

    private List<Map<String, String>> getWorkOrder(String beginTime, String endTime) {
        List<Map<String, String>> operaStatusList = new ArrayList<>();
        Integer initTask = cmsDataMapper.getTotalWorkOrder(beginTime,endTime);
        Map<String, String> workPageMap = new HashMap<>();
        workPageMap.put("type", "运维工单");
        workPageMap.put("count", String.valueOf(initTask));
        Integer completeTask = cmsDataMapper.getCompleteWorkOrder(beginTime,endTime);
        Map<String, String> completeMap = new HashMap<>();
        completeMap.put("type", "运维完结");
        completeMap.put("count", FormatUtil.DF.format(Double.valueOf(completeTask) / initTask));
        operaStatusList.add(completeMap);
        operaStatusList.add(workPageMap);
        return operaStatusList;
    }

    private Map<String, String> getEvent(String beginTime, String endTime) {
        Integer initTask = cmsDataMapper.getTotalEvent(beginTime,endTime);
        Map<String, String> eventMap = new HashMap<>();
        eventMap.put("type", "运维事件");
        eventMap.put("count", String.valueOf(initTask));
        return eventMap;
    }

}