发起审批逻辑

master
xxssyyyyssxx 2021-11-12 15:12:44 +08:00
parent 7f8cc478cf
commit 440731dd67
1 changed files with 32 additions and 8 deletions

View File

@ -1,19 +1,19 @@
package cn.palmte.work.service;
import cn.palmte.work.bean.*;
import cn.palmte.work.config.activiti.ActConstant;
import cn.palmte.work.model.*;
import cn.palmte.work.utils.InterfaceUtil;
import cn.palmte.work.model.Admin;
import cn.palmte.work.model.Project;
import cn.palmte.work.model.ProjectRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import top.jfunc.common.db.QueryHelper;
import top.jfunc.common.db.bean.Page;
import top.jfunc.common.db.utils.Pagination;
import top.jfunc.common.utils.CollectionUtil;
import top.jfunc.common.utils.StrUtil;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -32,6 +32,8 @@ public class ProjectService {
private ProjectBudgetService projectBudgetService;
@Autowired
private ProjectInstanceService projectInstanceService;
@Autowired
private ActTaskDefService actTaskDefService;
private QueryHelper getQueryHelper(Map<String, String> searchInfo, int pageNumber, int pageSize) {
@ -154,9 +156,19 @@ public class ProjectService {
Admin admin) throws Exception {
Project p = estimateEditSave(project, estimateBean, admin, ApproveStatusEnum.APPROVAL_PENDING);
//TODO 此处找到以前的概算审批实例,然后完成任务
//projectInstanceService.startEstimateProcessInstance(p, admin);
if(null != p.getApproveStatusEstimate() &&
ApproveStatusEnum.APPROVAL_UNPASS.getApproveStatus() == p.getApproveStatusEstimate()){
//审核不通过的情况下重新编辑后就完成当前任务
List<String> estimateProcessInsIds = projectInstanceService.getEstimateProcessInsIds(p);
if(CollectionUtil.isNotEmpty(estimateProcessInsIds)){
actTaskDefService.completeTaskByProcInsId(estimateProcessInsIds.get(0),
ApproveStatusEnum.APPROVAL_PASSED.getApproveStatus(),
"重新修改了概算表,请审批");
}
}else {
//第一次或者重新发起一个流程实例
projectInstanceService.startEstimateProcessInstance(p, admin);
}
return p;
}
/**
@ -236,7 +248,19 @@ public class ProjectService {
@Transactional(rollbackFor = RuntimeException.class)
public Project budgetEditSaveAndApprove(Project project, BudgetBean budgetBean, Admin admin) throws Exception {
Project p = budgetEditSave(project, budgetBean, admin, ApproveStatusEnum.APPROVAL_PENDING);
projectInstanceService.startBudgetProcessInstance(p, admin);
if(null != p.getApproveStatusBudget() &&
ApproveStatusEnum.APPROVAL_UNPASS.getApproveStatus() == p.getApproveStatusBudget()){
//审核不通过的情况下重新编辑后就完成当前任务
List<String> budgetProcessInsIds = projectInstanceService.getBudgetProcessInsIds(p);
if(CollectionUtil.isNotEmpty(budgetProcessInsIds)){
actTaskDefService.completeTaskByProcInsId(budgetProcessInsIds.get(0),
ApproveStatusEnum.APPROVAL_PASSED.getApproveStatus(),
"重新修改了预算表,请审批");
}
}else {
//第一次或者重新发起一个流程实例
projectInstanceService.startBudgetProcessInstance(p, admin);
}
return p;
}
/**