From 34c25ddf37a3eb8da9efb04efedad089f13efe83 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期三, 24 七月 2024 18:20:27 +0800
Subject: [PATCH] 部门导入调整,按照部门名称/实现层级关系。枚举导入功能接口上传,属性池添加新增、查询、修改、导出、查看应用范围等接口。业务类型、链接类型、枚举类型增加等接口属性是否产生数据检查、根据属性名修改业务类型和连接类型中对应属性方法,以及属性池中需要的一些下拉查询接口。

---
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/OrgDepartmentQueryController.java |  161 +++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 141 insertions(+), 20 deletions(-)

diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/OrgDepartmentQueryController.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/OrgDepartmentQueryController.java
index da185df..cbb2b54 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/OrgDepartmentQueryController.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/OrgDepartmentQueryController.java
@@ -1,19 +1,31 @@
 package com.vci.frameworkcore.controller;
 
-import com.vci.corba.common.PLException;
+import com.vci.dto.OrgDepartmentDTO;
 import com.vci.frameworkcore.compatibility.OrgDeptQueryServiceI;
-import com.vci.frameworkcore.pagemodel.OrgDepartmentVO;
+import com.vci.constant.FrameWorkLangCodeConstant;
+import com.vci.pagemodel.OrgDepartmentVO;
+import com.vci.starter.web.annotation.controller.VciUnCheckRight;
 import com.vci.starter.web.exception.VciBaseException;
 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 lombok.extern.slf4j.Slf4j;
+import com.vci.web.util.Func;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
 
+import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.io.IOException;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -23,7 +35,6 @@
  */
 @RestController
 @RequestMapping("/departmentQueryController")
