|
@@ -792,6 +792,13 @@ public class AnnualBudgetServiceImpl extends BaseServiceImpl<AnnualBudgetMapper,
|
|
|
}else {
|
|
|
isPlan = false;
|
|
|
}
|
|
|
+ //项目每个进程的维护支出
|
|
|
+ Map<Long, BigDecimal> maintainMap = budgetService.getAllMaintainCost8(projectId);
|
|
|
+ Boolean isMaintain = true;
|
|
|
+ if (maintainMap == null || maintainMap.size() <= 0){
|
|
|
+ isMaintain = false;
|
|
|
+ }
|
|
|
+
|
|
|
//项目每个进程的报销支出
|
|
|
Map<Long, BigDecimal> reimburseMap = projectInfoService.getProjectReimburseByProcess(projectId);
|
|
|
Boolean isReimburse = true;
|
|
@@ -837,8 +844,10 @@ public class AnnualBudgetServiceImpl extends BaseServiceImpl<AnnualBudgetMapper,
|
|
|
//未设置时间默认未开始
|
|
|
vo.setProcessProgressBar(0);
|
|
|
}
|
|
|
- //设置进程支出金额,目前只统计人工支出
|
|
|
+ //设置进程支出金额,统计人工支出,维护支出,报销支出
|
|
|
if (!isPlan){
|
|
|
+ //没有完成的任务就不用设置人工支出
|
|
|
+ //报销支出
|
|
|
if (isReimburse){
|
|
|
if (reimburseMap.get(process.getId()) != null){
|
|
|
vo.setProcessCostCount(reimburseMap.get(process.getId()));
|
|
@@ -846,7 +855,17 @@ public class AnnualBudgetServiceImpl extends BaseServiceImpl<AnnualBudgetMapper,
|
|
|
}else {
|
|
|
vo.setProcessCostCount(new BigDecimal(0));
|
|
|
}
|
|
|
+
|
|
|
+ //维护支出
|
|
|
+ if (isMaintain && maintainMap.get(process.getId()) != null){
|
|
|
+ if (vo.getProcessCostCount() == null) {
|
|
|
+ vo.setProcessCostCount(maintainMap.get(process.getId()));
|
|
|
+ }else {
|
|
|
+ vo.setProcessCostCount(vo.getProcessCostCount().add(maintainMap.get(process.getId())));
|
|
|
+ }
|
|
|
+ }
|
|
|
}else {
|
|
|
+ //有完成的任务,设置人工支出
|
|
|
List<ProjectCostBudget> budgets = collect.get(process.getId());
|
|
|
if (budgets != null && budgets.size() > 0){
|
|
|
//计算所有任务支出总和
|
|
@@ -854,13 +873,20 @@ public class AnnualBudgetServiceImpl extends BaseServiceImpl<AnnualBudgetMapper,
|
|
|
for (ProjectCostBudget budget : budgets) {
|
|
|
big = big.add(budget.getActualTotalMoney());
|
|
|
}
|
|
|
+ //设置报销支出
|
|
|
if (isReimburse){
|
|
|
if (reimburseMap.get(process.getId()) != null){
|
|
|
big = big.add(reimburseMap.get(process.getId()));
|
|
|
}
|
|
|
}
|
|
|
+ //设置维护支出
|
|
|
+ if (isMaintain && maintainMap.get(process.getId()) != null){
|
|
|
+ big = big.add(maintainMap.get(process.getId()));
|
|
|
+ }
|
|
|
vo.setProcessCostCount(big);
|
|
|
}else {
|
|
|
+ //没有人工支出
|
|
|
+ //设置报销支出
|
|
|
if (isReimburse){
|
|
|
if (reimburseMap.get(process.getId()) != null){
|
|
|
vo.setProcessCostCount(reimburseMap.get(process.getId()));
|
|
@@ -868,6 +894,15 @@ public class AnnualBudgetServiceImpl extends BaseServiceImpl<AnnualBudgetMapper,
|
|
|
}else {
|
|
|
vo.setProcessCostCount(new BigDecimal(0));
|
|
|
}
|
|
|
+
|
|
|
+ //维护支出
|
|
|
+ if (isMaintain && maintainMap.get(process.getId()) != null){
|
|
|
+ if (vo.getProcessCostCount() == null) {
|
|
|
+ vo.setProcessCostCount(maintainMap.get(process.getId()));
|
|
|
+ }else {
|
|
|
+ vo.setProcessCostCount(vo.getProcessCostCount().add(maintainMap.get(process.getId())));
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
//设置进程支出金额百分比,统计实际支出和预算的百分比
|