| 
					
				 | 
			
			
				@ -237,27 +237,35 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public void edit(SysOrgParam sysOrgParam) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        SysOrg sysOrg = this.querySysOrg(sysOrgParam); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long id = sysOrg.getId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        // 检测此人数据范围能不能操作这个公司 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        boolean superAdmin = LoginContextHolder.me().isSuperAdmin(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (!superAdmin) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<Long> dataScope = sysOrgParam.getDataScope(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //数据范围为空 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (ObjectUtil.isEmpty(dataScope)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                throw new PermissionException(PermissionExceptionEnum.NO_PERMISSION_OPERATE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } else if (!dataScope.contains(id)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                //所操作的数据不在自己的数据范围内 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //数据范围中不包含本公司 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            else if (!dataScope.contains(id)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                throw new PermissionException(PermissionExceptionEnum.NO_PERMISSION_OPERATE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //校验参数,检查是否存在相同的名称和编码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        checkParam(sysOrgParam, true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //如果名称有变化,则修改对应员工的机构相关信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (!sysOrg.getName().equals(sysOrgParam.getName())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sysEmpService.updateEmpOrgInfo(sysOrg.getId(), sysOrg.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        BeanUtil.copyProperties(sysOrgParam, sysOrg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        this.fillPids(sysOrg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //不能修改状态,用修改状态接口修改状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sysOrg.setStatus(null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        this.updateById(sysOrg); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -358,6 +366,7 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String name = sysOrgParam.getName(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String code = sysOrgParam.getCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long pid = sysOrgParam.getPid(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //如果父id不是根节点 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (!pid.equals(0L)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            SysOrg pOrg = this.getById(pid); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -366,6 +375,14 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                throw new ServiceException(SysOrgExceptionEnum.ORG_NOT_EXIST); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        // 如果是编辑,父id和自己的id不能一致 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (isExcludeSelf) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (sysOrgParam.getId().equals(sysOrgParam.getPid())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                throw new ServiceException(SysOrgExceptionEnum.ID_CANT_EQ_PID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        LambdaQueryWrapper<SysOrg> queryWrapperByName = new LambdaQueryWrapper<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        queryWrapperByName.eq(SysOrg::getName, name) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                .ne(SysOrg::getStatus, CommonStatusEnum.DELETED.getCode()); 
			 |