|
@@ -1,6 +1,7 @@
|
|
|
package com.ruoyi.project.pssr.controller;
|
|
|
|
|
|
import com.ruoyi.common.utils.DateUtils;
|
|
|
+import com.ruoyi.common.utils.StringUtils;
|
|
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
|
|
import com.ruoyi.framework.aspectj.lang.annotation.Log;
|
|
|
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
|
|
@@ -8,9 +9,12 @@ import com.ruoyi.framework.web.controller.BaseController;
|
|
|
import com.ruoyi.framework.web.domain.AjaxResult;
|
|
|
import com.ruoyi.framework.web.page.TableDataInfo;
|
|
|
import com.ruoyi.project.approve.damain.DevTask;
|
|
|
+import com.ruoyi.project.plant.domain.TStaffmgr;
|
|
|
import com.ruoyi.project.pssr.domain.*;
|
|
|
import com.ruoyi.project.pssr.service.*;
|
|
|
+import com.ruoyi.project.system.domain.SysUser;
|
|
|
import com.ruoyi.project.system.mapper.SysUserMapper;
|
|
|
+import com.ruoyi.project.system.service.ISysUserService;
|
|
|
import org.activiti.engine.*;
|
|
|
import org.activiti.engine.impl.identity.Authentication;
|
|
|
import org.activiti.engine.impl.util.CollectionUtil;
|
|
@@ -77,6 +81,9 @@ public class TPssrApproveController extends BaseController {
|
|
|
@Autowired
|
|
|
private ITPssrPipeService tPssrPipeService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private ISysUserService userService;
|
|
|
+
|
|
|
/**
|
|
|
* 查询pssr审批管理列表
|
|
|
*/
|
|
@@ -225,16 +232,26 @@ public class TPssrApproveController extends BaseController {
|
|
|
String userId = getUserId().toString();
|
|
|
|
|
|
String condition = devTask.getCondition();
|
|
|
+ boolean allDone = false;
|
|
|
+ TPssrSubcontent tPssrSubcontent = tPssrSubcontentService.selectTPssrSubcontentById(approve.getSubId());
|
|
|
if (condition.equals("0")) {
|
|
|
approve.setApproveStatus(2L);
|
|
|
- TPssrSubcontent tPssrSubcontent = new TPssrSubcontent();
|
|
|
- tPssrSubcontent.setId(approve.getSubId());
|
|
|
tPssrSubcontent.setApproveStatus(2L);
|
|
|
+ tPssrSubcontent.setConfirmationDate(new Date());
|
|
|
tPssrSubcontentService.updateTPssrSubcontent(tPssrSubcontent);
|
|
|
tPssrApproveService.updateTPssrApprove(approve);
|
|
|
- }else{
|
|
|
+ TPssrSubcontent subcontent = new TPssrSubcontent();
|
|
|
+ subcontent.setAboveallId(tPssrSubcontent.getAboveallId());
|
|
|
+ for (TPssrSubcontent pssrSubcontent : tPssrSubcontentService.selectTPssrSubcontentList(subcontent)) {
|
|
|
+ if (pssrSubcontent.getApproveStatus() != 2) {
|
|
|
+ allDone = false;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ allDone = true;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
// 驳回操作,修改子表状态
|
|
|
- handleTurnDown(approve.getSubId(),condition);
|
|
|
+ handleTurnDown(tPssrSubcontent, condition);
|
|
|
}
|
|
|
//处理流程节点
|
|
|
Map<String, Object> param = new HashMap<>();
|
|
@@ -244,11 +261,14 @@ public class TPssrApproveController extends BaseController {
|
|
|
//认领任务
|
|
|
processEngine.getTaskService().claim(taskId, userId);
|
|
|
taskService.complete(taskId, param);
|
|
|
+
|
|
|
+ // 所有流程都结束时,发起经理审批
|
|
|
+ if (allDone)
|
|
|
+ doMgrApprove(tPssrSubcontent.getAboveallId());
|
|
|
return AjaxResult.success();
|
|
|
}
|
|
|
|
|
|
- public void handleTurnDown(Long subId,String condition){
|
|
|
- TPssrSubcontent subcontent = tPssrSubcontentService.selectTPssrSubcontentById(subId);
|
|
|
+ public void handleTurnDown(TPssrSubcontent subcontent, String condition) {
|
|
|
switch (subcontent.getSerialNumber()) {
|
|
|
case "01":
|
|
|
break;
|
|
@@ -285,9 +305,9 @@ public class TPssrApproveController extends BaseController {
|
|
|
case "17":
|
|
|
TPssrLock lock = new TPssrLock();
|
|
|
lock.setApproveStatus(2L);
|
|
|
- lock.setSubId(subId);
|
|
|
+ lock.setSubId(subcontent.getId());
|
|
|
for (TPssrLock tPssrLock : tPssrLockService.selectTPssrLockList(lock)) {
|
|
|
- if("1".equals(condition)){
|
|
|
+ if ("1".equals(condition)) {
|
|
|
tPssrLock.setApproveStatus(1L);
|
|
|
} else if ("2".equals(condition)) {
|
|
|
tPssrLock.setApproveStatus(3L);
|
|
@@ -344,6 +364,43 @@ public class TPssrApproveController extends BaseController {
|
|
|
taskService.complete(taskId, param);
|
|
|
}
|
|
|
|
|
|
+ // pssr发起经理审批
|
|
|
+ public void doMgrApprove(Long aboveallID) {
|
|
|
+ String userId = getUserId().toString();
|
|
|
+ TPssrApprove approve = new TPssrApprove();
|
|
|
+ approve.setAboveallId(aboveallID);
|
|
|
+ approve.setApproveStatus(1L);
|
|
|
+ approve.setApNo(DateUtils.dateTimeNow() + userId);
|
|
|
+ approve.setApproveStatus(1L);
|
|
|
+ approve.setCreaterCode(userId);
|
|
|
+ approve.setCreatedate(new Date());
|
|
|
+ tPssrApproveService.insertTPssrApprove(approve);
|
|
|
+
|
|
|
+
|
|
|
+ TStaffmgr tStaffmgr = new TStaffmgr();
|
|
|
+ tStaffmgr.setActualposts("24,26");
|
|
|
+ StringBuilder executor = new StringBuilder();
|
|
|
+ for (SysUser user : userService.selectUserPost(tStaffmgr)) {
|
|
|
+ executor.append(user.getUserId().toString()).append(",");
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(executor.toString())) {
|
|
|
+ executor = new StringBuilder(executor.substring(0, executor.length() - 1));
|
|
|
+ }
|
|
|
+
|
|
|
+ // 开始申请流程
|
|
|
+ long businessKey = approve.getApproveId();
|
|
|
+ //开始工作流、监听
|
|
|
+ Authentication.setAuthenticatedUserId(userId);//设置当前申请人
|
|
|
+ Map<String, Object> variables = new HashMap<>();
|
|
|
+ variables.put("applyUser", userId);
|
|
|
+ variables.put("jlUser", executor);
|
|
|
+ //采用key来启动流程定义并设置流程变量,返回流程实例
|
|
|
+ ProcessInstance pi = runtimeService.startProcessInstanceByKey("pssrMgrConfirm", String.valueOf(businessKey), variables);
|
|
|
+ approve.setProcessId(pi.getProcessInstanceId());
|
|
|
+ tPssrApproveService.updateTPssrApprove(approve);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
// 检修项目审批流程发起申请
|
|
|
public void do01Approve(TPssrSubcontent sub) {
|
|
|
String userId = getUserId().toString();
|
|
@@ -444,8 +501,6 @@ public class TPssrApproveController extends BaseController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
// 盲板审批流程发起申请
|
|
|
public void do03Approve(TPssrSubcontent sub) {
|
|
|
String userId = getUserId().toString();
|
|
@@ -505,7 +560,7 @@ public class TPssrApproveController extends BaseController {
|
|
|
ProcessInstance pi = runtimeService.startProcessInstanceByKey("pssr2confirm", String.valueOf(businessKey), variables);
|
|
|
approve.setProcessId(pi.getProcessInstanceId());
|
|
|
tPssrApproveService.updateTPssrApprove(approve);
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
// 已存在流程时,删除旧流程,重新发起
|
|
|
TPssrApprove approve = tPssrApproves.get(0);
|
|
|
runtimeService.deleteProcessInstance(approve.getProcessId(), "pssr2confirm");
|
|
@@ -547,7 +602,8 @@ public class TPssrApproveController extends BaseController {
|
|
|
|
|
|
}
|
|
|
|
|
|
- public void do17Approve(TPssrSubcontent sub){
|
|
|
+ // 锁开锁关审批流程发起申请
|
|
|
+ public void do17Approve(TPssrSubcontent sub) {
|
|
|
String userId = getUserId().toString();
|
|
|
//修改状态
|
|
|
TPssrLock tPssrLock = new TPssrLock();
|
|
@@ -600,7 +656,7 @@ public class TPssrApproveController extends BaseController {
|
|
|
ProcessInstance pi = runtimeService.startProcessInstanceByKey("pssr3confirm", String.valueOf(businessKey), variables);
|
|
|
approve.setProcessId(pi.getProcessInstanceId());
|
|
|
tPssrApproveService.updateTPssrApprove(approve);
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
// 已存在流程时,删除旧流程,重新发起
|
|
|
TPssrApprove approve = tPssrApproves.get(0);
|
|
|
try {
|
|
@@ -644,7 +700,7 @@ public class TPssrApproveController extends BaseController {
|
|
|
|
|
|
}
|
|
|
|
|
|
- // 盲板审批流程发起申请
|
|
|
+ // 管道审批流程发起申请
|
|
|
public void do20Approve(TPssrSubcontent sub) {
|
|
|
String userId = getUserId().toString();
|
|
|
//修改状态
|
|
@@ -695,7 +751,7 @@ public class TPssrApproveController extends BaseController {
|
|
|
ProcessInstance pi = runtimeService.startProcessInstanceByKey("pssr2confirm", String.valueOf(businessKey), variables);
|
|
|
approve.setProcessId(pi.getProcessInstanceId());
|
|
|
tPssrApproveService.updateTPssrApprove(approve);
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
// 已存在流程时,删除旧流程,重新发起
|
|
|
TPssrApprove approve = tPssrApproves.get(0);
|
|
|
runtimeService.deleteProcessInstance(approve.getProcessId(), "pssr2confirm");
|