hubin 1 рік тому
батько
коміт
b264d5e57f

+ 2 - 1
src/main/java/com/aizuda/boot/modules/flw/controller/ProcessTaskController.java

@@ -4,6 +4,7 @@ import com.aizuda.boot.modules.flw.FlowHelper;
 import com.aizuda.boot.modules.flw.entity.dto.ExecuteTaskDTO;
 import com.aizuda.boot.modules.flw.entity.dto.ProcessTaskDTO;
 import com.aizuda.boot.modules.flw.entity.dto.RejectTaskDTO;
+import com.aizuda.boot.modules.flw.entity.vo.PendingApprovalTaskVO;
 import com.aizuda.boot.modules.flw.entity.vo.ProcessTaskVO;
 import com.aizuda.boot.modules.flw.service.IProcessTaskService;
 import com.aizuda.core.api.ApiController;
@@ -39,7 +40,7 @@ public class ProcessTaskController extends ApiController {
     @Operation(summary = "待审批任务分页列表")
     @Permission("flw:processTask:pagePendingApproval")
     @PostMapping("/page-pending-approval")
-    public Page<ProcessTaskVO> pagePendingApproval(@RequestBody PageParam<ProcessTaskDTO> pageParam) {
+    public Page<PendingApprovalTaskVO> pagePendingApproval(@RequestBody PageParam<ProcessTaskDTO> pageParam) {
         return processTaskService.pagePendingApproval(pageParam);
     }
 

+ 8 - 0
src/main/java/com/aizuda/boot/modules/flw/entity/vo/FlwProcessVO.java

@@ -1,10 +1,14 @@
 package com.aizuda.boot.modules.flw.entity.vo;
 
+import com.aizuda.core.ApiConstants;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.Date;
+
 /**
  * 流程定义分类VO
  *
@@ -46,4 +50,8 @@ public class FlwProcessVO {
     @Schema(description = "流程定义排序")
     private Integer processSort;
 
+    @JsonFormat(pattern = ApiConstants.DATE_MM)
+    @Schema(description = "创建时间")
+    private Date createTime;
+
 }

+ 74 - 0
src/main/java/com/aizuda/boot/modules/flw/entity/vo/PendingApprovalTaskVO.java

@@ -0,0 +1,74 @@
+package com.aizuda.boot.modules.flw.entity.vo;
+
+import com.aizuda.core.ApiConstants;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * 流程待审批任务 VO
+ *
+ * @author 青苗
+ * @since 2023-12-11
+ */
+@Getter
+@Setter
+public class PendingApprovalTaskVO {
+
+    @Schema(description = "流程ID")
+    private Long processId;
+
+    @Schema(description = "流程名称")
+    private String processName;
+
+    @Schema(description = "流程实例ID")
+    private Long instanceId;
+
+    @Schema(description = "发起人")
+    private String launchBy;
+
+    @JsonFormat(pattern = ApiConstants.DATE_MM)
+    @Schema(description = "发起时间")
+    private Date launchTime;
+
+    @Schema(description = "当前任务ID")
+    private Long taskId;
+
+    @JsonFormat(pattern = ApiConstants.DATE_MM)
+    @Schema(description = "创建时间")
+    private Date createTime;
+
+    @Schema(description = "当前任务名称")
+    private String taskName;
+
+    @Schema(description = "任务显示名称")
+    private String displayName;
+    /**
+     * 任务类型 {@link com.flowlong.bpm.engine.core.enums.TaskType}
+     */
+    @Schema(description = "任务类型")
+    protected Integer taskType;
+    /**
+     * 参与方式 {@link com.flowlong.bpm.engine.core.enums.PerformType}
+     */
+    @Schema(description = "参与方式")
+    protected Integer performType;
+
+    @Schema(description = "委托人")
+    protected String assignor;
+
+    @JsonFormat(pattern = ApiConstants.DATE_MM)
+    @Schema(description = "期望任务完成时间")
+    protected Date expireTime;
+
+    @JsonFormat(pattern = ApiConstants.DATE_MM)
+    @Schema(description = "提醒时间")
+    protected Date remindTime;
+
+    @Schema(description = "提醒次数")
+    protected Integer remindRepeat;
+
+}

+ 55 - 5
src/main/java/com/aizuda/boot/modules/flw/entity/vo/ProcessTaskVO.java

@@ -25,16 +25,20 @@ public class ProcessTaskVO {
     private String processName;
 
     @Schema(description = "流程实例ID")
-    private Long instanceId;;
+    private Long instanceId;
 
     @Schema(description = "当前状态")
     private Integer instanceState;
 
-    @Schema(description = "当前任务ID")
-    private Long taskId;;
+    @Schema(description = "发起人")
+    private String launchBy;
 
-    @Schema(description = "当前任务名称")
-    private String taskName;
+    @JsonFormat(pattern = ApiConstants.DATE_MM)
+    @Schema(description = "发起时间")
+    private Date launchTime;
+
+    @Schema(description = "当前任务ID")
+    private Long id;
 
     @Schema(description = "发起人ID")
     private String createId;
@@ -46,4 +50,50 @@ public class ProcessTaskVO {
     @Schema(description = "创建时间")
     private Date createTime;
 
+    @Schema(description = "当前任务名称")
+    private String taskName;
+
+    @Schema(description = "任务显示名称")
+    private String displayName;
+    /**
+     * 任务类型 {@link com.flowlong.bpm.engine.core.enums.TaskType}
+     */
+    @Schema(description = "任务类型")
+    protected Integer taskType;
+    /**
+     * 参与方式 {@link com.flowlong.bpm.engine.core.enums.PerformType}
+     */
+    @Schema(description = "参与方式")
+    protected Integer performType;
+
+    @Schema(description = "任务关联的表单url")
+    protected String actionUrl;
+
+    @Schema(description = "变量json")
+    protected String variable;
+
+    @Schema(description = "委托人ID")
+    protected String assignorId;
+
+    @Schema(description = "委托人")
+    protected String assignor;
+
+    @JsonFormat(pattern = ApiConstants.DATE_MM)
+    @Schema(description = "期望任务完成时间")
+    protected Date expireTime;
+
+    @JsonFormat(pattern = ApiConstants.DATE_MM)
+    @Schema(description = "提醒时间")
+    protected Date remindTime;
+
+    @Schema(description = "提醒次数")
+    protected Integer remindRepeat;
+
+    @Schema(description = "已阅 0,否 1,是")
+    protected Integer viewed;
+
+    @JsonFormat(pattern = ApiConstants.DATE_MM)
+    @Schema(description = "完成时间")
+    protected Date finishTime;
+
 }

+ 2 - 1
src/main/java/com/aizuda/boot/modules/flw/mapper/FlowlongMapper.java

@@ -2,6 +2,7 @@ package com.aizuda.boot.modules.flw.mapper;
 
 import com.aizuda.boot.modules.flw.entity.dto.ProcessTaskDTO;
 import com.aizuda.boot.modules.flw.entity.vo.FlwProcessVO;
+import com.aizuda.boot.modules.flw.entity.vo.PendingApprovalTaskVO;
 import com.aizuda.boot.modules.flw.entity.vo.ProcessTaskVO;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Mapper;
@@ -22,7 +23,7 @@ public interface FlowlongMapper {
     /**
      * 待审批任务分页列表
      */
-    Page<ProcessTaskVO> selectPagePendingApproval(Page page, @Param("dto") ProcessTaskDTO dto);
+    Page<PendingApprovalTaskVO> selectPagePendingApproval(Page page, @Param("dto") ProcessTaskDTO dto);
 
     /**
      * 我的申请任务分页列表

+ 2 - 1
src/main/java/com/aizuda/boot/modules/flw/service/IProcessTaskService.java

@@ -3,6 +3,7 @@ package com.aizuda.boot.modules.flw.service;
 import com.aizuda.boot.modules.flw.entity.dto.ExecuteTaskDTO;
 import com.aizuda.boot.modules.flw.entity.dto.ProcessTaskDTO;
 import com.aizuda.boot.modules.flw.entity.dto.RejectTaskDTO;
+import com.aizuda.boot.modules.flw.entity.vo.PendingApprovalTaskVO;
 import com.aizuda.boot.modules.flw.entity.vo.ProcessTaskVO;
 import com.aizuda.core.api.PageParam;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -25,7 +26,7 @@ public interface IProcessTaskService {
     /**
      * 待审批任务分页列表
      */
-    Page<ProcessTaskVO> pagePendingApproval(PageParam<ProcessTaskDTO> pageParam);
+    Page<PendingApprovalTaskVO> pagePendingApproval(PageParam<ProcessTaskDTO> pageParam);
 
     /**
      * 我的申请任务分页列表

+ 2 - 1
src/main/java/com/aizuda/boot/modules/flw/service/impl/ProcessTaskServiceImpl.java

@@ -3,6 +3,7 @@ package com.aizuda.boot.modules.flw.service.impl;
 import com.aizuda.boot.modules.flw.entity.dto.ExecuteTaskDTO;
 import com.aizuda.boot.modules.flw.entity.dto.ProcessTaskDTO;
 import com.aizuda.boot.modules.flw.entity.dto.RejectTaskDTO;
+import com.aizuda.boot.modules.flw.entity.vo.PendingApprovalTaskVO;
 import com.aizuda.boot.modules.flw.entity.vo.ProcessTaskVO;
 import com.aizuda.boot.modules.flw.mapper.FlowlongMapper;
 import com.aizuda.boot.modules.flw.service.IProcessTaskService;
@@ -38,7 +39,7 @@ public class ProcessTaskServiceImpl implements IProcessTaskService {
     }
 
     @Override
-    public Page<ProcessTaskVO> pagePendingApproval(PageParam<ProcessTaskDTO> pageParam) {
+    public Page<PendingApprovalTaskVO> pagePendingApproval(PageParam<ProcessTaskDTO> pageParam) {
         ProcessTaskDTO dto = this.getProcessTaskDTO(pageParam);
         return flowlongMapper.selectPagePendingApproval(pageParam.page(), dto);
     }

+ 4 - 3
src/main/resources/mapper/FlowlongMapper.xml

@@ -4,7 +4,7 @@
 
     <select id="selectFlwProcessList" resultType="com.aizuda.boot.modules.flw.entity.vo.FlwProcessVO">
         SELECT t2.category_id,t2.process_id,t1.process_key,t1.process_name,t1.process_icon,t1.process_version,t1.remark,t1.use_scope,
-               t1.process_state,t1.sort AS process_sort FROM flw_process t1 JOIN  flw_process_configure t2 ON t1.id=t2.process_id
+               t1.process_state,t1.sort AS process_sort,t1.create_time FROM flw_process t1 JOIN  flw_process_configure t2 ON t1.id=t2.process_id
     </select>
 
     <select id="selectPagePendingClaim" resultType="com.aizuda.boot.modules.flw.entity.vo.ProcessTaskVO">
@@ -17,8 +17,9 @@
         </if>
     </select>
 
-    <select id="selectPagePendingApproval" resultType="com.aizuda.boot.modules.flw.entity.vo.ProcessTaskVO">
-        SELECT i.process_id,p.process_name,i.id AS instance_id,i.instance_state,t.id AS task_id,t.task_name,i.create_id,i.create_by,i.create_time
+    <select id="selectPagePendingApproval" resultType="com.aizuda.boot.modules.flw.entity.vo.PendingApprovalTaskVO">
+        SELECT i.process_id,p.process_name,i.id AS instance_id,i.create_by AS launch_by,i.create_time AS launch_time,
+        t.id AS task_id,t.create_time,t.task_name,t.display_name,t.task_type,t.perform_type,t.assignor,t.expire_time,t.remind_time,t.remind_repeat
         FROM flw_task t JOIN flw_task_actor a ON t.id=a.task_id LEFT JOIN flw_his_instance i ON i.id=t.instance_id LEFT JOIN flw_process p ON i.process_id=p.id
         WHERE a.actor_type=0 AND a.actor_id=#{dto.createId}
         <if test="dto.processName != null">