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; } }