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