教师导入 改为手动输入院校、院系、专业名称

beetlsql3-dev
maLix 2 years ago
parent f6f1ae626d
commit 74a76d0eff

@ -13,8 +13,6 @@ import lombok.experimental.FieldNameConstants;
import java.util.Date;
import java.util.function.Function;
import static cn.hutool.core.util.ObjectUtil.defaultIfNull;
/**
* : <br>
* ,
@ -87,10 +85,10 @@ public class StudentBatchImportAdminDTO {
* @param function
* @return
*/
public static Student pojo(StudentBatchImportAdminDTO importPojo, Function<String, Long> classIdFunction, Function<Student, Student> function) {
public static Student pojo(StudentBatchImportAdminDTO importPojo, Long classId, Function<Student, Student> function) {
Student build = Student.builder()
// .classId(longValuesOf(importPojo.getClassId()))
.classId(classIdFunction.apply(importPojo.getClassId()))
.classId(classId)
.studentName(importPojo.getStudentName())
.studentSn(importPojo.getStudentSn())
.studentMobile(importPojo.getStudentMobile())
@ -113,7 +111,7 @@ public class StudentBatchImportAdminDTO {
* @return
*/
public static Student pojo(StudentBatchImportAdminDTO importPojo) {
return pojo(importPojo, o -> Long.valueOf(defaultIfNull(o, "-1")), e -> e);
return pojo(importPojo, -1L, e -> e);
}
}

@ -0,0 +1,122 @@
package com.ibeetl.jlw.entity.dto;
import com.ibeetl.admin.core.annotation.ExcelRequireIgnore;
import com.ibeetl.admin.core.util.excelGroupValidation.ExcelFile;
import com.ibeetl.admin.core.validation.Email;
import com.ibeetl.admin.core.validation.Mobile;
import com.ibeetl.jlw.entity.Teacher;
import com.ibeetl.jlw.enums.GenderEnum;
import lombok.Data;
import lombok.ToString;
import lombok.experimental.FieldNameConstants;
import java.util.Date;
import java.util.function.Function;
/**
* : <br>
* ,
*
* @Author: lx
* @Date: 2023/2/5 23:50
*/
@Data
@FieldNameConstants
@ToString
@ExcelFile(fileHeadTemplate = "universitiesCollegesName|universityFacultyName|universitySystemName|teacherName|teacherJobNumber|teacherMobile|teacherEmail",
fileMappingTemplate = "universitiesCollegesName=院校名称|universityFacultyName=院系名称|universitySystemName=专业名称|" +
"teacherName=教师姓名|teacherJobNumber=工号|teacherMobile=电话|teacherEmail=邮箱",
datasheetHidden = true, enableDataValidation = true)
public class TeacherBatchImportAdminDTO {
// /**
// * 院校名称
// */
// @ExcelValidation(datasourceMethod = "com.ibeetl.jlw.service.UniversitiesCollegesService.getAllUniversitiesColleges")
// private String universitiesCollegesId ;
// /**
// * 院系名称
// */
// @ExcelValidation(datasourceMethod = "com.ibeetl.jlw.service.UniversityFacultyService.getAllUniversityFacultyWithColleges", beforeFieldName = "universitiesCollegesId")
// private String universityFacultyId ;
// /**
// * 专业名称
// */
// @ExcelValidation(datasourceMethod = "com.ibeetl.jlw.service.UniversitySystemService.getAllUniversitiesCollegesWithFaculty", beforeFieldName = "universityFacultyId")
// private String universitySystemId ;
/**
*
*/
private String universitiesCollegesName ;
/**
*
*/
private String universityFacultyName ;
/**
*
*/
private String universitySystemName ;
/**
*
*/
private String teacherName ;
/**
*
*/
private String teacherJobNumber ;
/**
*
*/
@Mobile
@ExcelRequireIgnore
private String teacherMobile ;
/**
*
*/
@Email
@ExcelRequireIgnore
private String teacherEmail ;
/**
*
*
* @param importPojo
* @param function
* @return
*/
public static Teacher pojo(TeacherBatchImportAdminDTO importPojo, Long universitiesCollegesId, Long universityFacultyId, Long universitySystemId, Function<Teacher, Teacher> function) {
Teacher build = Teacher.builder()
// .universitiesCollegesId(longValuesOf(importPojo.getUniversitiesCollegesId()))
// .universityFacultyId(longValuesOf(importPojo.getUniversityFacultyId()))
// .universitySystemId(longValuesOf(importPojo.getUniversitySystemId()))
.universitiesCollegesId(universitiesCollegesId)
.universityFacultyId(universityFacultyId)
.universitySystemId(universitySystemId)
.teacherJobNumber(importPojo.getTeacherJobNumber())
.teacherName(importPojo.getTeacherName())
.teacherEmail(importPojo.getTeacherEmail())
.teacherMobile(importPojo.getTeacherMobile())
.teacherGender(GenderEnum.UN_KNOW)
.teacherPassword("123qwe")
.addTime(new Date())
.teacherStatus(1)
.build();
return function.apply(build);
}
/**
*
*
* @param importPojo
* @return
*/
public static Teacher pojo(TeacherBatchImportAdminDTO importPojo) {
return pojo(importPojo, -1L,-1L,-1L, e -> e);
}
}

@ -2,7 +2,6 @@ package com.ibeetl.jlw.entity.dto;
import com.ibeetl.admin.core.annotation.ExcelRequireIgnore;
import com.ibeetl.admin.core.util.excelGroupValidation.ExcelFile;
import com.ibeetl.admin.core.util.excelGroupValidation.ExcelValidation;
import com.ibeetl.admin.core.validation.Email;
import com.ibeetl.admin.core.validation.Mobile;
import com.ibeetl.jlw.entity.Teacher;
@ -14,11 +13,9 @@ import lombok.experimental.FieldNameConstants;
import java.util.Date;
import java.util.function.Function;
import static cn.jlw.util.excel.ExcelUtil.longValuesOf;
/**
* : <br>
* ,
* ,
*
* @Author: lx
* @Date: 2023/2/5 23:50
@ -26,27 +23,31 @@ import static cn.jlw.util.excel.ExcelUtil.longValuesOf;
@Data
@FieldNameConstants
@ToString
@ExcelFile(fileHeadTemplate = "universitiesCollegesId|universityFacultyId|universitySystemId|teacherName|teacherJobNumber|teacherMobile|teacherEmail",
fileMappingTemplate = "universitiesCollegesId=院校名称|universityFacultyId=院系名称|universitySystemId=专业名称|" +
@ExcelFile(fileHeadTemplate = "universityFacultyName|universitySystemName|teacherName|teacherJobNumber|teacherMobile|teacherEmail",
fileMappingTemplate = "universityFacultyName=院系名称|universitySystemName=专业名称|" +
"teacherName=教师姓名|teacherJobNumber=工号|teacherMobile=电话|teacherEmail=邮箱",
datasheetHidden = true, enableDataValidation = true)
public class TeacherBatchImportDTO {
public class TeacherBatchImportUniAdminDTO {
// /**
// * 院系名称
// */
// @ExcelValidation(datasourceMethod = "com.ibeetl.jlw.service.UniversityFacultyService.getAllUniversityFacultyWithColleges", beforeFieldName = "universitiesCollegesId")
// private String universityFacultyId ;
// /**
// * 专业名称
// */
// @ExcelValidation(datasourceMethod = "com.ibeetl.jlw.service.UniversitySystemService.getAllUniversitiesCollegesWithFaculty", beforeFieldName = "universityFacultyId")
// private String universitySystemId ;
/**
*
*/
@ExcelValidation(datasourceMethod = "com.ibeetl.jlw.service.UniversitiesCollegesService.getAllUniversitiesColleges")
private String universitiesCollegesId ;
/**
*
*/
@ExcelValidation(datasourceMethod = "com.ibeetl.jlw.service.UniversityFacultyService.getAllUniversityFacultyWithColleges", beforeFieldName = "universitiesCollegesId")
private String universityFacultyId ;
private String universityFacultyName ;
/**
*
*/
@ExcelValidation(datasourceMethod = "com.ibeetl.jlw.service.UniversitySystemService.getAllUniversitiesCollegesWithFaculty", beforeFieldName = "universityFacultyId")
private String universitySystemId ;
private String universitySystemName ;
/**
*
@ -78,11 +79,13 @@ public class TeacherBatchImportDTO {
* @param function
* @return
*/
public static Teacher pojo(TeacherBatchImportDTO importPojo, Function<Teacher, Teacher> function) {
public static Teacher pojo(TeacherBatchImportUniAdminDTO importPojo, Long universitiesCollegesId, Long universityFacultyId, Long universitySystemId, Function<Teacher, Teacher> function) {
Teacher build = Teacher.builder()
.universitiesCollegesId(longValuesOf(importPojo.getUniversitiesCollegesId()))
.universityFacultyId(longValuesOf(importPojo.getUniversityFacultyId()))
.universitySystemId(longValuesOf(importPojo.getUniversitySystemId()))
// .universityFacultyId(longValuesOf(importPojo.getUniversityFacultyId()))
// .universitySystemId(longValuesOf(importPojo.getUniversitySystemId()))
.universitiesCollegesId(universitiesCollegesId)
.universityFacultyId(universityFacultyId)
.universitySystemId(universitySystemId)
.teacherJobNumber(importPojo.getTeacherJobNumber())
.teacherName(importPojo.getTeacherName())
.teacherEmail(importPojo.getTeacherEmail())
@ -102,8 +105,8 @@ public class TeacherBatchImportDTO {
* @param importPojo
* @return
*/
public static Teacher pojo(TeacherBatchImportDTO importPojo) {
return pojo(importPojo, e -> e);
public static Teacher pojo(TeacherBatchImportUniAdminDTO importPojo) {
return pojo(importPojo, -1L, -1L,-1L, e -> e);
}
}

@ -22,7 +22,7 @@ import com.ibeetl.admin.core.web.JsonReturnCode;
import com.ibeetl.jlw.dao.TeacherDao;
import com.ibeetl.jlw.dao.UniversitiesCollegesDao;
import com.ibeetl.jlw.entity.*;
import com.ibeetl.jlw.entity.dto.TeacherBatchImportDTO;
import com.ibeetl.jlw.entity.dto.TeacherBatchImportAdminDTO;
import com.ibeetl.jlw.job.CacheLogJob;
import com.ibeetl.jlw.web.query.*;
import org.apache.commons.collections4.CollectionUtils;
@ -801,7 +801,7 @@ public class TeacherService extends CoreBaseService<Teacher> {
* @Author: 87966
* @Date: 2023/2/14 15:23
*/
public void validateTeacherSnListIsExistsThrow(List<Teacher> list, MyValidateExcelCellDataListener<TeacherBatchImportDTO> listener) {
public void validateTeacherSnListIsExistsThrow(List<Teacher> list, MyValidateExcelCellDataListener<TeacherBatchImportAdminDTO> listener) {
if (CollectionUtil.isEmpty(list)) {
return;
}

@ -2900,7 +2900,7 @@ public class StudentController extends BaseController{
UniversitySystem universitySystem = universitySystemService.getByNameOrCreate(
item.getUniversitySystemName(), coreUser.getOrgId(), coreUser.getId(), universityFaculty.getUniversityFacultyId());
// 查询这个院校已经存在的专业
// 查询这个院校已经存在的班级
SchoolClass schoolClass = schoolClassService.getByNameOrCreate(item.getClassId(),
coreUser.getOrgId(), coreUser.getId(), universityFaculty.getUniversityFacultyId(),
universitySystem.getUniversitySystemId());
@ -3008,12 +3008,12 @@ public class StudentController extends BaseController{
UniversitySystem universitySystem = universitySystemService.getByNameOrCreate(
item.getUniversitySystemName(), universitiesColleges.getOrgId(), universitiesColleges.getUserId(), universityFaculty.getUniversityFacultyId());
// 查询这个院校已经存在的专业
// 查询这个院校已经存在的班级
SchoolClass schoolClass = schoolClassService.getByNameOrCreate(item.getClassId(),
universitiesColleges.getOrgId(), universitiesColleges.getUserId(), universityFaculty.getUniversityFacultyId(),
universitySystem.getUniversitySystemId());
return StudentBatchImportAdminDTO.pojo(item, importClassIdAsString -> schoolClass.getClassId(), identity());
return StudentBatchImportAdminDTO.pojo(item, schoolClass.getClassId(), identity());
})
.collect(Collectors.toList());

@ -22,7 +22,8 @@ import com.ibeetl.admin.core.util.TimeTool;
import com.ibeetl.admin.core.web.JsonResult;
import com.ibeetl.jlw.dao.UniversitiesCollegesDao;
import com.ibeetl.jlw.entity.*;
import com.ibeetl.jlw.entity.dto.TeacherBatchImportDTO;
import com.ibeetl.jlw.entity.dto.TeacherBatchImportAdminDTO;
import com.ibeetl.jlw.entity.dto.TeacherBatchImportUniAdminDTO;
import com.ibeetl.jlw.service.*;
import com.ibeetl.jlw.web.query.*;
import lombok.SneakyThrows;
@ -58,8 +59,8 @@ import static cn.jlw.util.CacheUserUtil.getStudent;
import static com.ibeetl.admin.console.service.OrgConsoleService.setObjectOrgId;
import static com.ibeetl.admin.core.util.ExcelUtil.convertData;
import static com.ibeetl.admin.core.util.ExcelUtil.write;
import static com.ibeetl.admin.core.util.user.CacheUserUtil.getUser;
import static com.ibeetl.admin.core.web.JsonReturnCode.DIY_ERROR;
import static java.util.function.UnaryOperator.identity;
/**
* Teacher
@ -109,6 +110,8 @@ public class TeacherController extends BaseController {
@Autowired private StudentDefenceLogService studentDefenceLogService;
@Autowired private StudentDefenceLogInfoService studentDefenceLogInfoService;
@Autowired private UniversitiesCollegesDao universitiesCollegesDao;
@Autowired private UniversityFacultyService universityFacultyService;
@Autowired private UniversitySystemService universitySystemService;
@Autowired
FileService fileService;
@ -1526,16 +1529,20 @@ public class TeacherController extends BaseController {
@SneakyThrows
@GetMapping({ API + "/exportBatchTemplate.do", MODEL + "/downloadTemplate.json" })
@ResponseBody
public void exportBatchTemplate() {
Assert.notNull(getUser(), "请登录后再操作");
public void exportBatchTemplate(@SCoreUser CoreUser coreUser) {
String filename = StrUtil.format("批量教师导入模板{}.xlsx", System.currentTimeMillis());
setExcelResponse(filename);
// 输出 Excel
com.ibeetl.admin.core.util.excelGroupValidation.ExcelUtil.createExcel(Arrays.asList(new TeacherBatchImportDTO()), response.getOutputStream());
if (coreUser.isAdmin()) {
// 输出 Excel
com.ibeetl.admin.core.util.excelGroupValidation.ExcelUtil.createExcel(Arrays.asList(new TeacherBatchImportAdminDTO()), response.getOutputStream());
}
else {
// 输出 Excel
com.ibeetl.admin.core.util.excelGroupValidation.ExcelUtil.createExcel(Arrays.asList(new TeacherBatchImportUniAdminDTO()), response.getOutputStream());
}
}
/**
@ -1553,15 +1560,60 @@ public class TeacherController extends BaseController {
try {
Assert.isNull(getStudent(), "学生无法访问该接口");
List<Teacher> list = null;
// 输出 Excel
MyValidateExcelCellDataListener<TeacherBatchImportDTO> listener = new MyValidateExcelCellDataListener<>();
MyValidateExcelCellDataListener listener = new MyValidateExcelCellDataListener<>();
ExcelUtil.readExcelNotContainHeader(file, TeacherBatchImportDTO.class, listener);
// 判断错误的结果集
Assert.isTrue(CollectionUtil.isEmpty(listener.getFailMessage()), JSONUtil.toJsonStr(listener.getFailMessage()));
// 类型转换
List<Teacher> list = listener.getData().stream().map(TeacherBatchImportDTO::pojo)
.collect(Collectors.toList());
if (coreUser.isAdmin()) {
ExcelUtil.readExcelNotContainHeader(file, TeacherBatchImportAdminDTO.class, listener);
// 判断错误的结果集
Assert.isTrue(CollectionUtil.isEmpty(listener.getFailMessage()), JSONUtil.toJsonStr(listener.getFailMessage()));
// 类型转换
list = (List<Teacher>) listener.getData().stream().map(item -> {
TeacherBatchImportAdminDTO item1 = (TeacherBatchImportAdminDTO) item;
// 查询这个院校已经存在的院校
UniversitiesColleges universitiesColleges = universitiesCollegesService.getByNameOrCreate(item1.getUniversitiesCollegesName());
// 查询这个院校已经存在的院系
UniversityFaculty universityFaculty = universityFacultyService.getByNameOrCreate(
item1.getUniversityFacultyName(), universitiesColleges.getOrgId(), universitiesColleges.getUserId());
// 查询这个院校已经存在的专业
UniversitySystem universitySystem = universitySystemService.getByNameOrCreate(
item1.getUniversitySystemName(), universitiesColleges.getOrgId(), universitiesColleges.getUserId(), universityFaculty.getUniversityFacultyId());
return TeacherBatchImportAdminDTO.pojo(item1, universitiesColleges.getUniversitiesCollegesId(), universityFaculty.getUniversityFacultyId(), universitySystem.getUniversitySystemId(), identity());
})
.collect(Collectors.toList());
}
// 除了超管其他身份
else {
ExcelUtil.readExcelNotContainHeader(file, TeacherBatchImportUniAdminDTO.class, listener);
// 判断错误的结果集
Assert.isTrue(CollectionUtil.isEmpty(listener.getFailMessage()), JSONUtil.toJsonStr(listener.getFailMessage()));
// 类型转换
list = (List<Teacher>) listener.getData().stream().map(item -> {
TeacherBatchImportUniAdminDTO item1 = (TeacherBatchImportUniAdminDTO) item;
// 查询这个院校已经存在的院系
Long orgId = coreUser.getOrgId();
Long userId = coreUser.getId();
UniversityFaculty universityFaculty = universityFacultyService.getByNameOrCreate(item1.getUniversityFacultyName(), orgId, userId);
// 查询这个院校已经存在的专业
UniversitySystem universitySystem = universitySystemService.getByNameOrCreate(item1.getUniversitySystemName(), orgId, userId, universityFaculty.getUniversityFacultyId());
return TeacherBatchImportUniAdminDTO.pojo(item1, universityFaculty.getUniversitiesCollegesId(), universityFaculty.getUniversityFacultyId(), universitySystem.getUniversitySystemId(), identity());
})
.collect(Collectors.toList());
}
// 设置机构ID
setObjectOrgId(list, (e) -> {
@ -1580,8 +1632,7 @@ public class TeacherController extends BaseController {
listener.putFailMessage(StrUtil.format("异常的院校ID{},该院校已删除状态", e.getUniversitiesCollegesId()));
}
return sc.getOrgId();
}
else {
} else {
listener.putFailMessage(StrUtil.format("异常的院校ID{},未查询到院校信息,请联系管理员", e.getUniversitiesCollegesId()));
}
return null;

Loading…
Cancel
Save