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