Quellcode durchsuchen

作者:张哲
时间:2023/05/06
类型:开发
描述:里程碑(1) 审核流程添加&修改

zizg vor 1 Jahr
Ursprung
Commit
609bec61f1
17 geänderte Dateien mit 473 neuen und 40 gelöschten Zeilen
  1. 24 0
      src/main/java/com/redxun/knowledge/controller/KnowledgeApprovalNodeController.java
  2. 3 0
      src/main/java/com/redxun/knowledge/entity/dao/KnowledgeApprovalNode.java
  3. 65 0
      src/main/java/com/redxun/knowledge/entity/dao/KnowledgeApprovalNodeCategory.java
  4. 63 0
      src/main/java/com/redxun/knowledge/entity/dao/KnowledgeApprovalNodeFlower.java
  5. 4 31
      src/main/java/com/redxun/knowledge/entity/dto/KnowledgeApprovalNodeDto.java
  6. 40 0
      src/main/java/com/redxun/knowledge/entity/dto/KnowledgeApprovalNodeFlowerDto.java
  7. 27 0
      src/main/java/com/redxun/knowledge/entity/vo/KnowledgeApprovalNodeFlowerVo.java
  8. 27 0
      src/main/java/com/redxun/knowledge/entity/vo/KnowledgeApprovalNodeVo.java
  9. 19 0
      src/main/java/com/redxun/knowledge/mapper/KnowledgeApprovalNodeCategoryMapper.java
  10. 20 0
      src/main/java/com/redxun/knowledge/mapper/KnowledgeApprovalNodeFlowerMapper.java
  11. 6 0
      src/main/java/com/redxun/knowledge/mapper/KnowledgeApprovalNodeMapper.java
  12. 2 0
      src/main/java/com/redxun/knowledge/mapper/KnowledgeCategoryMapper.java
  13. 92 9
      src/main/java/com/redxun/knowledge/service/KnowledgeApprovalNodeServiceImpl.java
  14. 32 0
      src/main/resources/mapper/knowledge/KnowledgeApprovalNodeCategoryMapper.xml
  15. 32 0
      src/main/resources/mapper/knowledge/KnowledgeApprovalNodeFlowerMapper.xml
  16. 9 0
      src/main/resources/mapper/knowledge/KnowledgeApprovalNodeMapper.xml
  17. 8 0
      src/main/resources/mapper/knowledge/KnowledgeCategoryMapper.xml

+ 24 - 0
src/main/java/com/redxun/knowledge/controller/KnowledgeApprovalNodeController.java

@@ -10,9 +10,13 @@ import com.redxun.common.base.entity.JsonResult;
 import com.redxun.common.base.entity.QueryData;
 import com.redxun.common.base.search.QueryFilter;
 import com.redxun.common.base.search.QueryFilterBuilder;
+import com.redxun.common.tool.StringUtils;
 import com.redxun.common.utils.ExceptionUtil;
 import com.redxun.knowledge.entity.dao.KnowledgeApprovalNode;
+import com.redxun.knowledge.entity.dao.KnowledgeApprovalNodeFlower;
 import com.redxun.knowledge.entity.dto.KnowledgeApprovalNodeDto;
+import com.redxun.knowledge.entity.dto.KnowledgeApprovalNodeFlowerDto;
+import com.redxun.knowledge.entity.vo.KnowledgeApprovalNodeFlowerVo;
 import com.redxun.knowledge.entity.vo.KnowledgeApprovalVo;
 import com.redxun.knowledge.service.KnowledgeApprovalNodeServiceImpl;
 import com.redxun.web.controller.BaseController;
@@ -93,5 +97,25 @@ public class KnowledgeApprovalNodeController extends BaseController<KnowledgeApp
         }
         return jsonResult;
     }
