@@ -178,7 +178,7 @@
</if>
</select>
<select id="getAllChildrenPlan" resultType="org.springblade.control.vo.ProjectCostBudgetVO2">
- SELECT pcb.plan_task_type,pcb.plan_task_desc,pcb.plan_target,pcb.plan_start_time,pcb.plan_end_time,pcb.plan_days,id,parent_id,status,task_approve,
+ SELECT pcb.*,
(select cpp.name from c_project_process cpp where cpp.id = pcb.project_process) as projectProcessValue,
(select di.dict_name from c_dict_info di where di.type = 1 and di.dict_value = pcb.budget_type and di.parent_id = 0) as budgetTypeValue,
(select di.dict_name from c_dict_info di where di.type = 1 and di.dict_value = pcb.task_detail and di.parent_id =
@@ -838,7 +838,7 @@ public class AnnualBudgetServiceImpl extends BaseServiceImpl<AnnualBudgetMapper,
vo.setProcessProgressBar(0);
}
//设置进程支出金额,目前只统计人工支出
- if (isPlan){
+ if (!isPlan){
if (isReimburse){
if (reimburseMap.get(process.getId()) != null){
vo.setProcessCostCount(reimburseMap.get(process.getId()));
@@ -887,7 +887,7 @@ public class AnnualBudgetServiceImpl extends BaseServiceImpl<AnnualBudgetMapper,
// }
//统计报销支出
- if (vo.getProcessCostCount() != null &&vo.getProcessCostCount().intValue() != 0){
+ if (vo.getProcessCostCount() != null && allMoney.intValue() != 0){
vo.setProcessCostProgressBar(vo.getProcessCostCount().divide(allMoney, 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).intValue());
}else {
@@ -1070,7 +1070,7 @@ public class ProjectCostBudgetServiceImpl extends BaseServiceImpl<ProjectCostBud
if (!taskType.equals(l.getPlanTaskType())){
throw new ServiceException("子计划任务类型不一致");
- if (budgetVO2.getTaskApprove() == null || budgetVO2.getTaskApprove() != 1){
+ if (l.getTaskApprove() == null || l.getTaskApprove() != 1){
isFinished = false;
//计算总天数
@@ -99,6 +99,15 @@ public class ProjectCostBudgetStatsServiceImpl extends BaseServiceImpl<ProjectCo
if (stats.getApprove() == 1) {
throw new ServiceException("已经审批通过,不能删除");
+ //判断是否有预算正在审批中
+ List<ProjectCostBudget> list = budgetService.list(new LambdaQueryWrapper<ProjectCostBudget>().eq(ProjectCostBudget::getProjectId, stats.getProjectId()));
+ if (list != null && list.size() > 0){
+ for (ProjectCostBudget budget : list) {
+ if (budget.getApprove() == 2){
+ throw new ServiceException("预算正在审批中,不能删除");
+ }
//先删除成本详情
budgetService.deleteByProjectId(stats.getProjectId());
//再删除成本统计