49 lines
1.7 KiB
Java
49 lines
1.7 KiB
Java
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<ProjectItem> projectItems;
|
||
public String remark;
|
||
|
||
static public List<CompanyItem> toItems(List<ProjectItem> projectItems) {
|
||
var no = 1;
|
||
var groupMap = projectItems.stream().collect(Collectors.groupingBy(item->List.of(item.getCompanyCode(), item.getCompanyName()), Collectors.toList()));
|
||
var result = new ArrayList<CompanyItem>();
|
||
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;
|
||
}
|
||
}
|