From 73dbe864eb18a1a4df4f41caed1dd128faf1b2ec Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期五, 02 六月 2023 19:11:27 +0800
Subject: [PATCH] 引用码段关于业务类型接口的联调,重复使用的界面抽离成单独组件

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyController.java |  536 +++++++++++++++++++++++++++++++++++------------------------
 1 files changed, 317 insertions(+), 219 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyController.java
index 8b517df..1ac0859 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyController.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyController.java
@@ -1,255 +1,353 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 搴勯獮 (smallchill@163.com)
+ */
 package com.vci.ubcs.code.controller;
 
-
-import com.vci.ubcs.code.service.CodeClassifyServiceI;
-import com.vci.starter.web.pagemodel.*;
-import com.vci.starter.web.util.ControllerUtil;
-import com.vci.starter.web.util.LangBaseUtil;
-import com.vci.starter.web.util.LocalFileUtil;
-import com.vci.starter.web.util.VciBaseUtil;
-import com.vci.web.pageModel.OsAttributeVO;
-import org.apache.commons.lang.StringUtils;
-import com.vci.ubcs.code.dto.CodeClassifyDTO;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import com.vci.ubcs.code.entity.CodeClassify;
+import com.vci.ubcs.code.mapper.CodeClassifyMapper;
+import com.vci.ubcs.code.service.ICodeClassifyService;
 import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO;
-import org.springframework.beans.factory.annotation.Autowired;
+import com.vci.ubcs.code.wrapper.CodeClassifyWrapper;
+import com.vci.ubcs.omd.vo.BtmTypeAttributeVO;
+import com.vci.ubcs.starter.revision.model.TreeQueryObject;
+import com.vci.ubcs.starter.util.LocalFileUtil;
+import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
+import com.vci.ubcs.starter.web.pagemodel.DataGrid;
+import com.vci.ubcs.starter.web.pagemodel.Tree;
+import com.vci.ubcs.starter.web.util.ControllerUtil;
+import com.vci.ubcs.starter.web.util.LangBaseUtil;
+import com.vci.ubcs.starter.web.util.VciBaseUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.StringUtil;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
-
 import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
 import java.io.File;
 import java.io.IOException;
 import java.nio.charset.StandardCharsets;
 import java.util.Collection;
+import java.util.Date;
 import java.util.List;
 
-import static com.vci.frameworkcore.constant.FrameWorkDefaultValueConstant.FRAMEWORK_DATA_DISABLED;
-import static com.vci.frameworkcore.constant.FrameWorkDefaultValueConstant.FRAMEWORK_DATA_ENABLED;
+import static com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant.FRAMEWORK_DATA_DISABLED;
+import static com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant.FRAMEWORK_DATA_ENABLED;
 
 /**
- * 涓婚搴撳垎绫绘帶鍒跺櫒
+ * 涓婚搴撳畾涔夎〃 鎺у埗鍣�
  *
- * @author weidy
- * @date 2022-01-20
+ * @author yuxc
+ * @since 2023-04-06
  */
 @RestController
