|
@@ -7,19 +7,30 @@ import java.util.List;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Stream;
|
|
import java.util.stream.Stream;
|
|
|
|
|
|
|
|
+
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import cn.com.qmth.examcloud.common.dto.em.ExamStudent;
|
|
|
|
import cn.com.qmth.examcloud.common.dto.em.enums.ExamRecordStatus;
|
|
import cn.com.qmth.examcloud.common.dto.em.enums.ExamRecordStatus;
|
|
import cn.com.qmth.examcloud.common.dto.em.enums.MarkingType;
|
|
import cn.com.qmth.examcloud.common.dto.em.enums.MarkingType;
|
|
|
|
+import cn.com.qmth.examcloud.commons.base.util.DateUtil;
|
|
import cn.com.qmth.examcloud.core.oe.admin.api.ExamRecordCloudService;
|
|
import cn.com.qmth.examcloud.core.oe.admin.api.ExamRecordCloudService;
|
|
import cn.com.qmth.examcloud.core.oe.admin.api.ExamScoreCloudService;
|
|
import cn.com.qmth.examcloud.core.oe.admin.api.ExamScoreCloudService;
|
|
|
|
+import cn.com.qmth.examcloud.core.oe.admin.api.ExamScoreDataCloudService;
|
|
|
|
+import cn.com.qmth.examcloud.core.oe.admin.api.OeExamStudentCloudService;
|
|
import cn.com.qmth.examcloud.core.oe.admin.api.bean.ExamRecordForSelectScore;
|
|
import cn.com.qmth.examcloud.core.oe.admin.api.bean.ExamRecordForSelectScore;
|
|
import cn.com.qmth.examcloud.core.oe.admin.api.bean.ExamScoreBean;
|
|
import cn.com.qmth.examcloud.core.oe.admin.api.bean.ExamScoreBean;
|
|
|
|
+import cn.com.qmth.examcloud.core.oe.admin.api.bean.ExamScoreDataBean;
|
|
|
|
+import cn.com.qmth.examcloud.core.oe.admin.api.bean.OeExamStudentBean;
|
|
|
|
+import cn.com.qmth.examcloud.core.oe.admin.api.bean.FindStudentBean;
|
|
|
|
+import cn.com.qmth.examcloud.core.oe.admin.api.bean.FindStudentType;
|
|
|
|
+import cn.com.qmth.examcloud.core.oe.admin.api.request.FindExamScoreDataReq;
|
|
|
|
+import cn.com.qmth.examcloud.core.oe.admin.api.request.FindExamStudentInfoReq;
|
|
import cn.com.qmth.examcloud.core.oe.admin.api.request.QueryExamRecordForSelectScoreReq;
|
|
import cn.com.qmth.examcloud.core.oe.admin.api.request.QueryExamRecordForSelectScoreReq;
|
|
import cn.com.qmth.examcloud.core.oe.admin.api.request.QueryExamScoreReq;
|
|
import cn.com.qmth.examcloud.core.oe.admin.api.request.QueryExamScoreReq;
|
|
|
|
+import cn.com.qmth.examcloud.core.oe.admin.api.response.FindExamScoreDataResp;
|
|
|
|
+import cn.com.qmth.examcloud.core.oe.admin.api.response.FindExamStudentInfoResp;
|
|
import cn.com.qmth.examcloud.core.oe.admin.api.response.QueryExamRecordForSelectScoreResp;
|
|
import cn.com.qmth.examcloud.core.oe.admin.api.response.QueryExamRecordForSelectScoreResp;
|
|
import cn.com.qmth.examcloud.core.oe.admin.api.response.QueryExamScoreResp;
|
|
import cn.com.qmth.examcloud.core.oe.admin.api.response.QueryExamScoreResp;
|
|
import cn.com.qmth.examcloud.examwork.api.ExamCloudService;
|
|
import cn.com.qmth.examcloud.examwork.api.ExamCloudService;
|
|
@@ -28,8 +39,8 @@ import cn.com.qmth.examcloud.examwork.api.request.GetExamReq;
|
|
import cn.com.qmth.examcloud.examwork.api.response.GetExamPropertyResp;
|
|
import cn.com.qmth.examcloud.examwork.api.response.GetExamPropertyResp;
|
|
import cn.com.qmth.examcloud.examwork.api.response.GetExamResp;
|
|
import cn.com.qmth.examcloud.examwork.api.response.GetExamResp;
|
|
import cn.com.qmth.examcloud.exchange.dao.OutletScoreDao;
|
|
import cn.com.qmth.examcloud.exchange.dao.OutletScoreDao;
|
|
-import cn.com.qmth.examcloud.exchange.dao.bean.OutletScore;
|
|
|
|
import cn.com.qmth.examcloud.exchange.outer.service.OutletScoreService;
|
|
import cn.com.qmth.examcloud.exchange.outer.service.OutletScoreService;
|
|
|
|
+import cn.com.qmth.examcloud.exchange.outer.service.bean.OutletScore;
|
|
|
|
|
|
/**
|
|
/**
|
|
* @author chenken
|
|
* @author chenken
|
|
@@ -52,13 +63,19 @@ public class OutletScoreServiceImpl implements OutletScoreService{
|
|
@Autowired
|
|
@Autowired
|
|
private ExamRecordCloudService examRecordCloudService;
|
|
private ExamRecordCloudService examRecordCloudService;
|
|
|
|
|
|
- @Override
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private OeExamStudentCloudService oeExamStudentCloudService;
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ private ExamScoreDataCloudService examScoreDataCloudService;
|
|
|
|
+
|
|
|
|
+ /*@Override
|
|
public List<OutletScore> getExamScoreById(Long scoreId) throws Exception{
|
|
public List<OutletScore> getExamScoreById(Long scoreId) throws Exception{
|
|
if(scoreId == null){
|
|
if(scoreId == null){
|
|
return null;
|
|
return null;
|
|
}
|
|
}
|
|
return outletScoreDao.getExamScoreById(scoreId);
|
|
return outletScoreDao.getExamScoreById(scoreId);
|
|
- }
|
|
|
|
|
|
+ }*/
|
|
|
|
|
|
/**
|
|
/**
|
|
* examStuRemark不再使用 2018-10-15 chenken
|
|
* examStuRemark不再使用 2018-10-15 chenken
|
|
@@ -75,8 +92,16 @@ public class OutletScoreServiceImpl implements OutletScoreService{
|
|
GetExamResp getExamResp = examCloudService.getExam(getExamReq);
|
|
GetExamResp getExamResp = examCloudService.getExam(getExamReq);
|
|
Long examId = getExamResp.getId();
|
|
Long examId = getExamResp.getId();
|
|
|
|
|
|
- List<ExamStudent> examStudents = outletScoreDao.findExamStudents(examId);
|
|
|
|
- return getExamStudentsScore(examStudents);
|
|
|
|
|
|
+ FindExamStudentInfoReq req = new FindExamStudentInfoReq();
|
|
|
|
+ req.setFindStudentType(FindStudentType.BY_EXAMID);
|
|
|
|
+ FindStudentBean findStudentBean = new FindStudentBean();
|
|
|
|
+ findStudentBean.setExamId(examId);
|
|
|
|
+ req.setFindStudentBean(findStudentBean);
|
|
|
|
+
|
|
|
|
+ FindExamStudentInfoResp findExamStudentInfoResp = oeExamStudentCloudService.findExamStudentInfoBy(req);
|
|
|
|
+ List<OeExamStudentBean> examStudentBeans = findExamStudentInfoResp.getExamStudents();
|
|
|
|
+ //List<ExamStudent> examStudents = outletScoreDao.findExamStudents(examId);
|
|
|
|
+ return getExamStudentsScore(examStudentBeans);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -84,8 +109,18 @@ public class OutletScoreServiceImpl implements OutletScoreService{
|
|
if(identityNumbers==null||identityNumbers.size()==0||examOrgId == null){
|
|
if(identityNumbers==null||identityNumbers.size()==0||examOrgId == null){
|
|
return null;
|
|
return null;
|
|
}
|
|
}
|
|
- List<ExamStudent> examStudents = outletScoreDao.findExamStudents(identityNumbers,examOrgId);
|
|
|
|
- return getExamStudentsScore(examStudents);
|
|
|
|
|
|
+
|
|
|
|
+ FindExamStudentInfoReq req = new FindExamStudentInfoReq();
|
|
|
|
+ req.setFindStudentType(FindStudentType.BY_EXAMID_AND_IDENTITYNUMBERS);
|
|
|
|
+ FindStudentBean findStudentBean = new FindStudentBean();
|
|
|
|
+ findStudentBean.setRootOrgId(examOrgId);
|
|
|
|
+ findStudentBean.setIdentityNumbers(identityNumbers);
|
|
|
|
+ req.setFindStudentBean(findStudentBean);
|
|
|
|
+
|
|
|
|
+ FindExamStudentInfoResp findExamStudentInfoResp = oeExamStudentCloudService.findExamStudentInfoBy(req);
|
|
|
|
+ List<OeExamStudentBean> examStudentBeans = findExamStudentInfoResp.getExamStudents();
|
|
|
|
+ //List<ExamStudent> examStudents = outletScoreDao.findExamStudents(identityNumbers,examOrgId);
|
|
|
|
+ return getExamStudentsScore(examStudentBeans);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -95,14 +130,27 @@ public class OutletScoreServiceImpl implements OutletScoreService{
|
|
getExamReq.setRootOrgId(rootOrgId);
|
|
getExamReq.setRootOrgId(rootOrgId);
|
|
GetExamResp getExamResp = examCloudService.getExam(getExamReq);
|
|
GetExamResp getExamResp = examCloudService.getExam(getExamReq);
|
|
Long examId = getExamResp.getId();
|
|
Long examId = getExamResp.getId();
|
|
- List<ExamStudent> examStudents = outletScoreDao.findExamStudents(examId,courseCode,studentCodes);
|
|
|
|
- return getExamStudentsScore(examStudents);
|
|
|
|
|
|
+
|
|
|
|
+ FindExamStudentInfoReq req = new FindExamStudentInfoReq();
|
|
|
|
+ req.setFindStudentType(FindStudentType.BY_EXAMID_AND_STUDENTCODES);
|
|
|
|
+ FindStudentBean findStudentBean = new FindStudentBean();
|
|
|
|
+ findStudentBean.setExamId(examId);
|
|
|
|
+ findStudentBean.setStudentCodes(studentCodes);
|
|
|
|
+ req.setFindStudentBean(findStudentBean);
|
|
|
|
+
|
|
|
|
+ FindExamStudentInfoResp findExamStudentInfoResp = oeExamStudentCloudService.findExamStudentInfoBy(req);
|
|
|
|
+ List<OeExamStudentBean> examStudentBeans = findExamStudentInfoResp.getExamStudents();
|
|
|
|
+ examStudentBeans = examStudentBeans.stream().filter(o->{
|
|
|
|
+ return o.getCourseCode().indexOf(courseCode)>-1;
|
|
|
|
+ }).collect(Collectors.toList());
|
|
|
|
+ //List<ExamStudent> examStudents = outletScoreDao.findExamStudents(examId,courseCode,studentCodes);
|
|
|
|
+ return getExamStudentsScore(examStudentBeans);
|
|
}
|
|
}
|
|
|
|
|
|
- private List<OutletScore> getExamStudentsScore(List<ExamStudent> examStudents) throws Exception{
|
|
|
|
|
|
+ private List<OutletScore> getExamStudentsScore(List<OeExamStudentBean> examStudents) throws Exception{
|
|
List<OutletScore> outletScoreList = new ArrayList<OutletScore>();
|
|
List<OutletScore> outletScoreList = new ArrayList<OutletScore>();
|
|
|
|
|
|
- for(ExamStudent examStudent:examStudents){
|
|
|
|
|
|
+ for(OeExamStudentBean examStudent:examStudents){
|
|
OutletScore outletScore = new OutletScore(examStudent);
|
|
OutletScore outletScore = new OutletScore(examStudent);
|
|
outletScore = findExamData(outletScore,examStudent);
|
|
outletScore = findExamData(outletScore,examStudent);
|
|
outletScoreList.add(outletScore);
|
|
outletScoreList.add(outletScore);
|
|
@@ -110,14 +158,14 @@ public class OutletScoreServiceImpl implements OutletScoreService{
|
|
return outletScoreList;
|
|
return outletScoreList;
|
|
}
|
|
}
|
|
|
|
|
|
- private OutletScore findExamData(OutletScore outletScore,ExamStudent examStudent) throws Exception{
|
|
|
|
|
|
+ private OutletScore findExamData(OutletScore outletScore,OeExamStudentBean examStudent) throws Exception{
|
|
QueryExamRecordForSelectScoreReq req = new QueryExamRecordForSelectScoreReq();
|
|
QueryExamRecordForSelectScoreReq req = new QueryExamRecordForSelectScoreReq();
|
|
- req.setExamStudentId(examStudent.getId());
|
|
|
|
|
|
+ req.setExamStudentId(examStudent.getExamStudentId());
|
|
QueryExamRecordForSelectScoreResp resp = examRecordCloudService.queryExamRecordForSelectScore(req);
|
|
QueryExamRecordForSelectScoreResp resp = examRecordCloudService.queryExamRecordForSelectScore(req);
|
|
List<ExamRecordForSelectScore> examRecordList = resp.getExamRecordForSelectScoreList();
|
|
List<ExamRecordForSelectScore> examRecordList = resp.getExamRecordForSelectScoreList();
|
|
//List<ExamRecord> examRecordList = examRecordDao.findByExamStudentId(examStudent.getId());
|
|
//List<ExamRecord> examRecordList = examRecordDao.findByExamStudentId(examStudent.getId());
|
|
Boolean isFinished = examStudent.getFinished();
|
|
Boolean isFinished = examStudent.getFinished();
|
|
- if(isFinished==null){
|
|
|
|
|
|
+ if(isFinished == null){
|
|
isFinished = false;
|
|
isFinished = false;
|
|
}
|
|
}
|
|
//是否缺考
|
|
//是否缺考
|
|
@@ -265,22 +313,25 @@ public class OutletScoreServiceImpl implements OutletScoreService{
|
|
getExamReq.setRootOrgId(rootOrgId);
|
|
getExamReq.setRootOrgId(rootOrgId);
|
|
GetExamResp getExamResp = examCloudService.getExam(getExamReq);
|
|
GetExamResp getExamResp = examCloudService.getExam(getExamReq);
|
|
Long examId = getExamResp.getId();
|
|
Long examId = getExamResp.getId();
|
|
- List<ExamStudent> examStudents = outletScoreDao.findExamStudents(examId,identityNumbers);
|
|
|
|
- return getExamStudentsScore(examStudents);
|
|
|
|
|
|
+
|
|
|
|
+ FindExamStudentInfoReq req = new FindExamStudentInfoReq();
|
|
|
|
+ req.setFindStudentType(FindStudentType.BY_EXAMID_AND_IDENTITYNUMBERS);
|
|
|
|
+ FindStudentBean findStudentBean = new FindStudentBean();
|
|
|
|
+ findStudentBean.setExamId(examId);
|
|
|
|
+ findStudentBean.setIdentityNumbers(identityNumbers);
|
|
|
|
+ req.setFindStudentBean(findStudentBean);
|
|
|
|
+
|
|
|
|
+ FindExamStudentInfoResp findExamStudentInfoResp = oeExamStudentCloudService.findExamStudentInfoBy(req);
|
|
|
|
+ List<OeExamStudentBean> examStudentBeans = findExamStudentInfoResp.getExamStudents();
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ //List<ExamStudent> examStudents = outletScoreDao.findExamStudents(examId,identityNumbers);
|
|
|
|
+ return getExamStudentsScore(examStudentBeans);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public List<OutletScore> queryExamScoreBy(Long rootOrgId, String examName,String studentCode, String courseCode) throws Exception {
|
|
public List<OutletScore> queryExamScoreBy(Long rootOrgId, String examName,String studentCode, String courseCode) throws Exception {
|
|
- if(rootOrgId == null){
|
|
|
|
- return null;
|
|
|
|
- }
|
|
|
|
- if(examName == null){
|
|
|
|
- return null;
|
|
|
|
- }
|
|
|
|
- if(studentCode == null){
|
|
|
|
- return null;
|
|
|
|
- }
|
|
|
|
- if(courseCode == null){
|
|
|
|
|
|
+ if(rootOrgId == null || examName == null || studentCode == null || courseCode == null){
|
|
return null;
|
|
return null;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -289,7 +340,42 @@ public class OutletScoreServiceImpl implements OutletScoreService{
|
|
getExamReq.setRootOrgId(rootOrgId);
|
|
getExamReq.setRootOrgId(rootOrgId);
|
|
GetExamResp getExamResp = examCloudService.getExam(getExamReq);
|
|
GetExamResp getExamResp = examCloudService.getExam(getExamReq);
|
|
Long examId = getExamResp.getId();
|
|
Long examId = getExamResp.getId();
|
|
- return outletScoreDao.queryExamScoreBy(rootOrgId, examId, studentCode, courseCode);
|
|
|
|
|
|
+
|
|
|
|
+ FindExamScoreDataReq findExamScoreDataReq = new FindExamScoreDataReq();
|
|
|
|
+ findExamScoreDataReq.setExamId(examId);
|
|
|
|
+ findExamScoreDataReq.setStudentCode(studentCode);
|
|
|
|
+ FindExamScoreDataResp findExamScoreDataResp = examScoreDataCloudService.findExamScoreDataByExamIdAndStudentCode(findExamScoreDataReq);
|
|
|
|
+ List<ExamScoreDataBean> examScoreDataList = findExamScoreDataResp.getExamScoreDatas();
|
|
|
|
+ if(examScoreDataList == null || examScoreDataList.size() == 0){
|
|
|
|
+ return null;
|
|
|
|
+ }
|
|
|
|
+ examScoreDataList = examScoreDataList.stream().filter(o->{
|
|
|
|
+ return o.getCourseCode().indexOf(courseCode)>-1;
|
|
|
|
+ }).collect(Collectors.toList());
|
|
|
|
+
|
|
|
|
+ List<OutletScore> outletScoreList = new ArrayList<OutletScore>();
|
|
|
|
+ for(ExamScoreDataBean examScoreData:examScoreDataList){
|
|
|
|
+ OutletScore outletScore = new OutletScore();
|
|
|
|
+ outletScore.setStudentCode(examScoreData.getStudentCode());
|
|
|
|
+ outletScore.setStudentName(examScoreData.getStudentName());
|
|
|
|
+ outletScore.setIdentityNumber(examScoreData.getIdentityNumber());
|
|
|
|
+ outletScore.setTotalScore(examScoreData.getTotalScore());
|
|
|
|
+ outletScore.setObjectiveScore(examScoreData.getObjectiveScore());
|
|
|
|
+ outletScore.setSubjectiveScore(examScoreData.getSubjectiveScore());
|
|
|
|
+
|
|
|
|
+ String startTime = DateUtil.format(examScoreData.getStartTime(), "yyyy-MM-dd Hi:mm:ss");
|
|
|
|
+ outletScore.setStartTime(startTime);
|
|
|
|
+ if(examScoreData.getEndTime()!=null){
|
|
|
|
+ String endTime = DateUtil.format(examScoreData.getEndTime(), "yyyy-MM-dd Hi:mm:ss");
|
|
|
|
+ outletScore.setEndTime(endTime);
|
|
|
|
+ }
|
|
|
|
+ outletScore.setSuccessRate(examScoreData.getSuccPercent());
|
|
|
|
+ outletScore.setIsBreachThePrinciple(examScoreData.getIsIllegality());
|
|
|
|
+ outletScore.setScoreId(examScoreData.getScoreId());
|
|
|
|
+ outletScoreList.add(outletScore);
|
|
|
|
+ }
|
|
|
|
+ //return outletScoreDao.queryExamScoreBy(rootOrgId, examId, studentCode, courseCode);
|
|
|
|
+ return outletScoreList;
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|