Browse Source

优化增补

guarantee-lsq 9 months ago
parent
commit
3368b1d3d5
16 changed files with 711 additions and 17 deletions
  1. 88 0
      platform-dao/src/main/java/com/platform/dao/dto/workflow/WorkflowExtendDTO.java
  2. 1 0
      platform-dao/src/main/java/com/platform/dao/dto/workflow/WorkflowTaskDTO.java
  3. 77 0
      platform-dao/src/main/java/com/platform/dao/entity/workflow/WorkflowExtend.java
  4. 1 1
      platform-dao/src/main/java/com/platform/dao/entity/workflow/WorkflowTask.java
  5. 26 0
      platform-dao/src/main/java/com/platform/dao/mapper/workflow/WorkflowExtendMapper.java
  6. 87 0
      platform-dao/src/main/java/com/platform/dao/vo/export/workflow/ExportWorkflowExtendVO.java
  7. 69 0
      platform-dao/src/main/java/com/platform/dao/vo/query/workflow/WorkflowExtendVO.java
  8. 1 1
      platform-dao/src/main/java/com/platform/dao/vo/query/workflow/WorkflowTaskVO.java
  9. 61 0
      platform-dao/src/main/resources/mapper/workflow/WorkflowExtendMapper.xml
  10. 141 0
      platform-rest/src/main/java/com/platform/rest/controller/workflow/WorkflowExtendController.java
  11. 9 9
      platform-rest/src/main/java/com/platform/rest/controller/workflow/WorkflowTaskBomController.java
  12. 37 0
      platform-service/src/main/java/com/platform/service/workflow/WorkflowExtendService.java
  13. 50 0
      platform-service/src/main/java/com/platform/service/workflow/impl/WorkflowExtendServiceImpl.java
  14. 9 6
      platform-service/src/main/java/com/platform/service/workflow/impl/WorkflowTaskBomServiceImpl.java
  15. 24 0
      platform-service/src/main/java/com/platform/service/workflow/viewStrategy/BomViewStrategy.java
  16. 30 0
      platform-service/src/main/java/com/platform/service/workflow/viewStrategy/impl/CustomFormViewStrategy.java

+ 88 - 0
platform-dao/src/main/java/com/platform/dao/dto/workflow/WorkflowExtendDTO.java

@@ -0,0 +1,88 @@
+package com.platform.dao.dto.workflow;
+
+import com.platform.common.bean.BaseDTO;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * @Description 流程拓展DTO
+ * @Author lsq
+ * @Date 2024-08-02 14:24:01
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = true)
+public class WorkflowExtendDTO extends BaseDTO implements Serializable {
+
+    /**
+     * ID
+     */
+    private String id;
+    /**
+     * 扩展编码 sb_info&store_info&spare_info
+     * 这里的值要和编写的扩展类的type一样,扩展基类BomViewStrategy
+     */
+    private String extendCode;
+    /**
+     * 流程ID
+     */
+    private String flowId;
+    /**
+     * 流程名称
+     */
+    private String flowName;
+    /**
+     * 备注
+     */
+    private String remark;
+    /**
+     * 处理时间
+     */
+    private LocalDateTime createdTime;
+    /**
+     * 处理时间开始
+     */
+    private LocalDateTime createdTimeStart;
+    /**
+     * 处理时间结束
+     */
+    private LocalDateTime createdTimeEnd;
+    /**
+     * 处理人ID
+     */
+    private String createdUserId;
+    /**
+     * 处理人
+     */
+    private String createdUserName;
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+    /**
+     * 更新时间开始
+     */
+    private LocalDateTime updateTimeStart;
+    /**
+     * 更新时间结束
+     */
+    private LocalDateTime updateTimeEnd;
+    /**
+     * 更新人ID
+     */
+    private String updateUserId;
+    /**
+     * 更新人
+     */
+    private String updateUserName;
+    /**
+     * 关键字
+     */
+    private String keyword;
+
+}

+ 1 - 0
platform-dao/src/main/java/com/platform/dao/dto/workflow/WorkflowTaskDTO.java

