package mjkf.xinke.model; import lombok.Data; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @Data public class CompanyItem { public String no; public String name; public String code; public String level; public String score; public Integer levelType; // 1=降级,2=其他 public String projectLevel; public String sheetName; public String originGrade; public String currentGrade; public List projectItems; public String remark; static public List toItems(List projectItems) { var no = 1; var groupMap = projectItems.stream().collect(Collectors.groupingBy(item->List.of(item.getCompanyCode(), item.getCompanyName()), Collectors.toList())); var result = new ArrayList(); for (var key: groupMap.keySet()) { var item = new CompanyItem(); item.setProjectItems(groupMap.get(key)); var project = groupMap.get(key).get(0); item.setName(project.getCompanyName()); item.setCode(project.getCompanyCode()); item.setLevel(project.getCompanyLevel()); item.setLevelType(project.getLevelType()); item.setProjectLevel(project.getContractSectionFinalGrade()); item.setSheetName(project.getSheetName()); item.setOriginGrade(project.getOriginGrade()); item.setCurrentGrade(project.getCurrentGrade()); item.setNo(String.valueOf(no)); item.setScore(project.getCompanyScore()); item.setRemark(project.getCompanyRemark()); no++; result.add(item); } return result; } }