From 9eb5da49e8540da6f16ddd4dce0a70f9760947c5 Mon Sep 17 00:00:00 2001 From: fanzongzhe <285169773@qq.com> Date: Tue, 10 Oct 2023 14:09:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=82=AC=E5=8A=9E=E5=8A=9F=E8=83=BD=E3=80=81?= =?UTF-8?q?=E5=82=AC=E5=8A=9E=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../anrui/flowable/api/flow2/FlowFeign.java | 21 +++++- .../flowable/api/flow2/FlowableMessageVo.java | 4 +- .../anrui/flowable/biz/flow2/FlowMapper.java | 14 +++- .../anrui/flowable/biz/flow2/FlowMapper.xml | 41 ++++++++++- .../anrui/flowable/biz/flow2/FlowRest.java | 25 ++++++- .../anrui/flowable/biz/flow2/FlowService.java | 69 ++++++++++++++++++- 6 files changed, 166 insertions(+), 8 deletions(-) diff --git a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow2/FlowFeign.java b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow2/FlowFeign.java index e3831895ec..13af94e03c 100644 --- a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow2/FlowFeign.java +++ b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow2/FlowFeign.java @@ -1,6 +1,7 @@ package com.yxt.anrui.flowable.api.flow2; import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; +import com.yxt.anrui.flowable.api.flowtask.FlowTaskDto; import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; import com.yxt.common.core.result.ResultBean; import io.swagger.annotations.ApiOperation; @@ -39,11 +40,29 @@ public interface FlowFeign { @ApiOperation(value = "人工催办") @GetMapping(value = "/getMessageReminder") @ResponseBody - ResultBean getMessageReminder(@RequestParam("proDefId") String proDefId, @RequestParam("proInstId") String proInstId); + ResultBean getMessageReminder(@RequestParam("proDefId") String proDefId, @RequestParam("procInstId") String procInstId); @ApiOperation(value = "加签") @PostMapping(value = "/delegate") public ResultBean delegate(@RequestBody FlowDelegateQuery flowDelegateQuery); + @ApiOperation(value = "催办统计查询发起人信息") + @GetMapping(value = "/getApplicantInfoForUrgeCount") + @ResponseBody + ResultBean getApplicantInfoForUrgeCount(@RequestParam("taskId") String taskId, @RequestParam("procInstId") String procInstId); + + @ApiOperation(value = "催办统计查询任务信息") + @GetMapping(value = "/getTask") + @ResponseBody + ResultBean getTask(@RequestParam("taskId") String taskId, @RequestParam("procInstId") String procInstId); + @ApiOperation(value = "催办统计查询工作名称") + @GetMapping(value = "/getTaskNameForUrgeCount") + @ResponseBody + ResultBean getTaskNameForUrgeCount(@RequestParam("taskId") String taskId, @RequestParam("procInstId") String procInstId); + + @ApiOperation(value = "催办统计查询审批结果") + @GetMapping(value = "/getApprovalResult") + @ResponseBody + ResultBean getApprovalResult(@RequestParam("proDefId") String proDefId, @RequestParam("procInstId") String procInstId); } diff --git a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow2/FlowableMessageVo.java b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow2/FlowableMessageVo.java index 78b7db4732..700e8114ec 100644 --- a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow2/FlowableMessageVo.java +++ b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow2/FlowableMessageVo.java @@ -24,6 +24,8 @@ public class FlowableMessageVo implements Vo { private String assignee; @ApiModelProperty("接收时间") private String createTime; - + @ApiModelProperty("结束时间") + private String endTime; private String taskId; + private String result; } diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow2/FlowMapper.java b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow2/FlowMapper.java index 8a95a5e2c0..01289c9b03 100644 --- a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow2/FlowMapper.java +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow2/FlowMapper.java @@ -18,5 +18,17 @@ import java.util.List; public interface FlowMapper extends BaseMapper { List getMessageList(int minutes); - FlowableMessageVo getMessageReminder(@Param("proDefId") String proDefId, @Param("proInstId") String proInstId); + FlowableMessageVo getMessageReminder(@Param("proDefId") String proDefId, @Param("procInstId") String procInstId); + + FlowableMessageVo getApplicantInfoForUrgeCount(@Param("taskId") String taskId, @Param("procInstId") String procInstId); + + List getApplicantInfos(@Param("proDefId") String procDefId, @Param("procInstId") String procInstId); + + FlowableMessageVo getTask(@Param("taskId") String taskId, @Param("procInstId") String procInstId); + + FlowableMessageVo selTaskNameForUrgeCount(@Param("proDefId") String proDefId); + + FlowableMessageVo getApprovalResult(@Param("proDefId") String proDefId, @Param("procInstId") String procInstId); + + String getComment(@Param("taskId") String taskId, @Param("procInstId") String procInstId); } diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow2/FlowMapper.xml b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow2/FlowMapper.xml index 04b2ae8a63..134b4ca73b 100644 --- a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow2/FlowMapper.xml +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow2/FlowMapper.xml @@ -24,6 +24,45 @@ CREATE_TIME_ as createTime, ID_ taskId from act_ru_task - where PROC_DEF_ID_ = #{proDefId} and PROC_INST_ID_ = #{proInstId} + where PROC_DEF_ID_ = #{proDefId} + and PROC_INST_ID_ = #{procInstId} + + + + + + + \ No newline at end of file diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow2/FlowRest.java b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow2/FlowRest.java index 9899225126..43cc8a2c2b 100644 --- a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow2/FlowRest.java +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow2/FlowRest.java @@ -6,6 +6,7 @@ import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; import com.yxt.anrui.flowable.api.flow2.FlowDelegateQuery; import com.yxt.anrui.flowable.api.flow2.FlowFeign; import com.yxt.anrui.flowable.api.flow2.FlowableMessageVo; +import com.yxt.anrui.flowable.api.flowtask.FlowTaskDto; import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; import com.yxt.common.base.utils.StringUtils; import com.yxt.common.core.result.ResultBean; @@ -94,8 +95,8 @@ public class FlowRest implements FlowFeign { } @Override - public ResultBean getMessageReminder(String proDefId, String proInstId) { - return flowService.getMessageReminder(proDefId,proInstId); + public ResultBean getMessageReminder(String proDefId, String procInstId) { + return flowService.getMessageReminder(proDefId,procInstId); } @Override @@ -103,5 +104,25 @@ public class FlowRest implements FlowFeign { return flowService.delegate(flowDelegateQuery); } + @Override + public ResultBean getApplicantInfoForUrgeCount(String taskId, String procInstId) { + return flowService.getApplicantInfoForUrgeCount(taskId,procInstId); + } + + @Override + public ResultBean getTask(String taskId, String procInstId) { + return flowService.getTask(taskId,procInstId); + } + + @Override + public ResultBean getTaskNameForUrgeCount(String taskId,String procInstId) { + return flowService.getTaskNameForUrgeCount(taskId,procInstId); + } + + @Override + public ResultBean getApprovalResult(String proDefId, String procInstId) { + return flowService.getApprovalResult(proDefId,procInstId); + } + } diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow2/FlowService.java b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow2/FlowService.java index 43fe4e3284..e0553d752c 100644 --- a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow2/FlowService.java +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow2/FlowService.java @@ -10,6 +10,7 @@ import com.yxt.anrui.flowable.api.flow2.FlowDelegateQuery; import com.yxt.anrui.flowable.api.flow2.FlowableMessageVo; import com.yxt.anrui.flowable.api.flowcomment.FlowComment; import com.yxt.anrui.flowable.api.flowtask.DelegateQuery; +import com.yxt.anrui.flowable.api.flowtask.FlowTaskDto; import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo; import com.yxt.anrui.flowable.api.processcomment.ProcessCommentDto; import com.yxt.anrui.flowable.api.utils.ProcDefEnum; @@ -758,9 +759,9 @@ public class FlowService extends MybatisBaseService { return rb.success().setData(list); } - public ResultBean getMessageReminder(String proDefId, String proInstId) { + public ResultBean getMessageReminder(String proDefId, String procInstId) { ResultBean rb = ResultBean.fireFail(); - FlowableMessageVo flowableMessageVo = baseMapper.getMessageReminder(proDefId, proInstId); + FlowableMessageVo flowableMessageVo = baseMapper.getMessageReminder(proDefId, procInstId); return rb.success().setData(flowableMessageVo); } @@ -848,4 +849,68 @@ public class FlowService extends MybatisBaseService { return rb.success(); } + + public ResultBean getApplicantInfoForUrgeCount(String taskId, String procInstId) { + ResultBean rb = ResultBean.fireFail(); + FlowableMessageVo flowableMessageVo = baseMapper.getApplicantInfoForUrgeCount(taskId, procInstId); + String procDefId = ""; + if (null != flowableMessageVo) { + procDefId = flowableMessageVo.getProDefId(); + } + List messageVos = baseMapper.getApplicantInfos(procDefId, procInstId); + messageVos.removeAll(Collections.singleton(null)); + FlowableMessageVo messageVo = new FlowableMessageVo(); + if (!messageVos.isEmpty()) { + messageVo = messageVos.get(2); + } + return rb.success().setData(messageVo); + } + + public ResultBean getTask(String taskId, String procInstId) { + ResultBean rb = ResultBean.fireFail(); + FlowableMessageVo flowableMessageVo = baseMapper.getTask(taskId, procInstId); + return rb.success().setData(flowableMessageVo); + } + + public ResultBean getTaskNameForUrgeCount(String taskId, String procInstId) { + ResultBean rb = ResultBean.fireFail(); + FlowTaskDto flowTask = new FlowTaskDto(); + flowTask.setTaskId(taskId); + HistoricTaskInstance historicTaskInstance = historyService.createHistoricTaskInstanceQuery().includeProcessVariables().taskId(flowTask.getTaskId()).singleResult(); + flowTask.setProcessVariables(historicTaskInstance.getProcessVariables()); + if (flowTask.getProcessVariables().containsKey("orderNames")) { + flowTask.setProcDefName(flowTask.getProcessVariables().get("orderNames").toString()); + } else { + FlowableMessageVo task = baseMapper.getTask(taskId, procInstId); + if (null != task) { + String proDefId = task.getProDefId(); + FlowableMessageVo flowableMessageVo = baseMapper.selTaskNameForUrgeCount(proDefId); + if (null != flowableMessageVo) { + if (StringUtils.isNotBlank(flowableMessageVo.getNodeName())) { + flowTask.setProcDefName(flowableMessageVo.getNodeName()); + } + } + } + } + return rb.success().setData(flowTask); + } + + public ResultBean getApprovalResult(String proDefId, String procInstId) { + ResultBean rb = ResultBean.fireFail(); + FlowableMessageVo vo = baseMapper.getApprovalResult(proDefId, procInstId); + if (vo != null) { + String taskId = vo.getTaskId(); + if (StringUtils.isNotBlank(vo.getEndTime())) { + String type = baseMapper.getComment(taskId, procInstId); + if (type.equals("6")) { + vo.setResult("终止"); + } else if (type.equals("1")) { + vo.setResult("通过"); + } + } else { + vo.setResult("审批中"); + } + } + return rb.success().setData(vo); + } }