成本分析查询所有项目成本接口调整返回值

This commit is contained in:
liuzongkun999
2025-03-07 14:40:31 +08:00
parent 37e1a53c98
commit 5b7fd18735

View File

@@ -23,6 +23,7 @@ import com.ruoyi.oa.domain.SysOaCost;
import com.ruoyi.oa.service.ISysOaCostService;
import java.util.*;
import java.util.stream.Collectors;
/**
* 项目成本分析Service业务层处理
@@ -169,10 +170,41 @@ public class SysOaCostServiceImpl implements ISysOaCostService {
} else if (allVo.getCostType() == 5) { // 接待
}}
// 往vos里面加
allVos.add(allVo);
}
return TableDataInfo.build(allVos);
// 假设原始数据列表为 allVos
List<SysOaCostAllVo> resVos = allVos.stream()
.collect(Collectors.groupingBy(SysOaCostAllVo::getProjectId))
.values().stream()
.map(group -> {
Double userCostSum = group.stream().mapToDouble(x -> Optional.ofNullable((Double)x.getUserCost()).orElse(0.0)).sum();
Double claimCostSum = group.stream().mapToDouble(x -> Optional.ofNullable((Double)x.getUserCost()).orElse(0.0)).sum();
Double materialCostSum = group.stream().mapToDouble(x -> Optional.ofNullable((Double)x.getUserCost()).orElse(0.0)).sum();
Double totalCost = userCostSum + claimCostSum + materialCostSum;
return new SysOaCostAllVo(
group.get(0).getProjectId(),
group.get(0).getProjectName(),
totalCost,
null,
"汇总数据", // 备注
null,
null, // materialId
materialCostSum,
null, // userId
userCostSum,
null, // claimId
claimCostSum,
null// financeId
);
})
.collect(Collectors.toList());
return TableDataInfo.build(resVos);
}
/**