Ludc
2025-11-18 4470052c3b6bdeb18e45987f8aa293d1e93d0552
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyController.java
@@ -23,7 +23,9 @@
import com.vci.ubcs.code.mapper.CodeClassifyMapper;
import com.vci.ubcs.code.service.ICodeClassifyService;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO;
import com.vci.ubcs.code.vo.pagemodel.CodeImProtRusultVO;
import com.vci.ubcs.code.wrapper.CodeClassifyWrapper;
import com.vci.ubcs.common.validator.ComprehensiveFileValidator;
import com.vci.ubcs.omd.vo.BtmTypeAttributeVO;
import com.vci.ubcs.starter.revision.model.TreeQueryObject;
import com.vci.ubcs.starter.util.LocalFileUtil;
@@ -37,6 +39,8 @@
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import lombok.extern.log4j.Log4j;
import lombok.extern.log4j.Log4j2;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
@@ -44,6 +48,7 @@
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
@@ -68,11 +73,19 @@
@AllArgsConstructor
@RequestMapping("/codeClassify")
@Api(value = "主题库定义表", tags = "主题库定义表接口")
@Log4j2
public class CodeClassifyController extends BladeController {
   private final ICodeClassifyService codeClassifyService;
   CodeClassifyMapper codeClassifyMapper;
   /**
    * 文件安全检查
    */
   @Autowired
   private ComprehensiveFileValidator fileValidator;
   /**
    * 主题库定义表 详情
    */
@@ -91,7 +104,7 @@
    */
   @GetMapping("/treeCodeClassify")
   public List<Tree> treeCodeClassify(TreeQueryObject treeQueryObject)  {
      return  codeClassifyService. treeCodeClassify(treeQueryObject);
      return codeClassifyService.treeCodeClassify(treeQueryObject);
   }
   /**
@@ -223,7 +236,7 @@
    * @return 主题库分类显示树
    */
   @GetMapping("/referTree")
   public List<Tree> referTree(@RequestBody TreeQueryObject treeQueryObject)  {
   public List<Tree> referTree(TreeQueryObject treeQueryObject)  {
      return codeClassifyService.referTree(treeQueryObject);
   }
@@ -272,6 +285,12 @@
    */
   @PostMapping("/importClassify")
   public R importClassify(MultipartFile file) {
      // 使用文件安全验证器
      ComprehensiveFileValidator.UploadValidationResult result = fileValidator.validateFile(file);
      if (!result.isValid()) {
         return R.fail(result.getMessage());
      }
      String excelFileName = LocalFileUtil.getDefaultTempFolder() + File.separator + LocalFileUtil.getFileNameForIE(file.getOriginalFilename());
      File file1 = new File(excelFileName);
      try {
@@ -279,12 +298,16 @@
         codeClassifyService.importClassify(file1);
         return R.success("导入成功!");
      }catch (Throwable e) {
         log.error("导入错误",e);
         String errorFile = LocalFileUtil.getDefaultTempFolder() + File.separator + "错误信息.txt";
         LocalFileUtil.writeContentToFile(LangBaseUtil.getErrorMsg(e),errorFile);
         //放到map里
//         R result = R.fail("导入失败");
//         result.(ControllerUtil.putErrorFile(errorFile));
         return R.data(400,errorFile,"导入失败");
         CodeImProtRusultVO codeImProtRusultVO =new CodeImProtRusultVO();
         codeImProtRusultVO.setRedisUuid("");
         codeImProtRusultVO.setFileOid(ControllerUtil.putErrorFile(errorFile));
         codeImProtRusultVO.setFilePath(errorFile);
         R r = R.fail("导入失败");
         r.setData(codeImProtRusultVO);
         return r;
      }finally {
         file1.delete();
      }
@@ -350,4 +373,13 @@
      CodeClassifyVO codeClassifyVO = codeClassifyService.getObjectByClsfNamePath(clsfNamePath);
      return R.data(codeClassifyVO);
   }
   /**
    * 流水依赖生成
    */
   @GetMapping("/flowingDependencyGen")
   public R flowingDependencyGen(String classifyOid)  {
      return codeClassifyService.flowingDependencyGen(classifyOid);
   }
}