소스 검색

feature: 服务授权申请流程调整

huangjy 4 년 전
부모
커밋
5d11a87d9b

+ 1 - 1
approve-api/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>approve-core</artifactId>
         <groupId>com.dragoninfo.dcuc</groupId>
-        <version>1.0.1-SNAPSHOT</version>
+        <version>1.0.2-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 48 - 0
approve-api/src/main/java/com/dragonsoft/dcuc/approve/enumresources/ApproveResultEnum.java

@@ -0,0 +1,48 @@
+package com.dragonsoft.dcuc.approve.enumresources;
+
+import com.dragonsoft.duceap.base.enums.ICodeEnum;
+
+/**
+ * 代码千万行,注释第一行,编码不规范,同事两行泪
+ *
+ * @author huang(jy)
+ * @version 1.0
+ * @date 2021/2/5 8:59
+ */
+public enum ApproveResultEnum implements ICodeEnum {
+    APPROVEING("APPROVEING", "审批中"),
+    DELETED("DELETED", "已删除"),
+    SUCCESS("SUCCESS", "成功"),
+    FAIL("FAIL", "失败"),
+    ;
+
+    public final String desc;
+    public final String code;
+
+    private ApproveResultEnum(String code, String desc) {
+        this.code = code;
+        this.desc = desc;
+    }
+
+    public String getValue() {
+        return this.code;
+    }
+
+    public String getLabel() {
+        return this.desc;
+    }
+
+    public static ApproveResultEnum getValue(String code) {
+        ApproveResultEnum[] var1 = values();
+        int var2 = var1.length;
+
+        for(int var3 = 0; var3 < var2; ++var3) {
+            ApproveResultEnum opEnum = var1[var3];
+            if (opEnum.getValue().equals(code)) {
+                return opEnum;
+            }
+        }
+
+        return null;
+    }
+}

+ 4 - 0
approve-api/src/main/java/com/dragonsoft/dcuc/approve/facade/IApiApproveFacade.java

@@ -64,4 +64,8 @@ public interface IApiApproveFacade {
     @ApiOperation(value = "同步应用,服务资源", notes = "同步应用,服务资源")
     @RequestMapping(value = "api/v1/sync-resource", method = RequestMethod.GET)
     ResponseStatus syncResource();
+
+    @ApiOperation(value = "根据任务ID查询任务分支(运行时任务)", notes = "根据任务ID查询任务分支(运行时任务)")
+    @RequestMapping(value = "api/v1/apply/tasks/task-out/{taskId}", method = RequestMethod.GET)
+    ResponseStatus taskOut(@PathVariable(value = "taskId") String taskId);
 }

+ 13 - 0
approve-api/src/main/java/com/dragonsoft/dcuc/approve/model/req/ApprovalInfoDTO.java

@@ -1,5 +1,6 @@
 package com.dragonsoft.dcuc.approve.model.req;
 
+import com.dragonsoft.duceap.duwf.api.model.ActivitiHolder;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -11,6 +12,7 @@ import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotEmpty;
 import javax.validation.constraints.NotNull;
 import java.util.Date;
