Files
material-manage-service/src/test/java/mjkf/xinke/model/CompanyItem.java

49 lines
1.7 KiB
Java
Raw Normal View History

2024-07-08 10:40:23 +08:00
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;
}
}