From 9dc6c559d2b69b7c9fe43644e723804d4b558aa0 Mon Sep 17 00:00:00 2001 From: bob Date: Sun, 8 Jan 2023 21:19:30 +0800 Subject: [PATCH] fix(oaProject) submit datetime --- .../controller/FlowHisTaskController.java | 33 +++++++ .../flowable/service/IFlowHisTaskService.java | 17 ++++ .../service/impl/FlowHisTaskServiceImpl.java | 93 +++++++++++++++++++ .../src/views/flowable/oa-project-flow.vue | 10 ++ .../views/flowable/task/finished/record.vue | 19 ++-- .../src/views/flowable/task/record/index.vue | 22 +++-- 6 files changed, 175 insertions(+), 19 deletions(-) create mode 100644 ruoyi-flowable/src/main/java/com/ruoyi/flowable/controller/FlowHisTaskController.java create mode 100644 ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/IFlowHisTaskService.java create mode 100644 ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/impl/FlowHisTaskServiceImpl.java diff --git a/ruoyi-flowable/src/main/java/com/ruoyi/flowable/controller/FlowHisTaskController.java b/ruoyi-flowable/src/main/java/com/ruoyi/flowable/controller/FlowHisTaskController.java new file mode 100644 index 0000000..b1e10c9 --- /dev/null +++ b/ruoyi-flowable/src/main/java/com/ruoyi/flowable/controller/FlowHisTaskController.java @@ -0,0 +1,33 @@ +package com.ruoyi.flowable.controller; + +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.flowable.domain.dto.FlowTaskDto; +import com.ruoyi.flowable.service.IFlowInstanceService; +import com.ruoyi.flowable.service.IFlowTaskService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + +@Slf4j +@Api(tags = "工作流流程任务管理") +@RestController +@RequestMapping("/flowable/hisTask") +public class FlowHisTaskController { + + @Autowired + private IFlowTaskService flowTaskService; + + @ApiOperation(value = "我发起的流程", response = FlowTaskDto.class) + @GetMapping(value = "/myProcess") + public AjaxResult myProcess(@ApiParam(value = "当前页码", required = true) @RequestParam Integer pageNum, + @ApiParam(value = "每页条数", required = true) @RequestParam Integer pageSize) { + return flowTaskService.myProcess(pageNum, pageSize); + } +} diff --git a/ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/IFlowHisTaskService.java b/ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/IFlowHisTaskService.java new file mode 100644 index 0000000..b313224 --- /dev/null +++ b/ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/IFlowHisTaskService.java @@ -0,0 +1,17 @@ +package com.ruoyi.flowable.service; + +import com.ruoyi.common.core.domain.AjaxResult; + +/** + * @author XuanXuan + * @date 2021-04-03 14:42 + */ +public interface IFlowHisTaskService { + + /** + * 审批任务 + * + * @param taskId 任务id + */ + AjaxResult updateTaskEndTime(String taskId); +} diff --git a/ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/impl/FlowHisTaskServiceImpl.java b/ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/impl/FlowHisTaskServiceImpl.java new file mode 100644 index 0000000..ba2894d --- /dev/null +++ b/ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/impl/FlowHisTaskServiceImpl.java @@ -0,0 +1,93 @@ +package com.ruoyi.flowable.service.impl; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.google.common.collect.Lists; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.entity.SysRole; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.exception.CustomException; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.flowable.common.constant.ProcessConstants; +import com.ruoyi.flowable.common.enums.FlowComment; +import com.ruoyi.flowable.domain.dto.FlowCommentDto; +import com.ruoyi.flowable.domain.dto.FlowNextDto; +import com.ruoyi.flowable.domain.dto.FlowTaskDto; +import com.ruoyi.flowable.domain.dto.FlowViewerDto; +import com.ruoyi.flowable.domain.vo.FlowTaskVo; +import com.ruoyi.flowable.factory.FlowServiceFactory; +import com.ruoyi.flowable.flow.CustomProcessDiagramGenerator; +import com.ruoyi.flowable.flow.FindNextNodeUtil; +import com.ruoyi.flowable.flow.FlowableUtils; +import com.ruoyi.flowable.service.IFlowHisTaskService; +import com.ruoyi.flowable.service.IFlowTaskService; +import com.ruoyi.flowable.service.ISysDeployFormService; +import com.ruoyi.system.service.ISysRoleService; +import com.ruoyi.system.service.ISysUserService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.flowable.bpmn.model.Process; +import org.flowable.bpmn.model.*; +import org.flowable.common.engine.api.FlowableException; +import org.flowable.common.engine.api.FlowableObjectNotFoundException; +import org.flowable.common.engine.impl.identity.Authentication; +import org.flowable.engine.ProcessEngineConfiguration; +import org.flowable.engine.history.HistoricActivityInstance; +import org.flowable.engine.history.HistoricProcessInstance; +import org.flowable.engine.history.HistoricProcessInstanceQuery; +import org.flowable.engine.repository.ProcessDefinition; +import org.flowable.engine.runtime.Execution; +import org.flowable.engine.runtime.ProcessInstance; +import org.flowable.engine.task.Comment; +import org.flowable.identitylink.api.history.HistoricIdentityLink; +import org.flowable.image.ProcessDiagramGenerator; +import org.flowable.task.api.DelegationState; +import org.flowable.task.api.Task; +import org.flowable.task.api.TaskQuery; +import org.flowable.task.api.history.HistoricTaskInstance; +import org.flowable.task.api.history.HistoricTaskInstanceQuery; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.io.InputStream; +import java.util.*; +import java.util.concurrent.ConcurrentHashMap; +import java.util.function.Function; +import java.util.function.Predicate; +import java.util.stream.Collectors; + +/** + * @author XuanXuan + * @date 2021-04-03 + **/ +@Service +@Slf4j +public class FlowHisTaskServiceImpl extends FlowServiceFactory implements IFlowHisTaskService { + + @Resource + private ISysUserService sysUserService; + + + @Resource + private ISysRoleService sysRoleService; + + + @Resource + private ISysDeployFormService sysInstanceFormService; + + @Override + public AjaxResult updateTaskEndTime(String taskId) { + if (StringUtils.isBlank(taskId)) { + return AjaxResult.error("修改失败,任务id参数无效!"); + } + HistoricTaskInstance historicTaskInstance = historyService.createHistoricTaskInstanceQuery().taskId(taskId).singleResult(); + if (Objects.isNull(historicTaskInstance)) { + return AjaxResult.error("修改失败,任务id无效!"); + } +// historyService.createHistoricTaskInstanceQuery().taskId(taskId). + runtimeService.createChangeActivityStateBuilder(). + return null; + } +} diff --git a/ruoyi-ui/src/views/flowable/oa-project-flow.vue b/ruoyi-ui/src/views/flowable/oa-project-flow.vue index 159256c..aa51eee 100644 --- a/ruoyi-ui/src/views/flowable/oa-project-flow.vue +++ b/ruoyi-ui/src/views/flowable/oa-project-flow.vue @@ -50,6 +50,15 @@
只能上传jpg/png文件,且不超过500kb
+ + + +