成本分析查询所有项目成本接口调整返回值
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user