-@RequestMapping("/codeClassifyController")
-public class CodeClassifyController {
-    /**
-    * 涓婚搴撳垎绫� 鏈嶅姟
-    */
-    @Autowired
-    private CodeClassifyServiceI codeClassifyService;
+@AllArgsConstructor
+@RequestMapping("/codeClassify")
+@Api(value = "涓婚搴撳畾涔夎〃", tags = "涓婚搴撳畾涔夎〃鎺ュ彛")
+public class CodeClassifyController extends BladeController {
 
-    /**
-     * 涓婚搴撳垎绫绘爲
-     * @param treeQueryObject 鏍戝舰鏌ヨ瀵硅薄
-     * @return 涓婚搴撳垎绫绘樉绀烘爲
-     */
-    @GetMapping("/treeCodeClassify")
-    public List<Tree> treeCodeClassify(TreeQueryObject treeQueryObject)  {
-        return codeClassifyService.treeCodeClassify(treeQueryObject);
-    }
+	private final ICodeClassifyService codeClassifyService;
 
-    /**
-     * 涓婚搴撶殑鏍�
-     * @param treeQueryObject 鏍戝舰鏌ヨ瀵硅薄
-     * @return 涓婚搴撴樉绀烘爲
-     */
-    @GetMapping("/treeTopCodeClassify")
-    public List<Tree> treeTopCodeClassify(TreeQueryObject treeQueryObject){
-        return codeClassifyService.treeTopCodeClassify(treeQueryObject);
-    }
+	CodeClassifyMapper codeClassifyMapper;
+	/**
+	 * 涓婚搴撳畾涔夎〃 璇︽儏
+	 */
+	@GetMapping("/detail")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "璇︽儏", notes = "浼犲叆plCodeClassify")
+	public R<CodeClassifyVO> detail(CodeClassify codeClassify) {
+		CodeClassify detail = codeClassifyMapper.selectOne(Condition.getQueryWrapper(codeClassify));
+		return R.data(CodeClassifyWrapper.build().entityVO(detail));
+	}
 
-    /**
-     * 澧炲姞 涓婚搴撳垎绫�
-     * @param codeClassifyDTO 涓婚搴撳垎绫绘暟鎹紶杈撳璞�
-     * @return 鎵ц缁撴灉锛宻uccess涓簍rue琛ㄧず鎴愬姛锛宮sg鏄け璐ョ殑鎻愮ず淇℃伅锛宱bj鏄坊鍔犲畬鎴愬悗鐨勬樉绀哄璞�
-     */
-    @PostMapping( "/addSave")
-    public BaseResult<CodeClassifyVO> addSave(@RequestBody CodeClassifyDTO codeClassifyDTO){
-        if(codeClassifyDTO.getOrdernum()==null){
-            codeClassifyDTO.setOrdernum(0);
-        }
-         CodeClassifyVO codeClassifyVO = codeClassifyService.addSave(codeClassifyDTO);
-         return BaseResult.success(codeClassifyVO);
-    }
+	/**
+	 * 涓婚搴撳垎绫绘爲
+	 * @param treeQueryObject 鏍戝舰鏌ヨ瀵硅薄
+	 * @return 涓婚搴撳垎绫绘樉绀烘爲
+	 */
+	@GetMapping("/treeCodeClassify")
+	public List<Tree> treeCodeClassify(TreeQueryObject treeQueryObject)  {
+		return  codeClassifyService. treeCodeClassify(treeQueryObject);
+	}
 
-    /**
-     * 淇敼 涓婚搴撳垎绫�
-     * @param codeClassifyDTO 涓婚搴撳垎绫绘暟鎹紶杈撳璞�
-     * @return 鎵ц缁撴灉锛宻uccess涓簍rue琛ㄧず鎴愬姛锛宮sg鏄け璐ョ殑鎻愮ず淇℃伅锛宱bj鏄坊鍔犲畬鎴愬悗鐨勬樉绀哄璞�
-     */
-    @PutMapping("/editSave")
-    public BaseResult<CodeClassifyVO> editSave(@RequestBody CodeClassifyDTO codeClassifyDTO){
-        return codeClassifyService.editSave(codeClassifyDTO);
-    }
+	/**
+	 * 涓婚搴撳畾涔夎〃 鍒嗛〉
+	 */
+	@GetMapping("/list")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "鍒嗛〉", notes = "浼犲叆plCodeClassify")
+	public R<IPage<CodeClassifyVO>> list(CodeClassify codeClassify, Query query) {
+		IPage<CodeClassify> pages = codeClassifyMapper.selectPage(Condition.getPage(query), Condition.getQueryWrapper(codeClassify));
+		return R.data(CodeClassifyWrapper.build().pageVO(pages));
+	}
 
