|
@@ -11,14 +11,19 @@ import javax.annotation.Resource;
|
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
|
+import com.baomidou.mybatisplus.core.metadata.OrderItem;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
+import com.google.common.collect.Lists;
|
|
import com.qmth.themis.business.base.BasePage;
|
|
import com.qmth.themis.business.base.BasePage;
|
|
|
|
+import com.qmth.themis.business.bean.backend.ExamDeficiencyListBean;
|
|
import com.qmth.themis.business.bean.backend.ExamViewCountListBean;
|
|
import com.qmth.themis.business.bean.backend.ExamViewCountListBean;
|
|
import com.qmth.themis.business.cache.bean.ExamActivityCacheBean;
|
|
import com.qmth.themis.business.cache.bean.ExamActivityCacheBean;
|
|
import com.qmth.themis.business.cache.bean.ExamCacheBean;
|
|
import com.qmth.themis.business.cache.bean.ExamCacheBean;
|
|
import com.qmth.themis.business.dao.TEExamStudentMapper;
|
|
import com.qmth.themis.business.dao.TEExamStudentMapper;
|
|
import com.qmth.themis.business.dao.TOeExamRecordMapper;
|
|
import com.qmth.themis.business.dao.TOeExamRecordMapper;
|
|
|
|
+import com.qmth.themis.business.entity.TEExamActivity;
|
|
import com.qmth.themis.business.service.TEExamActivityService;
|
|
import com.qmth.themis.business.service.TEExamActivityService;
|
|
import com.qmth.themis.business.service.TEExamService;
|
|
import com.qmth.themis.business.service.TEExamService;
|
|
import com.qmth.themis.business.service.TIeReportService;
|
|
import com.qmth.themis.business.service.TIeReportService;
|
|
@@ -158,5 +163,40 @@ public class TIeReportServiceImpl implements TIeReportService {
|
|
return basePage;
|
|
return basePage;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public BasePage examDeficiencyList(Long examId, Long examActivityId, String roomCode, String courseCode,
|
|
|
|
+ String name, String identity, int pageNumber, int pageSize) {
|
|
|
|
+ Page<ExamDeficiencyListBean> ipage=new Page<>(pageNumber, pageSize);
|
|
|
|
+ ipage.addOrder(OrderItem.asc("t.exam_activity_id"));
|
|
|
|
+ ipage.addOrder(OrderItem.asc("t.room_code"));
|
|
|
|
+ QueryWrapper<TEExamActivity> wp = new QueryWrapper<>();
|
|
|
|
+ wp.lambda().eq(TEExamActivity::getExamId, examId);
|
|
|
|
+ List<TEExamActivity> acs= examActivityService.list(wp);
|
|
|
|
+ List<Long> absentActivityIds=new ArrayList<>();
|
|
|
|
+ Date now = new Date();
|
|
|
|
+ for(TEExamActivity ac:acs) {
|
|
|
|
+ Long end = ac.getStartTime().getTime() + (ac.getOpeningSeconds() * 1000L);
|
|
|
|
+ if (now.getTime() > end) {//场次开考时间结束,未开考的都是缺考
|
|
|
|
+ absentActivityIds.add(ac.getId());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if(absentActivityIds.size()==0) {
|
|
|
|
+ BasePage basePage = new BasePage(Lists.newArrayList(), 1, pageSize, 0);
|
|
|
|
+ return basePage;
|
|
|
|
+ }
|
|
|
|
+ IPage<ExamDeficiencyListBean> total = examStudentMapper.getExamDeficiencyPage(ipage,examId, examActivityId, roomCode, courseCode,name,identity,absentActivityIds);
|
|
|
|
+ List<ExamDeficiencyListBean> data=total.getRecords();
|
|
|
|
+ if(data==null||data.size()==0) {
|
|
|
|
+ BasePage basePage = new BasePage(total.getRecords(), total.getCurrent(), total.getSize(), total.getTotal());
|
|
|
|
+ return basePage;
|
|
|
|
+ }
|
|
|
|
+ ExamCacheBean exam=examService.getExamCacheBean(examId);
|
|
|
|
+ for(ExamDeficiencyListBean b:data) {
|
|
|
|
+ b.setExamName(exam.getName());
|
|
|
|
+ }
|
|
|
|
+ BasePage basePage = new BasePage(total.getRecords(), total.getCurrent(), total.getSize(), total.getTotal());
|
|
|
|
+ return basePage;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
}
|
|
}
|