|
|
@@ -8,18 +8,20 @@ import com.xjrsoft.common.enums.GenderDictionaryEnum;
|
|
|
import com.xjrsoft.common.exception.MyException;
|
|
|
import com.xjrsoft.common.utils.VoToColumnUtil;
|
|
|
import com.xjrsoft.module.banding.dto.AutomaticBandingTaskDto;
|
|
|
-import com.xjrsoft.module.banding.dto.BandingTaskClassConditionDto;
|
|
|
+import com.xjrsoft.module.banding.dto.BandingTaskMajorConditionDto;
|
|
|
import com.xjrsoft.module.banding.dto.SureBandingTaskDto;
|
|
|
import com.xjrsoft.module.banding.entity.BandingRule;
|
|
|
import com.xjrsoft.module.banding.entity.BandingTask;
|
|
|
import com.xjrsoft.module.banding.entity.BandingTaskClass;
|
|
|
import com.xjrsoft.module.banding.entity.BandingTaskClassStudent;
|
|
|
+import com.xjrsoft.module.banding.entity.BandingTaskMajorCondition;
|
|
|
import com.xjrsoft.module.banding.entity.BandingTaskRule;
|
|
|
import com.xjrsoft.module.banding.mapper.BandingRuleMapper;
|
|
|
import com.xjrsoft.module.banding.mapper.BandingTaskClassMapper;
|
|
|
import com.xjrsoft.module.banding.mapper.BandingTaskMapper;
|
|
|
import com.xjrsoft.module.banding.mapper.BandingTaskRuleMapper;
|
|
|
import com.xjrsoft.module.banding.service.IBandingTaskClassStudentService;
|
|
|
+import com.xjrsoft.module.banding.service.IBandingTaskMajorConditionService;
|
|
|
import com.xjrsoft.module.banding.service.IBandingTaskService;
|
|
|
import com.xjrsoft.module.outint.vo.IdCountVo;
|
|
|
import com.xjrsoft.module.student.entity.BaseNewStudent;
|
|
|
@@ -52,6 +54,7 @@ public class BandingTaskServiceImpl extends MPJBaseServiceImpl<BandingTaskMapper
|
|
|
private final BandingTaskClassMapper taskClassMapper;
|
|
|
private final IBaseNewStudentService newStudentService;
|
|
|
private final IBandingTaskClassStudentService classStudentService;
|
|
|
+ private final IBandingTaskMajorConditionService conditionService;
|
|
|
|
|
|
|
|
|
@Override
|
|
|
@@ -157,10 +160,18 @@ public class BandingTaskServiceImpl extends MPJBaseServiceImpl<BandingTaskMapper
|
|
|
classLimitMap.put(bandingTaskClass.getId(), majorLimitMap.get(bandingTaskClass.getMajorSetId()));
|
|
|
}
|
|
|
}
|
|
|
+ //查询每个专业的限制条件
|
|
|
+ List<BandingTaskMajorCondition> list = conditionService.list(
|
|
|
+ new QueryWrapper<BandingTaskMajorCondition>().lambda()
|
|
|
+ .eq(BandingTaskMajorCondition::getBandingTaskId, dto.getBandingTaskId())
|
|
|
+ );
|
|
|
+ Map<Long, BandingTaskMajorCondition> classConditionMap = new HashMap<>();
|
|
|
+ for (BandingTaskMajorCondition conditionDto : list) {
|
|
|
+ classConditionMap.put(conditionDto.getMajorSetId(), conditionDto);
|
|
|
+ }
|
|
|
+
|
|
|
+ if(ruleCodes.contains("BR0002")){
|
|
|
|
|
|
- Map<Long, BandingTaskClassConditionDto> classConditionMap = new HashMap<>();
|
|
|
- for (BandingTaskClassConditionDto classConditionDto : dto.getClassInfo()) {
|
|
|
- classConditionMap.put(classConditionDto.getBandingTaskCassId(), classConditionDto);
|
|
|
}
|
|
|
//存班级和学生的关系
|
|
|
Map<Long, Long> studentClassMap = new HashMap<>();
|
|
|
@@ -219,7 +230,7 @@ public class BandingTaskServiceImpl extends MPJBaseServiceImpl<BandingTaskMapper
|
|
|
}
|
|
|
|
|
|
List<Boolean> conditionList = new ArrayList<>();
|
|
|
- BandingTaskClassConditionDto condition = classConditionMap.get(taskClass.getId());
|
|
|
+ BandingTaskMajorCondition condition = classConditionMap.get(taskClass.getMajorSetId());
|
|
|
if(condition.getHeight() !=null && newStudent.getHeight() != null && newStudent.getHeight().compareTo(condition.getHeight()) >= 0 ){
|
|
|
conditionList.add(true);
|
|
|
}else if(condition.getHeight() !=null && newStudent.getHeight() != null && newStudent.getHeight().compareTo(condition.getHeight()) < 0){
|