|
@@ -39,6 +39,7 @@ import com.qmth.exam.reserve.template.execute.StudentApplyNoFinishExportService;
|
|
|
import com.qmth.exam.reserve.util.DateUtil;
|
|
|
import com.qmth.exam.reserve.util.JsonHelper;
|
|
|
import com.qmth.exam.reserve.util.PageUtil;
|
|
|
+import com.qmth.exam.reserve.util.UnionUtil;
|
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.apache.commons.lang3.time.DateUtils;
|
|
@@ -530,13 +531,16 @@ public class StudentApplyServiceImpl extends ServiceImpl<StudentApplyDao, Studen
|
|
|
|
|
|
|
|
|
private Map<Long, Map<String, TimePeriodEntity>> getTimePeriodExamSiteCache(Long taskId) {
|
|
|
+ //学校管理员设置的所有预约时段
|
|
|
+ List<TimePeriodExamSiteBean> timePeriodList = timePeriodService.listTimePeriodByTask(taskId);
|
|
|
+
|
|
|
Map<Long, Map<String, TimePeriodEntity>> timePeriodExamSiteCache = new HashMap<>();
|
|
|
List<TimePeriodExamSiteBean> timePeriodExamSiteBeans = timePeriodService.listTimePeriodByExamSiteId(taskId, null);
|
|
|
|
|
|
- // 过滤开启的预约时段
|
|
|
+ /*// 过滤开启的预约时段
|
|
|
timePeriodExamSiteBeans = timePeriodExamSiteBeans.stream()
|
|
|
.filter(TimePeriodExamSiteBean::getEnable)
|
|
|
- .collect(Collectors.toList());
|
|
|
+ .collect(Collectors.toList());*/
|
|
|
|
|
|
// 按照考点分组
|
|
|
Map<Long, List<TimePeriodExamSiteBean>> timePeriodMap = timePeriodExamSiteBeans.stream()
|
|
@@ -546,11 +550,21 @@ public class StudentApplyServiceImpl extends ServiceImpl<StudentApplyDao, Studen
|
|
|
for (Map.Entry<Long, List<TimePeriodExamSiteBean>> entry : entries) {
|
|
|
Long examSiteId = entry.getKey();
|
|
|
List<TimePeriodExamSiteBean> timePeriodExamSiteBeansList = entry.getValue();
|
|
|
+
|
|
|
+ //取并集
|
|
|
+ timePeriodExamSiteBeansList = UnionUtil.unionByAttribute(timePeriodExamSiteBeansList, timePeriodList, TimePeriodExamSiteBean::getTimePeriodId);
|
|
|
+
|
|
|
+ // 过滤开启的预约时段
|
|
|
+ timePeriodExamSiteBeansList = timePeriodExamSiteBeansList.stream()
|
|
|
+ .filter(TimePeriodExamSiteBean::getEnable)
|
|
|
+ .collect(Collectors.toList());
|
|
|
+
|
|
|
// 时段转换为Map key: start_time + end_time
|
|
|
Map<String, TimePeriodEntity> map = getStringTimePeriodEntityMap(timePeriodExamSiteBeansList);
|
|
|
|
|
|
timePeriodExamSiteCache.put(examSiteId, map);
|
|
|
}
|
|
|
+
|
|
|
return timePeriodExamSiteCache;
|
|
|
}
|
|
|
|