From 31692354e8191b583250c213152bfd0068ffe0fc Mon Sep 17 00:00:00 2001
From: futian.liu <liufutianyoo@163.com>
Date: 星期一, 13 十一月 2023 10:43:05 +0800
Subject: [PATCH] 整理代码

---
 consum-base/src/main/java/com/consum/base/controller/FinSysTenantController.java |  536 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 498 insertions(+), 38 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/controller/FinSysTenantController.java b/consum-base/src/main/java/com/consum/base/controller/FinSysTenantController.java
index 0eeb8e6..25f650a 100644
--- a/consum-base/src/main/java/com/consum/base/controller/FinSysTenantController.java
+++ b/consum-base/src/main/java/com/consum/base/controller/FinSysTenantController.java
@@ -1,72 +1,124 @@
 package com.consum.base.controller;
 
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.event.AnalysisEventListener;
+import com.alibaba.excel.exception.ExcelDataConvertException;
 import com.consum.base.BaseController;
 import com.consum.base.pojo.FinSysTenantParam;
 import com.consum.base.pojo.FinSysTenantSearchParam;
 import com.consum.base.service.FinSysTenantServiceImpl;
+import com.consum.base.service.FinSysTenantUserServiceImpl;
+import com.consum.base.core.utils.FinSysTenantUtils;
 import com.consum.model.po.FinSysTenant;
 import com.consum.model.po.FinSysTenantUser;
+import com.consum.model.vo.FinSysTenantUserResult;
 import com.walker.db.page.GenericPager;
+import com.walker.infrastructure.tree.TreeNode;
 import com.walker.infrastructure.utils.StringUtils;
 import com.walker.web.ResponseValue;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.core.io.ClassPathResource;
