From 8182370136b1d91330ada09e2fcebdd01dde1161 Mon Sep 17 00:00:00 2001
From: “djh” <“3298565835@qq.com”>
Date: 星期一, 14 七月 2025 13:17:25 +0800
Subject: [PATCH] 新增

---
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/CatalogueServiceImpl.java |   92 ++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 84 insertions(+), 8 deletions(-)

diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CatalogueServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CatalogueServiceImpl.java
index 27065f4..616fe49 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CatalogueServiceImpl.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CatalogueServiceImpl.java
@@ -1,18 +1,18 @@
 package com.gkhy.exam.system.service.impl;
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gkhy.exam.common.api.CommonPage;
 import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.common.exception.ApiException;
 import com.gkhy.exam.common.utils.SecurityUtils;
-import com.gkhy.exam.system.domain.Catalogue;
-import com.gkhy.exam.system.domain.CatalogueData;
-import com.gkhy.exam.system.domain.CatalogueDataFile;
-import com.gkhy.exam.system.domain.SysCompany;
+import com.gkhy.exam.system.domain.*;
 import com.gkhy.exam.system.domain.req.CatalogueDataReq;
 import com.gkhy.exam.system.domain.req.CatalogueReq;
 import com.gkhy.exam.system.domain.vo.CatalogueDataVo;
 import com.gkhy.exam.system.domain.vo.CatalogueVo;
 import com.gkhy.exam.system.mapper.CatalogueMapper;
+import com.gkhy.exam.system.mapper.CompanyIndustryTemplateMapper;
 import com.gkhy.exam.system.mapper.SysCompanyMapper;
 import com.gkhy.exam.system.service.CatalogueService;
 import com.gkhy.exam.system.service.SysCompanyService;
@@ -32,6 +32,8 @@
     private CatalogueMapper catalogueMapper;
     @Autowired
     private SysCompanyMapper sysCompanyMapper;