+import java.util.List;
 
 /**
  * Created by lidr on 2021/2/3
@@ -119,6 +121,9 @@ public class ApprovalInfoDTO {
     @NotNull
     private ResourceInfoDTO resourceInfoDTO;
 
+    @ApiModelProperty(value = "下一任务对象信息")
+    private List<ActivitiHolder> activitiHolderList;
+
     public String getProcessTitle() {
         return processTitle;
     }
@@ -294,4 +299,12 @@ public class ApprovalInfoDTO {
     public void setMessageId(String messageId) {
         this.messageId = messageId;
     }
+
+    public List<ActivitiHolder> getActivitiHolderList() {
+        return activitiHolderList;
+    }
+
+    public void setActivitiHolderList(List<ActivitiHolder> activitiHolderList) {
+        this.activitiHolderList = activitiHolderList;
+    }
 }

+ 13 - 0
approve-api/src/main/java/com/dragonsoft/dcuc/approve/model/req/ApprovalInfoUpdateDTO.java

@@ -1,5 +1,6 @@
 package com.dragonsoft.dcuc.approve.model.req;
 
+import com.dragonsoft.duceap.duwf.api.model.ActivitiHolder;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -8,6 +9,7 @@ import javax.validation.Valid;
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
 import java.util.Date;
+import java.util.List;
 
 /**
  * Created by lidr on 2021/2/3
@@ -105,6 +107,9 @@ public class ApprovalInfoUpdateDTO {
     @NotNull
     private ResourceInfoDTO resourceInfoDTO;
 
+    @ApiModelProperty(value = "下一任务对象信息")
+    private List<ActivitiHolder> activitiHolderList;
+
     public String getProcessTitle() {
         return processTitle;
     }
@@ -272,4 +277,12 @@ public class ApprovalInfoUpdateDTO {
     public void setEndTime(Date endTime) {
         this.endTime = endTime;
     }
+
+    public List<ActivitiHolder> getActivitiHolderList() {
+        return activitiHolderList;
+    }
+
+    public void setActivitiHolderList(List<ActivitiHolder> activitiHolderList) {
+        this.activitiHolderList = activitiHolderList;
+    }
 }

+ 29 - 12
approve-api/src/main/java/com/dragonsoft/dcuc/approve/model/req/ApproveOperateDTO.java

@@ -1,6 +1,10 @@
 package com.dragonsoft.dcuc.approve.model.req;
 
+import com.dragonsoft.duceap.duwf.api.model.ActivitiHolder;
+import io.swagger.annotations.ApiModelProperty;
+
 import javax.validation.constraints.NotBlank;
+import java.util.List;
 
 /**
  * 代码千万行,注释第一行,编码不规范,同事两行泪
@@ -25,6 +29,23 @@ public class ApproveOperateDTO {
      */
     private String message;
 
+    /**
+     * 审批人信息
+     */
+    private String idCard;
+
+    private String userName;
+
+    /**
+     * 流程实例ID
+     */
+    private String processInstanceId;
+
+    @ApiModelProperty(value = "下一任务对象信息")
+    private List<ActivitiHolder> activitiHolderList;
+
+
+
     public String getIdCard() {
         return idCard;
     }
@@ -41,13 +62,6 @@ public class ApproveOperateDTO {
         this.userName = userName;
     }
 
-    /**
-     * 审批人信息
-     */
-    private String idCard;
-
-    private String userName;
-
     public String getProcessInstanceId() {
         return processInstanceId;
     }
@@ -56,11 +70,6 @@ public class ApproveOperateDTO {
         this.processInstanceId = processInstanceId;
     }
 
-    /**
-     * 流程实例ID
-     */
-    private String processInstanceId;
-
     public String getOperateType() {
         return operateType;
     }
@@ -84,4 +93,12 @@ public class ApproveOperateDTO {
     public void setMessage(String message) {
         this.message = message;
     }
+
+    public List<ActivitiHolder> getActivitiHolderList() {
+        return activitiHolderList;
+    }
+
+    public void setActivitiHolderList(List<ActivitiHolder> activitiHolderList) {
+        this.activitiHolderList = activitiHolderList;
+    }
 }

+ 39 - 0
approve-api/src/main/java/com/dragonsoft/dcuc/approve/model/resp/TaskOutgoingVo.java

@@ -0,0 +1,39 @@
+package com.dragonsoft.dcuc.approve.model.resp;
+
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 代码千万行,注释第一行,编码不规范,同事两行泪
+ *
+ * @author huang(jy)
+ * @version 1.0
+ * @date 2021/5/18 11:02
+ */
+public class TaskOutgoingVo {
+    /**
+     * 任务定义id
+     */
+    @ApiModelProperty(value = "访问资源信息")
+    private String activitiId;
+    /**
+     * 任务名称
+     */
+    @ApiModelProperty(value = "访问资源信息")
+    private String activitiName;
+
+    public String getActivitiId() {
+        return activitiId;
+    }
+
+    public void setActivitiId(String activitiId) {
+        this.activitiId = activitiId;
+    }
+
+    public String getActivitiName() {
+        return activitiName;
+    }
+
+    public void setActivitiName(String activitiName) {
+        this.activitiName = activitiName;
+    }
+}

+ 2 - 2
approve-core-service/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>approve-core</artifactId>
         <groupId>com.dragoninfo.dcuc</groupId>
-        <version>1.0.1-SNAPSHOT</version>
+        <version>1.0.2-SNAPSHOT</version>
     </parent>
 
     <artifactId>approve-core-service</artifactId>