+import org.springframework.core.io.InputStreamResource;
+import org.springframework.core.io.Resource;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
-import java.util.HashMap;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URLEncoder;
+import java.util.*;
 
 /**
- * @Description 绯荤粺鏈烘瀯
- * @Author 鍗㈠簡闃�
- * @Date 2023/10/23
+ * @Description 鍖哄垝
+ * @Author wh
+ * @Date 2023/7/13 19:51
  */
 @RestController
 @RequestMapping("/pc/fin/sys/tenant")
 public class FinSysTenantController extends BaseController {
 
-    @Autowired
     private FinSysTenantServiceImpl finSysTenantService;
 
+    @Autowired
+    private FinSysTenantUserServiceImpl finSysTenantUserService;
+
+    @Autowired
+    public FinSysTenantController(FinSysTenantServiceImpl finSysTenantService) {
+        this.finSysTenantService = finSysTenantService;
+    }
+
+    @Value("${iplatform.file.file-root}")
+    private String filePath;
+
+    private boolean multiRoot = true;
+    private TreeNode dummyRoot = null;
+    private Map<Long, TreeNode> rootMap = new TreeMap();
+    private Map<Long, TreeNode> childMap = new TreeMap();
+    private long defaultParentId = 0L;
+
     /**
-     * 娣诲姞鏈烘瀯
-     * @author 鍗㈠簡闃�
-     * @date 2023/10/4
+     * @Description 鑾峰彇鍖哄垝鏍�
+     * @Author wh
+     * @Date 2023/7/11 11:15
      */
-    @PostMapping("/add")
-    public ResponseValue add(@RequestBody FinSysTenantParam param){
-        if (param == null) {
-            return ResponseValue.error("鍙傛暟涓虹┖");
+    @GetMapping("/select/tree_fin_tenant")
+    public ResponseValue listOrgRootTree() {
+        List<FinSysTenant> finSysTenantList = null;
+        FinSysTenantUser finSysTenantUser = new FinSysTenantUser();
+        finSysTenantUser.setSysUserId(this.getCurrentUser().getId());
+        List<FinSysTenantUser> finSysTenantUserList = finSysTenantUserService.select(finSysTenantUser);
+        FinSysTenantUser user = null; // 绯荤粺鐢ㄦ埛
+        FinSysTenant finSysTenant1 = null;
+        List<TreeNode> treeRootList = null; // 鏁板垪琛�
+        FinSysTenant finSysTenant = new FinSysTenant();
+        // 鑾峰彇鍦板尯鐖剁骇
+        finSysTenantList = this.finSysTenantService.queryForTree();
+        // 鏍规嵁鐧婚檰浜篿d鑾峰彇绯荤粺鐢ㄦ埛锛屽鏋滄湁绯荤粺鐢ㄦ埛鏃�
+        if (finSysTenantUserList.size() > 0) {
+            // 鑾峰彇褰撳墠鐢ㄦ埛淇℃伅
+            user = finSysTenantUserList.get(0);
+            String tenantId = user.getTenantId();
+            finSysTenant.setId(new Long(tenantId));
+            // 鏌ヨ鍖哄煙
+            List<FinSysTenant> select = finSysTenantService.select(finSysTenant);
+            if (select.size() > 0) {
+                finSysTenant1 = select.get(0);
+            }
         }
-        if (StringUtils.isEmpty(param.getCode())) {
-            return ResponseValue.error("鏈烘瀯缂栧彿涓虹┖");
-        }
-        if (StringUtils.isEmpty(param.getName())) {
-            return ResponseValue.error("鏈烘瀯鍚嶇О涓虹┖");
-        }
-        if (param.getParentId() == null) {
-            return ResponseValue.error("涓婄骇鏈烘瀯涓嶅瓨鍦�");
-        }
-        //鏍规嵁鏈烘瀯id鏌ヨ鏈烘瀯
-        FinSysTenant sysTenant = this.finSysTenantService.selectByTenantId(param.getCode());
-        if (sysTenant != null) {
-            return ResponseValue.error("鏈烘瀯缂栧彿宸插瓨鍦�");
-        }
-        String parentIdStr = param.getParentId() + "";
-        int lv = parentIdStr.length() / 3 + 1;
-        if (lv > 4) {
-            return ResponseValue.error("涓嶈兘鍒涘缓鏀眬浠ヤ笅鏈烘瀯");
+        if (finSysTenant1 != null) {
+            if (finSysTenant1.getLv() != 1 && finSysTenant1.getParentId() != 0 && user != null) {
+                rootMap.clear();
+                this.childMap.clear();
+                this.defaultParentId = new Long(user.getTenantId());
+                // 鏍规嵁鐖剁骇鑾峰彇瀛愰泦
+                setEntityList(finSysTenantList);
+                treeRootList = getTreeRootList();
+            } else {
+                treeRootList = FinSysTenantUtils.getFinSysTenantTree(finSysTenantList);
+            }
+        } else {
+            treeRootList = FinSysTenantUtils.getFinSysTenantTree(finSysTenantList);
         }
 
-        int num = this.finSysTenantService.addSysTenant(param,this.getCurrentUser(),lv);
-        if(num>0) return ResponseValue.success(1);
-        return ResponseValue.error("鎻掑叆澶辫触锛�");
+        if (StringUtils.isEmptyList(treeRootList)) {
+            logger.error("鏈壘鍒颁换浣曢《绾у尯鍒掓爲鍒楄〃: treeNodeList = null");
+        } else {
+            logger.debug(treeRootList.toString());
+        }
+        return ResponseValue.success(treeRootList);
     }
 
     /**
-     * @Description  鍒嗛〉鍒楄〃鏌ヨ
-     * @Author 鍗㈠簡闃�
-     * @Date 2023/10/24
+     * @Description 鍒嗛〉鍒楄〃鏌ヨ
+     * @Author llb
+     * @Date 2023/7/14 13:59
      */
-//    @RequestMapping("/select/list")
     @RequestMapping("/select/list")
     public ResponseValue allocatedList(FinSysTenantSearchParam param) {
         FinSysTenantUser sysInfo = getSysInfo();
@@ -103,5 +155,413 @@
         return ResponseValue.success(pager);
     }
 
-}
+    /**
+     * @Author 锛歱ower
+     * @Date 锛� 2023/7/20 10:58 鏌ヨ椤圭洰閰嶇疆涓� 鍙備笌鑼冨洿 锛堢渷/鍦板競;鍦板競锛� 璇ユ柟娉曞簲鏄叏灞�鍙
+     */
+    @GetMapping("/project/selectTreeServingByProject")
+    public ResponseValue selectTreeServingByProject() {
+        // 鐪佽繘鍏� 鏌ヨ 鐪佸拰鍦板競 锛涘湴甯傝繘鍏� 鏌ヨ鑷繁鍦板競
+        // TODO Long.valueOf(getSysInfo().getTenantId())
+        FinSysTenant finSysTenant =
+                this.finSysTenantService.get(new FinSysTenant(Long.valueOf(getSysInfo().getTenantId())));
+        if (finSysTenant.getLv() == 3) {
+            return ResponseValue.error("鍘垮尯绾у埆鏃犳硶鏌ョ湅");
+        }
+        List<FinSysTenant> finSysTenantList =
+                this.finSysTenantService.queryTreeById(finSysTenant.getId(), finSysTenant.getLv());
+        List<TreeNode> treeNodeList = new ArrayList<>();
+        // 鐪佹煡鏈韩鍙婁互涓� 甯傛煡鏈骇 鍘挎棤鏉冩煡鐪�
+        if (finSysTenant.getLv() == 1) {
+            treeNodeList = FinSysTenantUtils.getFinSysTenantTree(finSysTenantList);
+            if (StringUtils.isEmptyList(treeNodeList)) {
+                logger.error("鏈壘鍒颁换浣曢《绾у尯鍒掓爲鍒楄〃: treeNodeList = null");
+            } else {
+                logger.debug(treeNodeList.toString());
+            }
+        } else {
+            TreeNode treeNode = new TreeNode(finSysTenantList.get(0).getId(), finSysTenantList.get(0).getName(),
+                    new ArrayList<>(), finSysTenantList.get(0).getParentId(), finSysTenantList.get(0).getCode());
+            treeNodeList.add(treeNode);
+        }
+        return ResponseValue.success(treeNodeList);
+    }
 
+    /**
+     * @Author 锛歱ower
+     * @Date 锛� 2023/7/20 16:33 椤圭洰閰嶇疆 - 鑼冨洿 - 鏌ヨ鍘垮尯 锛堢渷鏌ヨ鎵�鏈� 鍦板競鏌ヨ鑷繁绠¤緰锛�
+     */
+    @GetMapping("/project/selectCounty")
+    public ResponseValue selectCounty() {
+        // 鐪佽繘鍏� 鏌ヨ 鐪佸拰鍦板競 锛涘湴甯傝繘鍏� 鏌ヨ鑷繁鍦板競
+        // TODO Long.valueOf(getSysInfo().getTenantId())
+        FinSysTenant finSysTenant =
+                this.finSysTenantService.get(new FinSysTenant(Long.valueOf(getSysInfo().getTenantId())));
+        if (finSysTenant.getLv() == 3) {
+            return ResponseValue.error("鍘垮尯绾у埆鏃犳硶鏌ョ湅");
+        }
+        Map<Long, List<FinSysTenant>> finSysTenantList =
+                this.finSysTenantService.queryCountyByCityCode(finSysTenant.getId(), finSysTenant.getLv());
+        return ResponseValue.success(finSysTenantList);
+    }
+
+    public void setEntityList(List<FinSysTenant> datas) {
+
+        if (!StringUtils.isEmptyList(datas)) {
+            TreeNode node = null;
+            Iterator var3 = datas.iterator();
+
+            while (var3.hasNext()) {
+                Object obj = var3.next();
+                node = this.toTreeNode((FinSysTenant) obj);
+
+                if (node.getId() == this.defaultParentId) {
+                    this.rootMap.put(node.getId(), node);
+                } else if (node.getParentId() == this.defaultParentId) {
+                    this.childMap.put(node.getId(), node);
+                }
+            }
+
+            if (this.rootMap.size() == 0) {
+                throw new IllegalArgumentException("鏈壘鍒版牴鑺傜偣銆�");
+            } else {
+                if (this.childMap != null && this.childMap.size() > 0) {
+                    this.mountTree(this.childMap);
+                }
+
+                if (this.dummyRoot != null) {
+                    var3 = this.rootMap.values().iterator();
+
+                    while (var3.hasNext()) {
+                        TreeNode n = (TreeNode) var3.next();
+                        n.setParentId(this.defaultParentId);
+                        this.dummyRoot.addChild(n);
+                    }
+                }
+
+            }
+        }
+    }
+
+    private void mountTree(Map<Long, TreeNode> childMap) {
+        TreeNode _node = null;
+        Iterator i = childMap.values().iterator();
+
+        while (i.hasNext()) {
+            _node = (TreeNode) i.next();
+            this.mountMiddleNode(_node, childMap);
+        }
+
+    }
+
+    private void mountMiddleNode(TreeNode currentNode, Map<Long, TreeNode> childMap) {
+        TreeNode _parentNode = (TreeNode) this.rootMap.get(currentNode.getParentId());
+        if (_parentNode == null) {
+            _parentNode = (TreeNode) childMap.get(currentNode.getId());
+            if (_parentNode == null) {
+                throw new NullPointerException("parent node not found, current: " + currentNode);
+            }
+
+            _parentNode.addChild(currentNode);
+            this.mountMiddleNode(_parentNode, childMap);
+        } else if (_parentNode.getId() == this.defaultParentId) {
+            _parentNode.addChild(currentNode);
+        }
+
+    }
+
+    protected TreeNode toTreeNode(FinSysTenant entity) {
+        TreeNode treeNode =
+                new TreeNode(entity.getId(), entity.getName(), (List) null, entity.getParentId(), entity.getCode());
+        return treeNode;
+    }
+
+    public List<TreeNode> getTreeRootList() {
+        if (!this.multiRoot) {
+            throw new IllegalStateException("瀛樺湪澶氫釜鏍硅妭鐐癸紝璇疯皟鐢ㄦ柟娉�:getTreeRoot().");
+        } else {
+            List<TreeNode> list = new ArrayList();
+            Iterator var2 = this.rootMap.values().iterator();
+
+            while (var2.hasNext()) {
+                TreeNode node = (TreeNode) var2.next();
+                list.add(node);
+            }
+            return list;
+        }
+    }
+
+    /**
+     * @Description 涓嶅垎椤垫煡璇�
+     */
+    @RequestMapping("/select/allList")
+    public ResponseValue allList(FinSysTenantSearchParam param) {
+        StringBuilder whStr = new StringBuilder("where 1=1 and status = 1 and is_delete = 0 ");
+        HashMap  parameter = new HashMap<>();
+        if (param.getFirstZmS() != null && !param.getFirstZmS().equals("")) {
+            whStr.append(" and name is not null and(");
+            String upperCase = param.getFirstZmS().toUpperCase();
+            whStr.append("instr(:upperFirstZmS,F_PINYIN( SUBSTR(name, 1, 1)))>0 or instr(:upperFirstZmS2,SUBSTR(name, 1, 1))>0");
+            parameter.put("upperFirstZmS", upperCase);
+            parameter.put("upperFirstZmS2", upperCase);
+            whStr.append(")");
+        }
+        whStr.append(" order by lv asc, F_PINYIN( SUBSTR(name, 1, 1)) ASC ");
+        List<FinSysTenant> select = this.finSysTenantService.select(new FinSysTenant(), whStr.toString(), parameter);
+        return ResponseValue.success(select);
+    }
+
+
+    /**
+     * 鍒犻櫎
+     * @author 鍗㈠簡闃�
+     * @date 2023/10/4
+     */
+    @PostMapping("/del")
+    public ResponseValue del(@RequestBody FinSysTenantParam param) {
+        if (param.getId() == null) {
+            return ResponseValue.error("鏈烘瀯id涓虹┖");
+        }
+        int num =this.finSysTenantService.updateById(param,this.getSysInfo());
+        return num>0 ? ResponseValue.success(1):ResponseValue.error("鍒犻櫎澶辫触锛�");
+    }
+
+    /**
+     * 娣诲姞鏈烘瀯
+     * @author 鍗㈠簡闃�
+     * @date 2023/10/4
+     */
+    @PostMapping("/add")
+    public ResponseValue add(@RequestBody FinSysTenantParam param){
+        if (param == null) {
+            return ResponseValue.error("鍙傛暟涓虹┖");
+        }
+        if (StringUtils.isEmpty(param.getCode())) {
+            return ResponseValue.error("鏈烘瀯缂栧彿涓虹┖");
+        }
+        if (StringUtils.isEmpty(param.getName())) {
+            return ResponseValue.error("鏈烘瀯鍚嶇О涓虹┖");
+        }
+        FinSysTenant finSysTenant = this.finSysTenantService.selectByTenantId(param.getCode());
+        if (finSysTenant != null) {
+            return ResponseValue.error("鏈烘瀯缂栧彿宸插瓨鍦�");
+        }
+        String parentIdStr = param.getParentId() + "";
+        int lv = parentIdStr.length() / 3 + 1;
+        if (lv > 4) {
+            return ResponseValue.error("涓嶈兘鍒涘缓鏀眬浠ヤ笅鏈烘瀯");
+        }
+        int num = this.finSysTenantService.addFinSysTenant(param,this.getSysInfo(),lv);
+        if(num>0) return ResponseValue.success(1);
+        return ResponseValue.error("鎻掑叆澶辫触锛�");
+    }
+
+    @GetMapping("getImportTemplate")
+    public ResponseEntity<InputStreamResource> getImportTemplate() throws IOException {
+        // 浠庡綋鍓嶉」鐩祫婧愮洰褰曡幏鍙栨枃浠�
+        Resource resource = new ClassPathResource("import/鏈烘瀯瀵煎叆妯℃澘.xls");
+        // 鑾峰彇鏂囦欢杈撳叆娴�
+        InputStream inputStream = resource.getInputStream();
+        // 璁剧疆HTTP鍝嶅簲澶�
+        HttpHeaders headers = new HttpHeaders();
+        headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
+        String encodedFilename = URLEncoder.encode("鏈烘瀯瀵煎叆妯℃澘.xls", "UTF-8");
+        headers.setContentDispositionFormData("attachment", encodedFilename);
+        // 鍒涘缓InputStreamResource瀵硅薄锛屽皢鏂囦欢杈撳叆娴佸寘瑁呰捣鏉�
+        InputStreamResource resourceToDownload = new InputStreamResource(inputStream);
+        // 杩斿洖甯︽湁鏂囦欢杈撳叆娴佺殑ResponseEntity瀵硅薄
+        return ResponseEntity
+                .status(HttpStatus.OK)
+                .headers(headers)
+                .body(resourceToDownload);
+    }
+
+
+    /**
+     * @return 鑾峰彇椤圭洰瀵煎叆鐨勬ā鏉�
+     * @throws IOException
+     */
+    @GetMapping("getProjectImportTemplate")
+    public ResponseEntity<InputStreamResource> getProjectImportTemplate() throws IOException {
+        // 浠庡綋鍓嶉」鐩祫婧愮洰褰曡幏鍙栨枃浠�
+        Resource resource = new ClassPathResource("import/椤圭洰瀵煎叆妯℃澘.xls");
+        // 鑾峰彇鏂囦欢杈撳叆娴�
+        InputStream inputStream = resource.getInputStream();
+        // 璁剧疆HTTP鍝嶅簲澶�
+        HttpHeaders headers = new HttpHeaders();
+        headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
+        String encodedFilename = URLEncoder.encode("椤圭洰瀵煎叆妯℃澘.xls", "UTF-8");
+        headers.setContentDispositionFormData("attachment", encodedFilename);
+        // 鍒涘缓InputStreamResource瀵硅薄锛屽皢鏂囦欢杈撳叆娴佸寘瑁呰捣鏉�
+        InputStreamResource resourceToDownload = new InputStreamResource(inputStream);
+        // 杩斿洖甯︽湁鏂囦欢杈撳叆娴佺殑ResponseEntity瀵硅薄
+        return ResponseEntity
+                .status(HttpStatus.OK)
+                .headers(headers)
+                .body(resourceToDownload);
+    }
+
+
+    @PostMapping("import")
+    public ResponseValue upload(@RequestParam Long pid, MultipartFile file) throws IOException {
+        String originalFilename = file.getOriginalFilename();
+        if (!"xls".equals(originalFilename.substring(originalFilename.lastIndexOf(".") + 1))){
+            return ResponseValue.error("鏂囦欢鏍煎紡鏈夎!");
+        }
+        FinSysTenantUser sysInfo = this.getSysInfo();
+        if (sysInfo==null){
+            return ResponseValue.error("褰撳墠鐧诲綍鐢ㄦ埛涓虹┖");
+        }
+        String parentIdStr = pid + "";
+        int lv = parentIdStr.length() / 3 + 1;
+        if (lv > 3) {
+            return ResponseValue.error("涓嶈兘鍒涘缓鍘匡紙鍖猴級绾т互涓嬫満鏋�");
+        }
+
+        EasyExcel.read(file.getInputStream(), FinSysTenantParam.class, new AnalysisEventListener<FinSysTenantParam>() {
+            LinkedList<FinSysTenantParam> finSysTenantParams = new LinkedList<>();
+            @Override
+            public void invoke(FinSysTenantParam finSysTenantParam, AnalysisContext analysisContext) {
+                if (StringUtils.isEmpty(finSysTenantParam.getCode())||finSysTenantParam.getCode().length()>20){
+                    IllegalStateException exception = new IllegalStateException("绗�" + analysisContext.readSheetHolder().getRowIndex() + "琛�,鏈烘瀯缂栧彿涓嶈兘涓虹┖鎴栭暱搴﹀ぇ浜�20");
+                    throw exception;
+                }
+                if (null!=finSysTenantService.selectByTenantId(finSysTenantParam.getCode())){
+                    throw new IllegalStateException("绗�" + analysisContext.readSheetHolder().getRowIndex() + "琛�,鏈烘瀯缂栧彿宸插瓨鍦�");
+                }
+                if (StringUtils.isEmpty(finSysTenantParam.getName())||finSysTenantParam.getName().length()>100){
+                    IllegalStateException exception = new IllegalStateException("绗�" + analysisContext.readSheetHolder().getRowIndex() + "琛�,鏈烘瀯鍚嶇О涓嶈兘涓虹┖鎴栭暱搴﹀ぇ浜�100");
+                    throw exception;
+                }
+                finSysTenantParam.setParentId(pid);
+                finSysTenantParam.setStatus(1);
+                finSysTenantParam.setSummary("绯荤粺瀵煎叆");
+                finSysTenantParams.add(finSysTenantParam);
+            }
+            @Override
+            public void doAfterAllAnalysed(AnalysisContext analysisContext) {
+                finSysTenantService.insertFinSysTenantBatch(finSysTenantParams,sysInfo,lv);
+            }
+
+            @Override
+            public void onException(Exception exception, AnalysisContext context) {
+                // 濡傛灉鏄煇涓�涓崟鍏冩牸鐨勮浆鎹㈠紓甯� 鑳借幏鍙栧埌鍏蜂綋琛屽彿
+                if (exception instanceof ExcelDataConvertException) {
+                    ExcelDataConvertException excelDataConvertException = (ExcelDataConvertException)exception;
+                    logger.error("绗瑊}琛岋紝绗瑊}鍒楄В鏋愬紓甯革紝鏁版嵁涓�:{}",excelDataConvertException.getRowIndex(),
+                            excelDataConvertException.getColumnIndex()+1, excelDataConvertException.getCellData().getStringValue());
+                    throw new IllegalStateException("绗�"+(excelDataConvertException.getRowIndex()+1)+"琛岋紝绗�"+(excelDataConvertException.getColumnIndex()+1)+"鍒楄В鏋愬紓甯�,寮傚父鏁版嵁涓�:[ "+excelDataConvertException.getCellData().getStringValue()+" ]");
+                }
+                if (exception instanceof IllegalStateException){
+                    throw (IllegalStateException)exception;
+                }
+
+            }
+
+        }).doReadAll();
+
+        return ResponseValue.success("瀵煎叆鎴愬姛!",1);
+    }
+
+    /**
+     * 缂栬緫
+     * @author 鍗㈠簡闃�
+     * @date 2023/10/6
+     */
+    @PostMapping("/edit")
+    public ResponseValue edit(@RequestBody FinSysTenant finSysTenant) {
+        Long id = finSysTenant.getId();
+        if (id == null || id.longValue() <= 0) {
+            return ResponseValue.error("缂栬緫鐨勬満鏋勪笉瀛樺湪");
+        }
+        FinSysTenantUser sysInfo = getSysInfo();
+        if (sysInfo == null) {
+            return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
+        }
+        //        FinSysTenant finSysTenant1 = this.finSysTenantService.selectByTenantId(sysInfo.getTenantCode());
+//        if (finSysTenant1.getLv() != 1) {
+//            return ResponseValue.error("鏆傛棤淇敼鏉冮檺");
+//        }
+        int num = this.finSysTenantService.updateFinSysTenant(finSysTenant,this.getSysInfo());
+        return num>0 ? ResponseValue.success(1):ResponseValue.error("缂栬緫澶辫触锛�");
+    }
+
+    /**
+     * @Description 鏍规嵁OrgCode鑾峰彇涓婄骇鍙婃湰绾т汉鍛業D銆傚彲鑳芥槸鐪佸競鍘�
+     * @Author wh
+     * @Date 2023/10/4 15:37
+     */
+    @GetMapping("getUserByOrgId")
+    public ResponseValue getUserByOrgCode(Long orgId) {
+        if (orgId == null) {
+            return ResponseValue.error("鏈烘瀯涓嶈兘涓虹┖");
+        }
+        ArrayList<FinSysTenantUserResult> finSysTenantUserResults = new ArrayList<>();
+        // 鏈骇
+        FinSysTenant finSysTenant = this.finSysTenantService.get(new FinSysTenant(orgId));
+        if (finSysTenant.getLv() == 1) {
+            // 鐪�
+            List<FinSysTenantUser> finSysTenantUserList = this.finSysTenantUserService.getByOrgId(orgId);
+            if (!StringUtils.isEmptyList(finSysTenantUserList)) {
+                FinSysTenantUserResult finSysTenantUserResult = new FinSysTenantUserResult();
+                finSysTenantUserResult.setOrgId(finSysTenant.getId());
+                finSysTenantUserResult.setOrgName(finSysTenant.getName());
+                finSysTenantUserResult.setUserList(finSysTenantUserList);
+                finSysTenantUserResults.add(finSysTenantUserResult);
+            }
+        }
+        if (finSysTenant.getLv() == 2) {
+            // 甯�
+            List<FinSysTenantUser> finSysTenantUserList2 = this.finSysTenantUserService.getByOrgId(orgId);
+            if (!StringUtils.isEmptyList(finSysTenantUserList2)) {
+                FinSysTenantUserResult finSysTenantUserResult = new FinSysTenantUserResult();
+                finSysTenantUserResult.setOrgId(finSysTenant.getId());
+                finSysTenantUserResult.setOrgName(finSysTenant.getName());
+                finSysTenantUserResult.setUserList(finSysTenantUserList2);
+                finSysTenantUserResults.add(finSysTenantUserResult);
+            }
+            // 鐪�
+            FinSysTenant finSysTenant1 = this.finSysTenantService.get(new FinSysTenant(finSysTenant.getParentId()));
+            List<FinSysTenantUser> finSysTenantUserList = this.finSysTenantUserService.getByOrgId(finSysTenant1.getId());
+            if (!StringUtils.isEmptyList(finSysTenantUserList)) {
+                FinSysTenantUserResult finSysTenantUserResult = new FinSysTenantUserResult();
+                finSysTenantUserResult.setOrgId(finSysTenant1.getId());
+                finSysTenantUserResult.setOrgName(finSysTenant1.getName());
+                finSysTenantUserResult.setUserList(finSysTenantUserList);
+                finSysTenantUserResults.add(finSysTenantUserResult);
+            }
+        }
+        if (finSysTenant.getLv() == 3) {
+            // 鍘�
+            List<FinSysTenantUser> finSysTenantUserList3 = this.finSysTenantUserService.getByOrgId(orgId);
+            if (!StringUtils.isEmptyList(finSysTenantUserList3)) {
+                FinSysTenantUserResult finSysTenantUserResult = new FinSysTenantUserResult();
+                finSysTenantUserResult.setOrgId(finSysTenant.getId());
+                finSysTenantUserResult.setOrgName(finSysTenant.getName());
+                finSysTenantUserResult.setUserList(finSysTenantUserList3);
+                finSysTenantUserResults.add(finSysTenantUserResult);
+            }
+            // 甯�
+            FinSysTenant finSysTenant2 = this.finSysTenantService.get(new FinSysTenant(finSysTenant.getParentId()));
+            List<FinSysTenantUser> finSysTenantUserList2 = this.finSysTenantUserService.getByOrgId(finSysTenant2.getId());
+            if (!StringUtils.isEmptyList(finSysTenantUserList2)) {
+                FinSysTenantUserResult finSysTenantUserResult = new FinSysTenantUserResult();
+                finSysTenantUserResult.setOrgId(finSysTenant2.getId());
+                finSysTenantUserResult.setOrgName(finSysTenant2.getName());
+                finSysTenantUserResult.setUserList(finSysTenantUserList2);
+                finSysTenantUserResults.add(finSysTenantUserResult);
+            }
+            // 鐪�
+            FinSysTenant finSysTenant1 = this.finSysTenantService.get(new FinSysTenant(finSysTenant2.getParentId()));
+            List<FinSysTenantUser> finSysTenantUserList = this.finSysTenantUserService.getByOrgId(finSysTenant1.getId());
+            if (!StringUtils.isEmptyList(finSysTenantUserList)) {
+                FinSysTenantUserResult finSysTenantUserResult = new FinSysTenantUserResult();
+                finSysTenantUserResult.setOrgId(finSysTenant1.getId());
+                finSysTenantUserResult.setOrgName(finSysTenant1.getName());
+                finSysTenantUserResult.setUserList(finSysTenantUserList);
+                finSysTenantUserResults.add(finSysTenantUserResult);
+            }
+        }
+        return ResponseValue.success(finSysTenantUserResults);
+    }
+}

--
Gitblit v1.9.1