Просмотр исходного кода

评论新增记录任务信息

hubin 11 месяцев назад
Родитель
Сommit
8bc2365ddf

+ 3 - 0
src/main/java/com/aizuda/boot/modules/flw/entity/dto/ProcessApprovalDTO.java

@@ -19,6 +19,9 @@ public class ProcessApprovalDTO {
     @PositiveOrZero
     private Long instanceId;
 
+    @Schema(description = "流程任务ID")
+    private Long taskId;
+
     @Schema(description = "意见评论")
     @NotBlank
     private String content;

+ 17 - 2
src/main/java/com/aizuda/boot/modules/flw/service/impl/FlwProcessApprovalServiceImpl.java

@@ -5,10 +5,13 @@ import com.aizuda.boot.modules.flw.entity.FlwProcessApproval;
 import com.aizuda.boot.modules.flw.entity.dto.ProcessApprovalDTO;
 import com.aizuda.boot.modules.flw.mapper.FlwProcessApprovalMapper;
 import com.aizuda.boot.modules.flw.service.IFlwProcessApprovalService;
+import com.aizuda.bpm.engine.FlowLongEngine;
+import com.aizuda.bpm.engine.entity.FlwTask;
 import com.aizuda.service.service.BaseServiceImpl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -20,7 +23,9 @@ import java.util.List;
  * @since 2024-03-03
  */
 @Service
+@AllArgsConstructor
 public class FlwProcessApprovalServiceImpl extends BaseServiceImpl<FlwProcessApprovalMapper, FlwProcessApproval> implements IFlwProcessApprovalService {
+    private FlowLongEngine flowLongEngine;
 
     @Override
     public Page<FlwProcessApproval> page(Page<FlwProcessApproval> page, FlwProcessApproval flwProcessApproval) {
@@ -34,10 +39,20 @@ public class FlwProcessApprovalServiceImpl extends BaseServiceImpl<FlwProcessApp
                 .orderByAsc(FlwProcessApproval::getCreateTime).list();
     }
 
-    private FlwProcessApproval getFlwProcessApproval(Long instanceId, Integer type, String opinion) {
+    private FlwProcessApproval getFlwProcessApproval(Long instanceId, Long taskId, Integer type, String opinion) {
         FlwProcessApproval fpa = new FlwProcessApproval();
         fpa.setInstanceId(instanceId);
         fpa.setType(type);
+        if (null != taskId) {
+            // 任务节点信息记录
+            FlwTask flwTask = flowLongEngine.queryService().getTask(taskId);
+            if (null != flwTask) {
+                fpa.setTenantId(flwTask.getTenantId());
+                fpa.setTaskId(flwTask.getId());
+                fpa.setTaskKey(flwTask.getTaskKey());
+                fpa.setTaskName(flwTask.getTaskName());
+            }
+        }
         ApprovalContent approvalContent = new ApprovalContent();
         approvalContent.setOpinion(opinion);
         fpa.setContent(approvalContent);
@@ -46,6 +61,6 @@ public class FlwProcessApprovalServiceImpl extends BaseServiceImpl<FlwProcessApp
 
     @Override
     public boolean comment(ProcessApprovalDTO dto) {
-        return super.save(getFlwProcessApproval(dto.getInstanceId(), 0, dto.getContent()));
+        return super.save(getFlwProcessApproval(dto.getInstanceId(), dto.getTaskId(), 0, dto.getContent()));
     }
 }