diff --git a/web/src/main/java/com/ibeetl/jlw/entity/dto/StudentBatchImportAdminDTO.java b/web/src/main/java/com/ibeetl/jlw/entity/dto/StudentBatchImportAdminDTO.java
index 6b057f4a..1aedaeb8 100644
--- a/web/src/main/java/com/ibeetl/jlw/entity/dto/StudentBatchImportAdminDTO.java
+++ b/web/src/main/java/com/ibeetl/jlw/entity/dto/StudentBatchImportAdminDTO.java
@@ -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;
-
/**
* 功能描述:
* 学生管理, 导入实体
@@ -87,10 +85,10 @@ public class StudentBatchImportAdminDTO {
* @param function 二次加工
* @return
*/
- public static Student pojo(StudentBatchImportAdminDTO importPojo, Function classIdFunction, Function function) {
+ public static Student pojo(StudentBatchImportAdminDTO importPojo, Long classId, Function 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);
}
}
diff --git a/web/src/main/java/com/ibeetl/jlw/entity/dto/TeacherBatchImportAdminDTO.java b/web/src/main/java/com/ibeetl/jlw/entity/dto/TeacherBatchImportAdminDTO.java
new file mode 100644
index 00000000..7762ebad
--- /dev/null
+++ b/web/src/main/java/com/ibeetl/jlw/entity/dto/TeacherBatchImportAdminDTO.java
@@ -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;
+
+/**
+ * 功能描述:
+ * (超管)教师管理, 导入实体
+ *
+ * @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 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);
+ }
+
+}
diff --git a/web/src/main/java/com/ibeetl/jlw/entity/dto/TeacherBatchImportDTO.java b/web/src/main/java/com/ibeetl/jlw/entity/dto/TeacherBatchImportUniAdminDTO.java
similarity index 54%
rename from web/src/main/java/com/ibeetl/jlw/entity/dto/TeacherBatchImportDTO.java
rename to web/src/main/java/com/ibeetl/jlw/entity/dto/TeacherBatchImportUniAdminDTO.java
index 00d0d7c0..8d86657e 100644
--- a/web/src/main/java/com/ibeetl/jlw/entity/dto/TeacherBatchImportDTO.java
+++ b/web/src/main/java/com/ibeetl/jlw/entity/dto/TeacherBatchImportUniAdminDTO.java
@@ -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;
-
/**
* 功能描述:
- * 学生管理, 导入实体
+ * (学校管理员)教师管理, 导入实体
*
* @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 function) {
+ public static Teacher pojo(TeacherBatchImportUniAdminDTO importPojo, Long universitiesCollegesId, Long universityFacultyId, Long universitySystemId, Function 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);
}
}
diff --git a/web/src/main/java/com/ibeetl/jlw/service/TeacherService.java b/web/src/main/java/com/ibeetl/jlw/service/TeacherService.java
index dab3a9e1..196eba1c 100644
--- a/web/src/main/java/com/ibeetl/jlw/service/TeacherService.java
+++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherService.java
@@ -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 {
* @Author: 87966
* @Date: 2023/2/14 15:23
*/
- public void validateTeacherSnListIsExistsThrow(List list, MyValidateExcelCellDataListener listener) {
+ public void validateTeacherSnListIsExistsThrow(List list, MyValidateExcelCellDataListener listener) {
if (CollectionUtil.isEmpty(list)) {
return;
}
diff --git a/web/src/main/java/com/ibeetl/jlw/web/StudentController.java b/web/src/main/java/com/ibeetl/jlw/web/StudentController.java
index 9c24a4de..44d51bbf 100644
--- a/web/src/main/java/com/ibeetl/jlw/web/StudentController.java
+++ b/web/src/main/java/com/ibeetl/jlw/web/StudentController.java
@@ -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());
diff --git a/web/src/main/java/com/ibeetl/jlw/web/TeacherController.java b/web/src/main/java/com/ibeetl/jlw/web/TeacherController.java
index c6e821ce..94bd6a13 100644
--- a/web/src/main/java/com/ibeetl/jlw/web/TeacherController.java
+++ b/web/src/main/java/com/ibeetl/jlw/web/TeacherController.java
@@ -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 list = null;
// 输出 Excel
- MyValidateExcelCellDataListener listener = new MyValidateExcelCellDataListener<>();
+ MyValidateExcelCellDataListener listener = new MyValidateExcelCellDataListener<>();
- ExcelUtil.readExcelNotContainHeader(file, TeacherBatchImportDTO.class, listener);
- // 判断错误的结果集
- Assert.isTrue(CollectionUtil.isEmpty(listener.getFailMessage()), JSONUtil.toJsonStr(listener.getFailMessage()));
- // 类型转换
- List 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) 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) 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;