Pārlūkot izejas kodu

PSSR:
-添加检修项目创建流程

jiangbiao 8 mēneši atpakaļ
vecāks
revīzija
e833739a69

+ 11 - 0
master/src/main/java/com/ruoyi/project/approve/damain/DevTask.java

@@ -6,6 +6,7 @@ import com.ruoyi.project.apply.domain.TApplySafetychange;
 import com.ruoyi.project.ehs.domain.TApproveAccident;
 import com.ruoyi.project.ehs.domain.TApproveAccident;
 import com.ruoyi.project.ehs.domain.TApproveDanger;
 import com.ruoyi.project.ehs.domain.TApproveDanger;
 import com.ruoyi.project.production.domain.TSaiApply;
 import com.ruoyi.project.production.domain.TSaiApply;
+import com.ruoyi.project.pssr.domain.TPssrApprove;
 import com.ruoyi.project.sems.domain.TApprove;
 import com.ruoyi.project.sems.domain.TApprove;
 import com.ruoyi.project.sems.domain.TApproverFile;
 import com.ruoyi.project.sems.domain.TApproverFile;
 import com.ruoyi.project.sems.his.domain.TApproveSpecModify;
 import com.ruoyi.project.sems.his.domain.TApproveSpecModify;
@@ -98,6 +99,16 @@ public class DevTask {
 
 
     private TTsApprove tTsApprove;
     private TTsApprove tTsApprove;
 
 
+    private TPssrApprove tPssrApprove;
+
+    public TPssrApprove gettPssrApprove() {
+        return tPssrApprove;
+    }
+
+    public void settPssrApprove(TPssrApprove tPssrApprove) {
+        this.tPssrApprove = tPssrApprove;
+    }
+
     public TTsApprove gettTsApprove() {
     public TTsApprove gettTsApprove() {
         return tTsApprove;
         return tTsApprove;
     }
     }

+ 131 - 30
master/src/main/java/com/ruoyi/project/pssr/controller/TPssrApproveController.java

@@ -7,14 +7,13 @@ import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
 import com.ruoyi.framework.web.controller.BaseController;
 import com.ruoyi.framework.web.controller.BaseController;
 import com.ruoyi.framework.web.domain.AjaxResult;
 import com.ruoyi.framework.web.domain.AjaxResult;
 import com.ruoyi.framework.web.page.TableDataInfo;
 import com.ruoyi.framework.web.page.TableDataInfo;
+import com.ruoyi.project.approve.damain.DevTask;
 import com.ruoyi.project.pssr.domain.*;
 import com.ruoyi.project.pssr.domain.*;
 import com.ruoyi.project.pssr.service.*;
 import com.ruoyi.project.pssr.service.*;
 import com.ruoyi.project.system.mapper.SysUserMapper;
 import com.ruoyi.project.system.mapper.SysUserMapper;
-import org.activiti.engine.ProcessEngine;
-import org.activiti.engine.ProcessEngines;
-import org.activiti.engine.RuntimeService;
-import org.activiti.engine.TaskService;
+import org.activiti.engine.*;
 import org.activiti.engine.impl.identity.Authentication;
 import org.activiti.engine.impl.identity.Authentication;
+import org.activiti.engine.impl.util.CollectionUtil;
 import org.activiti.engine.runtime.ProcessInstance;
 import org.activiti.engine.runtime.ProcessInstance;
 import org.activiti.engine.task.Task;
 import org.activiti.engine.task.Task;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -39,6 +38,9 @@ public class TPssrApproveController extends BaseController {
     @Autowired
     @Autowired
     private RuntimeService runtimeService;
     private RuntimeService runtimeService;
 
 
+    @Autowired
+    private HistoryService historyService;
+
     @Autowired
     @Autowired
     private TaskService taskService;
     private TaskService taskService;
 
 
@@ -197,6 +199,42 @@ public class TPssrApproveController extends BaseController {
         return AjaxResult.success();
         return AjaxResult.success();
     }
     }
 
 
+    @Log(title = "pssr负责人审批", businessType = BusinessType.UPDATE)
+    @PutMapping("/handlePssrApprove")
+    public AjaxResult handlePssrApprove(@RequestBody DevTask devTask) {
+        TPssrApprove approve = devTask.gettPssrApprove();
+        //使用任务服务完成任务(提交任务)
+        String taskId = devTask.getTaskId();
+        // 使用任务id,获取任务对象,获取流程实例id
+        Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
+        //利用任务对象,获取流程实例id
+        String taskName = task.getName();//实例名
+        String processInstancesId = task.getProcessInstanceId();
+        String userId = getUserId().toString();
+
+        String condition = devTask.getCondition();
+        if (condition.equals("1")) {
+            approve.setApproveStatus(2L);
+            TPssrSubcontent tPssrSubcontent = new TPssrSubcontent();
+            tPssrSubcontent.setId(approve.getSubId());
+            tPssrSubcontent.setApproveStatus(2L);
+            tPssrSubcontentService.updateTPssrSubcontent(tPssrSubcontent);
+            tPssrApproveService.updateTPssrApprove(approve);
+        }
+        //处理流程节点
+        Map<String, Object> param = new HashMap<>();
+        param.put("condition", condition);
+        ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
+        TaskService taskService = processEngine.getTaskService();
+        //认领任务
+        processEngine.getTaskService().claim(taskId, userId);
+        taskService.complete(taskId, param);
+        return AjaxResult.success();
+    }
+
+    /**
+     * 子项内容确认
+     */
     public static void handleConfirmApprove(TPssrApprove approve, String userId) {
     public static void handleConfirmApprove(TPssrApprove approve, String userId) {
         String processInstancesId = approve.getProcessId();
         String processInstancesId = approve.getProcessId();
         ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
         ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
@@ -205,10 +243,6 @@ public class TPssrApproveController extends BaseController {
                 .createTaskQuery()//创建查询对象
                 .createTaskQuery()//创建查询对象
                 .taskAssignee(userId)
                 .taskAssignee(userId)
                 .processInstanceId(processInstancesId).singleResult();
                 .processInstanceId(processInstancesId).singleResult();
-        ProcessInstance pi = processEngine.getRuntimeService()//表示正在执行的流程实例和执行对象
-                .createProcessInstanceQuery()//创建流程实例查询*/
-                .processInstanceId(processInstancesId)//使用流程实例ID查询
-                .singleResult();
         String taskId = task.getId();
         String taskId = task.getId();
 
 
         //处理流程节点
         //处理流程节点
@@ -264,32 +298,99 @@ public class TPssrApproveController extends BaseController {
         //查询所有确认人
         //查询所有确认人
         exchanger = new TPssrOverhaulExchanger();
         exchanger = new TPssrOverhaulExchanger();
         exchanger.setSubId(sub.getId());
         exchanger.setSubId(sub.getId());
+        exchanger.setApproveStatus(1L);
         TPssrOverhaulExchanger tPssrOverhaulExchanger = tPssrOverhaulExchangerService.selectAllConfirmedPersonBySubId(exchanger);
         TPssrOverhaulExchanger tPssrOverhaulExchanger = tPssrOverhaulExchangerService.selectAllConfirmedPersonBySubId(exchanger);
+        if (tPssrOverhaulExchanger == null) {
+            return;
+        }
         String confirmers = tPssrOverhaulExchanger.getConfirmedPerson();
         String confirmers = tPssrOverhaulExchanger.getConfirmedPerson();
         logger.info("=======================confirmers:{}", confirmers);
         logger.info("=======================confirmers:{}", confirmers);
 
 
-        //新增审批数据
-        TPssrApprove approve = new TPssrApprove();
-        approve.setSubId(sub.getId());
-        approve.setApNo(DateUtils.dateTimeNow() + userId);
-        approve.setApproveStatus("1");
-        approve.setSubCharge(sub.getConfirm());
-        approve.setCreaterCode(userId);
-        approve.setCreatedate(new Date());
-        tPssrApproveService.insertTPssrApprove(approve);
-
-        // 开始申请流程
-        long businessKey = approve.getApproveId();
-        //开始工作流、监听
-        Authentication.setAuthenticatedUserId(userId);//设置当前申请人
-        Map<String, Object> variables = new HashMap<>();
-        variables.put("applyUser", userId);
-        variables.put("confirmUsers", Arrays.asList(confirmers.split(",")));
-        variables.put("chargePerson", sub.getConfirm());
-        //采用key来启动流程定义并设置流程变量,返回流程实例
-        ProcessInstance pi = runtimeService.startProcessInstanceByKey("pssr1confirm", String.valueOf(businessKey), variables);
-        approve.setProcessId(pi.getProcessInstanceId());
-        tPssrApproveService.updateTPssrApprove(approve);
+        TPssrApprove exist = new TPssrApprove();
+        exist.setSubId(sub.getId());
+        List<TPssrApprove> tPssrApproves = tPssrApproveService.selectTPssrApproveList(exist);
+        //如果当前子项没有审批数据
+        if (CollectionUtil.isEmpty(tPssrApproves)) {
+            //新增审批数据
+            TPssrApprove approve = new TPssrApprove();
+            approve.setSubId(sub.getId());
+            approve.setApNo(DateUtils.dateTimeNow() + userId);
+            approve.setApproveStatus(1L);
+            approve.setSubCharge(sub.getConfirm());
+            approve.setCreaterCode(userId);
+            approve.setCreatedate(new Date());
+            tPssrApproveService.insertTPssrApprove(approve);
+
+            // 开始申请流程
+            long businessKey = approve.getApproveId();
+            //开始工作流、监听
+            Authentication.setAuthenticatedUserId(userId);//设置当前申请人
+            Map<String, Object> variables = new HashMap<>();
+            variables.put("applyUser", userId);
+            variables.put("confirmUsers", Arrays.asList(confirmers.split(",")));
+            variables.put("chargePerson", sub.getConfirm());
+            //采用key来启动流程定义并设置流程变量,返回流程实例
+            ProcessInstance pi = runtimeService.startProcessInstanceByKey("pssr1confirm", String.valueOf(businessKey), variables);
+            approve.setProcessId(pi.getProcessInstanceId());
+            tPssrApproveService.updateTPssrApprove(approve);
+        } else {
+            //有审批数据,
+            TPssrApprove approve = tPssrApproves.get(0);
+            String processInstancesId = approve.getProcessId();
+            ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
+            TaskService taskService = processEngine.getTaskService();
+            List<Task> tasks = processEngine.getTaskService()//获取任务service
+                    .createTaskQuery()//创建查询对象
+                    .processInstanceId(processInstancesId).list();
+
+            //处理流程节点
+            if (tasks.size() == 1) {
+                String taskId = tasks.get(0).getId();
+                String taskName = tasks.get(0).getName();
+                Map<String, Object> param = new HashMap<>();
+                if (taskName.equals("确认人")) {
+                    param.put("condition", "1");
+                    taskService.addComment(taskId, processInstancesId, "发起新确认流程");
+                    taskService.complete(taskId, param);
+                    Task task = processEngine.getTaskService()//获取任务service
+                            .createTaskQuery()//创建查询对象
+                            .processInstanceId(processInstancesId).singleResult();
+                    param.put("condition", "0");
+                    param.put("confirmUsers", Arrays.asList(confirmers.split(",")));
+                    //认领任务
+//                    processEngine.getTaskService().claim(taskId, userId);
+                    taskService.addComment(task.getId(), processInstancesId, "发起新确认流程");
+                    taskService.complete(task.getId(), param);
+                } else {
+                    param.put("condition", "0");
+                    param.put("confirmUsers", Arrays.asList(confirmers.split(",")));
+                    //认领任务
+//                    processEngine.getTaskService().claim(taskId, userId);
+                    taskService.complete(taskId, param);
+                }
+            } else {
+                for (Task task : tasks) {
+                    Map<String, Object> param = new HashMap<>();
+                    param.put("condition", "1");
+                    taskService.addComment(task.getId(), processInstancesId, "发起新确认流程");
+                    taskService.complete(task.getId(), param);
+                }
+                Task task = processEngine.getTaskService()//获取任务service
+                        .createTaskQuery()//创建查询对象
+                        .processInstanceId(processInstancesId).singleResult();
+
+                Map<String, Object> param = new HashMap<>();
+                param.put("condition", "0");
+                param.put("confirmUsers", Arrays.asList(confirmers.split(",")));
+                //认领任务
+//                    processEngine.getTaskService().claim(taskId, userId);
+                taskService.addComment(task.getId(), processInstancesId, "发起新确认流程");
+                taskService.complete(task.getId(), param);
+            }
+
+            approve.setApproveStatus(1L);
+            tPssrApproveService.updateTPssrApprove(approve);
+        }
     }
     }
 
 
 
 

+ 32 - 44
master/src/main/java/com/ruoyi/project/pssr/controller/TPssrOverhaulPipeController.java

@@ -1,30 +1,23 @@
 package com.ruoyi.project.pssr.controller;
 package com.ruoyi.project.pssr.controller;
 
 
-import java.util.Date;
-import java.util.List;
-
-import com.ruoyi.project.pssr.domain.TPssrApprove;
-import com.ruoyi.project.pssr.domain.TPssrOverhaulExchanger;
-import com.ruoyi.project.pssr.service.ITPssrApproveService;
-import com.ruoyi.project.pssr.service.ITPssrOverhaulExchangerService;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.framework.aspectj.lang.annotation.Log;
 import com.ruoyi.framework.aspectj.lang.annotation.Log;
 import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
 import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
-import com.ruoyi.project.pssr.domain.TPssrOverhaulPipe;
-import com.ruoyi.project.pssr.service.ITPssrOverhaulPipeService;
 import com.ruoyi.framework.web.controller.BaseController;
 import com.ruoyi.framework.web.controller.BaseController;
 import com.ruoyi.framework.web.domain.AjaxResult;
 import com.ruoyi.framework.web.domain.AjaxResult;
-import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.framework.web.page.TableDataInfo;
 import com.ruoyi.framework.web.page.TableDataInfo;
+import com.ruoyi.project.pssr.domain.TPssrApprove;
+import com.ruoyi.project.pssr.domain.TPssrOverhaulExchanger;
+import com.ruoyi.project.pssr.domain.TPssrOverhaulPipe;
+import com.ruoyi.project.pssr.service.ITPssrApproveService;
+import com.ruoyi.project.pssr.service.ITPssrOverhaulExchangerService;
+import com.ruoyi.project.pssr.service.ITPssrOverhaulPipeService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Date;
+import java.util.List;
 
 
 /**
 /**
  * 检修项目-管线Controller
  * 检修项目-管线Controller
@@ -34,8 +27,7 @@ import com.ruoyi.framework.web.page.TableDataInfo;
  */
  */
 @RestController
 @RestController
 @RequestMapping("/pssr/overhaulPipe")
 @RequestMapping("/pssr/overhaulPipe")
-public class TPssrOverhaulPipeController extends BaseController
-{
+public class TPssrOverhaulPipeController extends BaseController {
     @Autowired
     @Autowired
     private ITPssrOverhaulPipeService tPssrOverhaulPipeService;
     private ITPssrOverhaulPipeService tPssrOverhaulPipeService;
 
 
@@ -50,9 +42,8 @@ public class TPssrOverhaulPipeController extends BaseController
      */
      */
     @PreAuthorize("@ss.hasPermi('pssr:overhaulPipe:list')")
     @PreAuthorize("@ss.hasPermi('pssr:overhaulPipe:list')")
     @GetMapping("/list")
     @GetMapping("/list")
-    public TableDataInfo list(TPssrOverhaulPipe tPssrOverhaulPipe)
-    {
-        if ("1".equals(tPssrOverhaulPipe.getConfirmer())){
+    public TableDataInfo list(TPssrOverhaulPipe tPssrOverhaulPipe) {
+        if ("1".equals(tPssrOverhaulPipe.getConfirmer())) {
             tPssrOverhaulPipe.setConfirmer(getUserId().toString());
             tPssrOverhaulPipe.setConfirmer(getUserId().toString());
         }
         }
         startPage();
         startPage();
@@ -66,8 +57,7 @@ public class TPssrOverhaulPipeController extends BaseController
     @PreAuthorize("@ss.hasPermi('pssr:overhaulPipe:export')")
     @PreAuthorize("@ss.hasPermi('pssr:overhaulPipe:export')")
     @Log(title = "检修项目-管线", businessType = BusinessType.EXPORT)
     @Log(title = "检修项目-管线", businessType = BusinessType.EXPORT)
     @GetMapping("/export")
     @GetMapping("/export")
-    public AjaxResult export(TPssrOverhaulPipe tPssrOverhaulPipe)
-    {
+    public AjaxResult export(TPssrOverhaulPipe tPssrOverhaulPipe) {
         List<TPssrOverhaulPipe> list = tPssrOverhaulPipeService.selectTPssrOverhaulPipeList(tPssrOverhaulPipe);
         List<TPssrOverhaulPipe> list = tPssrOverhaulPipeService.selectTPssrOverhaulPipeList(tPssrOverhaulPipe);
         ExcelUtil<TPssrOverhaulPipe> util = new ExcelUtil<TPssrOverhaulPipe>(TPssrOverhaulPipe.class);
         ExcelUtil<TPssrOverhaulPipe> util = new ExcelUtil<TPssrOverhaulPipe>(TPssrOverhaulPipe.class);
         return util.exportExcel(list, "overhaulPipe");
         return util.exportExcel(list, "overhaulPipe");
@@ -78,8 +68,7 @@ public class TPssrOverhaulPipeController extends BaseController
      */
      */
     @PreAuthorize("@ss.hasPermi('pssr:overhaulPipe:query')")
     @PreAuthorize("@ss.hasPermi('pssr:overhaulPipe:query')")
     @GetMapping(value = "/{id}")
     @GetMapping(value = "/{id}")
-    public AjaxResult getInfo(@PathVariable("id") Long id)
-    {
+    public AjaxResult getInfo(@PathVariable("id") Long id) {
         return AjaxResult.success(tPssrOverhaulPipeService.selectTPssrOverhaulPipeById(id));
         return AjaxResult.success(tPssrOverhaulPipeService.selectTPssrOverhaulPipeById(id));
     }
     }
 
 
@@ -89,8 +78,7 @@ public class TPssrOverhaulPipeController extends BaseController
     @PreAuthorize("@ss.hasPermi('pssr:overhaulPipe:add')")
     @PreAuthorize("@ss.hasPermi('pssr:overhaulPipe:add')")
     @Log(title = "检修项目-管线", businessType = BusinessType.INSERT)
     @Log(title = "检修项目-管线", businessType = BusinessType.INSERT)
     @PostMapping
     @PostMapping
-    public AjaxResult add(@RequestBody TPssrOverhaulPipe tPssrOverhaulPipe)
-    {
+    public AjaxResult add(@RequestBody TPssrOverhaulPipe tPssrOverhaulPipe) {
         tPssrOverhaulPipe.setApproveStatus(0L);
         tPssrOverhaulPipe.setApproveStatus(0L);
         return toAjax(tPssrOverhaulPipeService.insertTPssrOverhaulPipe(tPssrOverhaulPipe));
         return toAjax(tPssrOverhaulPipeService.insertTPssrOverhaulPipe(tPssrOverhaulPipe));
     }
     }
@@ -101,8 +89,7 @@ public class TPssrOverhaulPipeController extends BaseController
     @PreAuthorize("@ss.hasPermi('pssr:overhaulPipe:edit')")
     @PreAuthorize("@ss.hasPermi('pssr:overhaulPipe:edit')")
     @Log(title = "检修项目-管线", businessType = BusinessType.UPDATE)
     @Log(title = "检修项目-管线", businessType = BusinessType.UPDATE)
     @PutMapping
     @PutMapping
-    public AjaxResult edit(@RequestBody TPssrOverhaulPipe tPssrOverhaulPipe)
-    {
+    public AjaxResult edit(@RequestBody TPssrOverhaulPipe tPssrOverhaulPipe) {
         return toAjax(tPssrOverhaulPipeService.updateTPssrOverhaulPipe(tPssrOverhaulPipe));
         return toAjax(tPssrOverhaulPipeService.updateTPssrOverhaulPipe(tPssrOverhaulPipe));
     }
     }
 
 
@@ -111,9 +98,8 @@ public class TPssrOverhaulPipeController extends BaseController
      */
      */
     @PreAuthorize("@ss.hasPermi('pssr:overhaulPipe:remove')")
     @PreAuthorize("@ss.hasPermi('pssr:overhaulPipe:remove')")
     @Log(title = "检修项目-管线", businessType = BusinessType.DELETE)
     @Log(title = "检修项目-管线", businessType = BusinessType.DELETE)
-	@DeleteMapping("/{ids}")
-    public AjaxResult remove(@PathVariable Long[] ids)
-    {
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids) {
         return toAjax(tPssrOverhaulPipeService.deleteTPssrOverhaulPipeByIds(ids));
         return toAjax(tPssrOverhaulPipeService.deleteTPssrOverhaulPipeByIds(ids));
     }
     }
 
 
@@ -124,7 +110,7 @@ public class TPssrOverhaulPipeController extends BaseController
         if (tPssrOverhaulPipe.getIds() != null && tPssrOverhaulPipe.getIds().length > 0) {
         if (tPssrOverhaulPipe.getIds() != null && tPssrOverhaulPipe.getIds().length > 0) {
             for (Long id : tPssrOverhaulPipe.getIds()) {
             for (Long id : tPssrOverhaulPipe.getIds()) {
                 TPssrOverhaulPipe pipe = tPssrOverhaulPipeService.selectTPssrOverhaulPipeById(id);
                 TPssrOverhaulPipe pipe = tPssrOverhaulPipeService.selectTPssrOverhaulPipeById(id);
-                if (pipe.getConfirmationDate()==null){
+                if (pipe.getConfirmationDate() == null) {
                     pipe.setConfirmationDate(new Date());
                     pipe.setConfirmationDate(new Date());
                 }
                 }
                 pipe.setApproveStatus(2L);
                 pipe.setApproveStatus(2L);
@@ -138,7 +124,7 @@ public class TPssrOverhaulPipeController extends BaseController
             pipe.setConfirmer(getUserId().toString());
             pipe.setConfirmer(getUserId().toString());
             pipe.setApproveStatus(1L);
             pipe.setApproveStatus(1L);
             for (TPssrOverhaulPipe overhaulPipe : tPssrOverhaulPipeService.selectTPssrOverhaulPipeList(pipe)) {
             for (TPssrOverhaulPipe overhaulPipe : tPssrOverhaulPipeService.selectTPssrOverhaulPipeList(pipe)) {
-                if (overhaulPipe.getConfirmationDate()==null){
+                if (overhaulPipe.getConfirmationDate() == null) {
                     overhaulPipe.setConfirmationDate(new Date());
                     overhaulPipe.setConfirmationDate(new Date());
                 }
                 }
                 overhaulPipe.setApproveStatus(2L);
                 overhaulPipe.setApproveStatus(2L);
@@ -152,18 +138,20 @@ public class TPssrOverhaulPipeController extends BaseController
         entity.setSubId(tPssrOverhaulPipe.getSubId());
         entity.setSubId(tPssrOverhaulPipe.getSubId());
         entity.setApproveStatus(1L);
         entity.setApproveStatus(1L);
         TPssrOverhaulExchanger exchanger = tPssrOverhaulExchangerService.selectAllConfirmedPersonBySubId(entity);
         TPssrOverhaulExchanger exchanger = tPssrOverhaulExchangerService.selectAllConfirmedPersonBySubId(entity);
-        String confirmedPerson = exchanger.getConfirmedPerson();
-        logger.info("===========confirmedPerson:{}", confirmedPerson);
-        //如果当前用户还有待审批任务
-        if (confirmedPerson.contains(getUserId().toString())) {
-            return AjaxResult.success();
+        if (exchanger != null) {
+            String confirmedPerson = exchanger.getConfirmedPerson();
+            logger.info("===========confirmedPerson:{}", confirmedPerson);
+            //如果当前用户还有待审批任务
+            if (confirmedPerson.contains(getUserId().toString())) {
+                return AjaxResult.success();
+            }
         }
         }
         //无待审批任务结束当前用户流程
         //无待审批任务结束当前用户流程
         TPssrApprove approve = new TPssrApprove();
         TPssrApprove approve = new TPssrApprove();
         approve.setSubId(tPssrOverhaulPipe.getSubId());
         approve.setSubId(tPssrOverhaulPipe.getSubId());
         // 因为流程关系所以approve一定会有且只有一条数据
         // 因为流程关系所以approve一定会有且只有一条数据
         TPssrApprove tPssrApprove = tPssrApproveService.selectTPssrApproveList(approve).get(0);
         TPssrApprove tPssrApprove = tPssrApproveService.selectTPssrApproveList(approve).get(0);
-        TPssrApproveController.handleConfirmApprove(tPssrApprove,getUserId().toString());
+        TPssrApproveController.handleConfirmApprove(tPssrApprove, getUserId().toString());
         return AjaxResult.success();
         return AjaxResult.success();
     }
     }
 }
 }

+ 3 - 3
master/src/main/java/com/ruoyi/project/pssr/domain/TPssrApprove.java

@@ -34,7 +34,7 @@ public class TPssrApprove extends BaseEntity
 
 
     /** 审批状态 */
     /** 审批状态 */
     @Excel(name = "审批状态")
     @Excel(name = "审批状态")
-    private String approveStatus;
+    private Long approveStatus;
 
 
     /** 子表确认人 */
     /** 子表确认人 */
     @Excel(name = "子表确认人")
     @Excel(name = "子表确认人")
@@ -119,12 +119,12 @@ public class TPssrApprove extends BaseEntity
     {
     {
         return processId;
         return processId;
     }
     }
-    public void setApproveStatus(String approveStatus)
+    public void setApproveStatus(Long approveStatus)
     {
     {
         this.approveStatus = approveStatus;
         this.approveStatus = approveStatus;
     }
     }
 
 
-    public String getApproveStatus()
+    public Long getApproveStatus()
     {
     {
         return approveStatus;
         return approveStatus;
     }
     }

+ 9 - 0
ui/src/api/pssr/approve.js

@@ -59,3 +59,12 @@ export function doApprove(subId) {
     method: 'post'
     method: 'post'
   })
   })
 }
 }
+
+// pssr处理审批
+export function handlePssrApprove(data) {
+  return request({
+    url: '/pssr/approve/handlePssrApprove',
+    method: 'put',
+    data: data
+  })
+}

+ 2 - 0
ui/src/store/index.js

@@ -1,6 +1,7 @@
 import Vue from 'vue'
 import Vue from 'vue'
 import Vuex from 'vuex'
 import Vuex from 'vuex'
 import app from './modules/app'
 import app from './modules/app'
+import dict from './modules/dict'
 import user from './modules/user'
 import user from './modules/user'
 import tagsView from './modules/tagsView'
 import tagsView from './modules/tagsView'
 import permission from './modules/permission'
 import permission from './modules/permission'
@@ -13,6 +14,7 @@ const store = new Vuex.Store({
   modules: {
   modules: {
     app,
     app,
     user,
     user,
+    dict,
     tagsView,
     tagsView,
     permission,
     permission,
     settings,
     settings,

+ 50 - 0
ui/src/store/modules/dict.js

@@ -0,0 +1,50 @@
+const state = {
+  dict: new Array()
+}
+const mutations = {
+  SET_DICT: (state, { key, value }) => {
+    if (key !== null && key !== "") {
+      state.dict.push({
+        key: key,
+        value: value
+      })
+    }
+  },
+  REMOVE_DICT: (state, key) => {
+    try {
+      for (let i = 0; i < state.dict.length; i++) {
+        if (state.dict[i].key == key) {
+          state.dict.splice(i, 1)
+          return true
+        }
+      }
+    } catch (e) {
+    }
+  },
+  CLEAN_DICT: (state) => {
+    state.dict = new Array()
+  }
+}
+
+const actions = {
+  // 设置字典
+  setDict({ commit }, data) {
+    commit('SET_DICT', data)
+  },
+  // 删除字典
+  removeDict({ commit }, key) {
+    commit('REMOVE_DICT', key)
+  },
+  // 清空字典
+  cleanDict({ commit }) {
+    commit('CLEAN_DICT')
+  }
+}
+
+export default {
+  namespaced: true,
+  state,
+  mutations,
+  actions
+}
+

+ 13 - 2
ui/src/views/approve/approveDetail/pssrApprove-detail.vue

@@ -9,7 +9,7 @@
       <el-button v-if="!this.taskForm.taskId == ''&&isApprove==2" type="primary"
       <el-button v-if="!this.taskForm.taskId == ''&&isApprove==2" type="primary"
                  @click="dataFormSubmit(1)" :disabled="submitDisabled">通过</el-button>
                  @click="dataFormSubmit(1)" :disabled="submitDisabled">通过</el-button>
       <el-button v-if="!this.taskForm.taskId == ''&&isApprove==2" type="danger"
       <el-button v-if="!this.taskForm.taskId == ''&&isApprove==2" type="danger"
-                 @click="dataFormSubmit(0)" :disabled="submitDisabled">驳回</el-button>
+                 :disabled="submitDisabled">驳回</el-button>
       <el-button @click="visible = false">{{ $t('返回') }}</el-button>
       <el-button @click="visible = false">{{ $t('返回') }}</el-button>
     </span>
     </span>
     <div>
     <div>
@@ -33,6 +33,7 @@
 import {getHistorylist} from "@/api/ehs/approvedanger";
 import {getHistorylist} from "@/api/ehs/approvedanger";
 import Subitem from "@/views/pssr/subitem/index.vue";
 import Subitem from "@/views/pssr/subitem/index.vue";
 import {getSubcontent} from "@/api/pssr/subcontent";
 import {getSubcontent} from "@/api/pssr/subcontent";
+import {getApprove, handlePssrApprove, listApprove} from "@/api/pssr/approve";
 
 
 export default {
 export default {
   name: "pssrApprove-detail",
   name: "pssrApprove-detail",
@@ -53,6 +54,7 @@ export default {
       taskForm: {
       taskForm: {
         comment: '',
         comment: '',
         taskId: '',
         taskId: '',
+        condition: '',
         taskName: '',
         taskName: '',
         businessKey: '',
         businessKey: '',
         tPssrApprove: {}
         tPssrApprove: {}
@@ -75,7 +77,7 @@ export default {
         this.subId = id;
         this.subId = id;
         this.taskForm.taskId = taskId
         this.taskForm.taskId = taskId
         this.taskForm.taskName = taskName
         this.taskForm.taskName = taskName
-        if (this.taskForm.taskId==''){
+        if (!taskId){
           this.isApprove=3;
           this.isApprove=3;
         }
         }
         console.log(this.sn)
         console.log(this.sn)
@@ -85,9 +87,18 @@ export default {
         this.historyList = response.rows;
         this.historyList = response.rows;
         this.historyLoading = false
         this.historyLoading = false
       });
       });
+      listApprove({subId:id}).then(res => {
+        this.taskForm.tPssrApprove=res.rows[0];
+        console.log(this.taskForm)
+      })
+      console.log(this.isApprove)
     },
     },
     dataFormSubmit(val) {
     dataFormSubmit(val) {
+      this.submitDisabled=true
+      this.taskForm.condition = val;
+      handlePssrApprove(this.taskForm).then(res => {
 
 
+      })
     }
     }
   }
   }
 
 

+ 1 - 1
ui/src/views/approve/taskdone/index.vue

@@ -64,7 +64,7 @@
     <sems-week-check-detail v-if="semsWeekcheckDetailVisible" ref="semsWeekcheckDetail" @refreshDataList="getList"></sems-week-check-detail>
     <sems-week-check-detail v-if="semsWeekcheckDetailVisible" ref="semsWeekcheckDetail" @refreshDataList="getList"></sems-week-check-detail>
     <dsdt-training-detail v-if="dsdtTrainingDetailVisible" ref="dsdtTrainingDetail" @refreshDataList="getList"></dsdt-training-detail>
     <dsdt-training-detail v-if="dsdtTrainingDetailVisible" ref="dsdtTrainingDetail" @refreshDataList="getList"></dsdt-training-detail>
     <dsdt-nopass-detail v-if="dsdtNopassDetailVisible" ref="dsdtNopassDetail" @refreshDataList="getList"></dsdt-nopass-detail>
     <dsdt-nopass-detail v-if="dsdtNopassDetailVisible" ref="dsdtNopassDetail" @refreshDataList="getList"></dsdt-nopass-detail>
-    <pssr-approve-detail v-if="dsdtNopassDetailVisible" ref="pssrApproveDetail" @refreshDataList="getList"></pssr-approve-detail>
+    <pssr-approve-detail v-if="pssrApproveDetailVisible" ref="pssrApproveDetail" @refreshDataList="getList"></pssr-approve-detail>
 
 
   </div>
   </div>
 </template>
 </template>

+ 15 - 2
ui/src/views/pssr/aboveall/index.vue

@@ -91,7 +91,11 @@
       <el-table-column type="selection" width="55" align="center"/>
       <el-table-column type="selection" width="55" align="center"/>
       <el-table-column label="区域" align="center" prop="region" :show-overflow-tooltip="true"/>
       <el-table-column label="区域" align="center" prop="region" :show-overflow-tooltip="true"/>
       <el-table-column label="单元" align="center" prop="unit" :show-overflow-tooltip="true"/>
       <el-table-column label="单元" align="center" prop="unit" :show-overflow-tooltip="true"/>
-      <el-table-column label="审批状态" align="center" prop="approveStatus" :show-overflow-tooltip="true"/>
+      <el-table-column label="审批状态" align="center" prop="approveStatus" :show-overflow-tooltip="true">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.pssr_approve_status" :value="scope.row.approveStatus" :show-type="getTagType(scope.row.approveStatus)"/>
+        </template>
+      </el-table-column>
       <el-table-column label="确认人" align="center" prop="confirm" :show-overflow-tooltip="true"/>
       <el-table-column label="确认人" align="center" prop="confirm" :show-overflow-tooltip="true"/>
       <el-table-column label="确认时间" align="center" prop="confirmationDate">
       <el-table-column label="确认时间" align="center" prop="confirmationDate">
         <template slot-scope="scope">
         <template slot-scope="scope">
@@ -99,7 +103,7 @@
         </template>
         </template>
       </el-table-column>
       </el-table-column>
       <el-table-column label="备注" align="center" prop="remarks" :show-overflow-tooltip="true"/>
       <el-table-column label="备注" align="center" prop="remarks" :show-overflow-tooltip="true"/>
-      <el-table-column label="操作" align="center" fixed="right" width="120" class-name="small-padding fixed-width">
+      <el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
         <template slot-scope="scope">
         <template slot-scope="scope">
           <el-button
           <el-button
             size="mini"
             size="mini"
@@ -370,6 +374,15 @@ export default {
     });
     });
   },
   },
   methods: {
   methods: {
+    getTagType(val){
+      if (val==0){
+        return ''
+      }else if (val==1){
+        return 'warning'
+      }else if (val==2){
+        return 'success'
+      }
+    },
     gotoSubIndex(row){
     gotoSubIndex(row){
       this.$router.push({ name: 'Subcontent', params: { aboveallId: row.id }})
       this.$router.push({ name: 'Subcontent', params: { aboveallId: row.id }})
     },
     },

+ 1 - 1
ui/src/views/pssr/overhaulExchanger/index.vue

@@ -377,7 +377,7 @@ export default {
     this.$nextTick(() => {
     this.$nextTick(() => {
       this.clientHeight = document.body.clientHeight - 250
       this.clientHeight = document.body.clientHeight - 250
     })
     })
-    if (this.isApprove != 0) {
+    if (this.isApprove != 0 && this.isApprove != 2) {
       this.queryParams.confirmedPerson = 1;
       this.queryParams.confirmedPerson = 1;
     }
     }
     this.getList();
     this.getList();

+ 1 - 1
ui/src/views/pssr/overhaulFilter/index.vue

@@ -409,7 +409,7 @@ export default {
     this.$nextTick(() => {
     this.$nextTick(() => {
       this.clientHeight = document.body.clientHeight - 320
       this.clientHeight = document.body.clientHeight - 320
     })
     })
-    if (this.isApprove != 0) {
+    if (this.isApprove != 0 && this.isApprove != 2) {
       this.queryParams.respPerson = 1;
       this.queryParams.respPerson = 1;
     }
     }
     this.getList();
     this.getList();

+ 8 - 7
ui/src/views/pssr/overhaulPipe/index.vue

@@ -116,7 +116,8 @@
       <el-table-column type="selection" width="55" align="center" :selectable="checkSelectable"/>
       <el-table-column type="selection" width="55" align="center" :selectable="checkSelectable"/>
       <el-table-column label="审批状态" align="center" prop="approveStatus" :show-overflow-tooltip="true" width="120">
       <el-table-column label="审批状态" align="center" prop="approveStatus" :show-overflow-tooltip="true" width="120">
         <template slot-scope="scope">
         <template slot-scope="scope">
-          <dict-tag :options="dict.type.pssr_approve_status" :value="scope.row.approveStatus" :show-type="getTagType(scope.row.approveStatus)"/>
+          <dict-tag :options="dict.type.pssr_approve_status" :value="scope.row.approveStatus"
+                    :show-type="getTagType(scope.row.approveStatus)"/>
         </template>
         </template>
       </el-table-column>
       </el-table-column>
       <el-table-column label="管线号" align="center" prop="pipelineNo" :show-overflow-tooltip="true"/>
       <el-table-column label="管线号" align="center" prop="pipelineNo" :show-overflow-tooltip="true"/>
@@ -255,7 +256,7 @@ import {getSubcontent} from "@/api/pssr/subcontent";
 
 
 
 
 export default {
 export default {
-  dicts:['pssr_approve_status'],
+  dicts: ['pssr_approve_status'],
   name: "OverhaulPipe",
   name: "OverhaulPipe",
   components: {Treeselect},
   components: {Treeselect},
   props: {
   props: {
@@ -348,7 +349,7 @@ export default {
     this.$nextTick(() => {
     this.$nextTick(() => {
       this.clientHeight = document.body.clientHeight - 250
       this.clientHeight = document.body.clientHeight - 250
     })
     })
-    if (this.isApprove != 0) {
+    if (this.isApprove != 0 && this.isApprove != 2) {
       this.queryParams.confirmer = 1;
       this.queryParams.confirmer = 1;
     }
     }
     this.getList();
     this.getList();
@@ -367,12 +368,12 @@ export default {
     })
     })
   },
   },
   methods: {
   methods: {
-    getTagType(val){
-      if (val==0){
+    getTagType(val) {
+      if (val == 0) {
         return ''
         return ''
-      }else if (val==1){
+      } else if (val == 1) {
         return 'warning'
         return 'warning'
-      }else if (val==2){
+      } else if (val == 2) {
         return 'success'
         return 'success'
       }
       }
     },
     },

+ 1 - 1
ui/src/views/pssr/overhaulPump/index.vue

@@ -362,7 +362,7 @@ export default {
     this.$nextTick(() => {
     this.$nextTick(() => {
       this.clientHeight = document.body.clientHeight - 250
       this.clientHeight = document.body.clientHeight - 250
     })
     })
-    if (this.isApprove != 0) {
+    if (this.isApprove != 0 && this.isApprove != 2) {
       this.queryParams.confirmedPerson = 1;
       this.queryParams.confirmedPerson = 1;
     }
     }
     this.getList();
     this.getList();

+ 1 - 1
ui/src/views/pssr/overhaulTower/index.vue

@@ -364,7 +364,7 @@ export default {
     this.$nextTick(() => {
     this.$nextTick(() => {
       this.clientHeight = document.body.clientHeight - 250
       this.clientHeight = document.body.clientHeight - 250
     })
     })
-    if (this.isApprove != 0) {
+    if (this.isApprove != 0 && this.isApprove != 2) {
       this.queryParams.confirmedPerson = 1;
       this.queryParams.confirmedPerson = 1;
     }
     }
     this.getList();
     this.getList();

+ 1 - 1
ui/src/views/pssr/overhaulValve/index.vue

@@ -426,7 +426,7 @@ export default {
     this.$nextTick(() => {
     this.$nextTick(() => {
       this.clientHeight = document.body.clientHeight - 250
       this.clientHeight = document.body.clientHeight - 250
     })
     })
-    if (this.isApprove != 0) {
+    if (this.isApprove != 0 && this.isApprove != 2) {
       this.queryParams.identifyingPerson = 1;
       this.queryParams.identifyingPerson = 1;
     }
     }
     this.getList();
     this.getList();

+ 0 - 1
ui/src/views/pssr/subitem/index.vue

@@ -171,7 +171,6 @@ import PumpOverhaul from "@/views/pssr/pumpOverhaul/index.vue";
 import PumpFill from "@/views/pssr/pumpFill/index.vue";
 import PumpFill from "@/views/pssr/pumpFill/index.vue";
 
 
 export default {
 export default {
-  dicts:['pssr_approve_status'],
   name: "Subitem",
   name: "Subitem",
   components: {
   components: {
     PumpFill,
     PumpFill,