-    /**
-    * 妫�鏌� 涓婚搴撳垎绫绘槸鍚﹀垹闄�
-    * @param codeClassifyDTO 涓婚搴撳垎绫绘暟鎹紶杈撳璞★紝蹇呴』瑕佹湁oid鍜宼s灞炴��
-    * @return 鎵ц缁撴灉 success涓簍rue涓哄彲浠ュ垹闄わ紝false琛ㄧず鏈夋暟鎹紩鐢紝obj涓簍rue琛ㄧず鏈変笅绾�
-    */
-    @PostMapping( "/checkIsCanDelete")
-    public BaseResult checkIsCanDelete(CodeClassifyDTO codeClassifyDTO)  {
-        return codeClassifyService.checkIsCanDelete(codeClassifyDTO);
-    }
+	/**
+	 * 涓婚搴撳畾涔夎〃 鑷畾涔夊垎椤�
+	 */
+	@GetMapping("/page")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "鍒嗛〉", notes = "浼犲叆plCodeClassify")
+	public R<IPage<CodeClassifyVO>> page(CodeClassifyVO codeClassify, Query query) {
+		IPage<CodeClassifyVO> pages = codeClassifyService.selectPlCodeClassifyPage(Condition.getPage(query), codeClassify);
+		return R.data(pages);
+	}
 
-    /**
-     * 鍒犻櫎涓婚搴撳垎绫�
-     * @param  codeClassifyDTO锛宱id鍜宼s闇�瑕佷紶杈�
-     * @return 鍒犻櫎缁撴灉鍙嶉锛氾細success锛氭垚鍔燂紝fail锛氬け璐�
-     */
-    @DeleteMapping( "/deleteData")
-    public BaseResult delCodeClassify(CodeClassifyDTO codeClassifyDTO) {
-        return codeClassifyService.deleteCodeClassify(codeClassifyDTO);
-    }
+	/**
+	 * 涓婚搴撳畾涔夎〃 鏂板
+	 * @param
+	 */
+	@PostMapping("/save")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "鏂板", notes = "浼犲叆plCodeClassify")
+	public R save(@Valid @RequestBody CodeClassify codeClassify) {
+		if(codeClassify.getOrderNum() == null){
+			codeClassify.setOrderNum(0);
+		}
+		return codeClassifyService.addSave(codeClassify);
+	}
 
-    /**
-     * 鍚敤
-     * @param codeClassifyDTO
-     * @return
-     */
-    @PostMapping( "/enableData")
-    public BaseResult enable(CodeClassifyDTO codeClassifyDTO) {
-        return codeClassifyService.updateLcStatus(codeClassifyDTO.getOid(),FRAMEWORK_DATA_ENABLED);
-    }
+	/**
+	 * 涓婚搴撳畾涔夎〃 淇敼
+	 */
+	@PostMapping("/editSave")
+	@ApiOperationSupport(order = 5)
+	@ApiOperation(value = "淇敼", notes = "浼犲叆plCodeClassify")
+	public R editSave(@Valid @RequestBody CodeClassify codeClassify) {
+		return codeClassifyService.editSave(codeClassify);
+//		return R.status(SqlHelper.retBool(codeClassifyMapper.updateById(codeClassify)));
+	}
 
-    /**
-     * 鍋滅敤
-     * @param codeClassifyDTO
-     * @return
-     */
-    @PostMapping( "/disableData")
-    public BaseResult disable(CodeClassifyDTO codeClassifyDTO) {
-        return codeClassifyService.updateLcStatus(codeClassifyDTO.getOid(),FRAMEWORK_DATA_DISABLED);
-    }
+	/**
+	 * 涓婚搴撳畾涔夎〃 鏂板鎴栦慨鏀�
+	 */
+	@PostMapping("/submit")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "鏂板鎴栦慨鏀�", notes = "浼犲叆plCodeClassify")
+	public R submit(@Valid @RequestBody CodeClassify codeClassify) {
+		if(codeClassify.getOid() != null){
+			codeClassify.setLastModifier(AuthUtil.getUser().getUserName());
+			codeClassify.setLastModifyTime(new Date());
+			return R.status(SqlHelper.retBool(codeClassifyMapper.updateById(codeClassify)));
+		}
+		return codeClassifyService.addSave(codeClassify);
+	}
 