@@ -110,4 +110,5 @@ public class WorkflowTaskDTO extends BaseDTO implements Serializable {
 
     private String taskName; // 审批任务名称  规则 发起人发起-审批流名称-日期
 
+    private String taskType; // 任务关联表单类型  custom_form & sb_info & spare_info ....
 }

+ 77 - 0
platform-dao/src/main/java/com/platform/dao/entity/workflow/WorkflowExtend.java

@@ -0,0 +1,77 @@
+package com.platform.dao.entity.workflow;
+
+import com.platform.common.bean.DataScope;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import javax.persistence.Id;
+import javax.persistence.Table;
+import javax.persistence.Transient;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * @Description 流程拓展实体类
+ * @Author lsq
+ * @Date 2024-08-02 14:24:01
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@Data
+@Accessors(chain = true)
+@Table(name = "t_workflow_extend")
+public class WorkflowExtend implements Serializable {
+
+    /**
+     * ID
+     */
+    @Id
+    private String id;
+    /**
+     * 扩展编码 sb_info&store_info&spare_info
+     * 这里的值要和编写的扩展类的type一样,扩展基类BomViewStrategy
+     */
+    private String extendCode;
+    /**
+     * 流程ID
+     */
+    private String flowId;
+    /**
+     * 流程名称
+     */
+    private String flowName;
+    /**
+     * 备注
+     */
+    private String remark;
+    /**
+     * 处理时间
+     */
+    private LocalDateTime createdTime;
+    /**
+     * 处理人ID
+     */
+    private String createdUserId;
+    /**
+     * 处理人
+     */
+    private String createdUserName;
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+    /**
+     * 更新人ID
+     */
+    private String updateUserId;
+    /**
+     * 更新人
+     */
+    private String updateUserName;
+
+    /**
+     * 数据权限
+     */
+    @Transient
+    private DataScope dataScope;
+
+}

+ 1 - 1
platform-dao/src/main/java/com/platform/dao/entity/workflow/WorkflowTask.java

@@ -91,5 +91,5 @@ public class WorkflowTask implements Serializable {
 
     private String taskName; // 审批任务名称  规则 发起人发起-审批流名称-日期
 
-
+    private String taskType; // 任务关联表单类型  custom_form & sb_info & spare_info ....
 }

+ 26 - 0
platform-dao/src/main/java/com/platform/dao/mapper/workflow/WorkflowExtendMapper.java

@@ -0,0 +1,26 @@
+package com.platform.dao.mapper.workflow;
+
+import com.platform.dao.dto.workflow.WorkflowExtendDTO;
+import com.platform.dao.config.MyMapper;
+import com.platform.dao.entity.workflow.WorkflowExtend;
+import com.platform.dao.vo.query.workflow.WorkflowExtendVO;
+import org.springframework.stereotype.Component;
+import java.util.List;
+
+
+/**
+ * @Description 流程拓展 mapper
+ * @Author lsq
+ * @Date 2024-08-02 14:24:01
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@Component
+public interface WorkflowExtendMapper extends MyMapper<WorkflowExtend> {
+    /**
+     * 分页查询
+     * @param dto
+     * @return
+     */
+    List<WorkflowExtendVO> selectList(WorkflowExtendDTO dto);
+
+}

+ 87 - 0
platform-dao/src/main/java/com/platform/dao/vo/export/workflow/ExportWorkflowExtendVO.java

