成本分析查询所有项目成本接口调整返回值
This commit is contained in:
@@ -23,6 +23,7 @@ import com.ruoyi.oa.domain.SysOaCost;
|
|||||||
import com.ruoyi.oa.service.ISysOaCostService;
|
import com.ruoyi.oa.service.ISysOaCostService;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 项目成本分析Service业务层处理
|
* 项目成本分析Service业务层处理
|
||||||
@@ -169,10 +170,41 @@ public class SysOaCostServiceImpl implements ISysOaCostService {
|
|||||||
} else if (allVo.getCostType() == 5) { // 接待
|
} else if (allVo.getCostType() == 5) { // 接待
|
||||||
|
|
||||||
}}
|
}}
|
||||||
// 往vos里面加
|
|
||||||
allVos.add(allVo);
|
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