学生导入

beetlsql3-dev
Mlxa0324 2 years ago
parent f14c011f33
commit 1db566f572

@ -89,158 +89,156 @@ public class BeetlConf {
@Bean @Bean
public BeetlTemplateCustomize beetlTemplateCustomize() { public BeetlTemplateCustomize beetlTemplateCustomize() {
return new BeetlTemplateCustomize() { return groupTemplate -> {
public void customize(GroupTemplate groupTemplate) { groupTemplate.registerFunctionPackage("platform", platFormService);
groupTemplate.registerFunctionPackage("platform", platFormService); groupTemplate.registerFunctionPackage("queryCondition", new QueryParser());
groupTemplate.registerFunctionPackage("queryCondition", new QueryParser()); groupTemplate.registerFunctionPackage("dict", dictDownQueryFunction);
groupTemplate.registerFunctionPackage("dict", dictDownQueryFunction); groupTemplate.registerFunctionPackage("user", coreUserFunction);
groupTemplate.registerFunctionPackage("user", coreUserFunction); groupTemplate.registerFunctionPackage("isSignRole", isSignRoleFunction);
groupTemplate.registerFunctionPackage("isSignRole", isSignRoleFunction); groupTemplate.registerFunction("core.orgName", orgFunction);
groupTemplate.registerFunction("core.orgName", orgFunction); groupTemplate.registerFunction("core.functionName", funFunction);
groupTemplate.registerFunction("core.functionName", funFunction); groupTemplate.registerFunction("core.funAccessUrl", funAccessUrlFunction);
groupTemplate.registerFunction("core.funAccessUrl", funAccessUrlFunction); groupTemplate.registerFunction("core.menuName", menuFunction);
groupTemplate.registerFunction("core.menuName", menuFunction); groupTemplate.registerFunction("core.searchCondition", searchConditionFunction);
groupTemplate.registerFunction("core.searchCondition", searchConditionFunction); groupTemplate.registerFunction("core.roles", roleFunction);
groupTemplate.registerFunction("core.roles", roleFunction); groupTemplate.registerFunction("core.file", fileFunction);
groupTemplate.registerFunction("core.file", fileFunction); groupTemplate.registerFormat("xss", new XXSDefenderFormat());
groupTemplate.registerFormat("xss", new XXSDefenderFormat()); groupTemplate.registerFunction("uuid", new UUIDFunction());
groupTemplate.registerFunction("uuid", new UUIDFunction()); groupTemplate.registerFunction("session",sessionFunction);
groupTemplate.registerFunction("session",sessionFunction); groupTemplate.registerFunction("core.searchIsShow", searchIsShowFunction);
groupTemplate.registerFunction("core.searchIsShow", searchIsShowFunction); // 模板页面判断是否有按钮权限,比如canAccess
// 模板页面判断是否有按钮权限,比如canAccess groupTemplate.registerFunction("canAccess", (paras, ctx) -> {
groupTemplate.registerFunction("canAccess", (paras, ctx) -> { Long userId = platFormService.getCurrentUser().getId();
Long userId = platFormService.getCurrentUser().getId(); Long orgId = platFormService.getCurrentOrgId();
Long orgId = platFormService.getCurrentOrgId(); String functionCode = (String) paras[0];
String functionCode = (String) paras[0]; return platFormService.canAcessFunction(userId, orgId, functionCode);
return platFormService.canAcessFunction(userId, orgId, functionCode); });
});
groupTemplate.registerFunction("abcd", (paras, ctx) -> true);
groupTemplate.registerFunction("abcd", (paras, ctx) -> true);
groupTemplate.registerFunction("env", new Function() {
groupTemplate.registerFunction("env", new Function() {
@Override
@Override public String call(Object[] paras, Context ctx) {
public String call(Object[] paras, Context ctx) { String key = (String)paras[0];
String key = (String)paras[0]; String value = env.getProperty(key);
String value = env.getProperty(key); if(value!=null) {
if(value!=null) { return getStr(value);
return getStr(value);
}
if(paras.length==2) {
return (String)paras[1];
}
return null;
} }
if(paras.length==2) {
private String getStr(String str) { return (String)paras[1];
try {
return new String(str.getBytes("iso8859-1"), StandardCharsets.UTF_8);
} catch (UnsupportedEncodingException e) {
throw new RuntimeException(e);
}
} }
return null;
}
}); private String getStr(String str) {
try {
return new String(str.getBytes("iso8859-1"), StandardCharsets.UTF_8);
} catch (UnsupportedEncodingException e) {
throw new RuntimeException(e);
}
}
groupTemplate.registerFunction("dataAccessList", (paras, ctx) -> dataAccessFactory.all()); });
//根据相应的字符分割字符串 groupTemplate.registerFunction("dataAccessList", (paras, ctx) -> dataAccessFactory.all());
groupTemplate.registerFunction("splitString", (paras, ctx) -> {
String key = (String)paras[0];
if(key!=null) {
if(paras.length >= 2){
String key2 = (String)paras[1];
return Arrays.asList(key.replace("\r","").split(key2));
}else {
return Arrays.asList(key.replace("\r","").split("\n"));
}
}
return new ArrayList<String>();
});
//判断某个字符在相应字符串中的位置 //根据相应的字符分割字符串
groupTemplate.registerFunction("indexOf", (paras, ctx) -> { groupTemplate.registerFunction("splitString", (paras, ctx) -> {
String key = (String)paras[0]; String key = (String)paras[0];
String val = (String)paras[1]; if(key!=null) {
if(key!=null) { if(paras.length >= 2){
return key.indexOf(val) >= 0; String key2 = (String)paras[1];
return Arrays.asList(key.replace("\r","").split(key2));
}else {
return Arrays.asList(key.replace("\r","").split("\n"));
} }
return false; }
}); return new ArrayList<String>();
//替换字符串中的所有相应字符 });
groupTemplate.registerFunction("replaceAll", (paras, ctx) -> {
String key = (String)paras[0]; //判断某个字符在相应字符串中的位置
if(key!=null) { groupTemplate.registerFunction("indexOf", (paras, ctx) -> {
if(paras.length >= 2){ String key = (String)paras[0];
String key2 = (String)paras[1]; String val = (String)paras[1];
if(paras.length == 3){ if(key!=null) {
return key.replace(key2,(String)paras[2]); return key.indexOf(val) >= 0;
}else { }
return key.replace(key2,""); return false;
} });
//替换字符串中的所有相应字符
groupTemplate.registerFunction("replaceAll", (paras, ctx) -> {
String key = (String)paras[0];
if(key!=null) {
if(paras.length >= 2){
String key2 = (String)paras[1];
if(paras.length == 3){
return key.replace(key2,(String)paras[2]);
}else { }else {
return key; return key.replace(key2,"");
} }
}else {
return key;
} }
return null; }
}); return null;
//替换字符串中的所有相应字符 });
groupTemplate.registerFunction("replaceAll", (paras, ctx) -> { //替换字符串中的所有相应字符
String key = (String)paras[0]; groupTemplate.registerFunction("replaceAll", (paras, ctx) -> {
if(key!=null) { String key = (String)paras[0];
if(paras.length >= 2){ if(key!=null) {
String key2 = (String)paras[1]; if(paras.length >= 2){
if(paras.length == 3){ String key2 = (String)paras[1];
return key.replace(key2,(String)paras[2]); if(paras.length == 3){
}else { return key.replace(key2,(String)paras[2]);
return key.replace(key2,"");
}
}else { }else {
return key; return key.replace(key2,"");
} }
}else {
return key;
} }
return null; }
}); return null;
//根据某个字符分割并且获取长度 });
groupTemplate.registerFunction("splitLength", (paras, ctx) -> { //根据某个字符分割并且获取长度
String key = (String)paras[0]; groupTemplate.registerFunction("splitLength", (paras, ctx) -> {
if(key!=null) { String key = (String)paras[0];
if(paras.length >= 2){ if(key!=null) {
String key2 = (String)paras[1]; if(paras.length >= 2){
return key.replace("\r","").split(key2).length; String key2 = (String)paras[1];
}else { return key.replace("\r","").split(key2).length;
return key.replace("\r","").split(",").length; }else {
} return key.replace("\r","").split(",").length;
} }
return 0; }
}); return 0;
});
//时间格式转换 Mon Dec 31 00:00:00 CST 2012
groupTemplate.registerFunction("simpleDateFormat", (paras, ctx) -> { //时间格式转换 Mon Dec 31 00:00:00 CST 2012
String key = null; groupTemplate.registerFunction("simpleDateFormat", (paras, ctx) -> {
if(paras[0] != null){ String key = null;
key = paras[0].toString(); if(paras[0] != null){
key = paras[0].toString();
}
if(key!=null) {
if(paras.length >= 2){
String key2 = paras[1].toString();
return TimeTool.getNowTime(TimeTool.getTime(key),key2);
}else {
return TimeTool.getNowTime(TimeTool.getTime(key));
} }
if(key!=null) { }
if(paras.length >= 2){ return null;
String key2 = paras[1].toString(); });
return TimeTool.getNowTime(TimeTool.getTime(key),key2);
}else { //json字符串转数组
return TimeTool.getNowTime(TimeTool.getTime(key)); groupTemplate.registerFunction("JsonString", (paras, ctx) -> {
} String key = (String)paras[0];
} if(key!=null) {
return null; return JSONObject.parse(key);
}); }
return new ArrayList<String>();
//json字符串转数组 });
groupTemplate.registerFunction("JsonString", (paras, ctx) -> {
String key = (String)paras[0];
if(key!=null) {
return JSONObject.parse(key);
}
return new ArrayList<String>();
});
}
}; };
} }

@ -9,6 +9,7 @@ import org.beetl.core.Function;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Component @Component
@Deprecated
public class SessionFunction implements Function { public class SessionFunction implements Function {
CorePlatformService platFormService = SpringUtil.getBean(CorePlatformService.class); CorePlatformService platFormService = SpringUtil.getBean(CorePlatformService.class);

@ -10,6 +10,8 @@ public enum JsonReturnCode {
FAIL ("500","内部失败"), FAIL ("500","内部失败"),
ACCESS_ERROR ("403","禁止访问"), ACCESS_ERROR ("403","禁止访问"),
NOT_FOUND ("404","页面未发现"), NOT_FOUND ("404","页面未发现"),
// 目前用在导入excel的时候异常的返回
DIY_ERROR ("5000","自定义异常"); DIY_ERROR ("5000","自定义异常");
private String code; private String code;
private String desc; private String desc;

@ -1,6 +1,8 @@
package cn.jlw.util.excel; package cn.jlw.util.excel;
import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
/** /**
* <p> * <p>
@ -12,6 +14,8 @@ import lombok.Data;
* @modified * @modified
*/ */
@Data @Data
@AllArgsConstructor
@NoArgsConstructor
public class ExcelFailRecord { public class ExcelFailRecord {
private Integer row; private Integer row;

@ -1,7 +1,6 @@
package com.ibeetl.jlw.entity.dto; package com.ibeetl.jlw.entity.dto;
import com.ibeetl.admin.core.util.excelGroupValidation.ExcelFile; import com.ibeetl.admin.core.util.excelGroupValidation.ExcelFile;
import com.ibeetl.admin.core.util.excelGroupValidation.ExcelValidation;
import com.ibeetl.jlw.entity.Student; import com.ibeetl.jlw.entity.Student;
import com.ibeetl.jlw.enums.GenderEnum; import com.ibeetl.jlw.enums.GenderEnum;
import lombok.Data; import lombok.Data;
@ -11,7 +10,7 @@ import lombok.experimental.FieldNameConstants;
import java.util.Date; import java.util.Date;
import java.util.function.Function; import java.util.function.Function;
import static cn.jlw.util.excel.ExcelUtil.longValuesOf; import static cn.hutool.core.util.ObjectUtil.defaultIfNull;
/** /**
* : <br> * : <br>
@ -31,7 +30,7 @@ public class StudentBatchImportDTO {
/** /**
* *
*/ */
@ExcelValidation(datasourceMethod = "com.ibeetl.jlw.service.SchoolClassService.getAllSchoolClassWithOrgId") // @ExcelValidation(datasourceMethod = "com.ibeetl.jlw.service.SchoolClassService.getAllSchoolClassWithOrgId")
private String classId ; private String classId ;
/** /**
* *
@ -59,9 +58,10 @@ public class StudentBatchImportDTO {
* @param function * @param function
* @return * @return
*/ */
public static Student pojo(StudentBatchImportDTO importPojo, Function<Student, Student> function) { public static Student pojo(StudentBatchImportDTO importPojo, Function<String, Long> classIdFunction, Function<Student, Student> function) {
Student build = Student.builder() Student build = Student.builder()
.classId(longValuesOf(importPojo.getClassId())) // .classId(longValuesOf(importPojo.getClassId()))
.classId(classIdFunction.apply(importPojo.getClassId()))
.studentName(importPojo.getStudentName()) .studentName(importPojo.getStudentName())
.studentSn(importPojo.getStudentSn()) .studentSn(importPojo.getStudentSn())
.studentMobile(importPojo.getStudentMobile()) .studentMobile(importPojo.getStudentMobile())
@ -83,7 +83,7 @@ public class StudentBatchImportDTO {
* @return * @return
*/ */
public static Student pojo(StudentBatchImportDTO importPojo) { public static Student pojo(StudentBatchImportDTO importPojo) {
return pojo(importPojo, e -> e); return pojo(importPojo, o -> Long.valueOf(defaultIfNull(o, "-1")), e -> e);
} }
} }

@ -977,7 +977,7 @@ public class StudentService extends CoreBaseService<Student>{
// 这里固定列索引,省事 // 这里固定列索引,省事
listener.putFailMessage( listener.putFailMessage(
errorRowIndex, 4, StrUtil.format("本次上传的文件中,存在重复的的学生编号:\"{}\"", duplicateElement)); errorRowIndex, 2, StrUtil.format("本次上传的文件中,存在重复的的学生编号:\"{}\"", duplicateElement));
} }
// 查询库里已经存在的编号 // 查询库里已经存在的编号

@ -16,9 +16,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.List; import java.util.List;
import static com.ibeetl.admin.core.util.StreamUtils.listJoin;
/** /**
@ -65,11 +63,39 @@ public class UniversitiesCollegesJurisdictionCurriculumResourcesService extends
return sqlManager.select(SqlId.of("jlw.universitiesCollegesJurisdictionCurriculumResources.getUniversitiesCollegesJurisdictionCurriculumResourcesValues"),UniversitiesCollegesJurisdictionCurriculumResources.class,paras); return sqlManager.select(SqlId.of("jlw.universitiesCollegesJurisdictionCurriculumResources.getUniversitiesCollegesJurisdictionCurriculumResourcesValues"),UniversitiesCollegesJurisdictionCurriculumResources.class,paras);
} }
/**
* ID
* @param orgId
* @return
*/
public List<CourseInfo> getAuthCourseInfoByOrgId(Long orgId){ public List<CourseInfo> getAuthCourseInfoByOrgId(Long orgId){
return universitiesCollegesJurisdictionCurriculumResourcesDao.getAuthCourseInfoByOrgId(orgId); return universitiesCollegesJurisdictionCurriculumResourcesDao.getAuthCourseInfoByOrgId(orgId);
} }
/**
* ID
* @param orgId
* @return
*/
public String getAuthCourseInfoStrByOrgId(Long orgId){
return listJoin(universitiesCollegesJurisdictionCurriculumResourcesDao.getAuthCourseInfoByOrgId(orgId), CourseInfo::getCourseInfoId);
}
/**
* ID
* @param coreUser
* @return
*/
public List<CourseInfo> getAuthCourseInfoByCoreUser(CoreUser coreUser){ public List<CourseInfo> getAuthCourseInfoByCoreUser(CoreUser coreUser){
return universitiesCollegesJurisdictionCurriculumResourcesDao.getAuthCourseInfoByOrgId(coreUser.getOrgId()); return universitiesCollegesJurisdictionCurriculumResourcesDao.getAuthCourseInfoByOrgId(coreUser.getOrgId());
} }
/**
* ID
* @param coreUser
* @return
*/
public String getAuthCourseInfoStrByCoreUser(CoreUser coreUser){
return listJoin(universitiesCollegesJurisdictionCurriculumResourcesDao.getAuthCourseInfoByOrgId(coreUser.getOrgId()), CourseInfo::getCourseInfoId);
}
} }

@ -1,5 +1,6 @@
package com.ibeetl.jlw.web; package com.ibeetl.jlw.web;
import cn.hutool.core.util.StrUtil;
import cn.jlw.Interceptor.GetFile; import cn.jlw.Interceptor.GetFile;
import cn.jlw.Interceptor.RFile; import cn.jlw.Interceptor.RFile;
import cn.jlw.Interceptor.SCoreUser; import cn.jlw.Interceptor.SCoreUser;
@ -20,6 +21,7 @@ import com.ibeetl.jlw.enums.MatchTypeEnum;
import com.ibeetl.jlw.enums.QuestionBusinessTypeEnum; import com.ibeetl.jlw.enums.QuestionBusinessTypeEnum;
import com.ibeetl.jlw.service.CourseInfoService; import com.ibeetl.jlw.service.CourseInfoService;
import com.ibeetl.jlw.service.ResourcesQuestionService; import com.ibeetl.jlw.service.ResourcesQuestionService;
import com.ibeetl.jlw.service.UniversitiesCollegesJurisdictionCurriculumResourcesService;
import com.ibeetl.jlw.web.query.CourseInfoQuery; import com.ibeetl.jlw.web.query.CourseInfoQuery;
import com.ibeetl.jlw.web.query.ResourcesQuestionQuery; import com.ibeetl.jlw.web.query.ResourcesQuestionQuery;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -46,10 +48,12 @@ import javax.servlet.http.HttpServletResponse;
import java.io.File; import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.InputStream; import java.io.InputStream;
import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.*; import java.util.*;
import static cn.hutool.core.util.ArrayUtil.join; import static cn.hutool.core.util.ArrayUtil.join;
import static cn.hutool.core.util.ObjectUtil.defaultIfNull;
import static cn.jlw.util.excel.ExcelUtil.standardName; import static cn.jlw.util.excel.ExcelUtil.standardName;
/** /**
@ -71,6 +75,7 @@ public class ResourcesQuestionController{
FileService fileService; FileService fileService;
@Autowired private CourseInfoService courseInfoService; @Autowired private CourseInfoService courseInfoService;
@Autowired private UniversitiesCollegesJurisdictionCurriculumResourcesService universitiesCollegesJurisdictionCurriculumResourcesService;
/* 前端接口 */ /* 前端接口 */
@ -155,6 +160,13 @@ public class ResourcesQuestionController{
if (coreUser.isUniAdmin()) { if (coreUser.isUniAdmin()) {
condition.setOrgIdPlural(join(Arrays.asList(coreUser.getOrgId(), 1L, null).toArray(), ",")); condition.setOrgIdPlural(join(Arrays.asList(coreUser.getOrgId(), 1L, null).toArray(), ","));
// 查询已经授权的课程ID
Serializable courseInfoIds = defaultIfNull(condition.getCourseInfoId(), condition.getCourseInfoIds());
Serializable ifNullCourseInfoIds = defaultIfNull(courseInfoIds,
universitiesCollegesJurisdictionCurriculumResourcesService.getAuthCourseInfoStrByOrgId(coreUser.getOrgId()));
// 如果为空字符串,那么代表这个学校,还没有授权的课程,所以是不会显示任何东西的。
condition.setCourseInfoIds(StrUtil.blankToDefault(String.valueOf(ifNullCourseInfoIds), "未授权应用"));
} }
resourcesQuestionService.queryByCondition(page); resourcesQuestionService.queryByCondition(page);
return JsonResult.success(page); return JsonResult.success(page);

@ -56,6 +56,7 @@ import java.io.FileInputStream;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.util.*; import java.util.*;
import java.util.function.Consumer;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static cn.jlw.token.TokenService.getMap; import static cn.jlw.token.TokenService.getMap;
@ -65,9 +66,11 @@ import static cn.jlw.util.excel.ExcelUtil.standardName;
import static com.ibeetl.admin.console.service.OrgConsoleService.setObjectOrgId; 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.convertData;
import static com.ibeetl.admin.core.util.ExcelUtil.write; import static com.ibeetl.admin.core.util.ExcelUtil.write;
import static com.ibeetl.admin.core.util.StreamUtils.listJoin;
import static com.ibeetl.admin.core.util.user.CacheUserUtil.getUser; import static com.ibeetl.admin.core.util.user.CacheUserUtil.getUser;
import static com.ibeetl.admin.core.web.JsonReturnCode.DIY_ERROR; import static com.ibeetl.admin.core.web.JsonReturnCode.DIY_ERROR;
import static com.ibeetl.jlw.web.IpAddressController.ipAddressMap; import static com.ibeetl.jlw.web.IpAddressController.ipAddressMap;
import static java.util.function.UnaryOperator.identity;
/** /**
@ -2811,27 +2814,64 @@ public class StudentController extends BaseController{
try { try {
Assert.isNull(getStudent(), "学生无法访问该接口"); Assert.isNull(getStudent(), "学生无法访问该接口");
// 输出 Excel // 输出 Excel, 有判断空值的操作
MyValidateExcelCellDataListener<StudentBatchImportDTO> listener = new MyValidateExcelCellDataListener<>(); MyValidateExcelCellDataListener<StudentBatchImportDTO> listener = new MyValidateExcelCellDataListener<>();
ExcelUtil.readExcelNotContainHeader(file, StudentBatchImportDTO.class, listener); ExcelUtil.readExcelNotContainHeader(file, StudentBatchImportDTO.class, listener);
// 判断错误的结果集 // 判断错误的结果集
Assert.isTrue(CollectionUtil.isEmpty(listener.getFailMessage()), JSONUtil.toJsonStr(listener.getFailMessage())); Assert.isTrue(CollectionUtil.isEmpty(listener.getFailMessage()), JSONUtil.toJsonStr(listener.getFailMessage()));
// 类型转换 // 类型转换
List<Student> list = listener.getData().stream().map(StudentBatchImportDTO::pojo) List<Student> list = listener.getData().stream().map(item -> {
// 存的是班级名称只是叫做classId而已
String classId = item.getClassId();
return StudentBatchImportDTO.pojo(item, importClassIdAsString -> {
SchoolClass params = new SchoolClass();
params.setClassName(classId);
params.setClassStatus(1);
params.setOrgId(coreUser.getOrgId());
List<SchoolClass> classList = schoolClassDao.createLambdaQuery()
.andEq(SchoolClass::getClassStatus, 1)
.andEq(SchoolClass::getOrgId, coreUser.getOrgId())
.andLike(SchoolClass::getClassName, "%"+classId+"%")
.select();
consumerPutErrorMessage(classList, (cl) -> {
List<SchoolClass> tempList = (List<SchoolClass>) cl;
Assert.isTrue(CollectionUtil.isNotEmpty(classList),
"班级名称:【{}】未模糊匹配到任何班级!", classId);
// 模糊搜索到重复的班级名称
String repetitiveClassNames = listJoin(classList, SchoolClass::getClassName);
Assert.isFalse(tempList.size() > 1,
"提交的班级名称{},查询到多个【{}】,请修改后再来尝试!", classId, repetitiveClassNames);
}, listener);
if (classList.size() == 1) {
return classList.get(0).getClassId();
}
return null;
}, identity());
})
.collect(Collectors.toList()); .collect(Collectors.toList());
// 设置机构ID // 设置机构ID
setObjectOrgId(list, (e) -> { try {
SchoolClass params = new SchoolClass(); setObjectOrgId(list, (e) -> {
params.setClassId(e.getClassId()); SchoolClass params = new SchoolClass();
params.setClassStatus(1); params.setClassId(e.getClassId());
SchoolClass sc = schoolClassDao.templateOne(params); params.setClassStatus(1);
if (sc != null) { SchoolClass sc = schoolClassDao.templateOne(params);
return sc.getOrgId(); if (sc != null) {
} return sc.getOrgId();
return null; }
}, true); return null;
}, true);
}catch (Exception e) {
log.error(e.getMessage());
}
studentService.validateStudentSnListIsExistsThrow(list, listener); studentService.validateStudentSnListIsExistsThrow(list, listener);
// 再次判断错误的结果集 // 再次判断错误的结果集
@ -2843,6 +2883,21 @@ public class StudentController extends BaseController{
catch (IllegalArgumentException exception) { catch (IllegalArgumentException exception) {
return JsonResult.failMessage(exception.getMessage()).setCode(DIY_ERROR.getCode()); return JsonResult.failMessage(exception.getMessage()).setCode(DIY_ERROR.getCode());
} }
return JsonResult.successMessage("导入成功!"); return JsonResult.successMessage("导入成功!");
} }
/**
*
* @param t
* @param tConsumer
* @param listener
*/
private void consumerPutErrorMessage(Object t, Consumer tConsumer, MyValidateExcelCellDataListener listener) {
try {
tConsumer.accept(t);
}catch (Exception e) {
listener.putFailMessage(e.getMessage());
}
}
} }

@ -14,4 +14,6 @@ FNP.reUtil = cn.hutool.core.util.ReUtil
#\u65F6\u95F4\u5DE5\u5177\u7C7B #\u65F6\u95F4\u5DE5\u5177\u7C7B
FNP.dateUtil =cn.hutool.core.date.DateUtil FNP.dateUtil =cn.hutool.core.date.DateUtil
# map\u5DE5\u5177\u7C7B # map\u5DE5\u5177\u7C7B
FNP.mapUtil =com.ibeetl.admin.core.util.map.MapUtil FNP.mapUtil =com.ibeetl.admin.core.util.map.MapUtil
# \u53EF\u4EE5\u67E5\u8BE2\u6388\u6743\u8BFE\u7A0B\u5217\u8868\u7684
FNP.authCourseInfoUtil =com.ibeetl.jlw.service.UniversitiesCollegesJurisdictionCurriculumResourcesService

@ -41,6 +41,10 @@ queryByCondition
@} @}
@if(!isEmpty(courseInfoIds)){ @if(!isEmpty(courseInfoIds)){
and find_in_set(t.course_info_id,#courseInfoIds#) and find_in_set(t.course_info_id,#courseInfoIds#)
@// 未授权任何应用的话,这里直接返回空数据
@if(courseInfoIds == '未授权应用'){
and false
@}
@} @}
@if(!isEmpty(courseInfoId)){ @if(!isEmpty(courseInfoId)){
and t.course_info_id =#courseInfoId# and t.course_info_id =#courseInfoId#

@ -31,8 +31,10 @@
<div class="layui-inline"> <div class="layui-inline">
<label class="layui-form-label">授权院校:</label> <label class="layui-form-label">授权院校:</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<!-- 时间久远,忘记这里是干啥的,先注释吧 -->
<!-- universities_colleges.universities_colleges_name.universities_colleges_status=1,not find_in_set(universities_colleges_id,IFNULL((SELECT group_concat(universities_colleges_id) FROM universities_colleges_jurisdiction_experimental_system WHERE FIND_IN_SET(use_type,'1,2')),-1))-->
<layui:simpleDictSelect style='layui-input-inline' value="${universitiesCollegesId}" <layui:simpleDictSelect style='layui-input-inline' value="${universitiesCollegesId}"
type="universities_colleges.universities_colleges_name.universities_colleges_status=1,not find_in_set(universities_colleges_id,IFNULL((SELECT group_concat(universities_colleges_id) FROM universities_colleges_jurisdiction_experimental_system WHERE FIND_IN_SET(use_type,'1,2')),-1))" type="universities_colleges.universities_colleges_name.universities_colleges_status=1"
id="universitiesCollegesId" name="universitiesCollegesId" id="universitiesCollegesId" name="universitiesCollegesId"
layFilter="select_universitiesColleges"/> layFilter="select_universitiesColleges"/>
</div> </div>

Loading…
Cancel
Save