+    @Autowired
+    private CompanyIndustryTemplateMapper companyIndustryTemplateMapper;
 
     /**
      * 目录管理
@@ -52,7 +54,7 @@
     private List<CatalogueVo> getchildren(CatalogueVo catalogueVo, List<CatalogueVo> catalogueVos) {
         List<CatalogueVo> catalogueCharlden = new ArrayList<>();
         for (CatalogueVo catalogue : catalogueVos) {
-            if (catalogueVo.getId() == catalogue.getParentId()){
+            if (catalogueVo.getId().equals(catalogue.getParentId())){
                 catalogueCharlden.add(catalogue);
             }
         }
@@ -65,6 +67,11 @@
 
     @Override
     public CommonResult insertCatalogue(Catalogue catalogue) {
+        if (catalogue.getType()==2||catalogue.getType()==3){
+            if (catalogue.getCompanyId()==null){
+                throw new ApiException("企业id不能为空");
+            }
+        }
         catalogue.setCreateBy(SecurityUtils.getUsername());
         catalogue.setCreateTime(LocalDate.now());
         int insert = catalogueMapper.insert(catalogue);
@@ -124,12 +131,16 @@
 
     @Override
     public CommonResult insertCatalogueData(CatalogueDataReq catalogue) {
-        List<CatalogueData> catalogueData1 = catalogueMapper.selectByCompanyId(catalogue.getCompanyId());
+        //校验
+        List<CatalogueData> catalogueData1 = catalogueMapper.selectByCompanyId(catalogue.getCompanyId(),catalogue.getCatalogueId());
         if (catalogueData1.size()>0){
             return CommonResult.failed("当前企业已有数据,请勿重复添加");
         }
         CatalogueData catalogueData = new CatalogueData();
         BeanUtils.copyProperties(catalogue,catalogueData);
+        catalogueData.setCreateBy(SecurityUtils.getUsername());
+        catalogueData.setCreateTime(LocalDate.now());
+        //新增数据
         Integer i = catalogueMapper.insertCatalogueData(catalogueData);
 //        List<CatalogueDataFile> files = catalogue.getFiles();
         if (i>0){
@@ -159,13 +170,23 @@
 
     @Override
     public CommonResult deletedCatalogueData(Integer catalogueDataId) {
+        //删除数据所属文件
+        CatalogueData catalogue = catalogueMapper.selectCatalogueDataById(catalogueDataId);
+        CatalogueDataFile catalogueDataFile = new CatalogueDataFile();
+        catalogueDataFile.setCompanyId(catalogue.getCompanyId());
+        catalogueDataFile.setCatalogueId(catalogue.getCatalogueId());
+        catalogueDataFile.setDelFlag(2);
+        catalogueDataFile.setUpdateTime(LocalDate.now());
+        catalogueDataFile.setUpdateBy(SecurityUtils.getUsername());
+        catalogueMapper.updateCatalogueDataFileByCompanyId(catalogueDataFile);
+        //删除数据
         CatalogueData catalogueData = new CatalogueData();
         catalogueData.setId(catalogueDataId);
         catalogueData.setDelFlag(2);
         catalogueData.setUpdateBy(SecurityUtils.getUsername());
         catalogueData.setUpdateTime(LocalDate.now());
         Integer i = catalogueMapper.updateCatalogueData(catalogueData);
-        if (i>9){
+        if (i>0){
             return CommonResult.success();
         }
         return CommonResult.failed();
@@ -173,6 +194,11 @@
 
     @Override
     public CommonResult insertCatalogueDataFile(CatalogueDataFile catalogueDataFile) {
+        CompanyIndustryTemplate companyIndustryTemplate = companyIndustryTemplateMapper.selectCompanyIndustryTemplate(catalogueDataFile.getName());
+        if (companyIndustryTemplate!=null){
+            catalogueDataFile.setFilePath(companyIndustryTemplate.getFilePath());
+            catalogueDataFile.setFileName(companyIndustryTemplate.getFileName());
+        }
         catalogueDataFile.setCreateTime(LocalDate.now());
         catalogueDataFile.setCreateBy(SecurityUtils.getUsername());
         catalogueMapper.insertCatalogueDataFile(catalogueDataFile);
@@ -181,9 +207,20 @@
 
     @Override
     public CommonResult updateCatalogueDataFile(CatalogueDataFile catalogueDataFile) {
+        CompanyIndustryTemplate companyIndustryTemplate = companyIndustryTemplateMapper.selectCompanyIndustryTemplate(catalogueDataFile.getName());
+        if (companyIndustryTemplate!=null){
+            catalogueDataFile.setFilePath(companyIndustryTemplate.getFilePath());
+            catalogueDataFile.setFileName(companyIndustryTemplate.getFileName());
+        }else {
+            catalogueDataFile.setFileName(null);
+            catalogueDataFile.setFilePath(null);
+        }
+        catalogueDataFile.setCreateBy(SecurityUtils.getUsername());
+        catalogueDataFile.setCreateTime(LocalDate.now());
         catalogueDataFile.setUpdateBy(SecurityUtils.getUsername());
         catalogueDataFile.setUpdateTime(LocalDate.now());
-        catalogueMapper.updateCatalogueDataFile(catalogueDataFile);
+        catalogueMapper.deleteByCatalogueDataFileId(catalogueDataFile.getId());
+        catalogueMapper.insertCatalogueDataFile(catalogueDataFile);
         return CommonResult.success();
     }
 
@@ -197,4 +234,43 @@
         catalogueMapper.updateCatalogueDataFile(catalogueDataFile);
         return CommonResult.success();
     }
+
+    @Override
+    public CommonResult selectCatalogueDataFileList(CatalogueReq catalogueReq) {
+        return CommonResult.success(catalogueMapper.selectCatalogueDataFile(catalogueReq.getCompanyId(),catalogueReq.getCatalogueId()));
+    }
+
+    @Override
+    public CommonResult copyCatalogue(List<CatalogueVo> catalogue) {
+        Integer companyId = catalogue.get(0).getCompanyId();
+        catalogueMapper.delete(Wrappers.<Catalogue>lambdaQuery().eq(Catalogue::getCompanyId,companyId));
+        for (CatalogueVo catalogueVo : catalogue) {
+            Catalogue catalogue1 = new Catalogue();
+            BeanUtils.copyProperties(catalogueVo,catalogue1);
+            catalogueMapper.insertCatalogue(catalogue1);
+            List<CatalogueVo> children = catalogueVo.getChildren();
+            if (children.size()>0){
+                saveCatalogue(children,catalogue1);
+            }
+        }
+        return CommonResult.success();
+    }
+
+    private void saveCatalogue(List<CatalogueVo> children,Catalogue catalogue) {
+        for (CatalogueVo child : children) {
+            Catalogue catalogue1 = new Catalogue();
+            BeanUtils.copyProperties(child,catalogue1);
+            catalogue1.setParentId(catalogue.getId());
+            catalogue1.setCompanyId(catalogue.getCompanyId());
+            catalogueMapper.insertCatalogue(catalogue1);
+            List<CatalogueVo> children1 = child.getChildren();
+            if (children1.size()>0){
+                saveCatalogue(children1,catalogue1);
+            }else {
+                continue;
+            }
+        }
+    }
+
+
 }

--
Gitblit v1.9.2