|
@@ -1,34 +1,29 @@
|
|
|
package cn.com.qmth.examcloud.core.reports.service.impl;
|
|
|
|
|
|
-import java.math.BigDecimal;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Collections;
|
|
|
-import java.util.Comparator;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.stream.Collectors;
|
|
|
-
|
|
|
-import javax.persistence.criteria.Predicate;
|
|
|
-
|
|
|
-import org.apache.commons.collections4.CollectionUtils;
|
|
|
-import org.apache.commons.lang3.StringUtils;
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.data.jpa.domain.Specification;
|
|
|
-import org.springframework.stereotype.Service;
|
|
|
-import org.springframework.transaction.annotation.Transactional;
|
|
|
-
|
|
|
-import com.google.common.collect.Lists;
|
|
|
-
|
|
|
import cn.com.qmth.examcloud.api.commons.exchange.PageInfo;
|
|
|
import cn.com.qmth.examcloud.commons.exception.StatusException;
|
|
|
import cn.com.qmth.examcloud.core.reports.api.request.SaveExamDataReq;
|
|
|
import cn.com.qmth.examcloud.core.reports.base.bean.ExamDataBean;
|
|
|
+import cn.com.qmth.examcloud.core.reports.base.bean.OnlineStatisticBean;
|
|
|
import cn.com.qmth.examcloud.core.reports.dao.ExamDataRepo;
|
|
|
import cn.com.qmth.examcloud.core.reports.dao.ExamStudentCountRepo;
|
|
|
+import cn.com.qmth.examcloud.core.reports.dao.StudentCountRepo;
|
|
|
import cn.com.qmth.examcloud.core.reports.dao.entity.ExamDataEntity;
|
|
|
import cn.com.qmth.examcloud.core.reports.dao.entity.ExamStudentCountEntity;
|
|
|
+import cn.com.qmth.examcloud.core.reports.dao.entity.StudentCountEntity;
|
|
|
import cn.com.qmth.examcloud.core.reports.service.ExamDataService;
|
|
|
+import com.google.common.collect.Lists;
|
|
|
+import org.apache.commons.collections4.CollectionUtils;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.data.jpa.domain.Specification;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
+
|
|
|
+import javax.persistence.criteria.Predicate;
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
@Service
|
|
|
public class ExamDataServiceImpl implements ExamDataService {
|
|
@@ -36,6 +31,9 @@ public class ExamDataServiceImpl implements ExamDataService {
|
|
|
@Autowired
|
|
|
private ExamDataRepo examDataRepo;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private StudentCountRepo studentCountRepo;
|
|
|
+
|
|
|
@Autowired
|
|
|
private ExamStudentCountRepo examStudentCountRepo;
|
|
|
|
|
@@ -186,4 +184,34 @@ public class ExamDataServiceImpl implements ExamDataService {
|
|
|
return column;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public OnlineStatisticBean onlineStatistic(Long rootOrgId, Long examId) {
|
|
|
+
|
|
|
+ int allOnlineCount = 0;
|
|
|
+ StudentCountEntity onlineCount = studentCountRepo.findByRootOrgId(rootOrgId);
|
|
|
+ if (onlineCount != null) {
|
|
|
+ allOnlineCount = onlineCount.getOnlineCount();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ int allExamOnlineCount = 0;
|
|
|
+ int examOnlineCount = 0;
|
|
|
+ List<ExamStudentCountEntity> examOnlineCounts = examStudentCountRepo.findByRootOrgId(rootOrgId);
|
|
|
+ if (CollectionUtils.isNotEmpty(examOnlineCounts)) {
|
|
|
+ for (ExamStudentCountEntity x : examOnlineCounts) {
|
|
|
+ if (x.getExamId().equals(examId)) {
|
|
|
+ examOnlineCount = x.getOnlineCount();
|
|
|
+ }
|
|
|
+ allExamOnlineCount += x.getOnlineCount();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ OnlineStatisticBean result = new OnlineStatisticBean();
|
|
|
+ result.setAllOnlineCount(allOnlineCount);
|
|
|
+ result.setAllExamOnlineCount(allExamOnlineCount);
|
|
|
+ result.setExamOnlineCount(examOnlineCount);
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
}
|