@@ -0,0 +1,87 @@
+package com.platform.dao.vo.export.workflow;
+
+import com.platform.office.annotation.Excel;
+import lombok.Data;
+import lombok.experimental.Accessors;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.time.LocalDate;
+
+/**
+ * @Description 流程拓展导出VO
+ * @Author lsq
+ * @Date 2024-08-02 14:24:01
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@Data
+@Accessors(chain = true)
+public class ExportWorkflowExtendVO implements Serializable {
+
+    /**
+   * ID
+   */
+          @Excel(name = "ID", orderNum = "1")
+      private String id;
+    
+    /**
+   * 扩展编码 sb_info&store_info&spare_info
+   */
+          @Excel(name = "扩展编码 sb_info&store_info&spare_info", orderNum = "2")
+      private String extendCode;
+    
+    /**
+   * 流程ID
+   */
+          @Excel(name = "流程ID", orderNum = "3")
+      private String flowId;
+    
+    /**
+   * 流程名称
+   */
+          @Excel(name = "流程名称", orderNum = "4")
+      private String flowName;
+    
+    /**
+   * 备注
+   */
+          @Excel(name = "备注", orderNum = "5")
+      private String remark;
+    
+    /**
+   * 处理时间
+   */
+          @Excel(name = "处理时间", orderNum = "6")
+      private LocalDateTime createdTime;
+    
+    /**
+   * 处理人ID
+   */
+          @Excel(name = "处理人ID", orderNum = "7")
+      private String createdUserId;
+    
+    /**
+   * 处理人
+   */
+          @Excel(name = "处理人", orderNum = "8")
+      private String createdUserName;
+    
+    /**
+   * 更新时间
+   */
+          @Excel(name = "更新时间", orderNum = "9")
+      private LocalDateTime updateTime;
+    
+    /**
+   * 更新人ID
+   */
+          @Excel(name = "更新人ID", orderNum = "10")
+      private String updateUserId;
+    
+    /**
+   * 更新人
+   */
+          @Excel(name = "更新人", orderNum = "11")
+      private String updateUserName;
+    
+  
+}

+ 69 - 0
platform-dao/src/main/java/com/platform/dao/vo/query/workflow/WorkflowExtendVO.java

@@ -0,0 +1,69 @@
+package com.platform.dao.vo.query.workflow;
+
+import com.platform.common.bean.BaseVO;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * @Description 流程拓展VO结果类
+ * @Author lsq
+ * @Date 2024-08-02 14:24:01
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = true)
+public class WorkflowExtendVO extends BaseVO implements Serializable {
+
+    /**
+     * ID
+     */
+    private String id;
+    /**
+     * 扩展编码 sb_info&store_info&spare_info
+     * 这里的值要和编写的扩展类的type一样,扩展基类BomViewStrategy
+     */
+    private String extendCode;
+    /**
+     * 流程ID
+     */
+    private String flowId;
+    /**
+     * 流程名称
+     */
+    private String flowName;
+    /**
+     * 备注
+     */
+    private String remark;
+    /**
+     * 处理时间
+     */
+    private LocalDateTime createdTime;
+    /**
+     * 处理人ID
+     */
+    private String createdUserId;
+    /**
+     * 处理人
+     */
+    private String createdUserName;
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+    /**
+     * 更新人ID
+     */
+    private String updateUserId;
+    /**
+     * 更新人
+     */
+    private String updateUserName;
+
+
+}

+ 1 - 1
platform-dao/src/main/java/com/platform/dao/vo/query/workflow/WorkflowTaskVO.java

@@ -82,5 +82,5 @@ public class WorkflowTaskVO extends BaseVO implements Serializable {
 
     private String taskName; // 审批任务名称  规则 发起人发起-审批流名称-日期
 
-
+    private String taskType; // 任务关联表单类型  custom_form & sb_info & spare_info ....
 }

+ 61 - 0
platform-dao/src/main/resources/mapper/workflow/WorkflowExtendMapper.xml

