Browse Source

添加协同办公oa获取组织机构的树形

master
dimengzhe 3 months ago
parent
commit
b3870144f5
  1. 3
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java
  2. 26
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/OaSysOrganizationVo.java
  3. 6
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/SysOrganizationFeign.java
  4. 5
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/SysOrganizationFeignFallback.java
  5. 6
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationMapper.java
  6. 66
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationMapper.xml
  7. 52
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationRest.java
  8. 44
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationService.java

3
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java

@ -400,6 +400,9 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
flowTask1.setCreateTime(comment.getTime()); flowTask1.setCreateTime(comment.getTime());
flowTask1.setTaskUserInfos(ll); flowTask1.setTaskUserInfos(ll);
flowTask1.setComment(build); flowTask1.setComment(build);
flowTask1.setProcDefId(flowTask.getProcDefId());
flowTask1.setProcVars(flowTask.getProcVars());
flowTask1.setTaskDefKey(histIns.getActivityId());
hisFlowList.add(flowTask1); hisFlowList.add(flowTask1);
} else { } else {
flowTask.setComment(build); flowTask.setComment(build);

26
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/OaSysOrganizationVo.java

@ -0,0 +1,26 @@
package com.yxt.anrui.portal.api.sysorganization;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2025/1/15
**/
@Data
public class OaSysOrganizationVo {
@ApiModelProperty("部门/组织sid")
private String sid;
@ApiModelProperty("部门/组织名称|员工姓名")
private String name;
@ApiModelProperty("组织全路径")
private String orgSidPath;
@ApiModelProperty("部门所在路径(机构名称,不包含集团,取第一个/后的所有)")
private String orgNamePath;
}

6
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/SysOrganizationFeign.java

@ -105,6 +105,12 @@ public interface SysOrganizationFeign {
@GetMapping("/selectAppOrganization") @GetMapping("/selectAppOrganization")
public ResultBean<Map<String, Object>> selectAppOrganization(@RequestParam(value = "sid", required = false) String sid); public ResultBean<Map<String, Object>> selectAppOrganization(@RequestParam(value = "sid", required = false) String sid);
@ApiOperation("手机OA获取组织架构")
@ResponseBody
@GetMapping("/selectAppOrganization2")
public ResultBean<Map<String, Object>> selectAppOrganization2(@RequestParam(value = "sid", required = false) String sid);
@ApiOperation("组织架构") @ApiOperation("组织架构")
@ResponseBody @ResponseBody
@GetMapping("/selectListOrg") @GetMapping("/selectListOrg")

5
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/SysOrganizationFeignFallback.java

@ -117,6 +117,11 @@ public class SysOrganizationFeignFallback implements SysOrganizationFeign {
return ResultBean.fireFail().setMsg("接口anrui_portal/sysorganization/selectAppOrganization无法访问"); return ResultBean.fireFail().setMsg("接口anrui_portal/sysorganization/selectAppOrganization无法访问");
} }
@Override
public ResultBean<Map<String, Object>> selectAppOrganization2(String sid) {
return null;
}
@Override @Override
public ResultBean<List<SysOrgVo>> selectListOrg() { public ResultBean<List<SysOrgVo>> selectListOrg() {
return null; return null;

6
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationMapper.java

@ -50,8 +50,12 @@ public interface SysOrganizationMapper extends BaseMapper<SysOrganization> {
List<AppContactSysOrganizationVo> selectAppOrganization(); List<AppContactSysOrganizationVo> selectAppOrganization();
List<OaSysOrganizationVo> selectAppOrganization2();
List<AppContactSysOrganizationVo> selectAppOrganizationByPsid(@Param("psid") String psid); List<AppContactSysOrganizationVo> selectAppOrganizationByPsid(@Param("psid") String psid);
List<OaSysOrganizationVo> selectAppOrganizationByPsid2(@Param("psid") String psid);
List<SysOrgVo> treeList(String psid); List<SysOrgVo> treeList(String psid);
SysOrganization selectOrgCode(); SysOrganization selectOrgCode();
@ -134,7 +138,7 @@ public interface SysOrganizationMapper extends BaseMapper<SysOrganization> {
List<SysOrganizationVo> tranTwo(String sid); List<SysOrganizationVo> tranTwo(String sid);
List<SysOrganizationVo> tranThree(@Param("sid") String sid,@Param("deptSid") String deptSid); List<SysOrganizationVo> tranThree(@Param("sid") String sid, @Param("deptSid") String deptSid);
List<SysOrganizationVo> tranfour(String sid); List<SysOrganizationVo> tranfour(String sid);

66
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationMapper.xml

@ -77,6 +77,15 @@
WHERE org.psid = (SELECT sid FROM sys_organization WHERE psid = '0') WHERE org.psid = (SELECT sid FROM sys_organization WHERE psid = '0')
</select> </select>
<select id="selectAppOrganization2"
resultType="com.yxt.anrui.portal.api.sysorganization.OaSysOrganizationVo">
SELECT sid,
name,
IF((SELECT count(1) FROM sys_organization WHERE psid = org.sid) = 0, org.orgSidPath, '') orgSidPath
FROM sys_organization org
WHERE org.psid = (SELECT sid FROM sys_organization WHERE psid = '0')
</select>
<select id="selectAppOrganizationByPsid" <select id="selectAppOrganizationByPsid"
resultType="com.yxt.anrui.portal.api.sysorganization.AppContactSysOrganizationVo"> resultType="com.yxt.anrui.portal.api.sysorganization.AppContactSysOrganizationVo">
SELECT org.sid, SELECT org.sid,
@ -87,6 +96,15 @@
WHERE org.psid = #{psid} WHERE org.psid = #{psid}
</select> </select>
<select id="selectAppOrganizationByPsid2"
resultType="com.yxt.anrui.portal.api.sysorganization.OaSysOrganizationVo">
SELECT org.sid,
org.name,
IF((SELECT count(1) FROM sys_organization WHERE psid = org.sid) = 0, org.orgSidPath, '') orgSidPath
FROM sys_organization org
WHERE org.psid = #{psid}
</select>
<select id="treeList" resultType="com.yxt.anrui.portal.api.sysorganization.SysOrgVo"> <select id="treeList" resultType="com.yxt.anrui.portal.api.sysorganization.SysOrgVo">
SELECT so.name, so.psid, so.id, so.sid, so.orgSidPath, so.orgCode SELECT so.name, so.psid, so.id, so.sid, so.orgSidPath, so.orgCode
FROM sys_organization so FROM sys_organization so
@ -108,7 +126,8 @@
<select id="selectOrgCodeByPsid" resultType="com.yxt.anrui.portal.api.sysorganization.SysOrganization"> <select id="selectOrgCodeByPsid" resultType="com.yxt.anrui.portal.api.sysorganization.SysOrganization">
SELECT * SELECT *
FROM sys_organization LIMIT 0,1 FROM sys_organization
LIMIT 0,1
</select> </select>
<select id="selectTreeList" resultType="com.yxt.anrui.portal.api.sysorganization.SysOrgListVo"> <select id="selectTreeList" resultType="com.yxt.anrui.portal.api.sysorganization.SysOrgListVo">
@ -189,8 +208,8 @@
<select id="selectByOrgDeptSid" resultType="com.yxt.anrui.portal.api.sysorganization.SysOrgStaffVo"> <select id="selectByOrgDeptSid" resultType="com.yxt.anrui.portal.api.sysorganization.SysOrgStaffVo">
select distinct si.name staffName, si.sid staffSid, su.sid userSid select distinct si.name staffName, si.sid staffSid, su.sid userSid
from sys_staff_org so from sys_staff_org so
left join sys_staffinfo si on so.staffSid = si.sid left join sys_staffinfo si on so.staffSid = si.sid
left join sys_user su on su.staffSid = si.sid left join sys_user su on su.staffSid = si.sid
where so.orgSid = #{orgDeptSid} where so.orgSid = #{orgDeptSid}
and si.personTypeKey != '01' and si.personTypeKey != '01'
</select> </select>
@ -198,8 +217,8 @@
<select id="selectByOrgDeptSid2" resultType="com.yxt.anrui.portal.api.sysorganization.SysOrgStaffVo"> <select id="selectByOrgDeptSid2" resultType="com.yxt.anrui.portal.api.sysorganization.SysOrgStaffVo">
select distinct si.name staffName, si.sid staffSid, su.sid userSid select distinct si.name staffName, si.sid staffSid, su.sid userSid
from sys_staff_org so from sys_staff_org so
left join sys_staffinfo si on so.staffSid = si.sid left join sys_staffinfo si on so.staffSid = si.sid
left join sys_user su on su.staffSid = si.sid left join sys_user su on su.staffSid = si.sid
where so.orgSid = #{orgDeptSid} where so.orgSid = #{orgDeptSid}
</select> </select>
@ -256,9 +275,9 @@
SELECT * SELECT *
FROM sys_organization FROM sys_organization
WHERE ( WHERE (
orgAttributeKey = 'fwz_002' orgAttributeKey = 'fwz_002'
OR orgAttributeKey = 'fwz_003' OR orgAttributeKey = 'fwz_003'
) )
AND psid = #{sid} AND psid = #{sid}
</select> </select>
@ -267,15 +286,15 @@
FROM sys_organization FROM sys_organization
WHERE orgAttributeKey = 'fwz_001' WHERE orgAttributeKey = 'fwz_001'
AND ( AND (
psid = psid =
(SELECT psid (SELECT psid
FROM sys_organization FROM sys_organization
WHERE sid = #{sid}) WHERE sid = #{sid})
OR sid = OR sid =
(SELECT psid (SELECT psid
FROM sys_organization FROM sys_organization
WHERE sid = #{sid}) WHERE sid = #{sid})
) )
AND sid != #{sid} AND sid != #{sid}
</select> </select>
@ -285,7 +304,7 @@
WHERE orgAttributeKey = 'fwz_001' WHERE orgAttributeKey = 'fwz_001'
AND sid != #{deptSid} AND sid != #{deptSid}
AND (psid = #{sid} AND (psid = #{sid}
OR sid = #{sid}) OR sid = #{sid})
</select> </select>
<select id="tranfour" resultType="com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo"> <select id="tranfour" resultType="com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo">
@ -299,9 +318,9 @@
SELECT * SELECT *
FROM sys_organization FROM sys_organization
WHERE ( WHERE (
orgAttributeKey = 'fwz_002' orgAttributeKey = 'fwz_002'
OR orgAttributeKey = 'fwz_003' OR orgAttributeKey = 'fwz_003'
) )
AND psid = AND psid =
(SELECT psid (SELECT psid
FROM sys_organization FROM sys_organization
@ -316,9 +335,8 @@
AND psid = #{sid} AND psid = #{sid}
</select> </select>
<select id="selectStaffListByUseOrgSid" resultType="com.yxt.anrui.portal.api.sysorganization.SysFinanceVo"> <select id="selectStaffListByUseOrgSid" resultType="com.yxt.anrui.portal.api.sysorganization.SysFinanceVo">
SELECT DISTINCT SELECT DISTINCT u.sid userSid,
u.sid userSid, s.`name`
s.`name`
FROM sys_user as u FROM sys_user as u
LEFT JOIN sys_user_role as ur ON u.sid = ur.userSid LEFT JOIN sys_user_role as ur ON u.sid = ur.userSid
LEFT JOIN sys_staffinfo as s ON u.staffSid = s.sid LEFT JOIN sys_staffinfo as s ON u.staffSid = s.sid

52
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationRest.java

@ -121,8 +121,8 @@ public class SysOrganizationRest implements SysOrganizationFeign {
} }
@Override @Override
public ResultBean<List<SysOrganizationVo>> tranThree(String sid,String deptSid) { public ResultBean<List<SysOrganizationVo>> tranThree(String sid, String deptSid) {
return new ResultBean<List<SysOrganizationVo>>().success().setData(sysOrganizationService.tranThree(sid,deptSid)); return new ResultBean<List<SysOrganizationVo>>().success().setData(sysOrganizationService.tranThree(sid, deptSid));
} }
@Override @Override
@ -151,12 +151,12 @@ public class SysOrganizationRest implements SysOrganizationFeign {
String zgStaffSid = dto.getZgStaffSid(); String zgStaffSid = dto.getZgStaffSid();
//分管人员的sid //分管人员的sid
String fgStaffSid = dto.getFgStaffSid(); String fgStaffSid = dto.getFgStaffSid();
if(StringUtils.isNotBlank(zgStaffSid)){ if (StringUtils.isNotBlank(zgStaffSid)) {
SysStaffinfo sysStaffinfo = sysStaffInfoService.fetchBySid(zgStaffSid); SysStaffinfo sysStaffinfo = sysStaffInfoService.fetchBySid(zgStaffSid);
sysOrganization.setManagerName(sysStaffinfo.getName()); sysOrganization.setManagerName(sysStaffinfo.getName());
SysUserVo sysUser = sysUserService.selectByStaffsid(zgStaffSid); SysUserVo sysUser = sysUserService.selectByStaffsid(zgStaffSid);
sysOrganization.setManagerSid(sysUser.getSid()); sysOrganization.setManagerSid(sysUser.getSid());
}else{ } else {
sysOrganization.setManagerName(""); sysOrganization.setManagerName("");
sysOrganization.setManagerSid(""); sysOrganization.setManagerSid("");
} }
@ -169,9 +169,9 @@ public class SysOrganizationRest implements SysOrganizationFeign {
} }
} }
//查询所有该orgSid的staffSid的类型为员工的 //查询所有该orgSid的staffSid的类型为员工的
List<SysStaffOrg> staffList = sysStaffOrgService.selectStaffByOrgSid(sid,"3"); List<SysStaffOrg> staffList = sysStaffOrgService.selectStaffByOrgSid(sid, "3");
staffList.removeAll(Collections.singleton(null)); staffList.removeAll(Collections.singleton(null));
if(!staffList.isEmpty()){ if (!staffList.isEmpty()) {
//更新关联表中的orgName和orgNamePath以及orgSidPath //更新关联表中的orgName和orgNamePath以及orgSidPath
//查询该部门的全部信息 //查询该部门的全部信息
ResultBean resultBean = sysOrganizationService.updateStaffList(sysOrganization); ResultBean resultBean = sysOrganizationService.updateStaffList(sysOrganization);
@ -198,15 +198,15 @@ public class SysOrganizationRest implements SysOrganizationFeign {
//查询分管人员 //查询分管人员
List<String> stringList1 = new ArrayList<>(); List<String> stringList1 = new ArrayList<>();
List<String> reduce1 = new ArrayList<>(); List<String> reduce1 = new ArrayList<>();
if(StringUtils.isNotBlank(fgStaffSid)){ if (StringUtils.isNotBlank(fgStaffSid)) {
stringList1 = Arrays.asList(fgStaffSid.split(",")); stringList1 = Arrays.asList(fgStaffSid.split(","));
reduce1 = stringList1.stream().filter(item -> !stringList.contains(item)).collect(toList()); reduce1 = stringList1.stream().filter(item -> !stringList.contains(item)).collect(toList());
}else{ } else {
reduce1 = stringList; reduce1 = stringList;
} }
String orgSid1 = sysStaffOrgService.getOrgByOrgSid(sid); String orgSid1 = sysStaffOrgService.getOrgByOrgSid(sid);
if(reduce1.size()>0){ if (reduce1.size() > 0) {
for (String s : reduce1){ for (String s : reduce1) {
//查询该人员的组织机构list //查询该人员的组织机构list
List<SysStaffOrgVo> sysStaffOrgVos = sysStaffOrgService.selectByStaffS(s); List<SysStaffOrgVo> sysStaffOrgVos = sysStaffOrgService.selectByStaffS(s);
List<String> orgList = new ArrayList<>(); List<String> orgList = new ArrayList<>();
@ -221,10 +221,10 @@ public class SysOrganizationRest implements SysOrganizationFeign {
} }
} }
} }
if(!orgList.contains(orgSid1)){ if (!orgList.contains(orgSid1)) {
//根据staffSid查询token //根据staffSid查询token
String token = sysUserService.selectByStaffsid(s).getToken(); String token = sysUserService.selectByStaffsid(s).getToken();
if(StringUtils.isNotBlank(token)){ if (StringUtils.isNotBlank(token)) {
//清空该token //清空该token
redisUtil.remove(token); redisUtil.remove(token);
} }
@ -293,7 +293,7 @@ public class SysOrganizationRest implements SysOrganizationFeign {
vo.setFgStaffSid(fgSids); vo.setFgStaffSid(fgSids);
SysUser sysUser = sysUserService.fetchBySid(entity.getManagerSid()); SysUser sysUser = sysUserService.fetchBySid(entity.getManagerSid());
if(sysUser != null){ if (sysUser != null) {
vo.setZgStaffSid(sysUser.getStaffSid()); vo.setZgStaffSid(sysUser.getStaffSid());
vo.setZgNames(entity.getManagerName()); vo.setZgNames(entity.getManagerName());
} }
@ -319,6 +319,22 @@ public class SysOrganizationRest implements SysOrganizationFeign {
return new ResultBean<Map<String, Object>>().success().setData(map); return new ResultBean<Map<String, Object>>().success().setData(map);
} }
@Override
public ResultBean<Map<String, Object>> selectAppOrganization2(String sid) {
Map<String, Object> map = new HashMap<>();
List<Map<String, Object>> nameList = sysOrganizationService.selectOrgNameList(sid);
List<OaSysOrganizationVo> list = null;
if (StringUtils.isBlank(sid)) { // 组织架构
list = sysOrganizationService.selectAppOrganization2();
} else { // 组织架构子集
list = sysOrganizationService.selectAppOrganizationSub2(sid);
}
map.put("nameList", nameList);
map.put("list", list);
return new ResultBean<Map<String, Object>>().success().setData(map);
}
@Override @Override
public ResultBean<List<SysOrgVo>> selectListOrg() { public ResultBean<List<SysOrgVo>> selectListOrg() {
ResultBean<List<SysOrgVo>> rb = ResultBean.fireFail(); ResultBean<List<SysOrgVo>> rb = ResultBean.fireFail();
@ -340,12 +356,12 @@ public class SysOrganizationRest implements SysOrganizationFeign {
@Override @Override
public ResultBean<List<SysOrgVo>> getListOrgByBrandSid(String orgSid, String brandSid) { public ResultBean<List<SysOrgVo>> getListOrgByBrandSid(String orgSid, String brandSid) {
return sysOrganizationService.getListOrgByBrandSid(orgSid,brandSid); return sysOrganizationService.getListOrgByBrandSid(orgSid, brandSid);
} }
@Override @Override
public ResultBean<List<SysOrgVo>> getListOrgByBrandSidNo(String orgSid, String brandSid) { public ResultBean<List<SysOrgVo>> getListOrgByBrandSidNo(String orgSid, String brandSid) {
return sysOrganizationService.getListOrgByBrandSidNo(orgSid,brandSid); return sysOrganizationService.getListOrgByBrandSidNo(orgSid, brandSid);
} }
@Override @Override
@ -451,7 +467,7 @@ public class SysOrganizationRest implements SysOrganizationFeign {
@Override @Override
public ResultBean<SysOrganizationVo> selectByPSid(String sid, String name) { public ResultBean<SysOrganizationVo> selectByPSid(String sid, String name) {
return sysOrganizationService.selectByPSid(sid,name); return sysOrganizationService.selectByPSid(sid, name);
} }
@Override @Override
@ -482,7 +498,7 @@ public class SysOrganizationRest implements SysOrganizationFeign {
public ResultBean<List<SysFinanceVo>> selectFinance(String orgPath, String userSid) { public ResultBean<List<SysFinanceVo>> selectFinance(String orgPath, String userSid) {
ResultBean<List<SysFinanceVo>> rb = ResultBean.fireFail(); ResultBean<List<SysFinanceVo>> rb = ResultBean.fireFail();
String useOrgSid = sysStaffOrgService.getOrgSidByPath(orgPath).getData(); String useOrgSid = sysStaffOrgService.getOrgSidByPath(orgPath).getData();
List<SysFinanceVo> list = sysOrganizationService.selectBy("金融服务部",useOrgSid); List<SysFinanceVo> list = sysOrganizationService.selectBy("金融服务部", useOrgSid);
list.removeAll(Collections.singleton(null)); list.removeAll(Collections.singleton(null));
list = list.stream().filter(v -> StringUtils.isNotBlank(v.getUserSid())).collect(toList()); list = list.stream().filter(v -> StringUtils.isNotBlank(v.getUserSid())).collect(toList());
return rb.success().setData(list); return rb.success().setData(list);
@ -496,7 +512,7 @@ public class SysOrganizationRest implements SysOrganizationFeign {
@Override @Override
public ResultBean<List<SysOrganization>> selectByOrgCodeAndPsid(String orgCode, String pSid) { public ResultBean<List<SysOrganization>> selectByOrgCodeAndPsid(String orgCode, String pSid) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
List<SysOrganization> sysOrganization = sysOrganizationService.selectByOrgCodeAndPsid(orgCode,pSid); List<SysOrganization> sysOrganization = sysOrganizationService.selectByOrgCodeAndPsid(orgCode, pSid);
return rb.success().setData(sysOrganization); return rb.success().setData(sysOrganization);
} }

44
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationService.java

@ -31,6 +31,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.*; import java.util.*;
import java.util.concurrent.atomic.AtomicReference;
import static java.util.stream.Collectors.toList; import static java.util.stream.Collectors.toList;
@ -347,6 +348,26 @@ public class SysOrganizationService extends MybatisBaseService<SysOrganizationMa
return list; return list;
} }
public List<OaSysOrganizationVo> selectAppOrganization2() {
List<OaSysOrganizationVo> list = baseMapper.selectAppOrganization2();
list.stream().forEach(vo -> {
if (StringUtils.isNotBlank(vo.getOrgSidPath())) {
String orgNamePath = "";
String result = vo.getOrgSidPath().split("/", 2)[1];
List<String> orgList = Arrays.asList(result.split("/"));
for (int i = 0; i < orgList.size(); i++) {
String name = fetchBySid(orgList.get(i)).getName();
orgNamePath = orgNamePath + name;
if (i != orgList.size() - 1) {
orgNamePath = orgNamePath + "/";
}
}
vo.setOrgNamePath(orgNamePath);
}
});
return list;
}
public List<AppContactSysOrganizationVo> selectAppOrganizationSub(String psid) { public List<AppContactSysOrganizationVo> selectAppOrganizationSub(String psid) {
List<AppContactSysOrganizationVo> list = baseMapper.selectAppOrganizationByPsid(psid); List<AppContactSysOrganizationVo> list = baseMapper.selectAppOrganizationByPsid(psid);
list.stream().forEach(vo -> { list.stream().forEach(vo -> {
@ -357,6 +378,29 @@ public class SysOrganizationService extends MybatisBaseService<SysOrganizationMa
return list; return list;
} }
public List<OaSysOrganizationVo> selectAppOrganizationSub2(String psid) {
List<OaSysOrganizationVo> list = baseMapper.selectAppOrganizationByPsid2(psid);
list.stream().forEach(vo -> {
if (StringUtils.isNotBlank(vo.getOrgSidPath())) {
// 使用 StringBuilder 进行字符串拼接
StringBuilder orgNamePath = new StringBuilder();
String result = vo.getOrgSidPath().split("/", 2)[1];
List<String> orgList = Arrays.asList(result.split("/"));
// 遍历组织ID列表,拼接名称路径
for (int i = 0; i < orgList.size(); i++) {
String name = fetchBySid(orgList.get(i)).getName();
orgNamePath.append(name);
if (i != orgList.size() - 1) {
orgNamePath.append("/");
}
}
// 设置生成的组织名称路径
vo.setOrgNamePath(orgNamePath.toString());
}
});
return list;
}
/** /**
* @param * @param
* @description: 获取组织架构即使用组织下拉框 * @description: 获取组织架构即使用组织下拉框

Loading…
Cancel
Save