【新增】 Xlsx相关页面方法

This commit is contained in:
dlaren
2025-08-10 02:28:33 +08:00
parent 9907e9aa36
commit a74076a3cc
41 changed files with 1838 additions and 3553 deletions

View File

@@ -12,6 +12,7 @@ import pc.exam.pp.framework.common.util.object.BeanUtils;
import pc.exam.pp.framework.common.util.validation.ValidationUtils;
import pc.exam.pp.framework.datapermission.core.util.DataPermissionUtils;
import pc.exam.pp.framework.security.core.util.SecurityFrameworkUtils;
import pc.exam.pp.framework.tenant.core.context.TenantContextHolder;
import pc.exam.pp.framework.web.core.util.WebFrameworkUtils;
import pc.exam.pp.module.exam.controller.admin.classs.vo.ClassSaveReqVO;
import pc.exam.pp.module.exam.controller.admin.specialty.vo.SpecialtListByUserReqVo;
@@ -30,10 +31,12 @@ import pc.exam.pp.module.system.controller.admin.user.vo.user.*;
import pc.exam.pp.module.system.dal.dataobject.dept.DeptDO;
import pc.exam.pp.module.system.dal.dataobject.dept.UserPostDO;
import pc.exam.pp.module.system.dal.dataobject.tenant.TenantDO;
import pc.exam.pp.module.system.dal.dataobject.tenant.TenantSpcialtyDO;
import pc.exam.pp.module.system.dal.dataobject.user.AdminUserDO;
import pc.exam.pp.module.system.dal.dataobject.user.TeacherClassDO;
import pc.exam.pp.module.system.dal.dataobject.user.TeacherSpecialtyDO;
import pc.exam.pp.module.system.dal.mysql.dept.UserPostMapper;
import pc.exam.pp.module.system.dal.mysql.tenant.TenantSpecialtyMapper;
import pc.exam.pp.module.system.dal.mysql.user.AdminUserMapper;
import pc.exam.pp.module.system.dal.mysql.user.TeacherClassMapper;
import pc.exam.pp.module.system.dal.mysql.user.TeacherSpecialtyMapper;
@@ -108,6 +111,9 @@ public class AdminUserServiceImpl implements AdminUserService {
@Resource
private ExamSpecialtyMapper examSpecialtyMapper;
@Resource
TenantSpecialtyMapper tenantSpecialtyMapper;
@Override
@Transactional(rollbackFor = Exception.class)
@LogRecord(type = SYSTEM_USER_TYPE, subType = SYSTEM_USER_CREATE_SUB_TYPE, bizNo = "{{#user.id}}",
@@ -823,27 +829,62 @@ public class AdminUserServiceImpl implements AdminUserService {
@Override
public List<SpecialtyQueryVo> getListByUser() {
Long userId = WebFrameworkUtils.getLoginUserId();
// 获取考点ID
Long tenantId = TenantContextHolder.getTenantId();
AdminUserDO adminUserDO = getUser(userId);
List<SpecialtyQueryVo> specialtyQueryVos = new ArrayList<>();
// 判断用户类型 管理员所有专业
if (adminUserDO.getUserType().equals("0")) {
// 查询所有专业数据
specialtyQueryVos = examSpecialtyMapper.selectExamSpecialtyAll();
} else {
// 判断专业是否为空,为空的话查询所有
if (adminUserDO.getSpecialtyIds() == null) {
// 查询所有数据
// 判断是否是中心服务器,如果是中心服务器的话直接返回所有,如果不是查询对应的授权数据
if (tenantId == 1) {
// 判断用户类型 管理员所有专业
if (adminUserDO.getUserType().equals("0")) {
// 查询所有专业数据
specialtyQueryVos = examSpecialtyMapper.selectExamSpecialtyAll();
} else {
// 查询部分数据
List<SpecialtyQueryVo> specialtyList = examSpecialtyMapper.selectExamSpecialtyByids(adminUserDO.getSpecialtyIds());
for (SpecialtyQueryVo specialtyQueryVo : specialtyList) {
specialtyQueryVos.add(specialtyQueryVo);
// 查询题型
if (specialtyQueryVo.getAncestors().contains(",")) {
List<SpecialtyQueryVo> specialtyLists = examSpecialtyMapper.selectExamSpecialtyByParentId(specialtyQueryVo.getId());
for (SpecialtyQueryVo specialtyQueryVosInfo : specialtyLists) {
specialtyQueryVos.add(specialtyQueryVosInfo);
// 判断专业是否为空,为空的话查询所有
if (adminUserDO.getSpecialtyIds() == null) {
// 查询所有数据
specialtyQueryVos = examSpecialtyMapper.selectExamSpecialtyAll();
} else {
// 查询部分数据
List<SpecialtyQueryVo> specialtyList = examSpecialtyMapper.selectExamSpecialtyByids(adminUserDO.getSpecialtyIds());
for (SpecialtyQueryVo specialtyQueryVo : specialtyList) {
specialtyQueryVos.add(specialtyQueryVo);
// 查询题型
if (specialtyQueryVo.getAncestors().contains(",")) {
List<SpecialtyQueryVo> specialtyLists = examSpecialtyMapper.selectExamSpecialtyByParentId(specialtyQueryVo.getId());
for (SpecialtyQueryVo specialtyQueryVosInfo : specialtyLists) {
specialtyQueryVos.add(specialtyQueryVosInfo);
}
}
}
}
}
} else {
// 需要先界定 数据范围通过考点服务器ID进行查询考点服务器的授权范围
List<TenantSpcialtyDO> tenantSpcialtyDOS = tenantSpecialtyMapper.getSpecialtyPoints(tenantId);
// 判断用户类型 管理员所有专业
if (adminUserDO.getUserType().equals("0")) {
// 查询所有专业数据
specialtyQueryVos = examSpecialtyMapper.selectExamSpecialtyAll();
} else {
// 判断专业是否为空,为空的话查询所有
if (adminUserDO.getSpecialtyIds() == null) {
// 查询所有数据
specialtyQueryVos = examSpecialtyMapper.selectExamSpecialtyAll();
} else {
// 查询部分数据
List<SpecialtyQueryVo> specialtyList = examSpecialtyMapper.selectExamSpecialtyByids(adminUserDO.getSpecialtyIds());
for (SpecialtyQueryVo specialtyQueryVo : specialtyList) {
specialtyQueryVos.add(specialtyQueryVo);
// 查询题型
if (specialtyQueryVo.getAncestors().contains(",")) {
List<SpecialtyQueryVo> specialtyLists = examSpecialtyMapper.selectExamSpecialtyByParentId(specialtyQueryVo.getId());
for (SpecialtyQueryVo specialtyQueryVosInfo : specialtyLists) {
specialtyQueryVos.add(specialtyQueryVosInfo);
}
}
}
}