|
|
@@ -2516,6 +2516,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
//创建新班级
|
|
|
CourseBusinessVo businessVo = iCourseBusinessService.queryById(businessId);
|
|
|
boolean isConfigTp = false; //商品是否有配置选班模板
|
|
|
+ Boolean isNewClass = true; //商品是否有配置选班模板
|
|
|
if (Validator.isNotEmpty(businessVo) && Validator.isNotEmpty(businessVo.getTemplateName()) && businessVo.getTemplateName().equals("班级")) {
|
|
|
isConfigTp = true;
|
|
|
}
|
|
|
@@ -2528,7 +2529,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
String businessFullName = iGoodsService.getGoodsBusinessName(goodsId);
|
|
|
if (businessFullName.contains("继续教育") && businessFullName.contains("施工现场专业人员")){
|
|
|
//七大员继教
|
|
|
- classGrade.setStudentUpper(ClassGrade.INIT_UPPER3); //上限1000
|
|
|
+// classGrade.setStudentUpper(ClassGrade.INIT_UPPER3); //上限1000
|
|
|
+ classGrade.setStudentUpper(1); //上限1000
|
|
|
//班级绑定学员资料推送和学时推送
|
|
|
List<ClassGradeInterface> list = iClassGradeInterfaceService
|
|
|
.list(new LambdaQueryWrapper<ClassGradeInterface>()
|
|
|
@@ -2545,7 +2547,27 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
}
|
|
|
if (ObjectUtils.isNotNull(sysTenant.getSevenClass()) && sysTenant.getSevenClass() == 1){
|
|
|
//七大员继教班级共享
|
|
|
- classGrade.setSevenCode(getSevenCodeNoTenant(goodsId));
|
|
|
+// classGrade.setSevenCode(getSevenCodeNoTenant(goodsId,classGrade,isNewClass));
|
|
|
+ classGrade.setSevenCode(ServletUtils.getEncoded("SEV"));
|
|
|
+ Goods g = iGoodsService.getById(goodsId);
|
|
|
+ String businessName = iGoodsService.getGoodsBusinessName(g.getGoodsId());
|
|
|
+ Major major = iMajorService.getById(g.getMajorId());
|
|
|
+ List<Goods> list4 = iGoodsService.getRelevanceGoodsNoTenant(businessName,major.getCategoryName(),g.getGoodsId());
|
|
|
+ if (CollectionUtils.isNotEmpty(list4)){
|
|
|
+ List<ClassGradeGoods> classGradeList = iClassGradeGoodsService
|
|
|
+ .getClassNoTenant(list4.stream().map(Goods::getGoodsId).collect(Collectors.toList()));
|
|
|
+ if (CollectionUtils.isNotEmpty(classGradeList)){
|
|
|
+ ClassGrade classGrade4 = baseMapper.getSevenGradeNoTenant(classGradeList.stream().map(ClassGradeGoods::getGradeId).collect(Collectors.toList()));
|
|
|
+ if (ObjectUtils.isNotNull(classGrade4)){
|
|
|
+ //判断班级人数
|
|
|
+ Integer locakStudentNum = baseMapper.getStudeCountByCodeNoTenant(classGrade4.getSevenCode());
|
|
|
+ if ((classGrade.getStudentUpper() - locakStudentNum) > 0) {
|
|
|
+ isNewClass = false;
|
|
|
+ classGrade.setSevenCode(classGrade4.getSevenCode());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}else {
|
|
|
classGrade.setSevenCode(getSevenCode(goodsId));
|
|
|
}
|
|
|
@@ -2588,7 +2610,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
}
|
|
|
if (CollectionUtils.isNotEmpty(gradeName)){
|
|
|
ClassGrade grade = gradeName.stream().filter(x -> ObjectUtils.isNotNull(x.getClassStatus()) && x.getClassStatus() == 1).findFirst().orElse(null);
|
|
|
- if (ObjectUtils.isNotEmpty(grade)){
|
|
|
+ if (ObjectUtils.isNotEmpty(grade) && !isNewClass){
|
|
|
//存在已开班的班级
|
|
|
classGrade.setClassStatus(grade.getClassStatus());
|
|
|
classGrade.setOfficialName(grade.getOfficialName());
|
|
|
@@ -2757,7 +2779,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
return ServletUtils.getEncoded("SEV");
|
|
|
}
|
|
|
|
|
|
- private String getSevenCodeNoTenant(Long goodsId) {
|
|
|
+ private String getSevenCodeNoTenant(Long goodsId,ClassGrade classGradeVo,Boolean isNewClass) {
|
|
|
Goods g = iGoodsService.getById(goodsId);
|
|
|
String businessName = iGoodsService.getGoodsBusinessName(g.getGoodsId());
|
|
|
Major major = iMajorService.getById(g.getMajorId());
|
|
|
@@ -2768,10 +2790,15 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
if (CollectionUtils.isNotEmpty(classGradeList)){
|
|
|
ClassGrade classGrade = baseMapper.getSevenGradeNoTenant(classGradeList.stream().map(ClassGradeGoods::getGradeId).collect(Collectors.toList()));
|
|
|
if (ObjectUtils.isNotNull(classGrade)){
|
|
|
- return classGrade.getSevenCode();
|
|
|
+ //判断班级人数
|
|
|
+ Integer locakStudentNum = baseMapper.getStudeCountByCodeNoTenant(classGrade.getSevenCode());
|
|
|
+ if ((classGradeVo.getStudentUpper() - locakStudentNum) > 0) {
|
|
|
+ return classGrade.getSevenCode();
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ isNewClass = true;
|
|
|
return ServletUtils.getEncoded("SEV");
|
|
|
}
|
|
|
|