Browse Source

分班规则调整

dzx 6 months ago
parent
commit
6179575e24

+ 11 - 16
src/main/java/com/xjrsoft/module/banding/service/impl/BandingTaskServiceImpl.java

@@ -344,15 +344,12 @@ public class BandingTaskServiceImpl extends MPJBaseServiceImpl<BandingTaskMapper
                     continue;
                 }
                 //专业不匹配,直接跳过
-                if(
-                        !Objects.equals(taskClass.getMajorSetId(), newStudent.getFirstAmbitionId()) &&
-                        (
-                                !ruleCodes.contains("BR0006") &&
-                                !Objects.equals(taskClass.getMajorSetId(), newStudent.getSecondAmbitionId())
-                        )
-                )
-                {
+                if(ruleCodes.contains("BR0006") && !Objects.equals(taskClass.getMajorSetId(), newStudent.getFirstAmbitionId())){
                     continue;
+                }else{
+                    if(!Objects.equals(taskClass.getMajorSetId(), newStudent.getFirstAmbitionId()) && !Objects.equals(taskClass.getMajorSetId(), newStudent.getSecondAmbitionId())){
+                        continue;
+                    }
                 }
                 //判断该班性别是否已满,如果设置了排序,即使性别满了班级人数没满继续分班
                 if(ruleCodes.contains("BR0001")){
@@ -426,16 +423,14 @@ public class BandingTaskServiceImpl extends MPJBaseServiceImpl<BandingTaskMapper
                     continue;
                 }
                 //专业不匹配,直接跳过
-                //专业不匹配,直接跳过
-                if(
-                        !Objects.equals(taskClass.getMajorSetId(), newStudent.getFirstAmbitionId()) &&
-                                (
-                                        !ruleCodes.contains("BR0006") &&
-                                                !Objects.equals(taskClass.getMajorSetId(), newStudent.getSecondAmbitionId())
-                                )
-                ){
+                if(ruleCodes.contains("BR0006") && !Objects.equals(taskClass.getMajorSetId(), newStudent.getFirstAmbitionId())){
                     continue;
+                }else{
+                    if(!Objects.equals(taskClass.getMajorSetId(), newStudent.getFirstAmbitionId()) && !Objects.equals(taskClass.getMajorSetId(), newStudent.getSecondAmbitionId())){
+                        continue;
+                    }
                 }
+
                 //判断该班性别是否已满
                 List<Boolean> conditionList = new ArrayList<>();
                 BandingTaskMajorCondition condition = classConditionMap.get(taskClass.getMajorSetId());