-    /**
-    * 涓婚敭鑾峰彇涓婚搴撳垎绫�
-    * @param oid 涓婚敭
-    * @return 涓婚搴撳垎绫绘樉绀哄璞�
-    */
-    @GetMapping("/getObjectByOid")
-    public BaseResult<CodeClassifyVO> getObjectByOid(String oid){
-        CodeClassifyVO codeClassifyVO = codeClassifyService.getObjectByOid(oid);
-        return BaseResult.success(codeClassifyVO);
-    }
+	/**
+	 * 涓婚搴撳畾涔夎〃 鍒犻櫎
+	 */
+	@PostMapping("/remove")
+	@ApiOperationSupport(order = 7)
+	@ApiOperation(value = "閫昏緫鍒犻櫎", notes = "浼犲叆oids")
+	public R remove(@ApiParam(value = "涓婚敭闆嗗悎", required = true) @RequestParam String oids) {
+		return R.status(SqlHelper.retBool(codeClassifyMapper.deleteBatchIds(Func.toLongList(oids))));
+	}
 
-    /**
-     * 涓婚敭鎵归噺鑾峰彇涓婚搴撳垎绫�
-     * @param oids 涓婚敭锛屽涓互閫楀彿鍒嗛殧锛屼絾鏄彈鎬ц兘褰卞搷锛屽缓璁竴娆℃煡璇笉瓒呰繃10000涓�
-     * @return 涓婚搴撳垎绫绘樉绀哄璞�
-     */
-    @GetMapping("/listDataByOids")
-    public BaseResult<CodeClassifyVO> listCodeClassifyByOids(String oids){
-        Collection<CodeClassifyVO> voCollection =  codeClassifyService.listCodeClassifyByOids(VciBaseUtil.str2List(oids));
-        BaseResult baseResult = BaseResult.success();
-        baseResult.setData(voCollection);
-        return  baseResult;
-    }
+	/**
+	 * 妫�鏌� 涓婚搴撳垎绫绘槸鍚﹀垹闄�
+	 * @param codeClassify 涓婚搴撳垎绫绘暟鎹紶杈撳璞★紝蹇呴』瑕佹湁oid鍜宼s灞炴��
+	 * @return 鎵ц缁撴灉 success涓簍rue涓哄彲浠ュ垹闄わ紝false琛ㄧず鏈夋暟鎹紩鐢�
+	 */
+	@PostMapping( "/checkIsCanDelete")
+	public R checkIsCanDelete(@Valid @RequestBody CodeClassify codeClassify)  {
+		return codeClassifyService.checkIsCanDelete(codeClassify);
+	}
 
-    /**
-    * 鍙傜収鏍� 涓婚搴撳垎绫�
-    * @param treeQueryObject 鏍戝舰鏌ヨ瀵硅薄
-    * @return 涓婚搴撳垎绫绘樉绀烘爲
-    */
-    @GetMapping("/referTree")
-    public List<Tree> referTree(TreeQueryObject treeQueryObject)  {
-        return codeClassifyService.referTree(treeQueryObject);
-    }
+	/**
+	 * 鍒犻櫎涓婚搴撳垎绫�
+	 * @param  codeClassify锛宱id鍜宼s闇�瑕佷紶杈�
+	 * @return 鍒犻櫎缁撴灉鍙嶉锛氾細success锛氭垚鍔燂紝fail锛氬け璐�
+	 */
+	@DeleteMapping( "/deleteData")
+	public R delCodeClassify(@Valid @RequestBody CodeClassify codeClassify) {
+		return codeClassifyService.deleteCodeClassify(codeClassify);
+	}
 
-    /**
-     * 瀵煎嚭鍒嗙被
-     * @param oid 鍒嗙被涓婚敭
-     */
-    @GetMapping("/exportClassify")
-    public void exportClassify(String oid, HttpServletResponse response) throws IOException {
-        String excelName = codeClassifyService.exportClassify(oid);
-        try {
-            ControllerUtil.writeFileToResponse(response,excelName);
-        } catch (Throwable e) {
-            //濡傛灉鍑洪敊,鎶婇敊璇俊鎭啓鍒皌ext
-            String msg = LangBaseUtil.getErrorMsg(e);
-            String errorFile = LocalFileUtil.getDefaultTempFolder() + File.separator + "閿欒.txt";
-            LocalFileUtil.writeContentToFile(msg,errorFile);
-            ControllerUtil.writeFileToResponse(response,errorFile);
-        }
-    }
+	/**
+	 * 鍚敤
+	 * @param codeClassify
+	 * @return
+	 */
+	@PostMapping( "/enableData")
+	public R enable(@Valid @RequestBody CodeClassify codeClassify) {
+		return codeClassifyService.updateLcStatus(codeClassify.getOid(),FRAMEWORK_DATA_ENABLED);
+	}
 
