From a471b20fe8075a663f32b3a2ee0cd70c1c63baf7 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期四, 21 十一月 2024 21:59:42 +0800
Subject: [PATCH] 业务类型查询:树查询修改,数据列表查询接口修改(处理模板套模板情况下freemarker表达式的替换处理)。

---
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/OrgDepartmentQueryController.java |  171 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 160 insertions(+), 11 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 33278b6..5b3a1bb 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,15 +1,31 @@
 package com.vci.frameworkcore.controller;
 
+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 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;
 
 /**
@@ -17,7 +33,7 @@
  * @author weidy
  * @date 2020/3/4
  */
-@Controller
+@RestController
 @RequestMapping("/departmentQueryController")
 public class OrgDepartmentQueryController {
 
@@ -28,23 +44,156 @@
     private OrgDeptQueryServiceI deptQueryService;
 
     /**
-     * 閮ㄩ棬鐨勬爲褰㈠弬鐓�
+     * 鏃ュ織
+     */
+    private Logger logger = LoggerFactory.getLogger(getClass());
+
+    /**
+     * 閮ㄩ棬鐨勬爲褰㈠弬鐓э紝閮ㄩ棬绠$悊涔熺敤鐨勮繖涓煡璇㈡帴鍙�
      * @param treeQueryObject 鏍戝舰鏁版嵁鐨勬煡璇㈠璞★紝鍖呮嫭鏌ヨ鏉′欢锛屼笂绾т富閿紝鏄惁澶氶�夌瓑锛岋紙extandParamsMap涓坊鍔�"showAllDepartmentNode"涓�"true"鏃�,骞朵笖parentOid涓虹┖锛岃繑鍥炵粨鏋滀腑浼氬寘鍚�滄墍鏈夐儴闂ㄢ�濊繖涓妭鐐癸級
      * @return 閮ㄩ棬鐨勬爲褰㈠弬鐓э紝宸茬粡杞崲浜嗕笂涓嬬骇鍏崇郴
      * @throws VciBaseException 鏌ヨ鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父锛屽鏋滄槸鑰佺殑椤圭洰閲屼笉鎶涘嚭寮傚父
      */
     @RequestMapping(value = "/refTree",method = RequestMethod.GET)
-    @ResponseBody
     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 杩斿洖鐨刲ist涓嶆槸tree缁撴瀯鐨�
+     */
     @RequestMapping(value = "/refDataGrid",method = RequestMethod.GET)
-    @ResponseBody
     public BaseResult<OrgDepartmentVO> refDataGrid(BaseQueryObject queryObject){
     	DataGrid<OrgDepartmentVO> dataGrid=deptQueryService.gridDepts(queryObject.getConditionMap(), queryObject.getPageHelper());
     	return BaseResult.dataGrid(dataGrid);
     }
+
+    /**
+     * 淇濆瓨閮ㄩ棬鐢ㄦ埛鍏宠仈淇℃伅锛屽钩鍙拌嚜甯︽煡閲嶅姛鑳�
+     * @param userOIds 鐢ㄦ埛id
+     * @param deptId 閮ㄩ棬oid
+     * @return
+     */
+    @RequestMapping(value = "/saveUsersDepts",method = RequestMethod.POST)
+    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("閮ㄩ棬鍒嗛厤澶辫触锛�");
+        }catch (Exception e){
+            e.printStackTrace();
+            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