|
@@ -2478,8 +2478,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
ClassGradeVo classGradeVo = classGradeVoList.get(i);
|
|
|
int locakStudentNum = 0;
|
|
|
Boolean sevenFlag = false;
|
|
|
- if (businessFull.contains("继续教育") && businessFull.contains("施工现场专业人员")
|
|
|
- && StringUtils.isNotBlank(goods.getSevenYear()) && !Arrays.asList("2021","2022").contains(goods.getSevenYear())){
|
|
|
+ if (businessFull.contains("继续教育") && businessFull.contains("施工现场专业人员")){
|
|
|
if (ObjectUtils.isNotNull(sysTenant.getSevenClass()) && sysTenant.getSevenClass() == 1){
|
|
|
//七大员继教班级共享
|
|
|
locakStudentNum = baseMapper.getStudeCountByCodeNoTenant(classGradeVo.getSevenCode());
|
|
@@ -2517,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;
|
|
|
}
|
|
@@ -2529,28 +2529,47 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
String businessFullName = iGoodsService.getGoodsBusinessName(goodsId);
|
|
|
if (businessFullName.contains("继续教育") && businessFullName.contains("施工现场专业人员")){
|
|
|
//七大员继教
|
|
|
- classGrade.setStudentUpper(ClassGrade.INIT_UPPER3); //上限1000
|
|
|
- String sevenYear = goods.getSevenYear();
|
|
|
- if (!Arrays.asList("2021","2022").contains(sevenYear)){
|
|
|
- //班级绑定学员资料推送和学时推送
|
|
|
- List<ClassGradeInterface> list = iClassGradeInterfaceService.list(new LambdaQueryWrapper<ClassGradeInterface>()
|
|
|
- .eq(ClassGradeInterface::getStatus, 1)
|
|
|
- .in(ClassGradeInterface::getType, Arrays.asList(1, 3)));
|
|
|
- if (CollectionUtils.isNotEmpty(list)){
|
|
|
- list.forEach(item -> {
|
|
|
- if (item.getType() == 1){
|
|
|
- classGrade.setInterfacePushId(item.getId());
|
|
|
- }else if(item.getType() == 3){
|
|
|
- classGrade.setInterfacePeriodId(item.getId());
|
|
|
+// classGrade.setStudentUpper(ClassGrade.INIT_UPPER3); //上限1000
|
|
|
+ classGrade.setStudentUpper(1); //上限1000
|
|
|
+ //班级绑定学员资料推送和学时推送
|
|
|
+ List<ClassGradeInterface> list = iClassGradeInterfaceService
|
|
|
+ .list(new LambdaQueryWrapper<ClassGradeInterface>()
|
|
|
+ .eq(ClassGradeInterface::getStatus, 1)
|
|
|
+ .in(ClassGradeInterface::getType, Arrays.asList(1, 3)));
|
|
|
+ if (CollectionUtils.isNotEmpty(list)){
|
|
|
+ list.forEach(item -> {
|
|
|
+ if (item.getType() == 1){
|
|
|
+ classGrade.setInterfacePushId(item.getId());
|
|
|
+ }else if(item.getType() == 3){
|
|
|
+ classGrade.setInterfacePeriodId(item.getId());
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ if (ObjectUtils.isNotNull(sysTenant.getSevenClass()) && sysTenant.getSevenClass() == 1){
|
|
|
+ //七大员继教班级共享
|
|
|
+// 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());
|
|
|
+ }
|
|
|
}
|
|
|
- });
|
|
|
- }
|
|
|
- if (ObjectUtils.isNotNull(sysTenant.getSevenClass()) && sysTenant.getSevenClass() == 1){
|
|
|
- //七大员继教班级共享
|
|
|
- classGrade.setSevenCode(getSevenCodeNoTenant(goodsId));
|
|
|
- }else {
|
|
|
- classGrade.setSevenCode(getSevenCode(goodsId));
|
|
|
+ }
|
|
|
}
|
|
|
+ }else {
|
|
|
+ classGrade.setSevenCode(getSevenCode(goodsId));
|
|
|
}
|
|
|
}else {
|
|
|
classGrade.setStudentUpper(ClassGrade.INIT_UPPER); //上限300
|
|
@@ -2581,8 +2600,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
// classGrade.setClassName(goodsName + gradeCode);
|
|
|
//七大员继教同一个专业下同一个班级名称
|
|
|
Boolean classFlag = true;
|
|
|
- if (businessFull.contains("继续教育") && businessFull.contains("施工现场专业人员")
|
|
|
- && StringUtils.isNotBlank(goods.getSevenYear()) && !Arrays.asList("2021","2022").contains(goods.getSevenYear())){
|
|
|
+ if (businessFull.contains("继续教育") && businessFull.contains("施工现场专业人员")){
|
|
|
List<ClassGrade> gradeName = new ArrayList<>();
|
|
|
if (ObjectUtils.isNotNull(sysTenant.getSevenClass()) && sysTenant.getSevenClass() == 1){
|
|
|
//七大员继教班级共享
|
|
@@ -2592,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());
|
|
@@ -2761,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());
|
|
@@ -2772,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");
|
|
|
}
|
|
|
|