院校验证班级重复

beetlsql3-dev
Mlxa0324 2 years ago
parent fc71d37776
commit cc6dd37d63

@ -13,10 +13,12 @@ import com.ibeetl.jlw.entity.SchoolClass;
import com.ibeetl.jlw.web.query.SchoolClassQuery;
import org.beetl.sql.core.SqlId;
import org.beetl.sql.core.engine.PageQuery;
import org.beetl.sql.core.query.interfacer.StrongValue;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@ -78,7 +80,7 @@ public class SchoolClassService extends CoreBaseService<SchoolClass>{
*
* @param classList
*/
public void validateClassSnListIsExistsThrow(List<SchoolClass> classList) {
public void validateClassSnListIsExistsThrow(List<SchoolClass> classList, String orgIds) {
if (CollectionUtil.isEmpty(classList)) {
return;
}
@ -92,13 +94,33 @@ public class SchoolClassService extends CoreBaseService<SchoolClass>{
// 查询库里已经存在的编号
List<String> existsList = schoolClassDao.createLambdaQuery()
.andIsNotNull(SchoolClass::getClassSn)
.andIn(SchoolClass::getClassSn, classSnList).select(String.class,"class_sn");
.andIn(SchoolClass::getClassSn, classSnList)
.andIn(SchoolClass::getOrgId, new StrongValue() {
@Override
public boolean isEffective() {
return StrUtil.isNotBlank(orgIds);
}
@Override
public Object getValue() {
return Arrays.asList(orgIds.split(","));
}
})
.andEq(SchoolClass::getClassStatus, 1).select(String.class,"class_sn");
// 如果存在的话,属于异常数据
String errorClassSns = CollectionUtil.emptyIfNull(existsList).stream().collect(Collectors.joining(","));
// 构建异常信息,传给前端
Assert.isTrue(StrUtil.isBlank(errorClassSns), "已存在的班级编号:\"{}\",请修改后再进行提交!", errorClassSns);
}
/**
* ID
* @param classList
*/
public void validateClassSnListIsExistsThrow(List<SchoolClass> classList) {
validateClassSnListIsExistsThrow(classList, null);
}
/**
*
*
@ -108,4 +130,5 @@ public class SchoolClassService extends CoreBaseService<SchoolClass>{
// Long currentOrgId = SpringUtil.getBean(CorePlatformService.class).getCurrentOrgId();
return SpringUtil.getBean(SchoolClassDao.class).getAllSchoolClass(null);
}
}

@ -184,14 +184,15 @@ public class SchoolClassController extends BaseController {
schoolClass.setClassStatus(1);
schoolClass.setUserId(coreUser.getId());
// 判断班级编号是否已经存在,并抛出异常
if(StrUtil.isNotBlank(schoolClass.getClassSn())) {
schoolClassService.validateClassSnListIsExistsThrow(Collections.singletonList(schoolClass));
}
if(null != schoolClass.getUniversitiesCollegesId()){
UniversitiesColleges universitiesColleges = universitiesCollegesService.queryById(schoolClass.getUniversitiesCollegesId());
schoolClass.setOrgId(universitiesColleges.getOrgId());
// 判断班级编号是否已经存在,并抛出异常
// 如果院校ID不为空则验证方法的区域缩减到院校级别的。不使用全表验证了
if(StrUtil.isNotBlank(schoolClass.getClassSn())) {
schoolClassService.validateClassSnListIsExistsThrow(Collections.singletonList(schoolClass), universitiesColleges.getOrgId().toString());
}
}else {
UniversitiesColleges universitiesColleges = new UniversitiesColleges();
universitiesColleges.setOrgId(coreUser.getOrgId());
@ -330,11 +331,12 @@ public class SchoolClassController extends BaseController {
}, true);
try {
schoolClassService.validateClassSnListIsExistsThrow(classList);
schoolClassService.validateClassSnListIsExistsThrow(classList, classList.get(0).getOrgId().toString());
}
catch (IllegalArgumentException e) {
listener.putFailMessage(e.getMessage());
}
catch (Exception e) { }
finally {
// 再次判断错误的结果集
Assert.isTrue(CollectionUtil.isEmpty(listener.getFailMessage()), JSONUtil.toJsonStr(listener.getFailMessage()));

Loading…
Cancel
Save