@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.platform.dao.mapper.workflow.WorkflowExtendMapper">
+    <sql id="List_Condition">
+        <if test="id != null and id != ''">
+            and extend.id = #{id}
+        </if>
+        <if test="extendCode != null and extendCode != ''">
+            and extend.extend_code = #{extendCode}
+        </if>
+        <if test="flowId != null and flowId != ''">
+            and extend.flow_id = #{flowId}
+        </if>
+        <if test="flowName != null and flowName != ''">
+            and extend.flow_name = #{flowName}
+        </if>
+        <if test="remark != null and remark != ''">
+            and extend.remark = #{remark}
+        </if>
+        <if test="createdTimeStart != null">
+            and extend.created_time <![CDATA[>=]]>; #{createdTimeStart}
+        </if>
+        <if test="createdTimeEnd != null">
+            and extend.created_time <![CDATA[<=]]> #{createdTimeEnd}
+        </if>
+        <if test="createdTime != null">
+            and extend.created_time = #{createdTime}
+        </if>
+        <if test="createdUserId != null and createdUserId != ''">
+            and extend.created_user_id = #{createdUserId}
+        </if>
+        <if test="createdUserName != null and createdUserName != ''">
+            and extend.created_user_name = #{createdUserName}
+        </if>
+        <if test="updateTimeStart != null">
+            and extend.update_time <![CDATA[>=]]>; #{updateTimeStart}
+        </if>
+        <if test="updateTimeEnd != null">
+            and extend.update_time <![CDATA[<=]]> #{updateTimeEnd}
+        </if>
+        <if test="updateTime != null">
+            and extend.update_time = #{updateTime}
+        </if>
+        <if test="updateUserId != null and updateUserId != ''">
+            and extend.update_user_id = #{updateUserId}
+        </if>
+        <if test="updateUserName != null and updateUserName != ''">
+            and extend.update_user_name = #{updateUserName}
+        </if>
+        <if test="keyword != null and keyword != ''">
+            and extend.id like concat(concat('%',#{keyword}),'%')
+        </if>
+    </sql>
+    <select id="selectList" parameterType="com.platform.dao.dto.workflow.WorkflowExtendDTO" resultType="com.platform.dao.vo.query.workflow.WorkflowExtendVO">
+        select extend.*
+        from t_workflow_extend as extend
+        <where>
+            <include refid="List_Condition"/>
+        </where>
+    </select>
+</mapper>

+ 141 - 0
platform-rest/src/main/java/com/platform/rest/controller/workflow/WorkflowExtendController.java

@@ -0,0 +1,141 @@
+package com.platform.rest.controller.workflow;
+
+import com.platform.common.util.R;
+import com.platform.dao.dto.workflow.WorkflowExtendDTO;
+import com.platform.dao.entity.workflow.WorkflowExtend;
+import com.platform.service.workflow.WorkflowExtendService;
+import com.platform.dao.util.ExcelUtil;
+import com.platform.dao.vo.export.workflow.ExportWorkflowExtendVO;
+import com.platform.dao.vo.query.workflow.WorkflowExtendVO;
+import com.platform.common.util.BeanConverterUtil;
+import com.platform.common.validation.group.AddGroup;
+import com.platform.common.validation.group.UpdateGroup;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import lombok.AllArgsConstructor;
+import com.platform.common.bean.AbstractPageResultBean;
+import com.platform.rest.log.annotation.SysLog;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * @Description 流程拓展 控制器
+ * @Author lsq
+ * @Date 2024-08-02 14:24:01
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/workflow/extend")
+public class WorkflowExtendController {
+
+    private final WorkflowExtendService workflowExtendService;
+
+    /**
+     * 通过id查询单条记录
+     *
+     * @param id 主键
+     * @return R
+     */
+    @GetMapping("/{id}")
+    public R<WorkflowExtend> getById(@PathVariable("id") String id) {
+        return new R<>(workflowExtendService.getModelById(id));
+    }
+
+    /**
+     * 新增记录
+     *
+     * @param workflowExtendDTO 流程拓展DTO
+     * @return R
+     */
+    @SysLog("新增流程拓展")
+    @PostMapping
+    @PreAuthorize("@pms.hasPermission('workflow-extend-add')")
+    public R save(@Validated({AddGroup.class}) @RequestBody WorkflowExtendDTO workflowExtendDTO) {
+        return new R<>(workflowExtendService.saveModelByDTO(workflowExtendDTO));
+    }
+
+    /**
+     * 修改记录
+     *
+     * @param workflowExtendDTO 流程拓展DTO
+     * @return R
+     */
+    @SysLog("修改流程拓展")
+    @PutMapping("/{id}")
+    @PreAuthorize("@pms.hasPermission('workflow-extend-edit')")
+    public R update(@PathVariable("id") String id, @Validated({UpdateGroup.class}) @RequestBody WorkflowExtendDTO workflowExtendDTO) {
+        workflowExtendService.modModelByDTO(workflowExtendDTO);
+        return new R<>();
+    }
+
+
+    /**
+     * 通过id删除一条记录
+     *
+     * @param id 主键
+     * @return R
+     */
+    @SysLog("删除流程拓展")
+    @DeleteMapping("/{id}")
+    @PreAuthorize("@pms.hasPermission('workflow-extend-del')")
+    public R removeById(@PathVariable String id) {
+        workflowExtendService.deleteByPrimaryKey(id);
+        return new R<>();
+    }
+
+    /**
+     * 批量记录
+     *
+     * @param ids 主键
+     * @return R
+     */
+    @SysLog("批量删除流程拓展")
+    @DeleteMapping("")
+    @PreAuthorize("@pms.hasPermission('workflow-extend-del')")
+    public R removeIds(@RequestBody List<String> ids) {
+        workflowExtendService.batchDelete(ids);
+        return new R<>();
+    }
+
+    /**
+     * 获取分页
+     *
+     * @param pageNum           当前页码
+     * @param pageSize          每页条数
+     * @param workflowExtendDTO 流程拓展DTO
+     * @return R
+     */
+    @GetMapping("/page")
+    public R<AbstractPageResultBean<WorkflowExtendVO>> query(WorkflowExtendDTO workflowExtendDTO, @RequestParam(defaultValue = "1") int pageNum, @RequestParam(defaultValue = "20") int pageSize) {
+        return new R<>(workflowExtendService.selectPageList(workflowExtendDTO, pageNum, pageSize));
+    }
+
+    /**
+     * 获取列表
+     *
+     * @param workflowExtendDTO 流程拓展DTO
+     * @return R
+     */
+    @GetMapping("")
+    public R query(WorkflowExtendDTO workflowExtendDTO) {
+        return new R<>(workflowExtendService.getModelListByDTO(workflowExtendDTO));
+    }
+
+    /**
+     * 流程拓展导出
+     *
+     * @param workflowExtendDTO 流程拓展DTO
+     * @return R
+     */
+    @GetMapping("/export")
+    @SysLog("流程拓展导出")
+    @PreAuthorize("@pms.hasPermission('workflow-extend-export')")
+    public void export(HttpServletResponse response, WorkflowExtendDTO workflowExtendDTO) {
+        List<WorkflowExtend> list = workflowExtendService.getModelListByDTO(workflowExtendDTO);
+        ExcelUtil.exportResponseDict(response, ExportWorkflowExtendVO.class, BeanConverterUtil.copyListProperties(list, ExportWorkflowExtendVO.class), "流程拓展");
+    }
+
+}

+ 9 - 9
platform-rest/src/main/java/com/platform/rest/controller/workflow/WorkflowTaskBomController.java

@@ -1,24 +1,24 @@
 package com.platform.rest.controller.workflow;
 
+import com.platform.common.bean.AbstractPageResultBean;
+import com.platform.common.util.BeanConverterUtil;
 import com.platform.common.util.R;
+import com.platform.common.validation.group.AddGroup;
+import com.platform.common.validation.group.UpdateGroup;
 import com.platform.dao.dto.workflow.WorkflowTaskBomDTO;
 import com.platform.dao.entity.workflow.WorkflowTaskBom;
-import com.platform.service.workflow.WorkflowTaskBomService;
 import com.platform.dao.util.ExcelUtil;
 import com.platform.dao.vo.export.workflow.ExportWorkflowTaskBomVO;
 import com.platform.dao.vo.query.workflow.WorkflowTaskBomVO;
-import com.platform.common.util.BeanConverterUtil;
-import com.platform.common.validation.group.AddGroup;
-import com.platform.common.validation.group.UpdateGroup;
+import com.platform.rest.log.annotation.SysLog;
+import com.platform.service.workflow.WorkflowTaskBomService;
+import lombok.AllArgsConstructor;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
-import lombok.AllArgsConstructor;
-import com.platform.common.bean.AbstractPageResultBean;
-import com.platform.rest.log.annotation.SysLog;
 
-import java.util.List;
 import javax.servlet.http.HttpServletResponse;
+import java.util.List;
 
 /**
  * @Description 流程任务审核字段显示表 控制器
@@ -27,8 +27,8 @@ import javax.servlet.http.HttpServletResponse;
  * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
  */
 @RestController
-@AllArgsConstructor
 @RequestMapping("/workflow/bom")
+@AllArgsConstructor
 public class WorkflowTaskBomController {
 
     private final WorkflowTaskBomService workflowTaskBomService;

+ 37 - 0
platform-service/src/main/java/com/platform/service/workflow/WorkflowExtendService.java

@@ -0,0 +1,37 @@
+package com.platform.service.workflow;
+
+import com.platform.dao.vo.query.workflow.WorkflowExtendVO;
+import com.platform.dao.dto.workflow.WorkflowExtendDTO;
+import com.platform.dao.entity.workflow.WorkflowExtend;
+import com.platform.common.bean.AbstractPageResultBean;
+import com.platform.service.base.IBaseService;
+
+import java.util.List;
+
+/**
+ * @Description 流程拓展 service
+ * @Author lsq
+ * @Date 2024-08-02 14:24:01
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+public interface WorkflowExtendService extends IBaseService<WorkflowExtend, WorkflowExtendDTO> {
+
+    /**
+     * 批量删除
+     *
+     * @param ids :
+     * @return :
+     */
+    int batchDelete(List<String> ids);
+
+    /**
+     * 分页查询
+     *
+     * @param record
+     * @param pageNum
+     * @param pageSize
+     * @return
+     */
+    AbstractPageResultBean<WorkflowExtendVO> selectPageList(WorkflowExtendDTO record, int pageNum, int pageSize);
+
+}

+ 50 - 0
platform-service/src/main/java/com/platform/service/workflow/impl/WorkflowExtendServiceImpl.java

@@ -0,0 +1,50 @@
+package com.platform.service.workflow.impl;
+import com.platform.common.bean.AbstractPageResultBean;
+import com.platform.dao.bean.MyPage;
+import com.github.pagehelper.PageHelper;
+import com.platform.dao.vo.query.workflow.WorkflowExtendVO;
+import com.platform.dao.dto.workflow.WorkflowExtendDTO;
+import com.platform.dao.entity.workflow.WorkflowExtend;
+import com.platform.dao.mapper.workflow.WorkflowExtendMapper;
+import com.platform.service.workflow.WorkflowExtendService;
+import org.springframework.stereotype.Service;
+import com.platform.service.base.impl.BaseServiceImpl;
+import org.springframework.transaction.annotation.Transactional;
+import tk.mybatis.mapper.weekend.Weekend;
+import tk.mybatis.mapper.weekend.WeekendCriteria;
+import lombok.AllArgsConstructor;
+
+import java.util.List;
+
+/**
+ * @Description 流程拓展 service 实现类
+ * @Author lsq
+ * @Date 2024-08-02 14:24:01
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@AllArgsConstructor
+@Service("workflowExtendService")
+public class WorkflowExtendServiceImpl extends BaseServiceImpl<WorkflowExtendMapper, WorkflowExtend, WorkflowExtendDTO> implements WorkflowExtendService {
+
+    @Override
+    public int batchDelete(List<String> ids) {
+        Weekend<WorkflowExtend> weekend = new Weekend<>(WorkflowExtend.class);
+        WeekendCriteria<WorkflowExtend, Object> weekendCriteria = weekend.weekendCriteria();
+        weekendCriteria.andIn(WorkflowExtend::getId, ids);
+        mapper.deleteByExample(weekend);
+        return 1;
+    }
+
+    @Override
+    public AbstractPageResultBean<WorkflowExtendVO> selectPageList(WorkflowExtendDTO record, int pageNum, int pageSize) {
+        PageHelper.startPage(pageNum, pageSize);
+        return new MyPage(mapper.selectList(record));
+    }
+
+    @Override
+    public AbstractPageResultBean<WorkflowExtend> selectPageInfo(WorkflowExtendDTO record, int pageNum, int pageSize) {
+        PageHelper.startPage(pageNum, pageSize);
+        return new MyPage(mapper.selectList(record));
+    }
+
+                                                                                                                                        }

+ 9 - 6
platform-service/src/main/java/com/platform/service/workflow/impl/WorkflowTaskBomServiceImpl.java

@@ -1,20 +1,21 @@
 package com.platform.service.workflow.impl;
 
+import com.github.pagehelper.PageHelper;
 import com.platform.common.bean.AbstractPageResultBean;
 import com.platform.dao.bean.MyPage;
-import com.github.pagehelper.PageHelper;
-import com.platform.dao.vo.query.workflow.WorkflowTaskBomVO;
 import com.platform.dao.dto.workflow.WorkflowTaskBomDTO;
 import com.platform.dao.entity.workflow.WorkflowTaskBom;
 import com.platform.dao.mapper.workflow.WorkflowTaskBomMapper;
+import com.platform.dao.vo.query.workflow.WorkflowTaskBomVO;
+import com.platform.service.base.impl.BaseServiceImpl;
 import com.platform.service.workflow.WorkflowTaskBomService;
+import com.platform.service.workflow.viewStrategy.BomViewStrategy;
+import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
-import com.platform.service.base.impl.BaseServiceImpl;
-import org.springframework.transaction.annotation.Transactional;
 import tk.mybatis.mapper.weekend.Weekend;
 import tk.mybatis.mapper.weekend.WeekendCriteria;
-import lombok.AllArgsConstructor;
 
+import javax.annotation.Resource;
 import java.util.List;
 
 /**
@@ -23,9 +24,11 @@ import java.util.List;
  * @Date 2024-06-03 17:02:41
  * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
  */
-@AllArgsConstructor
 @Service("workflowTaskBomService")
+@AllArgsConstructor
 public class WorkflowTaskBomServiceImpl extends BaseServiceImpl<WorkflowTaskBomMapper, WorkflowTaskBom, WorkflowTaskBomDTO> implements WorkflowTaskBomService {
+    @Resource
+    private List<BomViewStrategy> bomViewStrategyList; // 查看实现类
 
     @Override
     public int batchDelete(List<String> ids) {

+ 24 - 0
platform-service/src/main/java/com/platform/service/workflow/viewStrategy/BomViewStrategy.java

@@ -0,0 +1,24 @@
+package com.platform.service.workflow.viewStrategy;
+
+import com.alibaba.fastjson.JSONObject;
+
+import java.io.Serializable;
+
+/**
+ * 查看task任务关联的objId详情
+ * @param <T>
+ */
+public interface BomViewStrategy<T extends Serializable> {
+
+    /**
+     * 查看实体名称
+     */
+    String getType();
+
+    /**
+     * 根据ID获取详情
+     * @param id
+     */
+    JSONObject getVOById(String id);
+
+}

+ 30 - 0
platform-service/src/main/java/com/platform/service/workflow/viewStrategy/impl/CustomFormViewStrategy.java

@@ -0,0 +1,30 @@
+package com.platform.service.workflow.viewStrategy.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.platform.common.util.JsonUtils;
+import com.platform.dao.entity.custom.CustomFormBom;
+import com.platform.service.custom.CustomFormBomService;
+import com.platform.service.workflow.viewStrategy.BomViewStrategy;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+@Service("customFormViewStrategy")
+@Slf4j
+@Component
+public class CustomFormViewStrategy implements BomViewStrategy<CustomFormBom> {
+
+    @Resource
+    private CustomFormBomService customFormBomService;
+
+    @Override
+    public String getType() {
+        return "custom_form";
+    }
+
+    @Override
+    public JSONObject getVOById(String id) {
+        return JSONObject.parseObject(JsonUtils.objectToJson(customFormBomService.getModelById(id)));
+    }
+}