@@ -126,7 +126,7 @@
         <dependency>
             <groupId>com.dragoninfo.dcuc</groupId>
             <artifactId>approve-api</artifactId>
-            <version>1.0.1-SNAPSHOT</version>
+            <version>1.0.2-SNAPSHOT</version>
             <scope>compile</scope>
         </dependency>
         <dependency>

+ 11 - 1
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/facade/ApiApproveFacade.java

@@ -65,6 +65,16 @@ public class ApiApproveFacade implements IApiApproveFacade{
         return ResponseDTO.success();
     }
 
+    /**
+     * 根据任务ID查询任务分支(运行时任务)
+     * @param taskId
+     * @return
+     */
+    @Override
+    public ResponseStatus taskOut(String taskId) {
+        return approveService.taskOut(taskId);
+    }
+
     @Override
     public ResponseStatus approveOperate(ApproveOperateDTO approveOperateDTO) {
         TaskRequest taskRequest = new TaskRequest();
@@ -78,7 +88,7 @@ public class ApiApproveFacade implements IApiApproveFacade{
         userData.put("userName",approveOperateDTO.getUserName());
         return approveService.approveOperate(approveOperateDTO.getTaskId(),approveOperateDTO.getProcessInstanceId(),
                 EnumUtils.enumOf(ApproveWorkFlowOprationEnum.class, approveOperateDTO.getOperateType()),
-                taskRequest,approveOperateDTO.getIdCard(),userData);
+                taskRequest,approveOperateDTO.getIdCard(),userData, approveOperateDTO.getActivitiHolderList());
     }
 
     @Override

+ 1 - 1
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/facade/ApproveFacade.java

@@ -86,7 +86,7 @@ public class ApproveFacade implements IApproveFacade {
         userData.put("userName",approveOperateDTO.getUserName());
         return approveService.approveOperate(approveOperateDTO.getTaskId(),approveOperateDTO.getProcessInstanceId(),
                 EnumUtils.enumOf(ApproveWorkFlowOprationEnum.class, approveOperateDTO.getOperateType()),
-                taskRequest,null,userData);
+                taskRequest,approveOperateDTO.getIdCard(),userData, approveOperateDTO.getActivitiHolderList());
     }
 
     /**

+ 5 - 0
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/ApprovalInfo.java

@@ -205,6 +205,11 @@ public class ApprovalInfo extends IdEntity implements Serializable {
     //@Column(name =  "UPDATE_USER")
     private String updateUser;
 
+    /**
+     * 审批结果
+     */
+    private String approveResult;
+
     @Override
     public String toString(){
         return "ApprovalInfo{" +

+ 9 - 2
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/IApproveService.java

@@ -12,7 +12,6 @@ import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.core.search.Searchable;
 import com.dragonsoft.duceap.duwf.api.model.*;
 import org.springframework.data.domain.Page;
-import org.springframework.scheduling.annotation.EnableAsync;
 
 import java.util.List;
 import java.util.Map;
@@ -58,10 +57,11 @@ public interface IApproveService {
      * recall:撤回
      * @param taskId
      * @param taskRequest
+     * @param activitiHolderList
      */
     ResponseStatus approveOperate(String taskId, String processInstanceId,
                                   ApproveWorkFlowOprationEnum approveWorkFlowOprationEnum,
-                                  TaskRequest taskRequest, String idCard, Map<String,String> userData);
+                                  TaskRequest taskRequest, String idCard, Map<String, String> userData, List<ActivitiHolder> activitiHolderList);
 
     /**
      * 转办
@@ -147,4 +147,11 @@ public interface IApproveService {
      * @return
      */
     TaskOperateVo taskOperate(String taskId,String pageType);
+
+    /**
+     * 根据任务ID查询任务分支(运行时任务)
+     * @param taskId
+     * @return
+     */
+    ResponseStatus taskOut(String taskId);
 }

+ 100 - 38
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/ApproveService.java

@@ -16,6 +16,7 @@ import com.dragonsoft.approve.common.ErrorCode;
 import com.dragonsoft.dcuc.approve.componet.DcucHelper;
 import com.dragonsoft.dcuc.approve.config.ApproveConfig;
 import com.dragonsoft.dcuc.approve.config.KafkaConfig;
