diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserVo.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserVo.java index dd7ddae285..df03f08fe6 100644 --- a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserVo.java +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserVo.java @@ -2,6 +2,7 @@ package com.yxt.anrui.portal.api.sysuser; import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.anrui.portal.api.sysuser.app.OrgList; import com.yxt.common.core.vo.Vo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -80,4 +81,8 @@ public class SysUserVo implements Vo { private String token; @ApiModelProperty(value = "角色sids") private List roleSids = new ArrayList<>(); + + private List orgList = new ArrayList<>(); + private String defaultOrgPath; + private String defaultOrgPathName; } diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/app/OrgList.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/app/OrgList.java new file mode 100644 index 0000000000..39509c80fe --- /dev/null +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/app/OrgList.java @@ -0,0 +1,17 @@ +package com.yxt.anrui.portal.api.sysuser.app; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/9/21 9:26 + * @Description + */ +@Data +public class OrgList implements Vo { + private static final long serialVersionUID = -2867882982421321776L; + + private String orgName; + private String orgPath; +} diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.java index 89a9592faa..a34444600b 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.java @@ -98,4 +98,6 @@ public interface SysStaffOrgMapper extends BaseMapper { int selectByStaffAndOrg(@Param("sid") String sid, @Param("staffSid") String zgStaffSid, @Param("type") String type); int deleteByStaffSidAndType(@Param("sid") String sid, @Param("staffSid") String zgStaffSid, @Param("type") String type); + + List selectByStaffS(String staffSid); } \ No newline at end of file diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.xml b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.xml index 70cdf21134..7032f68f00 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.xml +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.xml @@ -82,4 +82,10 @@ and manageType = #{type} and orgSidPath = #{sid} + + \ No newline at end of file diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgService.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgService.java index 1711acf2be..75eaa7bed1 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgService.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgService.java @@ -273,4 +273,8 @@ public class SysStaffOrgService extends MybatisBaseService selectByStaffS(String staffSid) { + return baseMapper.selectByStaffS(staffSid); + } } \ No newline at end of file diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java index 792a819089..b0bb9808c7 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java @@ -15,6 +15,7 @@ import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo; import com.yxt.anrui.portal.api.sysstaffpost.SysStaffPostDetailsVo; import com.yxt.anrui.portal.api.sysuser.*; import com.yxt.anrui.portal.api.sysuser.app.AppUserOrgInfoVo; +import com.yxt.anrui.portal.api.sysuser.app.OrgList; import com.yxt.anrui.portal.api.sysuser.wx.WxHomePageVo; import com.yxt.anrui.portal.api.sysuser.wx.WxMySysUserInfoVo; import com.yxt.anrui.portal.api.sysuser.wx.WxSysUserVo; @@ -303,6 +304,7 @@ public class SysUserService extends MybatisBaseService { userInfoOneVo.setRoleName(""); String dwjb = ""; // 系统管理员(没有对应的人员和单位) + //是否是管理员:1管理员,2一般用户,0是超级管理员,3尚无单位人员 if ("0".equals(user.getIsAdmin())) { userInfoOneVo.setName("系统管理员"); userInfoOneVo.setMobile(""); @@ -318,6 +320,7 @@ public class SysUserService extends MybatisBaseService { userInfoOneVo.setStaffSid(staffVo.getSid()); userInfoOneVo.setOrgNamePath(sysStaffOrg.getOrgNamePath()); userInfoOneVo.setOrgSidPath(sysStaffOrg.getOrgSidPath()); + } // 尚无单位人员,没有单位和部门信息 if ("3".equals(user.getIsAdmin())) { @@ -330,18 +333,26 @@ public class SysUserService extends MybatisBaseService { SysStaffPostDetailsVo staffPostDetailsVo = sysStaffPostService.getPostByStaffSid(user.getStaffSid()); userInfoOneVo.setPostSid(staffPostDetailsVo.getPostSid()); userInfoOneVo.setPostName(staffPostDetailsVo.getName()); - if (orgVoList.size() > 0) { // 手机端销售人员用到orgsid,目前按唯一算 + if (orgVoList.size() > 0) { SysStaffOrgVo sysStaffOrgVo = orgVoList.get(0); userInfoOneVo.setDepartmentName(sysStaffOrgVo.getOrgName()); userInfoOneVo.setDepartmentSid(sysStaffOrgVo.getOrgSid()); String psid = sysOrganizationService.fetchBySid(sysStaffOrgVo.getOrgSid()).getPsid(); String name = sysOrganizationService.fetchBySid(psid).getName(); -// userInfoOneVo.setPNameAndDepartmentNameAndPostName(name + "-" + sysStaffOrgVo.getOrgName() + " " + userInfoOneVo.getPostName()); userInfoOneVo.setPNameAndDepartmentNameAndPostName(name + "-" + sysStaffOrgVo.getOrgName()); userInfoOneVo.setOrganizationSid(sysStaffOrgVo.getOrgSid()); userInfoOneVo.setOrganizationName(sysStaffOrgVo.getOrgName()); userInfoOneVo.setOrgNamePath(sysStaffOrg.getOrgNamePath()); userInfoOneVo.setOrgSidPath(sysStaffOrg.getOrgSidPath()); + //根据orgSidPath查询分公司sid===== + String orgSid = sysStaffOrgService.getOrgByOrgSid(sysStaffOrgVo.getOrgSid()); + SysOrganization sysOrganization = sysOrganizationService.fetchBySid(orgSid); + if(sysOrganization != null){ + userInfoOneVo.setDefaultOrgPathName(sysOrganization.getName()); + userInfoOneVo.setDefaultOrgPath(sysStaffOrgVo.getOrgSidPath()); + }else{ + userInfoOneVo.setDefaultOrgPathName("暂无组织机构"); + } } } } @@ -350,6 +361,21 @@ public class SysUserService extends MybatisBaseService { userInfoOneVo.setRoleSids(roleSids); String roleName = sysRoleService.selectByUserSid(user.getSid()); userInfoOneVo.setRoleName(roleName); + List sysStaffOrgVos = sysStaffOrgService.selectByStaffS(user.getStaffSid()); + List orgList = new ArrayList<>(); + if (sysStaffOrgVos.size() > 0) { + for (SysStaffOrgVo vv : sysStaffOrgVos) { + OrgList orgList1 = new OrgList(); + String orgSid = sysStaffOrgService.getOrgByOrgSid(vv.getOrgSid()); + SysOrganization sysOrganization = sysOrganizationService.fetchBySid(orgSid); + if(sysOrganization != null){ + orgList1.setOrgName(sysOrganization.getName()); + orgList1.setOrgPath(vv.getOrgSidPath()); + } + orgList.add(orgList1); + } + } + userInfoOneVo.setOrgList(orgList); return userInfoOneVo; }