Переглянути джерело

作者:张哲
时间:2023/06/01
类型:需求变更
描述:知识修改接口优化

zizg 1 рік тому
батько
коміт
0af5b1a4c1

+ 3 - 3
src/main/java/com/redxun/knowledge/analysis/service/AnalysisAlbumServiceImpl.java

@@ -299,12 +299,12 @@ public class AnalysisAlbumServiceImpl {
             int year = calendar.get(Calendar.YEAR);
             AlbumCompanyVo albumCompanyVo = new AlbumCompanyVo();
             //查询知识分类下创建的知识数量(纬度:年 最近1个月 全部)
-            if (type.equals("total")) {
+            if ("total".equals(type)) {
                 albumCompanyVo = analysisAlbumMapper.personAlbumValue(e, null, null,round);
-            } else if (type.equals("year")) {
+            } else if ("year".equals(type)) {
                 albumCompanyVo = analysisAlbumMapper.personAlbumValue(e, DateUtils.format(DateUtils.getFirstOfYear(year)),
                         DateUtils.format(DateUtils.getLastOfYear(year)),round);
-            } else if (type.equals("month")) {
+            } else if ("month".equals(type)) {
                 int month = calendar.get(Calendar.MONTH);
                 String firstOfMonth = DateUtils.getFirstOfMonth(year, month + 1, 15);
                 String lastOfMonth = DateUtils.getLastOfMonth(year, month + 1, 15);

+ 3 - 3
src/main/java/com/redxun/knowledge/analysis/service/AnalysisCommonServiceImpl.java

@@ -392,12 +392,12 @@ public class AnalysisCommonServiceImpl {
             int year = calendar.get(Calendar.YEAR);
             KnowledgeCompanyVo knowledgeCategoryVo = new KnowledgeCompanyVo();
             //查询知识分类下创建的知识数量(纬度:年 最近1个月 全部)
-            if (type.equals("total")) {
+            if ("total".equals(type)) {
                 count = analysisCommonMapper.personKnowledgeValue(e, null, null,round);
-            } else if (type.equals("year")) {
+            } else if ("year".equals(type)) {
                 count = analysisCommonMapper.personKnowledgeValue(e, DateUtils.format(DateUtils.getFirstOfYear(year)),
                         DateUtils.format(DateUtils.getLastOfYear(year)),round);
-            } else if (type.equals("month")) {
+            } else if ("month".equals(type)) {
                 int month = calendar.get(Calendar.MONTH);
                 String firstOfMonth = DateUtils.getFirstOfMonth(year, month + 1, 15);
                 String lastOfMonth = DateUtils.getLastOfMonth(year, month + 1, 15);

+ 3 - 3
src/main/java/com/redxun/knowledge/analysis/service/AnalysisMapServiceImpl.java

@@ -264,12 +264,12 @@ public class AnalysisMapServiceImpl {
             int year = calendar.get(Calendar.YEAR);
             MapCompanyVo mapCompanyVo = new MapCompanyVo();
             //查询知识分类下创建的知识数量(纬度:年 最近1个月 全部)
-            if (type.equals("total")) {
+            if ("total".equals(type)) {
                 mapCompanyVo = analysisMapMapper.personMapValue(e, null, null,round);
-            } else if (type.equals("year")) {
+            } else if ("year".equals(type)) {
                 mapCompanyVo = analysisMapMapper.personMapValue(e, DateUtils.format(DateUtils.getFirstOfYear(year)),
                         DateUtils.format(DateUtils.getLastOfYear(year)),round);
-            } else if (type.equals("month")) {
+            } else if ("month".equals(type)) {
                 int month = calendar.get(Calendar.MONTH);
                 String firstOfMonth = DateUtils.getFirstOfMonth(year, month + 1, 15);
                 String lastOfMonth = DateUtils.getLastOfMonth(year, month + 1, 15);

+ 3 - 3
src/main/java/com/redxun/knowledge/analysis/service/AnalysisSearchServiceImpl.java

@@ -205,12 +205,12 @@ public class AnalysisSearchServiceImpl {
             OrganizationSearchVo organizationSearchVo = new OrganizationSearchVo();
             List<Map<String, Object>> item = new ArrayList<>();
             //查询知识分类下创建的知识数量(纬度:年 最近1个月 全部)
-            if (type.equals("total")) {
+            if ("total".equals(type)) {
                 item = analysisSearchMapper.personSearchValue(e, null, null,round);
-            } else if (type.equals("year")) {
+            } else if ("year".equals(type)) {
                 item = analysisSearchMapper.personSearchValue(e, DateUtils.format(DateUtils.getFirstOfYear(year)),
                         DateUtils.format(DateUtils.getLastOfYear(year)),round);
-            } else if (type.equals("month")) {
+            } else if ("month".equals(type)) {
                 int month = calendar.get(Calendar.MONTH);
                 String firstOfMonth = DateUtils.getFirstOfMonth(year, month + 1, 15);
                 String lastOfMonth = DateUtils.getLastOfMonth(year, month + 1, 15);

+ 3 - 3
src/main/java/com/redxun/knowledge/analysis/service/AnalysisSynthesizeServiceImpl.java

@@ -289,12 +289,12 @@ public class AnalysisSynthesizeServiceImpl {
             int year = calendar.get(Calendar.YEAR);
             SynthesizeCompanyVo synthesizeCompanyVo = new SynthesizeCompanyVo();
             //查询知识分类下创建的知识数量(纬度:年 最近1个月 全部)
-            if (type.equals("total")) {
+            if ("total".equals(type)) {
                 synthesizeCompanyVo = analysisSynthesizeMapper.personSynthesizeValue(e, null, null,round);
-            } else if (type.equals("year")) {
+            } else if ("year".equals(type)) {
                 synthesizeCompanyVo = analysisSynthesizeMapper.personSynthesizeValue(e, DateUtils.format(DateUtils.getFirstOfYear(year)),
                         DateUtils.format(DateUtils.getLastOfYear(year)),round);
-            } else if (type.equals("month")) {
+            } else if ("month".equals(type)) {
                 int month = calendar.get(Calendar.MONTH);
                 String firstOfMonth = DateUtils.getFirstOfMonth(year, month + 1, 15);
                 String lastOfMonth = DateUtils.getLastOfMonth(year, month + 1, 15);

+ 5 - 1
src/main/java/com/redxun/knowledge/controller/KnowledgeApprovalNodeController.java

@@ -12,6 +12,7 @@ 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.common.UserService;
 import com.redxun.knowledge.entity.dao.KnowledgeApprovalNode;
 import com.redxun.knowledge.entity.dao.KnowledgeApprovalNodeFlower;
 import com.redxun.knowledge.entity.dao.KnowledgeCategory;
@@ -50,6 +51,9 @@ public class KnowledgeApprovalNodeController extends BaseController<KnowledgeApp
     @Autowired
     private KnowledgeCategoryMapper knowledgeCategoryMapper;
 
+    @Autowired
+    private UserService userService;
+
     @Override
     public BaseService getBaseService() {
         return knowledgeApprovalNodeService;
@@ -153,7 +157,7 @@ public class KnowledgeApprovalNodeController extends BaseController<KnowledgeApp
     public JsonResult findAllNodesByCategoryId(@RequestParam(value = "categoryId",required = false) String categoryId){
         JsonResult jsonResult = JsonResult.getSuccessResult("");
         try {
-            List<KnowledgeApprovalNodeVo> result = knowledgeApprovalNodeService.findAllNodesByCategoryId(categoryId);
+            List<KnowledgeApprovalNodeVo> result = knowledgeApprovalNodeService.findAllNodesByCategoryId(categoryId,userService.queryLoginUser());
             jsonResult.setData(result);
         } catch (Exception e) {
             jsonResult.setMessage(e.getMessage());

+ 10 - 1
src/main/java/com/redxun/knowledge/controller/KnowledgeController.java

@@ -85,7 +85,7 @@ public class KnowledgeController extends BaseController<Knowledge> {
         }
         String pkId = null;
         try {
-            pkId = knowledgeService.create(knowledgeDto);
+            pkId = knowledgeService.create(knowledgeDto,null);
             jsonResult.setData(pkId);
         } catch (Exception e) {
             jsonResult.setMessage(e.getMessage());
@@ -251,5 +251,14 @@ public class KnowledgeController extends BaseController<Knowledge> {
 
         return jsonResult;
     }
+
+
+    @ApiOperation("批量导入已有数据")
+    @PostMapping("importKnowledge")
+    public JsonResult importKnowledge(){
+        JsonResult jsonResult = JsonResult.Success();
+        knowledgeService.importKnowledge();
+        return jsonResult.setMessage("导入成功");
+    }
 }
 

+ 97 - 0
src/main/java/com/redxun/knowledge/entity/dao/KnowledgeCp.java

@@ -0,0 +1,97 @@
+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 com.redxun.knowledge.entity.dto.OrganizationDto;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.experimental.Accessors;
+
+/**
+ * 文件名: KnowledgeCp
+ * 作者: zizg
+ * 时间: 2023/5/31
+ * 描述:
+ * 修改人:
+ * 修改时间:
+ * 修改内容:
+ */
+@Setter
+@Getter
+@Accessors(chain = true)
+@TableName(value = "KM_KNOWLEDGE_CP")
+public class KnowledgeCp extends BaseExtEntity<String> {
+
+    @JsonCreator
+    public KnowledgeCp() {
+    }
+
+    //主键
+    @TableId(value = "PK_ID", type = IdType.INPUT)
+    private String pkId;
+
+    //知识分类ID;对应知识分类表ID
+    @TableField(value = "CATEGORY_ID")
+    private String categoryId;
+    //标题
+    @TableField(value = "TITLES")
+    private String titles;
+    //知识类型;1-文档知识 2-维基知识
+    @TableField(value = "TYPE")
+    private Integer type;
+    //简介
+    @TableField(value = "SUMMARY")
+    private String summary;
+    //浏览数量
+    @TableField(value = "VIEWS")
+    private Integer views;
+    //作者;作者名称
+    @TableField(value = "AUTHOR")
+    private String author;
+    //知识内容
+    @TableField(value = "CONTENT")
+    private String content;
+    //附件ID
+    @TableField(value = "ATTACHMENT")
+    private String attachment;
+    //附件名称
+    @TableField(value = "ATTACHMENT_NAME")
+    private String attachmentName;
+    //附件类型;1-WORD(.doc、.docx) 2-PDF(.pdf) 3-PPT(.pptx) 4-EXCEL(.xls、.xlsx)
+    @TableField(value = "ATTACHMENT_TYPE")
+    private Integer attachmentType;
+    //审批状态;1-待节点审核 2-节点驳回 3-待最终审核 4-最终驳回 5-最终通过
+    @TableField(value = "APPROVAL_STATUS")
+    private Integer approvalStatus;
+    //审核批次;对应审批表批次,表明是最新一轮审批过程
+    @TableField(value = "APPROVAL_BATCH")
+    private Integer approvalBatch;
+    //组织架构ID;仅选中的组织架构可见
+    @TableField(value = "ORGANIZATION_ID")
+    private String organizationId;
+    //删除标记
+    @TableField(value = "IS_DEL")
+    @TableLogic
+    private Integer isDel;
+    @TableField(value = "DOCUMENT_ID")
+    private String documentId;
+    @TableField(value = "IS_DRAFT")
+    private Integer isDraft;
+
+
+    @Override
+    public String getPkId() {
+        return pkId;
+    }
+
+    @Override
+    public void setPkId(String pkId) {
+        this.pkId = pkId;
+    }
+
+
+    /**
+     生成子表属性的Array List
+     */
+}

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

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

+ 19 - 7
src/main/java/com/redxun/knowledge/service/KnowledgeApprovalNodeServiceImpl.java

@@ -191,13 +191,13 @@ public class KnowledgeApprovalNodeServiceImpl extends SuperServiceImpl<Knowledge
      * @param categoryId
      * @return
      */
-    public List<KnowledgeApprovalNodeVo> findAllNodesByCategoryId(String categoryId) {
+    public List<KnowledgeApprovalNodeVo> findAllNodesByCategoryId(String categoryId,String userId) {
         List<KnowledgeApprovalNodeVo> result = new ArrayList<>();
         //没输入分类id,查看默认流程后返回
         if (StringUtils.isEmpty(categoryId)) {
             categoryId = "-2";
             result = knowledgeApprovalNodeFlowerMapper.findAllNodesByCategoryId(categoryId);
-            defaultNode(result.get(0));
+            defaultNode(result.get(0),userId);
             return result;
         }
         //输入分类id
@@ -222,16 +222,22 @@ public class KnowledgeApprovalNodeServiceImpl extends SuperServiceImpl<Knowledge
         if (CollectionUtils.isEmpty(result)) {
             result = knowledgeApprovalNodeFlowerMapper.findAllNodesByCategoryId("-2");
         }
-        defaultNode(result.get(0));
+        defaultNode(result.get(0),userId);
         return result;
     }
 
-    private void defaultNode(KnowledgeApprovalNodeVo result) {
+    private void defaultNode(KnowledgeApprovalNodeVo result,String userId) {
         if (result.getIsFinal() != -1) {
             throw new RuntimeException("没找到默认节点");
         }
         //处理默认节点
-        String deptId = userService.queryLoginUserDeptId();
+        String deptId = null;
+        if (StringUtils.isEmpty(userId)){
+            deptId = userService.queryLoginUserDeptId();
+        } else {
+            deptId = userService.queryOsUserDto(userId).getDeptId();
+        }
+
         String parentUserIds = knowledgeApprovalNodeFlowerMapper.findParentUserIdList(deptId);
         if (!StringUtils.isEmpty(parentUserIds)) {
             List<String> parentUserIdList = Arrays.asList(parentUserIds.split(","));
@@ -244,8 +250,14 @@ public class KnowledgeApprovalNodeServiceImpl extends SuperServiceImpl<Knowledge
                     collect(Collectors.joining(","));
             result.setApproverName(approverName);
         } else {
-            result.setApproverId(userService.queryLoginUsername());
-            result.setApproverName(userService.queryLoginFullName());
+            if (StringUtils.isEmpty(userId)){
+                result.setApproverId(userService.queryLoginUsername());
+                result.setApproverName(userService.queryLoginFullName());
+            } else {
+                result.setApproverId(userService.queryOsUserDto(userId).getUserNo());
+                result.setApproverName(userService.queryUser(userId).getFullName());
+            }
+
         }
     }
 

+ 63 - 40
src/main/java/com/redxun/knowledge/service/KnowledgeServiceImpl.java

@@ -35,6 +35,7 @@ import com.redxun.knowledge.utils.ObjectUtil;
 import com.redxun.knowledge.utils.PageListUtils;
 import com.redxun.search.service.SearchService;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -96,6 +97,9 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
     @Autowired
     private KnowledgeApprovalNodeServiceImpl knowledgeApprovalNodeService;
 
+    @Autowired
+    private KnowledgeCpMapper knowledgeCpMapper;
+
 
     @Override
     public BaseDao<Knowledge> getRepository() {
@@ -117,12 +121,16 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
      * @return
      */
     @Transactional(rollbackFor = Exception.class)
-    public String create(KnowledgeDto knowledgeDto) {
-        if (Objects.isNull(knowledgeCategoryMapper.selectById(knowledgeDto.getCategoryId())) && knowledgeDto.getIsDraft() == 1){
-            throw new RuntimeException("输入的分类不存在,请重新输入");
+    public String create(KnowledgeDto knowledgeDto,KnowledgeCp knowledgecp) {
+        if (knowledgeDto != null && knowledgecp != null){
+            throw new RuntimeException("未知错误");
         }
+        Knowledge knowledge = new Knowledge();
+        IUser users = ContextUtil.getCurrentUser();
         if (knowledgeDto != null) {
-            Knowledge knowledge = new Knowledge();
+            if (Objects.isNull(knowledgeCategoryMapper.selectById(knowledgeDto.getCategoryId())) && knowledgeDto.getIsDraft() == 1){
+                throw new RuntimeException("输入的分类不存在,请重新输入");
+            }
             knowledge.setPkId(IdGenerator.getIdStr());
             knowledge.setTitles(knowledgeDto.getTitles());
             knowledge.setCategoryId(knowledgeDto.getCategoryId());
@@ -141,7 +149,6 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
                 knowledge.setIsDraft(1);
             }
             knowledge.setContent(knowledgeDto.getContent());
-            IUser users = ContextUtil.getCurrentUser();
             knowledge.setCreateDepId(users.getDeptId());
             knowledge.setTenantId(users.getTenantId());
             knowledge.setCompanyId(users.getCompanyId());
@@ -157,40 +164,40 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
             if (user != null) {
                 knowledge.setAuthor(user.getFullName());
             }
+            insert(knowledge);
+        }
 
+        if (knowledgecp != null){
+            BeanUtils.copyProperties(knowledgecp,knowledge);
             insert(knowledge);
+        }
+        // 从知识审批节点表拉取审批节点(不是草稿则拉取)
+        if (knowledge.getIsDraft() != null && knowledge.getIsDraft() == 1) {
+            List<KnowledgeApprovalNodeVo> approvalVoList = getKnowledgeApprovalNode(knowledge.getCategoryId(),knowledge.getCreateBy());
+            if (ObjectUtils.isNotEmpty(approvalVoList)) {
+                KnowledgeApprovalNodeVo node;
+                for (int index = 0; index < approvalVoList.size(); index++) {
+                    node = approvalVoList.get(index);
+                    if (node != null) {
+                        KnowledgeApprove knowledgeApprove = new KnowledgeApprove();
+                        knowledgeApprove.setPkId(IdGenerator.getIdStr());
+                        knowledgeApprove.setName(node.getName());
+                        knowledgeApprove.setKnowledgerId(knowledge.getPkId());
+                        knowledgeApprove.setApproverId(node.getApproverId());
+                        knowledgeApprove.setApproverName(node.getApproverName());
+                        knowledgeApprove.setApprovalBatch(1);
+                        knowledgeApprove.setUpdateBy(users.getUserId());
+                        knowledgeApprove.setSort(index + 1);
+                        knowledgeApprove.setIsFinal(node.getIsFinal());
+                        knowledgeApprove.setCreateBy(userService.queryLoginUser());
+                        knowledgeApprove.setCreateTime(new Date());
 
-            // 从知识审批节点表拉取审批节点(不是草稿则拉取)
-            if (knowledge.getIsDraft() != null && knowledge.getIsDraft() == 1) {
-                List<KnowledgeApprovalNodeVo> approvalVoList = getKnowledgeApprovalNode(knowledgeDto.getCategoryId());
-                if (ObjectUtils.isNotEmpty(approvalVoList)) {
-                    KnowledgeApprovalNodeVo node;
-                    for (int index = 0; index < approvalVoList.size(); index++) {
-                        node = approvalVoList.get(index);
-                        if (node != null) {
-                            KnowledgeApprove knowledgeApprove = new KnowledgeApprove();
-                            knowledgeApprove.setPkId(IdGenerator.getIdStr());
-                            knowledgeApprove.setName(node.getName());
-                            knowledgeApprove.setKnowledgerId(knowledge.getPkId());
-                            knowledgeApprove.setApproverId(node.getApproverId());
-                            knowledgeApprove.setApproverName(node.getApproverName());
-                            knowledgeApprove.setApprovalBatch(1);
-                            knowledgeApprove.setUpdateBy(users.getUserId());
-                            knowledgeApprove.setSort(index + 1);
-                            knowledgeApprove.setIsFinal(node.getIsFinal());
-                            knowledgeApprove.setCreateBy(userService.queryLoginUser());
-                            knowledgeApprove.setCreateTime(new Date());
-
-                            knowledgeApproveMapper.insert(knowledgeApprove);
-                        }
+                        knowledgeApproveMapper.insert(knowledgeApprove);
                     }
                 }
             }
-
-            return knowledge.getPkId();
         }
-
-        return "";
+        return knowledge.getPkId();
     }
 
     /**
@@ -198,8 +205,8 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
      * @param category
      * @return
      */
-    private List<KnowledgeApprovalNodeVo> getKnowledgeApprovalNode(String category){
-        List<KnowledgeApprovalNodeVo> knowledgeApprovalNodeVoList = knowledgeApprovalNodeService.findAllNodesByCategoryId(category);
+    private List<KnowledgeApprovalNodeVo> getKnowledgeApprovalNode(String category,String userId){
+        List<KnowledgeApprovalNodeVo> knowledgeApprovalNodeVoList = knowledgeApprovalNodeService.findAllNodesByCategoryId(category,userId);
         return knowledgeApprovalNodeVoList;
     }
 
@@ -384,11 +391,6 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
             if (entity.getIsDraft() != null && entity.getIsDraft() == 0){
                 entity.setApprovalStatus(6);
                 IUser users = ContextUtil.getCurrentUser();
-                entity.setCreateDepId(users.getDeptId());
-                entity.setTenantId(users.getTenantId());
-                entity.setCompanyId(users.getCompanyId());
-                entity.setCreateBy(users.getUserId());
-                entity.setCreateTime(new Date());
                 entity.setUpdateBy(users.getUserId());
                 entity.setUpdateTime(new Date());
                 return this.getRepository().updateById(entity);
@@ -400,7 +402,7 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
             //删除原有的审批节点
             knowledgeApproveMapper.deleteByKnowledgeId(entity.getPkId());
             //重新拉取审核节点
-            List<KnowledgeApprovalNodeVo> approvalVoList = getKnowledgeApprovalNode(entity.getCategoryId());
+            List<KnowledgeApprovalNodeVo> approvalVoList = getKnowledgeApprovalNode(entity.getCategoryId(),knowledge.getCreateBy());
             if (ObjectUtils.isNotEmpty(approvalVoList)) {
                 KnowledgeApprovalNodeVo node;
                 for (int index = 0; index < approvalVoList.size(); index++) {
@@ -877,4 +879,25 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
         List<OsGroup> groups = knowledgeMapper.getByDimIdUserIdRelTypeIdIsMain("1", userId, "1", MBoolean.YES.name(), tenantId);
         return groups.size() > 0 ? (OsGroup)groups.get(0) : null;
     }
+
+    @Transactional(rollbackFor = Exception.class)
+    public void importKnowledge() {
+        //查询需要导入的数据(组织架构格式化)
+        List<KnowledgeCp> knowledgeCpList = knowledgeCpMapper.selectList(null);
+        knowledgeCpList.parallelStream().forEach(e -> {
+            if (StringUtils.isNotEmpty(e.getOrganizationId())){
+                String s = e.getOrganizationId().replaceAll("\\\\", "");
+                e.setOrganizationId(s);
+            }
+        });
+        //取出第一条数据
+        KnowledgeCp knowledgeCp = knowledgeCpList.stream().findAny().get();
+        KnowledgeDto knowledgeDto = new KnowledgeDto();
+        BeanUtils.copyProperties(knowledgeCp,knowledgeDto);
+        String pkId = this.create(null,knowledgeCp);
+        //导入成功,删除原数据
+        if (StringUtils.isNotEmpty(pkId) && knowledgeCp.getPkId().equals(pkId)){
+            knowledgeCpMapper.deleteCp(pkId);
+        }
+    }
 }

+ 51 - 0
src/main/resources/mapper/knowledge/KnowledgeCpMapper.xml

@@ -0,0 +1,51 @@
+<?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.KnowledgeCpMapper">
+
+    <resultMap id="KnowledgeCp" type="com.redxun.knowledge.entity.dao.KnowledgeCp">
+        <id property="pkId" column="PK_ID" jdbcType="VARCHAR"/>
+        <result property="categoryId" column="CATEGORY_ID" jdbcType="VARCHAR"/>
+        <result property="titles" column="TITLES" jdbcType="VARCHAR"/>
+        <result property="type" column="TYPE" jdbcType="INTEGER"/>
+        <result property="summary" column="SUMMARY" jdbcType="VARCHAR"/>
+        <result property="views" column="VIEWS" jdbcType="INTEGER"/>
+        <result property="author" column="AUTHOR" jdbcType="VARCHAR"/>
+        <result property="content" column="CONTENT" jdbcType="CLOB"
+                typeHandler="org.apache.ibatis.type.ClobTypeHandler"/>
+        <result property="attachment" column="ATTACHMENT" jdbcType="VARCHAR"/>
+        <result property="attachmentName" column="ATTACHMENT_NAME" jdbcType="VARCHAR"/>
+        <result property="attachmentType" column="ATTACHMENT_TYPE" jdbcType="INTEGER"/>
+        <result property="approvalStatus" column="APPROVAL_STATUS" jdbcType="INTEGER"/>
+        <result property="approvalBatch" column="APPROVAL_BATCH" jdbcType="INTEGER"/>
+        <result property="organizationId" column="ORGANIZATION_ID" 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="documentId" column="DOCUMENT_ID" jdbcType="DATE"/>
+        <result property="isDraft" column="IS_DRAFT" jdbcType="INTEGER"/>
+    </resultMap>
+
+    <sql id="COLUMNS">
+        PK_ID
+        ,CATEGORY_ID,TITLES,TYPE,SUMMARY,VIEWS,AUTHOR,CONTENT,ATTACHMENT,
+        ATTACHMENT_NAME,ATTACHMENT_TYPE,APPROVAL_STATUS,APPROVAL_BATCH,ORGANIZATION_ID,IS_DEL,
+        COMPANY_ID_,CREATE_DEP_ID_,TENANT_ID_,CREATE_BY_,CREATE_TIME_,UPDATE_BY_,UPDATE_TIME_,DOCUMENT_ID,IS_DRAFT
+    </sql>
+
+    <delete id="deleteCp">
+        update KM_KNOWLEDGE_CP
+        SET IS_DEL = 1,
+        UPDATE_TIME_ = sysdate
+        where PK_ID = #{pkId}
+    </delete>
+
+
+
+</mapper>
+
+