-    /**
-     * 涓嬭浇瀵煎叆鐨勬ā鏉�
-     * @param response 鍝嶅簲瀵硅薄
-     * @throws IOException 鎶涘嚭寮傚父
-     */
-    @GetMapping("/downloadImportExcel")
-    public void downloadImportExcel(HttpServletResponse response) throws IOException {
-        String excelName = codeClassifyService.createImportExcel();
-        try {
-            ControllerUtil.writeFileToResponse(response,excelName);
-        } catch (Throwable e) {
-            //濡傛灉鍑洪敊,鎶婇敊璇俊鎭啓鍒皌ext
-            String msg = LangBaseUtil.getErrorMsg(e);
-            if(StringUtils.isBlank(msg)){
-                msg = "鏈煡閿欒";
-            }
-            ControllerUtil.writeDataToResponse(response,msg.getBytes(StandardCharsets.UTF_8),null);
-        }
-    }
+	/**
+	 * 鍋滅敤
+	 * @param codeClassify
+	 * @return
+	 */
+	@PostMapping( "/disableData")
+	public R disable(@Valid @RequestBody CodeClassify codeClassify) {
+		return codeClassifyService.updateLcStatus(codeClassify.getOid(),FRAMEWORK_DATA_DISABLED);
+	}
 
-    /**
-     * 瀵煎叆鍒嗙被
-     * @param file excel鐨勫唴瀹�
-     * @return 鎵ц缁撴灉锛宱bj鏈夊�艰〃绀烘湁閿欒淇℃伅锛岄渶瑕佽闂甦ownloadErrorFile鏉ヤ笅杞�
-     */
-    @PostMapping("/importClassify")
-    public BaseResult importClassify(MultipartFile file) {
-        String excelFileName = LocalFileUtil.getDefaultTempFolder() + File.separator + LocalFileUtil.getFileNameForIE(file.getOriginalFilename());
-        File file1 = new File(excelFileName);
-        try {
-            file.transferTo(new File(excelFileName));
-            codeClassifyService.importClassify(file1);
-            return BaseResult.success();
-        }catch (Throwable e) {
-            String errorFile = LocalFileUtil.getDefaultTempFolder() + File.separator + "閿欒淇℃伅.txt";
-            LocalFileUtil.writeContentToFile(LangBaseUtil.getErrorMsg(e),errorFile);
-            //鏀惧埌map閲�
-            BaseResult result = BaseResult.fail("瀵煎叆澶辫触");
-            result.setObj(ControllerUtil.putErrorFile(errorFile));
-            return result;
-        }finally {
-            file1.delete();
-        }
-    }
+	/**
+	 * 涓婚敭鎵归噺鑾峰彇涓婚搴撳垎绫�
+	 * @param oids 涓婚敭锛屽涓互閫楀彿鍒嗛殧锛屼絾鏄彈鎬ц兘褰卞搷锛屽缓璁竴娆℃煡璇笉瓒呰繃10000涓�
+	 * @return 涓婚搴撳垎绫绘樉绀哄璞�
+	 */
+	@GetMapping("/listDataByOids")
+	public R listCodeClassifyByOids(String oids){
+		Collection<CodeClassifyVO> voCollection =  codeClassifyService.listCodeClassifyByOids(VciBaseUtil.str2List(oids));
+		return  R.data(voCollection);
+	}
 
