From df53fedd3054af8ec777cfcfd90acfc73ab1d326 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Fri, 26 Jan 2024 15:12:01 +0800 Subject: [PATCH] =?UTF-8?q?fix=2081039=20=E5=B7=A5=E4=BD=9C=E4=B8=AD?= =?UTF-8?q?=E5=BF=83-=E6=B5=81=E7=A8=8B=E4=B8=AD=E5=BF=83-=E8=8D=89?= =?UTF-8?q?=E7=A8=BF=EF=BC=9A=E6=8C=89=E5=88=9B=E5=BB=BA=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E6=8E=92=E5=BA=8F=E6=97=A0=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WorkCenterController.java | 36 ++++++++++--- .../activiti/mapper/xml/ProcessAllMapper.xml | 8 ++- .../controller/ProcessFbInfoController.java | 51 +------------------ .../activiti/service/ProcessAllService.java | 18 ------- 4 files changed, 36 insertions(+), 77 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/controller/WorkCenterController.java b/laws-modules/src/main/java/com/jero/modules/activiti/controller/WorkCenterController.java index 45ee9a5a..1a856549 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/controller/WorkCenterController.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/controller/WorkCenterController.java @@ -1,17 +1,20 @@ package com.jero.modules.activiti.controller; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.common.api.vo.Result; import com.jero.common.api.vo.ResultCommon; import com.jero.common.aspect.annotation.AutoLog; +import com.jero.common.system.query.QueryGenerator; import com.jero.common.system.vo.LoginUser; import com.jero.common.util.MessageUtils; import com.jero.modules.activiti.entity.ProcessAll; import com.jero.modules.activiti.entity.ProcessApprovalRecord; import com.jero.modules.activiti.enums.FinishFlagEnum; import com.jero.modules.activiti.enums.ProcessStatusEnum; +import com.jero.modules.activiti.process.common.common.DraftCommon; import com.jero.modules.activiti.process.common.entity.ProcessDraft; import com.jero.modules.activiti.process.common.service.ProcessDraftService; import com.jero.modules.activiti.process.fb.service.IProcessHandleService; @@ -19,6 +22,7 @@ import com.jero.modules.activiti.service.ProcessAllService; import com.jero.modules.activiti.service.ProcessApprovalRecordService; import com.jero.modules.activiti.vo.DelegateTaskParam; import com.jero.modules.activiti.vo.ResolveTaskParam; +import com.jero.modules.laws.common.util.CurrentUserUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -30,6 +34,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.util.Map; +import java.util.Objects; /** * @author liJiaRao @@ -118,8 +123,10 @@ public class WorkCenterController { @ApiOperation(value = "查询流程审批记录") @GetMapping("/getApprovalRecordList") public Result getApprovalRecordList(ProcessApprovalRecord processApprovalRecord, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { - Page page = new Page<>(1, Integer.MAX_VALUE); + Page page = new Page<>(pageNo, pageSize); Page pageList; try { pageList = processApprovalRecordService.pageList(page, processApprovalRecord, req); @@ -135,15 +142,28 @@ public class WorkCenterController { @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - String userId = loginUser.getId(); - queryWrapper.eq("create_by",userId); - Integer prcType = processDraft.getPrcType(); - queryWrapper.eq(prcType != null, "prc_type", prcType); - + LambdaQueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(processDraft,req.getParameterMap()).lambda(); + queryWrapper.eq(ProcessDraft::getUserId, CurrentUserUtil.getId()); + queryWrapper.isNull(ProcessDraft::getTaskId); + queryWrapper.and(a -> { + a.ne(ProcessDraft::getSaveSource, DraftCommon.INITIAL_SOURCE) + .or() + .isNull(ProcessDraft::getSaveSource); + }); + //queryWrapper.eq(!Objects.isNull(processDraft.getPrcType()), ProcessDraft::getPrcType, processDraft.getPrcType()); Page page = new Page<>(pageNo, pageSize); IPage sentList = processDraftService.page(page, queryWrapper); + sentList.getRecords().forEach(item -> { + String taskId = item.getTaskId(); + if (StringUtils.isBlank(taskId)){ + return; + } + ProcessApprovalRecord record = processApprovalRecordService.getToDoByTaskId(taskId); + if (record != null) { + item.setNodeId(record.getNodeId()); + item.setNodeName(record.getTaskName()); + } + }); return Result.OK(sentList); } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/mapper/xml/ProcessAllMapper.xml b/laws-modules/src/main/java/com/jero/modules/activiti/mapper/xml/ProcessAllMapper.xml index 39ccdd65..a3f0f2f4 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/mapper/xml/ProcessAllMapper.xml +++ b/laws-modules/src/main/java/com/jero/modules/activiti/mapper/xml/ProcessAllMapper.xml @@ -52,7 +52,10 @@ diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/controller/ProcessFbInfoController.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/controller/ProcessFbInfoController.java index 3410ab5b..1197ac07 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/controller/ProcessFbInfoController.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/controller/ProcessFbInfoController.java @@ -30,6 +30,7 @@ import org.activiti.engine.history.HistoricProcessInstance; import org.activiti.engine.runtime.Execution; import org.activiti.engine.runtime.ProcessInstance; import org.activiti.engine.task.Task; +import org.apache.commons.lang3.StringUtils; import org.apache.poi.ss.formula.functions.T; import org.apache.shiro.SecurityUtils; import org.springframework.web.bind.annotation.GetMapping; @@ -82,54 +83,4 @@ public class ProcessFbInfoController { return Result.OK(processNodeList); } - @ApiOperation(value = "查询草稿") - @GetMapping("/getDraftList") - public Result> getDraftList(ProcessDraft processDraft, - @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(ProcessDraft::getUserId, CurrentUserUtil.getId()); - queryWrapper.isNull(ProcessDraft::getTaskId); - queryWrapper.and(a -> { - a.ne(ProcessDraft::getSaveSource, DraftCommon.INITIAL_SOURCE) - .or() - .isNull(ProcessDraft::getSaveSource); - }); - queryWrapper.eq(!Objects.isNull(processDraft.getPrcType()), ProcessDraft::getPrcType, processDraft.getPrcType()); - Page page = new Page<>(pageNo, pageSize); - IPage sentList = processDraftService.page(page, queryWrapper); - sentList.getRecords().forEach(item -> { - ProcessApprovalRecord record = actFlowCommonService.getNodeIdByTaskId(item.getTaskId()); - if (record != null) { - item.setNodeId(record.getNodeId()); - item.setNodeName(record.getTaskName()); - } - }); - return Result.OK(sentList); - } - - @ApiOperation(value = "测试") - @GetMapping("/test") - public Result test() { - String processInstanceId = "20231117135055516"; - // 查询正在执行的多实例子流程的执行实例列表 - List executions = runtimeService.createExecutionQuery() - .processInstanceId(processInstanceId) - .activityId("depart_leader_start_1") // 指定多实例活动的ID - .list(); - - // 遍历执行实例列表 - System.out.println("processInstanceId: " + processInstanceId); - for (Execution execution : executions) { - // 获取执行实例的ID,即每个实例的唯一标识 - System.out.println("Id: " + execution.getId()); - System.out.println("SuperExecutionId: " + execution.getSuperExecutionId()); - System.out.println("ParentId: " + execution.getParentId()); - System.out.println("RootProcessInstanceId: " + execution.getRootProcessInstanceId()); - System.out.println("ProcessInstanceId: " + execution.getProcessInstanceId()); - // 执行其他逻辑,例如查询与该实例相关的任务等 - } - return Result.OK(); - } - } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessAllService.java b/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessAllService.java index 8a269fb7..082cca03 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessAllService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessAllService.java @@ -159,24 +159,6 @@ public class ProcessAllService extends ServiceImpl .eq(ProcessAll::getId, processAll.getId()) .set(ProcessAll::getPrcStatus, ProcessStatusEnum.WITHDRAWN.getValue())); - // 更新最后一条待办人员为流程发起人 - WorkCenterController workCenterController = SpringContextUtil.getBean(WorkCenterController.class); - ProcessApprovalRecord processApprovalRecord1 = new ProcessApprovalRecord(); - processApprovalRecord1.setProcessInstanceId(processInstanceId); - Result approvalRecordList = workCenterController.getApprovalRecordList(processApprovalRecord1, null); - if (!Objects.isNull(approvalRecordList.getResult())){ - Page pageList = (Page) approvalRecordList.getResult(); - if (CollectionUtils.isNotEmpty(pageList.getRecords())){ - List processApprovalRecords = JSON.parseArray(JSON.toJSONString(pageList.getRecords()), ProcessApprovalRecord.class); - if (CollectionUtils.isNotEmpty(processApprovalRecords)){ - approvalRecordService.update( - new LambdaUpdateWrapper() - .eq(ProcessApprovalRecord::getId, processApprovalRecords.get(0).getId()) - .set(ProcessApprovalRecord::getUserId, processApprovalRecords.get(processApprovalRecords.size() - 1).getOriginUserId())); - } - } - } - //新增撤销审批记录 LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); ProcessApprovalRecord processApprovalRecord = new ProcessApprovalRecord();