From 84ee37e1f485a1d3136535f9ef1c43058d9308ab Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期三, 29 十一月 2023 11:39:42 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyController.java | 223 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 213 insertions(+), 10 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 4c33373..5ff26c4 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
@@ -18,27 +18,48 @@
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 com.vci.ubcs.code.vo.pagemodel.CodeImProtRusultVO;
+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 com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import lombok.AllArgsConstructor;
-import javax.validation.Valid;
-
+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;
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 com.vci.ubcs.code.wrapper.CodeClassifyWrapper;
-import com.vci.ubcs.code.service.ICodeClassifyService;
-import org.springblade.core.boot.ctrl.BladeController;
-
+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.ubcs.code.constant.FrameWorkDefaultValueConstant.FRAMEWORK_DATA_DISABLED;
+import static com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant.FRAMEWORK_DATA_ENABLED;
/**
* 涓婚搴撳畾涔夎〃 鎺у埗鍣�
@@ -48,8 +69,9 @@
*/
@RestController
@AllArgsConstructor
-@RequestMapping("ubcs-code/codeClassify")
+@RequestMapping("/codeClassify")
@Api(value = "涓婚搴撳畾涔夎〃", tags = "涓婚搴撳畾涔夎〃鎺ュ彛")
+@Log4j2
public class CodeClassifyController extends BladeController {
private final ICodeClassifyService codeClassifyService;
@@ -65,6 +87,17 @@
CodeClassify detail = codeClassifyMapper.selectOne(Condition.getQueryWrapper(codeClassify));
return R.data(CodeClassifyWrapper.build().entityVO(detail));
}
+
+ /**
+ * 涓婚搴撳垎绫绘爲
+ * @param treeQueryObject 鏍戝舰鏌ヨ瀵硅薄
+ * @return 涓婚搴撳垎绫绘樉绀烘爲
+ */
+ @GetMapping("/treeCodeClassify")
+ public List<Tree> treeCodeClassify(TreeQueryObject treeQueryObject) {
+ return codeClassifyService.treeCodeClassify(treeQueryObject);
+ }
+
/**
* 涓婚搴撳畾涔夎〃 鍒嗛〉
*/
@@ -89,6 +122,7 @@
/**
* 涓婚搴撳畾涔夎〃 鏂板
+ * @param
*/
@PostMapping("/save")
@ApiOperationSupport(order = 4)
@@ -142,7 +176,7 @@
* @return 鎵ц缁撴灉 success涓簍rue涓哄彲浠ュ垹闄わ紝false琛ㄧず鏈夋暟鎹紩鐢�
*/
@PostMapping( "/checkIsCanDelete")
- public R checkIsCanDelete(CodeClassify codeClassify) {
+ public R checkIsCanDelete(@Valid @RequestBody CodeClassify codeClassify) {
return codeClassifyService.checkIsCanDelete(codeClassify);
}
@@ -152,7 +186,176 @@
* @return 鍒犻櫎缁撴灉鍙嶉锛氾細success锛氭垚鍔燂紝fail锛氬け璐�
*/
@DeleteMapping( "/deleteData")
- public R delCodeClassify(CodeClassify codeClassify) {
+ public R delCodeClassify(@Valid @RequestBody CodeClassify codeClassify) {
return codeClassifyService.deleteCodeClassify(codeClassify);
}
+
+ /**
+ * 鍚敤
+ * @param codeClassify
+ * @return
+ */
+ @PostMapping( "/enableData")
+ public R enable(@Valid @RequestBody CodeClassify codeClassify) {
+ return codeClassifyService.updateLcStatus(codeClassify.getOid(),FRAMEWORK_DATA_ENABLED);
+ }
+
+ /**
+ * 鍋滅敤
+ * @param codeClassify
+ * @return
+ */
+ @PostMapping( "/disableData")
+ public R disable(@Valid @RequestBody CodeClassify codeClassify) {
+ return codeClassifyService.updateLcStatus(codeClassify.getOid(),FRAMEWORK_DATA_DISABLED);
+ }
+
+ /**
+ * 涓婚敭鎵归噺鑾峰彇涓婚搴撳垎绫�
+ * @param oids 涓婚敭锛屽涓互閫楀彿鍒嗛殧锛屼絾鏄彈鎬ц兘褰卞搷锛屽缓璁竴娆℃煡璇笉瓒呰繃10000涓�
+ * @return 涓婚搴撳垎绫绘樉绀哄璞�
+ */
+ @GetMapping("/listDataByOids")
+ public R listCodeClassifyByOids(String oids){
+ Collection<CodeClassifyVO> voCollection = codeClassifyService.listCodeClassifyByOids(VciBaseUtil.str2List(oids));
+ return R.data(voCollection);
+ }
+
+ /**
+ * 鍙傜収鏍� 涓婚搴撳垎绫�
+ * @param treeQueryObject 鏍戝舰鏌ヨ瀵硅薄
+ * @return 涓婚搴撳垎绫绘樉绀烘爲
+ */
+ @GetMapping("/referTree")
+ public List<Tree> referTree(TreeQueryObject treeQueryObject) {
+ return codeClassifyService.referTree(treeQueryObject);
+ }
+
+ /**
+ * 瀵煎嚭鍒嗙被
+ * @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 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) {
+ log.error("瀵煎叆閿欒",e);
+ String errorFile = LocalFileUtil.getDefaultTempFolder() + File.separator + "閿欒淇℃伅.txt";
+ LocalFileUtil.writeContentToFile(LangBaseUtil.getErrorMsg(e),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();
+ }
+ }
+
+ /**
+ * 涓嬭浇閿欒鐨勬枃浠朵俊鎭�
+ * @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