-    /**
-     * 涓嬭浇閿欒鐨勬枃浠朵俊鎭�
-     * @param uuid 鍞竴鏍囪瘑
-     * @param response 鍝嶅簲瀵硅薄
-     * @throws IOException 鎶涘嚭寮傚父
-     */
-    @GetMapping("/downloadErrorFile")
-    public void downloadErrorFile(String uuid, HttpServletResponse response) throws IOException {
-        ControllerUtil.downloadErrorFile(response,uuid);
-    }
+	/**
+	 * 鍙傜収鏍� 涓婚搴撳垎绫�
+	 * @param treeQueryObject 鏍戝舰鏌ヨ瀵硅薄
+	 * @return 涓婚搴撳垎绫绘樉绀烘爲
+	 */
+	@GetMapping("/referTree")
+	public List<Tree> referTree(@RequestBody TreeQueryObject treeQueryObject)  {
+		return codeClassifyService.referTree(treeQueryObject);
+	}
 
-    /**
-     * 鑾峰彇鍒嗙被鍏宠仈鐨勫睘鎬�
-     * @param baseQueryObject 鏌ヨ瀵硅薄锛屽繀椤绘湁codeClassifyOid锛屾敮鎸乮d鍜宯ame涓ょ鏌ヨ鏉′欢(涓嶆敮鎸佸垎椤�)
-     * @return 灞炴�х殑淇℃伅锛屽寘鍚粯璁ょ殑灞炴��
-     */
-    @GetMapping("/listClassifyLinkAttr")
-    public DataGrid<OsAttributeVO> listClassifyLinkAttr(BaseQueryObject baseQueryObject){
-        return codeClassifyService.listClassifyLinkAttr(baseQueryObject);
-    }
+	/**
+	 * 瀵煎嚭鍒嗙被
+	 * @param oid 鍒嗙被涓婚敭
+	 */
+	@GetMapping("/exportClassify")
+	public void exportClassify(@ApiParam(value = "涓婚敭", required = true) @RequestParam String oid, HttpServletResponse response) throws IOException {
+		String excelName = codeClassifyService.exportClassify(oid);
+		try {
+			ControllerUtil.writeFileToResponse(response,excelName);
+		} catch (Throwable e) {
+			//濡傛灉鍑洪敊,鎶婇敊璇俊鎭啓鍒皌ext
+			String msg = LangBaseUtil.getErrorMsg(e);
+			String errorFile = LocalFileUtil.getDefaultTempFolder() + File.separator + "閿欒.txt";
+			LocalFileUtil.writeContentToFile(msg,errorFile);
+			ControllerUtil.writeFileToResponse(response,errorFile);
+		}
+	}
 
-    /**
-     * 浣跨敤缂栧彿鐨勮矾寰勮幏鍙栧璞�
-     * @param idPath 缂栧彿鐨勮矾寰勶紝涓�瀹氳浠庢渶椤跺眰鑺傜偣寮�濮嬶紝鏍煎紡涓簒xx/yyy/zz 杩欐牱
-     * @return 鍒嗙被鐨勬樉绀哄璞�
-     */
-    @GetMapping("/getObjectByIdPath")
-    public CodeClassifyVO getObjectByIdPath(String idPath){
-        return codeClassifyService.getObjectByIdPath(idPath);
-    }
+	/**
+	 * 涓嬭浇瀵煎叆鐨勬ā鏉�
+	 * @param response 鍝嶅簲瀵硅薄
+	 * @throws IOException 鎶涘嚭寮傚父
+	 */
+	@GetMapping("/downloadImportExcel")
+	public void downloadImportExcel(HttpServletResponse response) throws IOException{
+		String excelName = codeClassifyService.createImportExcel();
+		try {
+			ControllerUtil.writeFileToResponse(response,excelName);
+		} catch (Throwable e) {
+			//濡傛灉鍑洪敊,鎶婇敊璇俊鎭啓鍒皌ext
+			String msg = LangBaseUtil.getErrorMsg(e);
+			if(StringUtil.isBlank(msg)){
+				msg = "鏈煡閿欒";
+			}
+			ControllerUtil.writeDataToResponse(response,msg.getBytes(StandardCharsets.UTF_8),null);
+		}
+	}
 
