diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/CompanyController.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/CompanyController.java index 9ae24996b..e154b7d12 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/CompanyController.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/CompanyController.java @@ -6,6 +6,7 @@ import com.zhgd.annotation.OperLog; import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.jeecg.common.mybatis.EntityMap; import com.zhgd.xmgl.modules.basicdata.entity.Company; +import com.zhgd.xmgl.modules.basicdata.entity.vo.GetOrgSnListVo; import com.zhgd.xmgl.modules.basicdata.service.ICompanyService; import com.zhgd.xmgl.util.MessageUtil; import io.swagger.annotations.Api; @@ -270,7 +271,7 @@ public class CompanyController { @ApiImplicitParam(name = "userId", value = "用户id", paramType = "body", required = true, dataType = "String"), }) @PostMapping(value = "/getOrgSnListByUserId") - public Result> getOrgSnListByUserId(@ApiIgnore @RequestBody HashMap paramMap) { + public Result> getOrgSnListByUserId(@ApiIgnore @RequestBody HashMap paramMap) { return Result.success(companyService.getOrgSnListByUserId(paramMap)); } diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/entity/vo/GetOrgSnListVo.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/entity/vo/GetOrgSnListVo.java new file mode 100644 index 000000000..d36cbfd46 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/entity/vo/GetOrgSnListVo.java @@ -0,0 +1,16 @@ +package com.zhgd.xmgl.modules.basicdata.entity.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class GetOrgSnListVo { + @ApiModelProperty("企业sn或者项目sn") + private String sn; + @ApiModelProperty("是否项目sn") + private Boolean isProjectSn; + @ApiModelProperty("是否有下级列表") + private Boolean hasSubList; +} diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/ICompanyService.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/ICompanyService.java index 9687c951e..730ffb2e3 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/ICompanyService.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/ICompanyService.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.zhgd.jeecg.common.mybatis.EntityMap; import com.zhgd.xmgl.modules.basicdata.entity.Company; +import com.zhgd.xmgl.modules.basicdata.entity.vo.GetOrgSnListVo; import java.util.HashMap; import java.util.List; @@ -66,7 +67,7 @@ public interface ICompanyService extends IService { void updateTenantOrg(HashMap paramMap); - List getOrgSnListByUserId(HashMap paramMap); + List getOrgSnListByUserId(HashMap paramMap); JSONArray getTenantOrgTreeList(HashMap paramMap); } diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/CompanyServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/CompanyServiceImpl.java index 93dec768b..b7a7203fe 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/CompanyServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/CompanyServiceImpl.java @@ -20,6 +20,7 @@ import com.zhgd.xmgl.modules.basicdata.entity.Company; import com.zhgd.xmgl.modules.basicdata.entity.CompanyConfig; import com.zhgd.xmgl.modules.basicdata.entity.SystemUser; import com.zhgd.xmgl.modules.basicdata.entity.XzSystemUserToCompanyProject; +import com.zhgd.xmgl.modules.basicdata.entity.vo.GetOrgSnListVo; import com.zhgd.xmgl.modules.basicdata.mapper.CompanyConfigMapper; import com.zhgd.xmgl.modules.basicdata.mapper.CompanyMapper; import com.zhgd.xmgl.modules.basicdata.mapper.SystemUserMapper; @@ -678,8 +679,47 @@ public class CompanyServiceImpl extends ServiceImpl impl } @Override - public List getOrgSnListByUserId(HashMap paramMap) { - return systemUserMapper.getOrgSnListByUserId(paramMap); + public List getOrgSnListByUserId(HashMap paramMap) { + JSONArray tenantOrgTreeList = getTenantOrgTreeList(paramMap); + List rtList = new ArrayList<>(); + if (CollUtil.isEmpty(tenantOrgTreeList)) { + return null; + } + for (int i = 0; i < tenantOrgTreeList.size(); i++) { + JSONObject jo = tenantOrgTreeList.getJSONObject(i); + recursionTreeToList(rtList, jo); + } + return rtList; + } + + /** + * 递归把传过来的tree转为list + * + * @param result 结果集 + * @param root 当前对象 + */ + private void recursionTreeToList(List result, JSONObject root) { + GetOrgSnListVo vo = new GetOrgSnListVo(); + vo.setSn(root.getString("sn")); + String projectSn = root.getString("projectSn"); + if (StringUtils.isNotBlank(projectSn)) { + //项目 + vo.setIsProjectSn(true); + } else { + //企业 + vo.setIsProjectSn(false); + } + result.add(vo); + if (org.springframework.util.CollectionUtils.isEmpty(root.getJSONArray("list"))) { + vo.setHasSubList(false); + return; + } + vo.setHasSubList(true); + JSONArray subList = root.getJSONArray("list"); + for (int i = 0; i < subList.size(); i++) { + JSONObject jo = subList.getJSONObject(i); + this.recursionTreeToList(result, jo); + } } @Override