流程驳回后 重新发起新的流程

master
pengqiang 2022-05-18 17:43:35 +08:00
parent 8e4ea7611b
commit 6370b3104c
3 changed files with 26 additions and 50 deletions

View File

@ -94,11 +94,11 @@ public class ActTaskDefService {
* @param comment * @param comment
*/ */
public void completeTaskByProcInsId(String procInsId, int type, String comment) { public void completeTaskByProcInsId(String procInsId, int type, String comment) {
int adminId = InterfaceUtil.getAdminId(); //int adminId = InterfaceUtil.getAdminId();
List<Task> taskList = taskService.createTaskQuery().processInstanceId(procInsId).list(); List<Task> taskList = taskService.createTaskQuery().processInstanceId(procInsId).list();
List<String> assignUserList; //List<String> assignUserList;
for (Task task : taskList) { for (Task task : taskList) {
assignUserList = actUtil.getAssignUserList(task.getId()); //assignUserList = actUtil.getAssignUserList(task.getId());
//if (assignUserList.contains(String.valueOf(adminId))) { //if (assignUserList.contains(String.valueOf(adminId))) {
completeTask(task.getId(), procInsId, comment, type); completeTask(task.getId(), procInsId, comment, type);
//} //}

View File

@ -779,20 +779,7 @@ public class ProjectBudgetService {
} }
public void budgetApprove(Integer approveStatusBudget, Project projectInDb, Admin admin) throws Exception { public void budgetApprove(Integer approveStatusBudget, Project projectInDb, Admin admin) throws Exception {
projectInstanceService.startBudgetProcessInstance(projectInDb, admin);
if(null != approveStatusBudget &&
ApproveStatusEnum.APPROVAL_UNPASS.getApproveStatus() == approveStatusBudget){
//审核不通过的情况下重新编辑后就完成当前任务
List<String> budgetProcessInsIds = projectInstanceService.getBudgetProcessInsIds(projectInDb);
if(CollectionUtil.isNotEmpty(budgetProcessInsIds)){
actTaskDefService.completeTaskByProcInsId(budgetProcessInsIds.get(0),
ApproveStatusEnum.APPROVAL_PASSED.getApproveStatus(),
"重新修改了预算表,请审批");
}
}else {
//第一次或者重新发起一个流程实例
projectInstanceService.startBudgetProcessInstance(projectInDb, admin);
}
} }
/** /**

View File

@ -297,40 +297,29 @@ public class ProjectEstimateService {
} }
public void estimateApprove(Integer approveStatusEstimate, Project projectInDb, Admin admin) throws Exception { public void estimateApprove(Integer approveStatusEstimate, Project projectInDb, Admin admin) throws Exception {
if(null != approveStatusEstimate && projectInstanceService.startEstimateProcessInstance(projectInDb, admin);
ApproveStatusEnum.APPROVAL_UNPASS.getApproveStatus() == approveStatusEstimate){ int type = projectInDb.getType();
//审核不通过的情况下重新编辑后就完成当前任务【此时任务节点在第一个,也就是发起审批】 List<SysUserRole> userIds = new ArrayList<>();
List<String> estimateProcessInsIds = projectInstanceService.getEstimateProcessInsIds(projectInDb); if (type == 1) {
if(CollectionUtil.isNotEmpty(estimateProcessInsIds)){ String sql = "select sur.user_id from sys_role sr left join sys_user_role sur on sr.id = sur.role_id where sr.is_deleted = 0 and sur.is_deleted = 0 and sr.level in (1,2,3,4,5,6)";
actTaskDefService.completeTaskByProcInsId(estimateProcessInsIds.get(0), userIds = pagination.find(sql, SysUserRole.class);
ApproveStatusEnum.APPROVAL_PASSED.getApproveStatus(), } else if (type == 2) {
"重新修改了概算表,请审批"); String sql = "select sur.user_id from sys_role sr left join sys_user_role sur on sr.id = sur.role_id where sr.is_deleted = 0 and sur.is_deleted = 0 and sr.level in (1,2,3,5,6)";
} userIds = pagination.find(sql, SysUserRole.class);
}else { } else if (type == 3) {
//第一次或者重新发起一个流程实例【第一次或者以前的审批都已经过了】 String sql = "select sur.user_id from sys_role sr left join sys_user_role sur on sr.id = sur.role_id where sr.is_deleted = 0 and sur.is_deleted = 0 and sr.level in (1,2,3,6)";
projectInstanceService.startEstimateProcessInstance(projectInDb, admin); userIds = pagination.find(sql, SysUserRole.class);
int type = projectInDb.getType();
List<SysUserRole> userIds = new ArrayList<>();
if (type == 1) {
String sql = "select sur.user_id from sys_role sr left join sys_user_role sur on sr.id = sur.role_id where sr.is_deleted = 0 and sur.is_deleted = 0 and sr.level in (1,2,3,4,5,6)";
userIds = pagination.find(sql, SysUserRole.class);
} else if (type == 2) {
String sql = "select sur.user_id from sys_role sr left join sys_user_role sur on sr.id = sur.role_id where sr.is_deleted = 0 and sur.is_deleted = 0 and sr.level in (1,2,3,5,6)";
userIds = pagination.find(sql, SysUserRole.class);
} else if (type == 3) {
String sql = "select sur.user_id from sys_role sr left join sys_user_role sur on sr.id = sur.role_id where sr.is_deleted = 0 and sur.is_deleted = 0 and sr.level in (1,2,3,6)";
userIds = pagination.find(sql, SysUserRole.class);
}
List<ProjectVisible> pvs = new ArrayList<>();
for (SysUserRole sysUserRole : userIds) {
ProjectVisible pv = new ProjectVisible();
pv.setProjectId(projectInDb.getId());
pv.setType(2);
pv.setTid(sysUserRole.getUserId());
pvs.add(pv);
}
projectVisibleRepository.save(pvs);
} }
List<ProjectVisible> pvs = new ArrayList<>();
for (SysUserRole sysUserRole : userIds) {
ProjectVisible pv = new ProjectVisible();
pv.setProjectId(projectInDb.getId());
pv.setType(2);
pv.setTid(sysUserRole.getUserId());
pvs.add(pv);
}
projectVisibleRepository.save(pvs);
} }
/** /**