+
+    @ApiOperation("添加审核流程(新)")
+    @PostMapping("insertApprovalNodes")
+    public JsonResult insertApprovalNodes(@RequestBody KnowledgeApprovalNodeFlowerDto knowledgeApprovalNodeFlowerDto){
+        JsonResult jsonResult = JsonResult.getSuccessResult("添加数据成功");
+        knowledgeApprovalNodeService.insertApprovalNodes(knowledgeApprovalNodeFlowerDto);
+        return jsonResult;
+    }
+
+    @ApiOperation("查询审核流程")
+    @GetMapping("findAllNodes")
+    public JsonResult findAllNodes(@RequestParam(value = "categoryId",required = false) String categoryId){
+        if (StringUtils.isEmpty(categoryId)){
+            List<KnowledgeApprovalNodeFlowerVo> knowledgeApprovalNodeFlowerVoList = knowledgeApprovalNodeService.findAllNodes();
+            return JsonResult.getSuccessResult(knowledgeApprovalNodeFlowerVoList);
+        } else {
+            KnowledgeApprovalNodeFlowerVo knowledgeApprovalNodeFlowerVo = knowledgeApprovalNodeService.findNodes(categoryId);
+            return JsonResult.getSuccessResult(knowledgeApprovalNodeFlowerVo);
+        }
+    }
 }
 

+ 3 - 0
src/main/java/com/redxun/knowledge/entity/dao/KnowledgeApprovalNode.java