+import com.dragonsoft.dcuc.approve.enumresources.ApproveResultEnum;
 import com.dragonsoft.dcuc.approve.enumresources.ApproveWorkFlowOprationEnum;
 import com.dragonsoft.dcuc.approve.enumresources.OperateOptionEnum;
 import com.dragonsoft.dcuc.approve.enumresources.YesNoEnum;
@@ -28,7 +29,6 @@ import com.dragonsoft.dcuc.approve.model.IdEntity;
 import com.dragonsoft.dcuc.approve.model.req.AgentDTO;
 import com.dragonsoft.dcuc.approve.model.req.ApprovalInfoDTO;
 import com.dragonsoft.dcuc.approve.model.req.ApprovalInfoUpdateDTO;
-import com.dragonsoft.dcuc.approve.model.req.ApproveOperateDTO;
 import com.dragonsoft.dcuc.approve.model.resp.*;
 import com.dragonsoft.dcuc.approve.service.IApproveService;
 import com.dragonsoft.duceap.base.entity.http.ResponseDTO;
@@ -238,8 +238,10 @@ public class ApproveService implements IApproveService {
             Map<String,String> userData = new HashMap<>();
             userData.put("idCard",approvalInfoDTO.getApplicantIdcard());
             userData.put("userName",approvalInfoDTO.getApplicantName());
-            this.buildTaskRequest(taskRequest,approvalInfo,userData);
+
+            this.buildTaskRequest(taskRequest,approvalInfo,userData, approvalInfoDTO.getActivitiHolderList(), vo.getTaskRunDetailVos().get(0).getId());
             boolean sendMessageFlag = true;
+            String approveResult = ApproveResultEnum.APPROVEING.getValue();
             if(CollectionUtils.isNotEmpty(vo.getTaskRunDetailVos())){
                 for(TaskHistoryDetailVo taskDetailVo: vo.getTaskRunDetailVos()){
                     vo = baseApproveOperate(taskDetailVo.getId(), ApproveWorkFlowOprationEnum.COMPLETE_AGREE,
@@ -252,8 +254,10 @@ public class ApproveService implements IApproveService {
                 logger.info("===发送消息标志:{}====",sendMessageFlag);
                 if(sendMessageFlag){
                     sendApproveResultMessage(vo.getProcessInstanceId(),approvalInfo.getMessageId(),ApproveWorkFlowOprationEnum.COMPLETE_AGREE);
+                    approveResult = ApproveResultEnum.SUCCESS.getValue();
                 }
             }
+            approvalInfo.setApproveResult(approveResult);
             approvalInfo = this.buildTaskInfoByProcessInstanceId(approvalInfo, vo.getTaskRunDetailVos());
             logger.info("===保存表单信息====");
             approvalInfoMapper.insert(approvalInfo);
@@ -356,7 +360,7 @@ public class ApproveService implements IApproveService {
                 Map<String,String> userData = new HashMap<>();
                 userData.put("idCard",approvalInfoDTO.getApplicantIdcard());
                 userData.put("userName",approvalInfoDTO.getApplicantName());
-                this.buildTaskRequest(taskRequest,approvalInfo,userData);
+                this.buildTaskRequest(taskRequest,approvalInfo,userData, approvalInfoDTO.getActivitiHolderList(), null);
                 boolean sendMessageFlag = true;
                 for(TaskHistoryDetailVo taskDetailVo: list){
                     ProcessInstanceVO vo = baseApproveOperate(taskDetailVo.getId(),
@@ -370,6 +374,7 @@ public class ApproveService implements IApproveService {
                 logger.info("====发送结果标志:{}",sendMessageFlag);
                 if(sendMessageFlag){
                     sendApproveResultMessage(approvalInfo.getProcessInstanceId(),approvalInfo.getMessageId(),ApproveWorkFlowOprationEnum.COMPLETE_AGREE);
+                    approvalInfo.setApproveResult(ApproveResultEnum.SUCCESS.getValue());
                 }
                 logger.info("===保存表单信息====");
                 //approvalInfoMapper.updateById(approvalInfo);
@@ -406,9 +411,13 @@ public class ApproveService implements IApproveService {
     /**
      * 构建工作流请求体
      * @param taskRequest
+     * @param approvalInfo
+     * @param userData
+     * @param activitiHolderList
+     * @param taskId     任务id,新增时需要手动传(因为新增的时候没有任务id可以查询)
      * @return
      */
-    private TaskRequest buildTaskRequest(TaskRequest taskRequest,ApprovalInfo approvalInfo,Map<String,String> userData) {
+    private TaskRequest buildTaskRequest(TaskRequest taskRequest, ApprovalInfo approvalInfo, Map<String, String> userData, List<ActivitiHolder> activitiHolderList, String taskId) {
         String idCard = "";
         if(null != approvalInfo && StringUtils.isNotEmpty(approvalInfo.getApplicantIdcard())){
             idCard = approvalInfo.getApplicantIdcard();
@@ -433,6 +442,18 @@ public class ApproveService implements IApproveService {
         approveTaskRequestVo.setHandleUser(userInfo == null?userData.get("idCard"):userInfo.getIdcard());
         approveTaskRequestVo.setHandleUserName(userInfo == null?userData.get("userName"):userInfo.getUserName());
         taskRequest.setData(approveTaskRequestVo);
+        if (CollectionUtils.isNotEmpty(activitiHolderList)){
+            TransMessage transMessage = new TransMessage();
+            if (StringUtils.isNotEmpty(taskId)){
+                //通过任务id获取任务分支
+                List<TaskOutgoingVo> list = buildTaskOutgoingVoList(taskId);
+                for (ActivitiHolder activitiHolder: activitiHolderList){
+                    activitiHolder.setActivitiId(list.get(0).getActivitiId());
+                }
+            }
+            transMessage.setActivitiHolders(activitiHolderList);
+            taskRequest.setTransMessage(transMessage);
+        }
         return  taskRequest;
     }
 
@@ -444,11 +465,12 @@ public class ApproveService implements IApproveService {
      * @param taskId                      任务id
      * @param approveWorkFlowOprationEnum
      * @param taskRequest
+     * @param activitiHolderList
      * @return
      */
     @Override
-    public ResponseStatus approveOperate(String taskId,String processInstanceId, ApproveWorkFlowOprationEnum
-            approveWorkFlowOprationEnum, TaskRequest taskRequest,String idcard,Map<String,String> userData) {
+    public ResponseStatus approveOperate(String taskId, String processInstanceId, ApproveWorkFlowOprationEnum
+            approveWorkFlowOprationEnum, TaskRequest taskRequest, String idcard, Map<String, String> userData, List<ActivitiHolder> activitiHolderList) {
         ApprovalInfo approvalInfo = null;
         LambdaQueryWrapper<ApprovalInfo> where = null;
         if(approvalInfo == null){
@@ -486,7 +508,7 @@ public class ApproveService implements IApproveService {
                 }
             }
         }
-        this.buildTaskRequest(taskRequest,approvalInfo,userData);
+        this.buildTaskRequest(taskRequest,approvalInfo,userData, activitiHolderList, null);
         String idCard = getCurrentUserId(idcard);
         ProcessInstanceVO processInstanceVO= baseApproveOperate(taskId,approveWorkFlowOprationEnum,
                 taskRequest, approvalInfo,idCard,userData);
@@ -496,7 +518,18 @@ public class ApproveService implements IApproveService {
         }
         logger.info("====是否发送消息标志位:{}====",sendMessageFlag);
         if(sendMessageFlag){
-            sendApproveResultMessage(processInstanceVO.getProcessInstanceId(),approvalInfo.getMessageId(),ApproveWorkFlowOprationEnum.COMPLETE_AGREE);
+            sendApproveResultMessage(processInstanceVO.getProcessInstanceId(),approvalInfo.getMessageId(), approveWorkFlowOprationEnum);
+            switch (approveWorkFlowOprationEnum){
+                case COMPLETE_AGREE:
+                    approvalInfo.setApproveResult(ApproveResultEnum.SUCCESS.getValue());
+                    break;
+                case COMPLETE_DISAGREE:
+                    approvalInfo.setApproveResult(ApproveResultEnum.FAIL.getValue());
+                    break;
+                default:
+                    break;
+            }
+
         }
        /* where = new LambdaQueryWrapper<>();
         where.eq(ApprovalInfo::getProcessInstanceId,processInstanceVO.getProcessInstanceId());
@@ -519,7 +552,7 @@ public class ApproveService implements IApproveService {
      */
     public ProcessInstanceVO baseApproveOperate(String taskId, ApproveWorkFlowOprationEnum
             approveWorkFlowOprationEnum, TaskRequest taskRequest, ApprovalInfo approvalInfo,String idCard,Map<String,String> userData) {
-        taskRequest = buildTaskRequest(taskRequest,approvalInfo,userData);
+        taskRequest = buildTaskRequest(taskRequest,approvalInfo,userData, null, null);
         if (null == taskRequest.getApproveMessage()) {
             ApproveMessage approveMessage = new ApproveMessage();
             approveMessage.setApproveState(approveWorkFlowOprationEnum.getValue());
@@ -726,7 +759,6 @@ public class ApproveService implements IApproveService {
                 Map<String,String> userData = new HashMap<>();
                 userData.put("idCard",approvalInfo.getApplicantIdcard());
                 userData.put("userName",approvalInfo.getApplicantName());
-                TaskRequest taskRequest = this.buildTaskRequest(null, approvalInfo,userData);
                 for(String taskId : arrTaskId){
                     //执行流程撤销操作,撤销会删除流程
                     workflowClientFactory.getWorkflowTaskClient().handleTaskForRedo(taskId,getCurrentUserId());
@@ -743,6 +775,7 @@ public class ApproveService implements IApproveService {
             LambdaUpdateWrapper<ApprovalInfo> updateWrapper = new LambdaUpdateWrapper<>();
             updateWrapper.eq(IdEntity::getId,id);
             updateWrapper.set(ApprovalInfo::getIsDeleted,YesNoEnum.YES.getValue());
+            updateWrapper.set(ApprovalInfo::getApproveResult, ApproveResultEnum.DELETED.getValue());
             approvalInfoMapper.update(null,updateWrapper);
             sendApproveResultMessage(approvalInfo.getProcessInstanceId(),approvalInfo.getMessageId(),ApproveWorkFlowOprationEnum.RECALL);
         }
@@ -927,6 +960,37 @@ public class ApproveService implements IApproveService {
         return taskOperateVo;
     }
 
+    /**
+     * 根据任务ID查询任务分支(运行时任务)
+     * @param taskId
+     * @return
+     */
+    @Override
+    public ResponseStatus taskOut(String taskId) {
+        List<TaskOutgoingVo> list = buildTaskOutgoingVoList(taskId);
+        return ResponseDTO.newInstance(list);
+    }
+
+    /**
+     * 查询任务分支(运行时任务)
+     * @param taskId
+     * @return
+     */
+    private List<TaskOutgoingVo> buildTaskOutgoingVoList(String taskId) {
+        OutgoingVo outgoingVo = workflowClientFactory.getWorkflowTaskClient().queryTaskOutgoing(taskId);
+        List<TaskOutgoingVo> list = new ArrayList<>();
+        for (Map.Entry<String, String> map : outgoingVo.getOutgoingTransitions().entrySet()) {
+            if (!"end".equalsIgnoreCase(map.getKey())){
+                TaskOutgoingVo taskOutgoingVo = new TaskOutgoingVo();
+                taskOutgoingVo.setActivitiId(map.getKey());
+                taskOutgoingVo.setActivitiName(map.getValue());
+                list.add(taskOutgoingVo);
+            }
+        }
+        return list;
+    }
+
+
     /**
      * 判断是否为第一个节点,是则允许编辑
      * @param taskOperateVo
@@ -1156,34 +1220,32 @@ public class ApproveService implements IApproveService {
     private void sendApproveResultMessage(String processInstanceId,String messageId, ApproveWorkFlowOprationEnum approveWorkFlowOprationEnum){
         logger.info("====任务结束,开始发送消息====");
         //流程结束且是同意操作才发消息
-        if(approveWorkFlowOprationEnum.getValue().equalsIgnoreCase(ApproveWorkFlowOprationEnum.COMPLETE_AGREE.getValue())){
-            RequestVo requestVo = new RequestVo();
-            MessageInfoVo messageInfoVo = new MessageInfoVo();
-            Map map = new HashMap();
-            map.put("processInstanceId", processInstanceId);
-            map.put("approveResult",approveWorkFlowOprationEnum.getValue());
-            map.put("messageId",messageId);
-            List<Map<String,String>> infoSet = new ArrayList<>();
-            infoSet.add(map);
-            messageInfoVo.setTitle("审批系统-权限申请审批");
-            messageInfoVo.setCreateTime(new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()));
-            messageInfoVo.setInfoSet(infoSet);
-            messageInfoVo.setContent(processInstanceId);
-            messageInfoVo.setUserSystem("审批系统");
-            messageInfoVo.setUserSystemCode(businessSystem);
-            messageInfoVo.setUserName("审批系统");
-            messageInfoVo.setMessageId(UUIDUtils.getUUID());
-            messageInfoVo.setInfoType(kafkaConfig.getAuthServiceApplyTopic());
-            List<MessageInfoVo> messageInfoVos = new ArrayList<>();
-            messageInfoVos.add(messageInfoVo);
-            //设置消息
-            requestVo.setMessages(messageInfoVos);
-            requestVo.setTopic(kafkaConfig.getAuthServiceApplyTopic());
-            requestVo.setAppKey(kafkaConfig.getAppKey());
-            requestVo.setAppSecret(kafkaConfig.getAppSecret());
-            logger.info("====kafka开始推送结果,实例ID{}====", processInstanceId);
-            kafkaService.send(requestVo, kafkaConfig.getKafkaServers());
-        }
+        RequestVo requestVo = new RequestVo();
+        MessageInfoVo messageInfoVo = new MessageInfoVo();
+        Map map = new HashMap();
+        map.put("processInstanceId", processInstanceId);
+        map.put("approveResult",approveWorkFlowOprationEnum.getValue());
+        map.put("messageId",messageId);
+        List<Map<String,String>> infoSet = new ArrayList<>();
+        infoSet.add(map);
+        messageInfoVo.setTitle("审批系统-权限申请审批");
+        messageInfoVo.setCreateTime(new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()));
+        messageInfoVo.setInfoSet(infoSet);
+        messageInfoVo.setContent(processInstanceId);
+        messageInfoVo.setUserSystem("审批系统");
+        messageInfoVo.setUserSystemCode(businessSystem);
+        messageInfoVo.setUserName("审批系统");
+        messageInfoVo.setMessageId(UUIDUtils.getUUID());
+        messageInfoVo.setInfoType(kafkaConfig.getAuthServiceApplyTopic());
+        List<MessageInfoVo> messageInfoVos = new ArrayList<>();
+        messageInfoVos.add(messageInfoVo);
+        //设置消息
+        requestVo.setMessages(messageInfoVos);
+        requestVo.setTopic(kafkaConfig.getAuthServiceApplyTopic());
+        requestVo.setAppKey(kafkaConfig.getAppKey());
+        requestVo.setAppSecret(kafkaConfig.getAppSecret());
+        logger.info("====kafka开始推送结果,实例ID{}====,消息体为:{}", processInstanceId, JSON.toJSONString(requestVo));
+        kafkaService.send(requestVo, kafkaConfig.getKafkaServers());
     }
 
     private void updateApprovalById(ApprovalInfo approvalInfo){

+ 3 - 0
approve-core-service/src/main/resources/config/mysql/V1_1_0002__INITIAL.sql

@@ -0,0 +1,3 @@
+ALTER TABLE `t_approval_info`
+ADD COLUMN `APPROVE_RESULT`  varchar(50) NULL COMMENT '审批结果(成功:SUCCESS;失败:FAIL)' AFTER `UPDATE_TIME`;
+

+ 5 - 0
approve-core-service/src/main/resources/config/oracle/V1_1_0002__INITIAL.sql

@@ -0,0 +1,5 @@
+ALTER TABLE "T_APPROVAL_INFO"
+ADD ( "APPROVE_RESULT" VARCHAR2(50) DEFAULT NULL  ) ;
+
+COMMENT ON COLUMN "T_APPROVAL_INFO"."APPROVE_RESULT" IS '审批结果(成功:SUCCESS;失败:FAIL)';
+

+ 1 - 1
pom.xml

@@ -5,7 +5,7 @@
 
 
     <groupId>com.dragoninfo.dcuc</groupId>
-    <version>1.0.1-SNAPSHOT</version>
+    <version>1.0.2-SNAPSHOT</version>
     <modelVersion>4.0.0</modelVersion>
 
     <artifactId>approve-core</artifactId>