+	/**
+	 * 瀵煎叆鍒嗙被
+	 * @param file excel鐨勫唴瀹�
+	 * @return 鎵ц缁撴灉锛宱bj鏈夊�艰〃绀烘湁閿欒淇℃伅锛岄渶瑕佽闂甦ownloadErrorFile鏉ヤ笅杞�
+	 */
+	@PostMapping("/importClassify")
+	public R importClassify(MultipartFile file) {
+		String excelFileName = LocalFileUtil.getDefaultTempFolder() + File.separator + LocalFileUtil.getFileNameForIE(file.getOriginalFilename());
+		File file1 = new File(excelFileName);
+		try {
+			file.transferTo(new File(excelFileName));
+			codeClassifyService.importClassify(file1);
+			return R.success("瀵煎叆鎴愬姛锛�");
+		}catch (Throwable 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,"瀵煎叆澶辫触");
+		}finally {
+			file1.delete();
+		}
+	}
+
+	/**
+	 * 涓嬭浇閿欒鐨勬枃浠朵俊鎭�
+	 * @param uuid 鍞竴鏍囪瘑
+	 * @param response 鍝嶅簲瀵硅薄
+	 * @throws IOException 鎶涘嚭寮傚父
+	 */
+	@GetMapping("/downloadErrorFile")
+	public void downloadErrorFile(String uuid, HttpServletResponse response) throws IOException {
+		ControllerUtil.downloadErrorFile(response,uuid);
+	}
+
+	/**
+	 * 鑾峰彇鍒嗙被鍏宠仈鐨勫睘鎬�
+	 * @param baseQueryObject 鏌ヨ瀵硅薄锛屽繀椤绘湁codeClassifyOid锛屾敮鎸乮d鍜宯ame涓ょ鏌ヨ鏉′欢(涓嶆敮鎸佸垎椤�)
+	 * @return 灞炴�х殑淇℃伅锛屽寘鍚粯璁ょ殑灞炴��
+	 */
+	@GetMapping("/listClassifyLinkAttr")
+	public DataGrid<BtmTypeAttributeVO> listClassifyLinkAttr(BaseQueryObject baseQueryObject){
+		return codeClassifyService.listClassifyLinkAttr(baseQueryObject);
+	}
+
+	/**
+	 * 涓婚敭鑾峰彇涓婚搴撳垎绫�
+	 * @param oid 涓婚敭
+	 * @return 涓婚搴撳垎绫绘樉绀哄璞�
+	 */
+	@GetMapping("/getObjectByOid")
+	public R<CodeClassifyVO> getObjectByOid(String oid){
+		CodeClassifyVO codeClassifyVO = codeClassifyService.getObjectByOid(oid);
+		return R.data(codeClassifyVO);
+	}
+
+	/**
+	 * 浣跨敤缂栧彿鐨勮矾寰勮幏鍙栧璞�
+	 * @param idPath 缂栧彿鐨勮矾寰勶紝涓�瀹氳浠庢渶椤跺眰鑺傜偣寮�濮嬶紝鏍煎紡涓簒xx/yyy/zz 杩欐牱
+	 * @return 鍒嗙被鐨勬樉绀哄璞�
+	 */
+	@GetMapping("/getObjectByIdPath")
+	public CodeClassifyVO getObjectByIdPath(String idPath){
+		return codeClassifyService.getObjectByIdPath(idPath);
+	}
+
+	/**
+	 * 涓婚搴撶殑鏍�
+	 * @param treeQueryObject 鏍戝舰鏌ヨ瀵硅薄
+	 * @return 涓婚搴撴樉绀烘爲
+	 */
+	@GetMapping("/treeTopCodeClassify")
+	public List<Tree> treeTopCodeClassify(TreeQueryObject treeQueryObject){
+		return codeClassifyService.treeTopCodeClassify(treeQueryObject);
+	}
+
+	/**
+	 * 涓婚搴撳畾涔夎〃 璇︽儏
+	 */
+	@GetMapping("/getObjectByClsfNamePath")
+	public R<CodeClassifyVO> getObjectByClsfNamePath(String  clsfNamePath) {
+		CodeClassifyVO codeClassifyVO = codeClassifyService.getObjectByClsfNamePath(clsfNamePath);
+		return R.data(codeClassifyVO);
+	}
 }

--
Gitblit v1.9.3