@@ -52,6 +52,9 @@ public class KnowledgeApprovalNode extends BaseExtEntity<java.lang.String> {
     @TableLogic
     private Integer isDel;
 
+    @TableField(value = "FLOWER_ID")
+    private String flowerId;
+
     @Override
     public String getPkId() {
         return pkId;

+ 65 - 0
src/main/java/com/redxun/knowledge/entity/dao/KnowledgeApprovalNodeCategory.java

@@ -0,0 +1,65 @@
+
+/**
+ * <pre>
+ *
+ * 描述:业务--知识审批节点表实体类定义
+ * 表:KM_KNOWLEDGE_APPROVAL_NODE
+ * 作者:zhang_zhe
+ * 日期:2022-11-23 09:47:26
+ * </pre>
+ */
+package com.redxun.knowledge.entity.dao;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.redxun.common.base.entity.BaseExtEntity;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.experimental.Accessors;
+
+
+@Setter
+@Getter
+@Accessors(chain = true)
+@TableName(value = "KM_KNOWLEDGE_APPROVAL_NODE_CATEGORY")
+public class KnowledgeApprovalNodeCategory extends BaseExtEntity<String> {
+
+    @JsonCreator
+    public KnowledgeApprovalNodeCategory() {
+    }
+
+    //主键
+    @TableId(value = "PK_ID", type = IdType.ASSIGN_ID)
+    private String pkId;
+    //流程名称
+    @TableField(value = "FLOWER_ID")
+    private String flowerId;
+    //分类id
+    @TableField(value = "CATEGORY_ID")
+    private String categoryId;
+    //删除标记
+    @TableField(value = "IS_DEL")
+    @TableLogic
+    private Integer isDel;
+    @TableField(value = "PATH")
+    private String path;
+
+    @Override
+    public String getPkId() {
+        return pkId;
+    }
+
+    @Override
+    public void setPkId(String pkId) {
+        this.pkId = pkId;
+    }
+
+
+    /**
+     生成子表属性的Array List
+     */
+
+}
+
+
+

+ 63 - 0
src/main/java/com/redxun/knowledge/entity/dao/KnowledgeApprovalNodeFlower.java

@@ -0,0 +1,63 @@
+
+/**
+ * <pre>
+ *
+ * 描述:业务--知识审批节点表实体类定义
+ * 表:KM_KNOWLEDGE_APPROVAL_NODE
+ * 作者:zhang_zhe
+ * 日期:2022-11-23 09:47:26
+ * </pre>
+ */
+package com.redxun.knowledge.entity.dao;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.redxun.common.base.entity.BaseExtEntity;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.experimental.Accessors;
+
+
+@Setter
+@Getter
+@Accessors(chain = true)
+@TableName(value = "KM_KNOWLEDGE_APPROVAL_NODE_FLOWER")
+public class KnowledgeApprovalNodeFlower extends BaseExtEntity<String> {
+
+    @JsonCreator
+    public KnowledgeApprovalNodeFlower() {
+    }
+
+    //主键
+    @TableId(value = "PK_ID", type = IdType.ASSIGN_ID)
+    private String pkId;
+    //流程名称
+    @TableField(value = "FLOWER_NAME")
+    private String flowerName;
+    //分类id
+    @TableField(value = "CATEGORY_ID")
+    private String categoryId;
+    //删除标记
+    @TableField(value = "IS_DEL")
+    @TableLogic
+    private Integer isDel;
+
+    @Override
+    public String getPkId() {
+        return pkId;
+    }
+
+    @Override
+    public void setPkId(String pkId) {
+        this.pkId = pkId;
+    }
+
+
+    /**
+     生成子表属性的Array List
+     */
+
+}
+
+
+

+ 4 - 31
src/main/java/com/redxun/knowledge/entity/dto/KnowledgeApprovalNodeDto.java

@@ -10,26 +10,14 @@
  */
 package com.redxun.knowledge.entity.dto;
 
-import com.baomidou.mybatisplus.annotation.*;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.redxun.common.base.entity.BaseExtEntity;
-import lombok.Getter;
-import lombok.Setter;
-import lombok.experimental.Accessors;
+import lombok.Data;
 
 import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
+import java.util.List;
 
 
-@Setter
-@Getter
-@Accessors(chain = true)
-@TableName(value = "KM_KNOWLEDGE_APPROVAL_NODE")
-public class KnowledgeApprovalNodeDto extends BaseExtEntity<String> {
-
-    //主键
-    @TableId(value = "PK_ID", type = IdType.ASSIGN_ID)
-    private String pkId;
+@Data
+public class KnowledgeApprovalNodeDto {
 
     //节点名称
     @NotBlank(message = "节点名称不能为空")
@@ -41,21 +29,6 @@ public class KnowledgeApprovalNodeDto extends BaseExtEntity<String> {
     //是否为最终节点
     private String isFinal;
 
-    @Override
-    public String getPkId() {
-        return pkId;
-    }
-
-    @Override
-    public void setPkId(String pkId) {
-        this.pkId = pkId;
-    }
-
-
-    /**
-     生成子表属性的Array List
-     */
-
 }
 
 

+ 40 - 0
src/main/java/com/redxun/knowledge/entity/dto/KnowledgeApprovalNodeFlowerDto.java

@@ -0,0 +1,40 @@
+
+/**
+ * <pre>
+ *
+ * 描述:业务--知识审批节点表实体类定义
+ * 表:KM_KNOWLEDGE_APPROVAL_NODE
+ * 作者:zhang_zhe
+ * 日期:2022-11-23 09:47:26
+ * </pre>
+ */
+package com.redxun.knowledge.entity.dto;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.redxun.common.base.entity.BaseExtEntity;
+import lombok.Data;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.experimental.Accessors;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+
+@Data
+public class KnowledgeApprovalNodeFlowerDto {
+
+    private String pkId;
+
+    @NotBlank(message = "流程名称不能为空")
+    private String flowerName;
+
+    private List<String> categoryId;
+
+    private List<KnowledgeApprovalNodeDto> knowledgeApprovalNodes;
+}
+
+
+

+ 27 - 0
src/main/java/com/redxun/knowledge/entity/vo/KnowledgeApprovalNodeFlowerVo.java

@@ -0,0 +1,27 @@
+package com.redxun.knowledge.entity.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 文件名: KnowledgeApprovalNodeFlowerVo
+ * 作者: zizg
+ * 时间: 2023/5/6
+ * 描述:
+ * 修改人:
+ * 修改时间:
+ * 修改内容:
+ */
+@Data
+public class KnowledgeApprovalNodeFlowerVo implements Serializable {
+
+    private String pkId;
+
+    private String flowerName;
+
+    private String category;
+
+    private List<KnowledgeApprovalNodeVo> knowledgeApprovalNodeList;
+}

+ 27 - 0
src/main/java/com/redxun/knowledge/entity/vo/KnowledgeApprovalNodeVo.java

@@ -0,0 +1,27 @@
+package com.redxun.knowledge.entity.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 文件名: KnowledgeApprovalNodeVo
+ * 作者: zizg
+ * 时间: 2023/5/6
+ * 描述:
+ * 修改人:
+ * 修改时间:
+ * 修改内容:
+ */
+@Data
+public class KnowledgeApprovalNodeVo implements Serializable {
+
+    private String pkId;
+
+    private String name;
+
+    private String approverName;
+
+    private Integer isFinal;
+
+}

+ 19 - 0
src/main/java/com/redxun/knowledge/mapper/KnowledgeApprovalNodeCategoryMapper.java

@@ -0,0 +1,19 @@
+package com.redxun.knowledge.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.redxun.knowledge.entity.dao.KnowledgeApprovalNodeCategory;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 文件名: KnowledgeApprovalNodeCategoryMapper
+ * 作者: zizg
+ * 时间: 2023/5/6
+ * 描述:
+ * 修改人:
+ * 修改时间:
+ * 修改内容:
+ */
+@Mapper
+public interface KnowledgeApprovalNodeCategoryMapper extends BaseMapper<KnowledgeApprovalNodeCategory> {
+    void deleteByFlowerId(String pkId);
+}

+ 20 - 0
src/main/java/com/redxun/knowledge/mapper/KnowledgeApprovalNodeFlowerMapper.java

@@ -0,0 +1,20 @@
+package com.redxun.knowledge.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.redxun.knowledge.entity.dao.KnowledgeApprovalNodeFlower;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 文件名: KnowledgeApprovalNodeFlowerMapper
+ * 作者: zizg
+ * 时间: 2023/5/6
+ * 描述:
+ * 修改人:
+ * 修改时间:
+ * 修改内容:
+ */
+@Mapper
+public interface KnowledgeApprovalNodeFlowerMapper extends BaseMapper<KnowledgeApprovalNodeFlower> {
+
+    void deleteByPkId(String pkId);
+}

+ 6 - 0
src/main/java/com/redxun/knowledge/mapper/KnowledgeApprovalNodeMapper.java

@@ -22,4 +22,10 @@ public interface KnowledgeApprovalNodeMapper extends BaseDao<KnowledgeApprovalNo
     IPage findAllApprovalNodes(IPage<Banner> page, @Param("params") Map<String, Object> params, @Param("w") Map<String, Object> order);
 
     void deleteKnowledgeApprovalNode();
+
+    /**
+     * 根据流程id删除记录
+     * @param pkId
+     */
+    void deleteByFlowerId(String pkId);
 }

+ 2 - 0
src/main/java/com/redxun/knowledge/mapper/KnowledgeCategoryMapper.java

@@ -59,4 +59,6 @@ public interface KnowledgeCategoryMapper extends BaseDao<KnowledgeCategory> {
      * @return
      */
     List<KnowledgeCategoryAdminVo> getAllKnowledgeCategory();
+
+    List<String> selectPath(String pkId);
 }

+ 92 - 9
src/main/java/com/redxun/knowledge/service/KnowledgeApprovalNodeServiceImpl.java

@@ -1,27 +1,36 @@
 
 package com.redxun.knowledge.service;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.redxun.common.base.db.BaseDao;
 import com.redxun.common.base.db.BaseService;
 import com.redxun.common.base.db.PageHelper;
 import com.redxun.common.base.search.QueryFilter;
-import com.redxun.common.tool.BeanUtil;
-import com.redxun.common.tool.IdGenerator;
 import com.redxun.common.service.impl.SuperServiceImpl;
-import com.redxun.knowledge.entity.dao.Knowledge;
+import com.redxun.common.tool.StringUtils;
 import com.redxun.knowledge.entity.dao.KnowledgeApprovalNode;
-import com.redxun.knowledge.entity.vo.BannerAdminVo;
+import com.redxun.knowledge.entity.dao.KnowledgeApprovalNodeCategory;
+import com.redxun.knowledge.entity.dao.KnowledgeApprovalNodeFlower;
+import com.redxun.knowledge.entity.dto.KnowledgeApprovalNodeDto;
+import com.redxun.knowledge.entity.dto.KnowledgeApprovalNodeFlowerDto;
+import com.redxun.knowledge.entity.vo.KnowledgeApprovalNodeFlowerVo;
 import com.redxun.knowledge.entity.vo.KnowledgeApprovalVo;
+import com.redxun.knowledge.mapper.KnowledgeApprovalNodeCategoryMapper;
+import com.redxun.knowledge.mapper.KnowledgeApprovalNodeFlowerMapper;
 import com.redxun.knowledge.mapper.KnowledgeApprovalNodeMapper;
-import com.redxun.knowledge.entity.dao.KnowledgeApprovalNode;
-import com.redxun.knowledge.mapper.KnowledgeApprovalNodeMapper;
+import com.redxun.knowledge.mapper.KnowledgeCategoryMapper;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Bean;
 import org.springframework.stereotype.Service;
-import org.springframework.util.StringUtils;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
 
-import java.util.*;
 import javax.annotation.Resource;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * [业务--知识审批节点表]业务服务类
@@ -32,6 +41,15 @@ public class KnowledgeApprovalNodeServiceImpl extends SuperServiceImpl<Knowledge
     @Resource
     private KnowledgeApprovalNodeMapper knowledgeApprovalNodeMapper;
 
+    @Autowired
+    private KnowledgeApprovalNodeFlowerMapper knowledgeApprovalNodeFlowerMapper;
+
+    @Autowired
+    private KnowledgeApprovalNodeCategoryMapper knowledgeApprovalNodeCategoryMapper;
+
+    @Autowired
+    private KnowledgeCategoryMapper knowledgeCategoryMapper;
+
     @Override
     public BaseDao<KnowledgeApprovalNode> getRepository() {
         return knowledgeApprovalNodeMapper;
@@ -66,4 +84,69 @@ public class KnowledgeApprovalNodeServiceImpl extends SuperServiceImpl<Knowledge
     public void deleteKnowledgeApprovalNode() {
         knowledgeApprovalNodeMapper.deleteKnowledgeApprovalNode();
     }
+
+    /**
+     * 添加审核流程(新)
+     * @param knowledgeApprovalNodeFlowerDto
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public void insertApprovalNodes(KnowledgeApprovalNodeFlowerDto knowledgeApprovalNodeFlowerDto) {
+        //修改(清除原本数据)
+        if (StringUtils.isNotEmpty(knowledgeApprovalNodeFlowerDto.getPkId())){
+            knowledgeApprovalNodeFlowerMapper.deleteByPkId(knowledgeApprovalNodeFlowerDto.getPkId());
+            knowledgeApprovalNodeMapper.deleteByFlowerId(knowledgeApprovalNodeFlowerDto.getPkId());
+            knowledgeApprovalNodeCategoryMapper.deleteByFlowerId(knowledgeApprovalNodeFlowerDto.getPkId());
+        }
+
+        KnowledgeApprovalNodeFlower knowledgeApprovalNodeFlower = new KnowledgeApprovalNodeFlower();
+        knowledgeApprovalNodeFlower.setFlowerName(knowledgeApprovalNodeFlowerDto.getFlowerName());
+        knowledgeApprovalNodeFlowerMapper.insert(knowledgeApprovalNodeFlower);
+        //关联分类
+        if (!CollectionUtils.isEmpty(knowledgeApprovalNodeFlowerDto.getCategoryId())){
+            knowledgeApprovalNodeFlowerDto.getCategoryId().forEach(e -> {
+                KnowledgeApprovalNodeCategory knowledgeApprovalNodeCategory = new KnowledgeApprovalNodeCategory();
+                knowledgeApprovalNodeCategory.setCategoryId(e);
+                knowledgeApprovalNodeCategory.setFlowerId(knowledgeApprovalNodeFlower.getPkId());
+                List<String> pathList = knowledgeCategoryMapper.selectPath(e);
+                knowledgeApprovalNodeCategory.setPath(String.join(".", pathList));
+                knowledgeApprovalNodeCategoryMapper.insert(knowledgeApprovalNodeCategory);
+            });
+        }
+        //关联节点
+        List<KnowledgeApprovalNodeDto> knowledgeApprovalNodes = knowledgeApprovalNodeFlowerDto.getKnowledgeApprovalNodes();
+        if (!CollectionUtils.isEmpty(knowledgeApprovalNodes)) {
+            List<KnowledgeApprovalNode> knowledgeApprovalNodeList = knowledgeApprovalNodes.parallelStream().map(e -> {
+                KnowledgeApprovalNode knowledgeApprovalNode = new KnowledgeApprovalNode();
+                BeanUtils.copyProperties(e, knowledgeApprovalNode);
+                knowledgeApprovalNode.setFlowerId(knowledgeApprovalNodeFlower.getPkId());
+                return knowledgeApprovalNode;
+            }).collect(Collectors.toList());
+            this.saveBatch(knowledgeApprovalNodeList);
+        }
+    }
+
+    /**
+     * 查询全部节点
+     * @return
+     */
+    public List<KnowledgeApprovalNodeFlowerVo> findAllNodes() {
+        List<KnowledgeApprovalNodeFlower> knowledgeApprovalNodeFlowers = knowledgeApprovalNodeFlowerMapper.selectList(null);
+        knowledgeApprovalNodeFlowers.parallelStream().map(e -> {
+            String categoryId = e.getCategoryId();
+            if (StringUtils.isNotEmpty(categoryId)){
+                categoryId.split(".");
+            }
+            return null;
+        });
+        return null;
+    }
+
+    /**
+     * 根据分类id查询节点
+     * @param categoryId
+     * @return
+     */
+    public KnowledgeApprovalNodeFlowerVo findNodes(String categoryId) {
+        return null;
+    }
 }

+ 32 - 0
src/main/resources/mapper/knowledge/KnowledgeApprovalNodeCategoryMapper.xml

@@ -0,0 +1,32 @@
+<?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.redxun.knowledge.mapper.KnowledgeApprovalNodeCategoryMapper">
+
+    <resultMap id="KnowledgeApprovalNode" type="com.redxun.knowledge.entity.dao.KnowledgeApprovalNodeFlower">
+        <id property="pkId" column="PK_ID" jdbcType="VARCHAR"/>
+        <result property="flowerName" column="FLOWER_NAME" jdbcType="VARCHAR"/>
+        <result property="isDel" column="IS_DEL" jdbcType="INTEGER"/>
+        <result property="companyId" column="COMPANY_ID_" jdbcType="VARCHAR"/>
+        <result property="createDepId" column="CREATE_DEP_ID_" jdbcType="VARCHAR"/>
+        <result property="tenantId" column="TENANT_ID_" jdbcType="VARCHAR"/>
+        <result property="createBy" column="CREATE_BY_" jdbcType="VARCHAR"/>
+        <result property="createTime" column="CREATE_TIME_" jdbcType="DATE"/>
+        <result property="updateBy" column="UPDATE_BY_" jdbcType="VARCHAR"/>
+        <result property="updateTime" column="UPDATE_TIME_" jdbcType="DATE"/>
+        <result property="categoryId" column="CATEGORY_ID" jdbcType="VARCHAR"/>
+    </resultMap>
+
+    <sql id="COLUMNS">
+        PK_ID,FLOWER_NAME,IS_DEL,COMPANY_ID_,
+        CREATE_DEP_ID_,TENANT_ID_,CREATE_BY_,CREATE_TIME_,UPDATE_BY_,UPDATE_TIME_,CATEGORY_ID
+    </sql>
+
+    <delete id="deleteByFlowerId">
+        UPDATE KM_KNOWLEDGE_APPROVAL_NODE_CATEGORY
+        SET IS_DEL = 1,UPDATE_TIME_ = sysdate
+        where FLOWER_ID = #{flowerId}
+    </delete>
+
+</mapper>
+
+

+ 32 - 0
src/main/resources/mapper/knowledge/KnowledgeApprovalNodeFlowerMapper.xml

@@ -0,0 +1,32 @@
+<?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.redxun.knowledge.mapper.KnowledgeApprovalNodeFlowerMapper">
+
+    <resultMap id="KnowledgeApprovalNode" type="com.redxun.knowledge.entity.dao.KnowledgeApprovalNodeFlower">
+        <id property="pkId" column="PK_ID" jdbcType="VARCHAR"/>
+        <result property="flowerName" column="FLOWER_NAME" jdbcType="VARCHAR"/>
+        <result property="isDel" column="IS_DEL" jdbcType="INTEGER"/>
+        <result property="companyId" column="COMPANY_ID_" jdbcType="VARCHAR"/>
+        <result property="createDepId" column="CREATE_DEP_ID_" jdbcType="VARCHAR"/>
+        <result property="tenantId" column="TENANT_ID_" jdbcType="VARCHAR"/>
+        <result property="createBy" column="CREATE_BY_" jdbcType="VARCHAR"/>
+        <result property="createTime" column="CREATE_TIME_" jdbcType="DATE"/>
+        <result property="updateBy" column="UPDATE_BY_" jdbcType="VARCHAR"/>
+        <result property="updateTime" column="UPDATE_TIME_" jdbcType="DATE"/>
+        <result property="categoryId" column="CATEGORY_ID" jdbcType="VARCHAR"/>
+    </resultMap>
+
+    <sql id="COLUMNS">
+        PK_ID,FLOWER_NAME,IS_DEL,COMPANY_ID_,
+        CREATE_DEP_ID_,TENANT_ID_,CREATE_BY_,CREATE_TIME_,UPDATE_BY_,UPDATE_TIME_,CATEGORY_ID
+    </sql>
+
+    <delete id="deleteByPkId">
+        UPDATE KM_KNOWLEDGE_APPROVAL_NODE_FLOWER
+        SET IS_DEL = 1,UPDATE_TIME_ = sysdate
+        where PK_ID = #{pkId}
+    </delete>
+
+</mapper>
+
+

+ 9 - 0
src/main/resources/mapper/knowledge/KnowledgeApprovalNodeMapper.xml

@@ -58,6 +58,9 @@
             <if test="@rx.Ognl@isNotEmpty(params.name)">
                 and instr(NAME,#{params.name}) > 0
             </if>
+            <if test="@rx.Ognl@isNotEmpty(params.categoryId)">
+                and instr(NAME,#{params.categoryId}) > 0
+            </if>
             and IS_DEL = 0
         </where>
         ORDER BY IS_FINAL ASC
@@ -67,6 +70,12 @@
         UPDATE KM_KNOWLEDGE_APPROVAL_NODE
         SET IS_DEL = 1,UPDATE_TIME_ = sysdate
     </delete>
+
+    <delete id="deleteByFlowerId">
+        UPDATE KM_KNOWLEDGE_APPROVAL_NODE
+        SET IS_DEL = 1,UPDATE_TIME_ = sysdate
+        where FLOWER_ID = #{flowerId}
+    </delete>
 </mapper>
 
 

+ 8 - 0
src/main/resources/mapper/knowledge/KnowledgeCategoryMapper.xml

@@ -109,6 +109,14 @@
         </where>
         ORDER BY SORT
     </select>
+
+    <select id="selectPath" resultType="string">
+        SELECT c.PK_ID
+        FROM KM_KNOWLEDGE_CATEGORY c
+        WHERE c.IS_DEL = 0
+            START WITH c.PK_ID = #{pkId}
+        CONNECT BY PRIOR c.PK_ID = c.PARENT and c.IS_DEL = 0
+    </select>
 </mapper>