-@Slf4j
 public class OrgDepartmentQueryController {
 
     /**
@@ -33,23 +44,33 @@
     private OrgDeptQueryServiceI deptQueryService;
 
     /**
-     * 閮ㄩ棬鐨勬爲褰㈠弬鐓�
+     * 鏃ュ織
+     */
+    private Logger logger = LoggerFactory.getLogger(getClass());
+
+    /**
+     * 閮ㄩ棬鐨勬爲褰㈠弬鐓э紝閮ㄩ棬绠$悊涔熺敤鐨勮繖涓煡璇㈡帴鍙�
      * @param treeQueryObject 鏍戝舰鏁版嵁鐨勬煡璇㈠璞★紝鍖呮嫭鏌ヨ鏉′欢锛屼笂绾т富閿紝鏄惁澶氶�夌瓑锛岋紙extandParamsMap涓坊鍔�"showAllDepartmentNode"涓�"true"鏃�,骞朵笖parentOid涓虹┖锛岃繑鍥炵粨鏋滀腑浼氬寘鍚�滄墍鏈夐儴闂ㄢ�濊繖涓妭鐐癸級
      * @return 閮ㄩ棬鐨勬爲褰㈠弬鐓э紝宸茬粡杞崲浜嗕笂涓嬬骇鍏崇郴
      * @throws VciBaseException 鏌ヨ鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父锛屽鏋滄槸鑰佺殑椤圭洰閲屼笉鎶涘嚭寮傚父
      */
     @RequestMapping(value = "/refTree",method = RequestMethod.GET)
     public BaseResult<Tree> refTree(TreeQueryObject treeQueryObject) throws VciBaseException{
-        List<Tree> deptTreeList = deptQueryService.refTreeDept(treeQueryObject);
-        return  BaseResult.tree(deptTreeList);
-        //鑰佺殑椤圭洰渚濈劧鏄坊鍔爐ry catch锛屾柟娉曢噷涓嶆姏鍑哄紓甯�
-        //BaseResult.fail("杩欓噷杩斿洖鍓嶇鐨勯敊璇俊鎭�");
+        try {
+            List<Tree> deptTreeList = deptQueryService.refTreeDept(treeQueryObject);
+            return  BaseResult.tree(deptTreeList);
+        }catch (Exception e) {
+            e.printStackTrace();
+            String exceptionMessage = "閮ㄩ棬鏍戞煡璇㈡椂鍑虹幇閿欒锛屽師鍥狅細" + VciBaseUtil.getExceptionMessage(e);
+            logger.error(exceptionMessage);
+            return BaseResult.fail(exceptionMessage);
+        }
     }
 
     /**
-     * 閮ㄩ棬鏌ヨ锛屽甫鍒嗛〉
+     * 閮ㄩ棬鍒楄〃鏌ヨ锛屽甫鍒嗛〉
      * @param queryObject
-     * @return
+     * @return 杩斿洖鐨刲ist涓嶆槸tree缁撴瀯鐨�
      */
     @RequestMapping(value = "/refDataGrid",method = RequestMethod.GET)
     public BaseResult<OrgDepartmentVO> refDataGrid(BaseQueryObject queryObject){
@@ -58,20 +79,120 @@
     }
 
     /**
-     * 淇濆瓨閮ㄩ棬瑙掕壊鍏宠仈淇℃伅锛屽甫鏌ラ噸鍔熻兘
-     * @param userOIds 鐢ㄦ埛id
+     * 淇濆瓨閮ㄩ棬鐢ㄦ埛鍏宠仈淇℃伅锛屽钩鍙拌嚜甯︽煡閲嶅姛鑳�
+     * @param userOids 鐢ㄦ埛id
      * @param deptId 閮ㄩ棬oid
      * @return
      */
     @RequestMapping(value = "/saveUsersDepts",method = RequestMethod.POST)
-    public BaseResult saveUsersDepts(String[] userOIds, String deptId){
+    public BaseResult saveUsersDepts(String[] userOids, String deptId){
+        //涓嶈兘鍚屾椂涓虹┖
+        if(Func.isEmpty(userOids) && Func.isBlank(deptId)){
+            return BaseResult.fail("瑙掕壊涓婚敭鍜岄儴闂ㄤ富閿紝鍙傛暟涓嶈兘鍚屾椂涓虹┖!");
+        }
         try {
-            return deptQueryService.saveUsersDept(userOIds,deptId) ? BaseResult.success("瑙掕壊鍒嗛厤鎴愬姛锛�"):BaseResult.fail("瑙掕壊鍒嗛厤澶辫触锛�");
+            return deptQueryService.saveUsersDept(userOids,deptId) ? BaseResult.success("閮ㄩ棬鍒嗛厤鎴愬姛锛�"):BaseResult.fail("閮ㄩ棬鍒嗛厤澶辫触锛�");
         }catch (Exception e){
             e.printStackTrace();
-            String exceptionMessage = VciBaseUtil.getExceptionMessage(e);
-            log.error("鏍规嵁鐢ㄦ埛涓婚敭鑾峰彇锛屽叧鑱旂殑瑙掕壊鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage);
-            return BaseResult.fail("鏍规嵁鐢ㄦ埛涓婚敭鑾峰彇锛屽叧鑱旂殑瑙掕壊鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage);
+            String exceptionMessage = "鍏宠仈鐨勯儴闂ㄦ椂鍑虹幇閿欒锛屽師鍥狅細" + VciBaseUtil.getExceptionMessage(e);
+            logger.error(exceptionMessage);
+            return BaseResult.fail(exceptionMessage);
+        }
+    }
+
+    /**
+     * 鏂板鍗曟潯閮ㄩ棬
+     * @param orgDepartmentDTO
+     * @return
+     */
+    @RequestMapping(value = "/addDept",method = RequestMethod.POST)
+    public BaseResult addDept(@RequestBody OrgDepartmentDTO orgDepartmentDTO){
+        try {
+            return deptQueryService.addDept(orgDepartmentDTO) ? BaseResult.success("閮ㄩ棬娣诲姞鎴愬姛锛�"):BaseResult.fail("閮ㄩ棬娣诲姞澶辫触锛�");
+        }catch (Exception e){
+            e.printStackTrace();
+            String exceptionMessage = "娣诲姞閮ㄩ棬鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + VciBaseUtil.getExceptionMessage(e);
+            logger.error(exceptionMessage);
+            return BaseResult.fail(exceptionMessage);
+        }
+    }
+
+    /**
+     * 淇敼閮ㄩ棬淇℃伅
+     * @param orgDepartmentDTO
+     * @return
+     */
+    @RequestMapping(value = "/updateDept",method = RequestMethod.PUT)
+    public BaseResult updateRole(@RequestBody OrgDepartmentDTO orgDepartmentDTO){
+        try {
+            return deptQueryService.updateDept(orgDepartmentDTO) ? BaseResult.success("閮ㄩ棬淇敼鎴愬姛锛�"):BaseResult.fail("閮ㄩ棬淇敼澶辫触锛�");
+        }catch (Exception e){
+            e.printStackTrace();
+            String exceptionMessage = "淇敼閮ㄩ棬鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + VciBaseUtil.getExceptionMessage(e);
+            logger.error(exceptionMessage);
+            return BaseResult.fail(exceptionMessage);
+        }
+    }
+
+    /**
+     * 鍒犻櫎閮ㄩ棬
+     * @param ids 瑕佸垹闄ょ殑閮ㄩ棬涓婚敭
+     * @return
+     */
+    @RequestMapping(value = "/deleteDept",method = RequestMethod.DELETE)
+    public BaseResult deleteDept(String[] ids){
+        try {
+            return deptQueryService.deleteDept(ids) ? BaseResult.success("鍒犻櫎閮ㄩ棬鎴愬姛锛�"):BaseResult.fail("鍒犻櫎閮ㄩ棬澶辫触锛�");
+        }catch (Exception e){
+            e.printStackTrace();
+            String exceptionMessage = "娣诲姞閮ㄩ棬鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + VciBaseUtil.getExceptionMessage(e);
+            logger.error(exceptionMessage);
+            return BaseResult.fail(exceptionMessage);
+        }
+    }
+
+    /**
+     * 涓嬭浇浜哄憳瀵煎叆妯℃澘
+     * @param downloadFileName
+     * @param response
+     */
+    @RequestMapping(value = "/downloadImportTemplate",method = RequestMethod.GET)
+    public void downloadImportTemplate(String downloadFileName, HttpServletResponse response){
+        try {
+            String excelPath = deptQueryService.downloadImportTemplate(downloadFileName);
+            ControllerUtil.writeFileToResponse(response,excelPath);
+        } catch (Exception e) {
+            String msg = "涓嬭浇閮ㄩ棬瀵煎叆妯℃澘鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + LangBaseUtil.getErrorMsg(e);
+            try {
+                e.printStackTrace();
+                ControllerUtil.writeDataToResponse(response,"error_" + Func.format(new Date(),"yyyy-MM-dd HHmmss.sss") + ".txt", StringUtils.isNotBlank(msg)?msg.getBytes():new byte[0],null);
+            } catch (IOException ioException) {
+                ioException.printStackTrace();
+            }
+        }
+    }
+
+    /**
+     * 閮ㄩ棬瀵煎叆
+     * @param file
+     * @return
+     */
+    @RequestMapping(value = "/importDept",method = RequestMethod.POST)
+    @VciUnCheckRight
+    public BaseResult importUser(MultipartFile file){
+        String excelFileName = LocalFileUtil.getDefaultTempFolder() + File.separator + LocalFileUtil.getFileNameForIE(file.getOriginalFilename());
+        File file1 = new File(excelFileName);
+        try {
+            file.transferTo(new File(excelFileName));
+            if (file != null) {
+                return deptQueryService.importDept(file1);
+            } else {
+                return BaseResult.fail(FrameWorkLangCodeConstant.IMPORT_FAIL, new String[]{"鏃犲鍏ョ殑鏂囦欢"});
+            }
+        }catch (Throwable e) {
+            throw new VciBaseException(e.getMessage(),new String[0],e);
+        }finally {
+            file1.delete();
         }
     }
 

--
Gitblit v1.9.3