修改项目结构,施工产值

This commit is contained in:
lcj
2025-08-30 00:33:17 +08:00
parent 0ff805683f
commit d6528845e4
2 changed files with 45 additions and 4 deletions

View File

@ -38,7 +38,6 @@ public class OutConstructionValueBo extends BaseEntity {
/**
* 方阵id
*/
@NotNull(message = "方阵id不能为空", groups = { AddGroup.class, EditGroup.class })
private Long matrixId;
/**

View File

@ -944,15 +944,57 @@ public class BusProjectServiceImpl extends ServiceImpl<BusProjectMapper, BusProj
subProjectVo.setId(subProject.getId());
subProjectVo.setName(subProject.getProjectName());
List<PgsProgressCategory> subCategory = subProgressCategoryList.stream()
List<PgsProgressCategory> sub1Category = subProgressCategoryList.stream()
.filter(c -> Objects.equals(c.getProjectId(), subProject.getId()))
.filter(c -> c.getAncestors().split(",").length == 1)
.toList();
List<FacMatrixStructureVo> structureVoList = subCategory.stream()
List<PgsProgressCategory> sub2Category = subProgressCategoryList.stream()
.filter(c -> Objects.equals(c.getProjectId(), subProject.getId()))
.filter(c -> c.getAncestors().split(",").length == 2)
.toList();
List<PgsProgressCategory> sub3Category = subProgressCategoryList.stream()
.filter(c -> Objects.equals(c.getProjectId(), subProject.getId()))
.filter(c -> c.getAncestors().split(",").length == 3)
.toList();
Map<Long, List<PgsProgressCategory>> sub2CategoryMap = new HashMap<>();
if (CollUtil.isNotEmpty(sub2Category)) {
sub2CategoryMap = sub2Category.stream()
.collect(Collectors.groupingBy(PgsProgressCategory::getParentId));
}
Map<Long, List<PgsProgressCategory>> finalSub2CategoryMap = sub2CategoryMap;
Map<Long, List<PgsProgressCategory>> sub3CategoryMap = new HashMap<>();
if (CollUtil.isNotEmpty(sub3Category)) {
sub3CategoryMap = sub3Category.stream()
.collect(Collectors.groupingBy(PgsProgressCategory::getParentId));
}
Map<Long, List<PgsProgressCategory>> finalSub3CategoryMap = sub3CategoryMap;
List<FacMatrixStructureVo> structureVoList = sub1Category.stream()
.map(category -> {
FacMatrixStructureVo matrixVo = new FacMatrixStructureVo();
matrixVo.setId(category.getId());
Long id = category.getId();
matrixVo.setId(id);
matrixVo.setName(category.getName());
if (CollUtil.isNotEmpty(finalSub2CategoryMap) && finalSub2CategoryMap.containsKey(id)) {
matrixVo.setChildren(finalSub2CategoryMap.get(id).stream()
.map(c -> {
PgsProgressCategoryStructureVo subSubCategoryVo = new PgsProgressCategoryStructureVo();
subSubCategoryVo.setId(c.getId());
subSubCategoryVo.setName(c.getName());
if (CollUtil.isNotEmpty(finalSub3CategoryMap) && finalSub3CategoryMap.containsKey(c.getId())) {
subSubCategoryVo.setChildren(finalSub3CategoryMap.get(c.getId()).stream()
.map(c3 -> {
PgsProgressCategoryStructureVo sub3CategoryVo = new PgsProgressCategoryStructureVo();
sub3CategoryVo.setId(c3.getId());
sub3CategoryVo.setName(c3.getName());
return sub3CategoryVo;
}).toList()
);
}
return subSubCategoryVo;
}).toList());
}
return matrixVo;
}).toList();