|
@@ -121,6 +121,11 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl<ProjectProcessMap
|
|
public List<ProjectProcessVO> processService(Long projectId, Integer costType) {
|
|
public List<ProjectProcessVO> processService(Long projectId, Integer costType) {
|
|
//获取当前项目所有项目环节
|
|
//获取当前项目所有项目环节
|
|
List<ProjectProcessVO> list = processMapper.getProjectProcess(projectId);
|
|
List<ProjectProcessVO> list = processMapper.getProjectProcess(projectId);
|
|
|
|
+ Map<Long, BigDecimal> maintainMap = budgetService.getAllMaintainCost7(projectId, costType);
|
|
|
|
+ Boolean isMaintain = true;
|
|
|
|
+ if (maintainMap == null || maintainMap.size() <= 0){
|
|
|
|
+ isMaintain = false;
|
|
|
|
+ }
|
|
//获取项目具体部门所有已闭环的任务
|
|
//获取项目具体部门所有已闭环的任务
|
|
List<ProjectCostBudget> budgets = budgetService.getProjectAllFinishedTask(projectId,costType);
|
|
List<ProjectCostBudget> budgets = budgetService.getProjectAllFinishedTask(projectId,costType);
|
|
if (budgets != null || budgets.size() > 0){
|
|
if (budgets != null || budgets.size() > 0){
|
|
@@ -131,17 +136,23 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl<ProjectProcessMap
|
|
.collect(Collectors.groupingBy(ProjectCostBudget::getProjectProcess));
|
|
.collect(Collectors.groupingBy(ProjectCostBudget::getProjectProcess));
|
|
//包含此环节就统计,不包含就跳出
|
|
//包含此环节就统计,不包含就跳出
|
|
for (ProjectProcessVO vo : list) {
|
|
for (ProjectProcessVO vo : list) {
|
|
- if (set.contains(vo.getId())){
|
|
|
|
|
|
+ if (set.contains(vo.getId()) || (isMaintain && maintainMap.get(vo.getId()) != null)){
|
|
//设置参与
|
|
//设置参与
|
|
vo.setIsParticipate(1);
|
|
vo.setIsParticipate(1);
|
|
//时间成本统计总天数,人员投入统计总人数,成本支出统计当前环节总支出
|
|
//时间成本统计总天数,人员投入统计总人数,成本支出统计当前环节总支出
|
|
- List<ProjectCostBudget> budgetList = map.get(vo.getId());
|
|
|
|
BigDecimal costDisburse = new BigDecimal(0);
|
|
BigDecimal costDisburse = new BigDecimal(0);
|
|
BigDecimal timeCost = new BigDecimal(0);
|
|
BigDecimal timeCost = new BigDecimal(0);
|
|
- int staffTotal = budgetList.size();
|
|
|
|
- for (ProjectCostBudget budget : budgetList) {
|
|
|
|
- costDisburse = costDisburse.add(budget.getActualTotalMoney());
|
|
|
|
- timeCost = timeCost.add(budget.getPracticalTaskDays());
|
|
|
|
|
|
+ int staffTotal = 0;
|
|
|
|
+ if (set.contains(vo.getId())) {
|
|
|
|
+ List<ProjectCostBudget> budgetList = map.get(vo.getId());
|
|
|
|
+ staffTotal = budgetList.size();
|
|
|
|
+ for (ProjectCostBudget budget : budgetList) {
|
|
|
|
+ costDisburse = costDisburse.add(budget.getActualTotalMoney());
|
|
|
|
+ timeCost = timeCost.add(budget.getPracticalTaskDays());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (isMaintain && maintainMap.get(vo.getId()) != null){
|
|
|
|
+ costDisburse = costDisburse.add(maintainMap.get(vo.getId()));
|
|
}
|
|
}
|
|
//设置费用明细
|
|
//设置费用明细
|
|
List<ProjectProcessVO.costDetail> details = new ArrayList<>();
|
|
List<ProjectProcessVO.costDetail> details = new ArrayList<>();
|