From 0cc0168ad6139455061bbfd9d8af08459b359aac Mon Sep 17 00:00:00 2001 From: wangpengfei <1928057482@qq.com> Date: Tue, 13 Aug 2024 15:56:48 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../portal/apiadmin/SysOrganizationRest.java | 12 +- .../biz/sysorganization/SysOrganization.java | 2 + .../sysorganization/SysOrganizationMapper.xml | 12 +- .../SysOrganizationService.java | 20 +++ .../biz/sysstaffinfo/SysStaffinfoMapper.xml | 2 + .../biz/sysstaffinfo/SysStaffinfoService.java | 54 ++++-- .../portal/biz/sysstafforg/SysStaffOrg.java | 2 +- .../yxt/portal/biz/sysuser/SysUserMapper.java | 2 +- .../yxt/portal/biz/sysuser/SysUserMapper.xml | 163 +++++++++--------- .../portal/biz/sysuser/SysUserService.java | 2 +- 10 files changed, 167 insertions(+), 104 deletions(-) diff --git a/src/main/java/com/yxt/portal/apiadmin/SysOrganizationRest.java b/src/main/java/com/yxt/portal/apiadmin/SysOrganizationRest.java index f7d2eae..38906c9 100644 --- a/src/main/java/com/yxt/portal/apiadmin/SysOrganizationRest.java +++ b/src/main/java/com/yxt/portal/apiadmin/SysOrganizationRest.java @@ -1,6 +1,7 @@ package com.yxt.portal.apiadmin; import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.yxt.common.base.config.RedisUtil; import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.utils.QRCodeUtil; @@ -140,10 +141,15 @@ public class SysOrganizationRest{ //删除关联关系中的所有主管与分管的人员关系 sysStaffOrgService.delZGAndFGByOrgSid(sid); if (StringUtils.isNotBlank(zgStaffSid)) { - ResultBean resultBean = sysOrganizationService.addSysStaffOrg(zgStaffSid, "1", sysOrganization); + ResultBean resultBean = sysOrganizationService.addSysZg(zgStaffSid, sysOrganization); if (!resultBean.getSuccess()) { return rb.setMsg(resultBean.getMsg()); } + }else{ + SysOrganization sysOrg =sysOrganizationService.getOne(new QueryWrapper().eq("sid",sid)); + sysOrg.setManagerSid(""); + sysOrg.setManagerName(""); + sysOrganizationService.updateById(sysOrg); } if (StringUtils.isNotBlank(fgStaffSid)) { ResultBean resultBean = sysOrganizationService.addSysStaffOrg(fgStaffSid, "2", sysOrganization); @@ -258,8 +264,8 @@ public class SysOrganizationRest{ BeanUtil.copyProperties(entity, vo); vo.setFgNames(fgNames); vo.setFgStaffSid(fgSids); - vo.setZgNames(zgNames); - vo.setZgStaffSid(zgSids); + vo.setZgNames(entity.getManagerName()); + vo.setZgStaffSid(entity.getManagerSid()); return rb.success().setData(vo); } diff --git a/src/main/java/com/yxt/portal/biz/sysorganization/SysOrganization.java b/src/main/java/com/yxt/portal/biz/sysorganization/SysOrganization.java index cd0e66b..4781042 100644 --- a/src/main/java/com/yxt/portal/biz/sysorganization/SysOrganization.java +++ b/src/main/java/com/yxt/portal/biz/sysorganization/SysOrganization.java @@ -84,4 +84,6 @@ public class SysOrganization extends BaseEntity { @ApiModelProperty("其他编码") private String otherCode; + private String managerSid;//主管sid + private String managerName;//主管人员姓名 } diff --git a/src/main/java/com/yxt/portal/biz/sysorganization/SysOrganizationMapper.xml b/src/main/java/com/yxt/portal/biz/sysorganization/SysOrganizationMapper.xml index 398b002..c6c31f1 100644 --- a/src/main/java/com/yxt/portal/biz/sysorganization/SysOrganizationMapper.xml +++ b/src/main/java/com/yxt/portal/biz/sysorganization/SysOrganizationMapper.xml @@ -5,16 +5,8 @@ SELECT DISTINCT ss.sid, ss.name FROM sys_staffinfo ss + left join sys_user s on s.staffSid =ss.sid LEFT JOIN sys_staff_org sso left join sys_organization o on o.sid =sso.orgSid ON ss.`sid` = sso.`staffSid` @@ -216,6 +217,7 @@ SELECT DISTINCT ss.sid, ss.name FROM sys_staffinfo ss + left join sys_user s on s.staffSid =ss.sid LEFT JOIN sys_staff_org sso ON ss.`sid` = sso.`staffSid` ${ew.customSqlSegment} diff --git a/src/main/java/com/yxt/portal/biz/sysstaffinfo/SysStaffinfoService.java b/src/main/java/com/yxt/portal/biz/sysstaffinfo/SysStaffinfoService.java index 743e370..f0e144c 100644 --- a/src/main/java/com/yxt/portal/biz/sysstaffinfo/SysStaffinfoService.java +++ b/src/main/java/com/yxt/portal/biz/sysstaffinfo/SysStaffinfoService.java @@ -730,9 +730,36 @@ public class SysStaffinfoService extends MybatisBaseService().eq("staffSid",sid)); + List d =sysUserRoleService.list(new QueryWrapper().eq("userSid",sysUser.getSid()).eq("orgSid",dto.getOrgSid())); + for (SysUserRole sysUserRole : d) { + if(sysUserRole.getRoleSid().equals("002")){ + return rb.setMsg("单位管理员不能被修改"); + } + } + SysOrganization sysOrgan=sysOrganizationService.getOne(new QueryWrapper().eq("sid",dto.getSysStaffOrg().getOrgSid()).eq("managerSid",sid)); + if(null!=sysOrgan){ + sysOrgan.setManagerName(""); + sysOrgan.setManagerSid(""); + sysOrganizationService.updateById(sysOrgan); + } + SysStaffOrg sysStaffOrgs=sysStaffOrgService.getOne(new QueryWrapper().eq("staffSid",sid).eq("manageType","2").eq("orgSid",dto.getSysStaffOrg().getOrgSid()));//查询该人员的组织机构list + if(null!=sysStaffOrgs){ + sysStaffOrgs.setManageType("3"); + sysStaffOrgService.updateById(sysStaffOrgs); + } + SysOrganization sysOrg=sysOrganizationService.getOne(new QueryWrapper().eq("sid",dto.getSysStaffOrg().getOrgSid())); + if(dto.getSysStaffOrg().getManageType().equals("1")){ + sysOrg.setManagerSid(sid); + sysOrg.setManagerName(dto.getName()); + sysOrganizationService.updateById(sysOrg); + }else if (dto.getSysStaffOrg().getManageType().equals("3")){ + sysOrg.setManagerSid(""); + sysOrg.setManagerName(""); + sysOrganizationService.updateById(sysOrg); + } List sysStaffOrgVos = sysStaffOrgService.selectByStaffS(sid); List orgList = new ArrayList<>(); if (sysStaffOrgVos.size() > 0) { @@ -766,7 +793,7 @@ public class SysStaffinfoService extends MybatisBaseService().eq("staffSid",sid)); +// SysUser sysUser=sysUserService.getOne(new QueryWrapper().eq("staffSid",sid)); sysUser.setAccountType(dto.getAccountType()); sysUser.setUserType(dto.getUserType()); sysUser.setRemarks(dto.getRemarks()); @@ -779,8 +806,8 @@ public class SysStaffinfoService extends MybatisBaseService().eq("sid",orgSid1)); + if(StringUtils.isNotBlank(s.getManagerSid())){ + if(s.getManagerSid().equals(sysUser.getStaffSid())){ + sysStaffOrgDetailsVo.setManageType("1"); + } + } s.setOrgSidPath(s.getOrgSidPath()+"/"); String b[]=s.getOrgSidPath().split("/"); List list=sysUserRoleService.selByUserSid(sysUser.getSid(),b[0]); @@ -926,6 +958,7 @@ public class SysStaffinfoService extends MybatisBaseService> getStaffName(String staffName,String deptSid) { + QueryWrapper> qw = new QueryWrapper<>(); SysOrganization sysOrganization=sysOrganizationService.getOne(new QueryWrapper().eq("sid",deptSid)); sysOrganization.setOrgSidPath(sysOrganization.getOrgSidPath()+"/"); @@ -933,11 +966,12 @@ public class SysStaffinfoService extends MybatisBaseService> maps =baseMapper.getStaffName(qw).stream().filter(s->!s.get("name").equals("单位管理员")).collect(toList()); + return maps; } public List> getStaffNameByDeptSid(String staffName, String deptSid) { @@ -946,8 +980,8 @@ public class SysStaffinfoService extends MybatisBaseService { //@Update("update sys_user set name=#{msg} where id=#{id}") //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); - IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper ew, @Param("orgName") String orgName, @Param("userName") String userName); + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper ew, @Param("orgName") String orgName, @Param("userName") String userName,@Param("orgSid") String orgSid); List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); diff --git a/src/main/java/com/yxt/portal/biz/sysuser/SysUserMapper.xml b/src/main/java/com/yxt/portal/biz/sysuser/SysUserMapper.xml index 52c1212..8717403 100644 --- a/src/main/java/com/yxt/portal/biz/sysuser/SysUserMapper.xml +++ b/src/main/java/com/yxt/portal/biz/sysuser/SysUserMapper.xml @@ -5,66 +5,75 @@ @@ -279,11 +285,11 @@ @@ -321,7 +327,7 @@ select distinct si.name, su.sid, su.staffSid, so.orgSidPath from sys_user_role sr - left join sys_user su on sr.userSid = su.sid - left join sys_staffinfo si on si.sid = su.staffSid - left join sys_staff_org so on so.staffSid = si.sid + left join sys_user su on sr.userSid = su.sid + left join sys_staffinfo si on si.sid = su.staffSid + left join sys_staff_org so on so.staffSid = si.sid where sr.roleSid = #{roleSid} - and find_in_set(#{levelOrgSid}, replace(so.orgSidPath, '/', ',')) - AND so.`manageType` = 3 - and su.sid in + and find_in_set(#{levelOrgSid}, replace(so.orgSidPath, '/', ',')) + AND so.`manageType` = 3 + and su.sid in #{item} @@ -373,13 +379,13 @@ select su.sid from sys_user su - left join sys_staffinfo si on su.staffSid = si.sid where su.staffSid in + left join sys_staffinfo si on su.staffSid = si.sid where su.staffSid in #{item} @@ -416,6 +422,7 @@ select su.token from sys_staffinfo si left join sys_user su on su.staffSid = si.sid - where si.personTypeKey = '01' and length(su.token)>0 + where si.personTypeKey = '01' + and length(su.token) > 0 \ No newline at end of file diff --git a/src/main/java/com/yxt/portal/biz/sysuser/SysUserService.java b/src/main/java/com/yxt/portal/biz/sysuser/SysUserService.java index 8e3208a..8f6dbed 100644 --- a/src/main/java/com/yxt/portal/biz/sysuser/SysUserService.java +++ b/src/main/java/com/yxt/portal/biz/sysuser/SysUserService.java @@ -161,7 +161,7 @@ public class SysUserService extends MybatisBaseService { userName = query.getUserName().trim(); } - IPage pagging = baseMapper.selectPageVo(page, qw, deptName, userName); + IPage pagging = baseMapper.selectPageVo(page, qw, deptName, userName,"%"+query.getOrgSid()+"%"); List records = pagging.getRecords(); for (SysUserVo record : records) { SysOrganization d =sysOrganizationService.getOne(new QueryWrapper().eq("sid",record.getOrgSid()));