Commit 48d6df36 by 王力

Merge branch 'dev_schedule_summary' into 'develop'

泛型处理

See merge request !215
2 parents c309bbf6 2affa02d
......@@ -3,6 +3,7 @@ package com.dituhui.pea.order.dto;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
import java.util.HashMap;
import java.util.List;
@Data
......@@ -18,17 +19,19 @@ public class ScheduleSummaryResp {
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
public static class ValueDTO {
public static class ValueDTO<T> {
private String title;
private Integer value;
private String valueColor;
private String url;
private String urlName;
private HashMap<String, List<T>> params;
public ValueDTO(String title, Integer value, String valueColor, String url){
public ValueDTO(String title, Integer value, String valueColor, String urlName, HashMap<String, List<T>> params){
this.title = title;
this.value = value;
this.valueColor = valueColor;
this.url = url;
this.urlName = urlName;
this.params = params;
}
}
}
......@@ -15,10 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
......@@ -420,30 +417,59 @@ public class ScheduleServiceImpl implements ScheduleService {
for (Map.Entry<String, Integer> entry : map.entrySet()) {
sum += entry.getValue();
}
String url = "/dispatchBench/index";
String urlName = "DispatchBenchManage";
List<ScheduleSummaryResp.ValueDTO> items = new ArrayList<>();
items.add(new ScheduleSummaryResp.ValueDTO("总单量", sum, "#469967", url));
items.add(new ScheduleSummaryResp.ValueDTO("安装", map.getOrDefault("安装", 0), null, url));
items.add(new ScheduleSummaryResp.ValueDTO("维修", map.getOrDefault("维修", 0), null, url));
items.add(new ScheduleSummaryResp.ValueDTO("清洁保养", map.getOrDefault("清洁保养", 0), null, url));
items.add(new ScheduleSummaryResp.ValueDTO("整改", map.getOrDefault("整改", 0), null, url));
items.add(new ScheduleSummaryResp.ValueDTO("总单量", sum, "#469967", urlName, new HashMap<>()));
HashMap<String, List<String>> p1 = this.packParams("skillCategory", "安装");
items.add(new ScheduleSummaryResp.ValueDTO("安装", map.getOrDefault("安装", 0), null, urlName, p1));
HashMap<String, List<String>> p2 = this.packParams("skillCategory", "维修");
items.add(new ScheduleSummaryResp.ValueDTO("维修", map.getOrDefault("维修", 0), null, urlName, p2));
HashMap<String, List<String>> p3 = this.packParams("skillCategory", "清洁保养");
items.add(new ScheduleSummaryResp.ValueDTO("清洁保养", map.getOrDefault("清洁保养", 0), null, urlName, p3));
HashMap<String, List<String>> p4 = this.packParams("skillCategory", "整改");
items.add(new ScheduleSummaryResp.ValueDTO("整改", map.getOrDefault("整改", 0), null, urlName, p4));
return items;
}
private List<ScheduleSummaryResp.ValueDTO> packGroupCategorySummary(HashMap<Integer, Integer> map) {
String url = "/dispatchBench/index";
String urlName = "DispatchBenchManage";
List<ScheduleSummaryResp.ValueDTO> items = new ArrayList<>();
items.add(new ScheduleSummaryResp.ValueDTO("自有", map.getOrDefault(1, 0), null, url));
items.add(new ScheduleSummaryResp.ValueDTO("网点", map.getOrDefault(2, 0), null, url));
HashMap<String, List<Integer>> p1 = this.packParams("skillCategory", 1);
items.add(new ScheduleSummaryResp.ValueDTO("自有", map.getOrDefault(1, 0), null, urlName, p1));
HashMap<String, List<Integer>> p2 = this.packParams("skillCategory", 2);
items.add(new ScheduleSummaryResp.ValueDTO("网点", map.getOrDefault(2, 0), null, urlName, p2));
return items;
}
private List<ScheduleSummaryResp.ValueDTO> packAppointmentSummary(HashMap<String, Integer> map) {
String url = "/dispatchBench/index";
String urlName = "DispatchBenchManage";
List<ScheduleSummaryResp.ValueDTO> items = new ArrayList<>();
items.add(new ScheduleSummaryResp.ValueDTO("自动指派", map.getOrDefault("autoTotal", 0), null, url));
items.add(new ScheduleSummaryResp.ValueDTO("人工指派", map.getOrDefault("manualTotal", 0), null, url));
items.add(new ScheduleSummaryResp.ValueDTO("未指派", map.getOrDefault("notAssignTotal", 0), null, url));
HashMap<String, List<String>> p1 = this.packParams("appointmentType", "AUTO_NOW", "AUTO_BATCH");
items.add(new ScheduleSummaryResp.ValueDTO("自动指派", map.getOrDefault("autoTotal", 0), null, urlName, p1));
HashMap<String, List<String>> p2 = this.packParams("appointmentType", "MANUAL");
items.add(new ScheduleSummaryResp.ValueDTO("人工指派", map.getOrDefault("manualTotal", 0), null, urlName, p2));
HashMap<String, List<String>> p3 = this.packParams("appointmentStatus", "NOT_ASSIGNED");
items.add(new ScheduleSummaryResp.ValueDTO("未指派", map.getOrDefault("notAssignTotal", 0), null, urlName, p3));
return items;
}
private <T> HashMap<String, List<T>> packParams(String key, T ...values) {
HashMap<String, List<T>> map = new HashMap<>();
List<T> value = new ArrayList<>();
for(T v: values){
value.add(v);
}
map.put(key, value);
return map;
}
}
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!