From 1742240f8f6841e2d930e549caabab94f2a58ece Mon Sep 17 00:00:00 2001
From: futian.liu <liufutianyoo@163.com>
Date: 星期三, 22 十一月 2023 18:37:10 +0800
Subject: [PATCH] --报废单

---
 consum-base/src/main/java/com/consum/base/controller/FinSysTenantController.java |  590 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 550 insertions(+), 40 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..741e765 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,137 @@
 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.core.utils.FinSysTenantUtils;
 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.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.web.bind.annotation.*;
-
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URLEncoder;
+import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+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.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
 
 /**
- * @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 +168,450 @@
         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.queryOneByCode(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.queryOneByCode(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);
+    }
+
+    @ApiOperation(value = "鑾峰彇鐖剁骇鏈烘瀯", notes = "鑾峰彇鐖剁骇鏈烘瀯")
+    @ApiImplicitParams({
+        @ApiImplicitParam(name = "Authorization", value = "token", dataType = "String", paramType = "header"),
+    })
+    @GetMapping("/get/parent/tenant")
+    public ResponseValue getParentTenant() {
+        FinSysTenantUser sysInfo = getSysInfo();
+        if (sysInfo == null) {
+            return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
+        }
+        String tenantId = sysInfo.getTenantId();
+        FinSysTenant finSysTenant = new FinSysTenant();
+        finSysTenant.setTempId(Long.valueOf(tenantId));
+        FinSysTenant userTenant = this.finSysTenantService.get(finSysTenant);
+        Long parentId = userTenant.getParentId();
+        //绗竴绾�
+        if (parentId == 0) {
+            return ResponseValue.success(userTenant);
+        } else {
+            FinSysTenant param = new FinSysTenant();
+            param.setTempId(Long.valueOf(parentId));
+            FinSysTenant result = this.finSysTenantService.get(param);
+            return ResponseValue.success(result);
+        }
+    }
+}

--
Gitblit v1.9.1