Browse Source

考试数值表接口

xiatian 6 years ago
parent
commit
d868b783ca

+ 13 - 13
examcloud-core-reports-api-provider/src/main/java/cn/com/qmth/examcloud/core/reports/api/provider/CourseDataReportCloudServiceProvider.java

@@ -1,8 +1,8 @@
 package cn.com.qmth.examcloud.core.reports.api.provider;
 
-import org.examcloud.core.reports.api.CourseDataReportCloudService;
-import org.examcloud.core.reports.api.request.SaveCourseDataReportListReq;
-import org.examcloud.core.reports.api.response.SaveCourseDataReportListResp;
+import org.examcloud.core.reports.api.ExamDataReportCloudService;
+import org.examcloud.core.reports.api.request.SaveExamDataReportListReq;
+import org.examcloud.core.reports.api.response.SaveExamDataReportListResp;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -10,33 +10,33 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import cn.com.qmth.examcloud.commons.exception.StatusException;
-import cn.com.qmth.examcloud.core.reports.service.CourseDataReportService;
+import cn.com.qmth.examcloud.core.reports.service.ExamDataReportService;
 import cn.com.qmth.examcloud.web.support.ControllerSupport;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 
 @RestController
-@Api(tags = "课程数值接口")
-@RequestMapping("${$rmp.cloud.reports}"+"courseDataReport")
-public class CourseDataReportCloudServiceProvider extends ControllerSupport implements CourseDataReportCloudService {
+@Api(tags = "考试数值接口")
+@RequestMapping("${$rmp.cloud.reports}"+"examDataReport")
+public class CourseDataReportCloudServiceProvider extends ControllerSupport implements ExamDataReportCloudService {
 
+	
 	/**
 	 * 
 	 */
-	private static final long serialVersionUID = -2138703572207468208L;
-	
+	private static final long serialVersionUID = 5803919108039888587L;
 	@Autowired
-	private CourseDataReportService courseDataReportService;
+	private ExamDataReportService examDataReportService;
 
 	@ApiOperation(value = "批量保存")
     @PostMapping("/saveList")
 	@Override
-	public SaveCourseDataReportListResp saveCourseDataReportList(@RequestBody SaveCourseDataReportListReq req) {
+	public SaveExamDataReportListResp saveExamDataReportList(@RequestBody SaveExamDataReportListReq req) {
 		if(req.getBeans()==null||req.getBeans().size()==0) {
 			throw new StatusException("1000001", "数据为空");
 		}
-		courseDataReportService.saveCourseDataReportList(req.getBeans());
-		return new SaveCourseDataReportListResp();
+		examDataReportService.saveExamDataReportList(req.getBeans());
+		return new SaveExamDataReportListResp();
 	}
 
 }

+ 42 - 0
examcloud-core-reports-api-provider/src/main/java/cn/com/qmth/examcloud/core/reports/api/provider/ExamDataReportCloudServiceProvider.java

@@ -0,0 +1,42 @@
+package cn.com.qmth.examcloud.core.reports.api.provider;
+
+import org.examcloud.core.reports.api.CourseDataReportCloudService;
+import org.examcloud.core.reports.api.request.SaveCourseDataReportListReq;
+import org.examcloud.core.reports.api.response.SaveCourseDataReportListResp;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import cn.com.qmth.examcloud.commons.exception.StatusException;
+import cn.com.qmth.examcloud.core.reports.service.CourseDataReportService;
+import cn.com.qmth.examcloud.web.support.ControllerSupport;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+@RestController
+@Api(tags = "课程数值接口")
+@RequestMapping("${$rmp.cloud.reports}"+"courseDataReport")
+public class ExamDataReportCloudServiceProvider extends ControllerSupport implements CourseDataReportCloudService {
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = -2138703572207468208L;
+	
+	@Autowired
+	private CourseDataReportService courseDataReportService;
+
+	@ApiOperation(value = "批量保存")
+    @PostMapping("/saveList")
+	@Override
+	public SaveCourseDataReportListResp saveCourseDataReportList(@RequestBody SaveCourseDataReportListReq req) {
+		if(req.getBeans()==null||req.getBeans().size()==0) {
+			throw new StatusException("1000001", "数据为空");
+		}
+		courseDataReportService.saveCourseDataReportList(req.getBeans());
+		return new SaveCourseDataReportListResp();
+	}
+
+}

+ 10 - 0
examcloud-core-reports-dao/src/main/java/cn/com/qmth/examcloud/core/reports/dao/ExamDataReportRepo.java

@@ -0,0 +1,10 @@
+package cn.com.qmth.examcloud.core.reports.dao;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+import cn.com.qmth.examcloud.core.reports.dao.entity.ExamDataReportEntity;
+
+public interface ExamDataReportRepo extends JpaRepository<ExamDataReportEntity, Long>,
+		JpaSpecificationExecutor<ExamDataReportEntity> {
+}

+ 178 - 0
examcloud-core-reports-dao/src/main/java/cn/com/qmth/examcloud/core/reports/dao/entity/ExamDataReportEntity.java

@@ -0,0 +1,178 @@
+package cn.com.qmth.examcloud.core.reports.dao.entity;
+
+import javax.persistence.Entity;
+import javax.persistence.Index;
+import javax.persistence.Table;
+import javax.validation.constraints.NotNull;
+
+import cn.com.qmth.examcloud.core.reports.dao.entity.share.IdEntity;
+
+
+@Entity
+@Table(name = "ec_r_exam_data_report",indexes = {
+		@Index(name = "IDX_R_EXAM_DATA_REPORT_01", columnList = "projectId,rootOrgId,courseId", unique = true),
+		@Index(name = "IDX_R_EXAM_DATA_REPORT_02", columnList = "projectId", unique = false),
+		@Index(name = "IDX_R_EXAM_DATA_REPORT_03", columnList = "rootOrgId", unique = false),
+		@Index(name = "IDX_R_EXAM_DATA_REPORT_04", columnList = "examId", unique = false)})
+public class ExamDataReportEntity extends IdEntity {
+
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = -6438547261149984546L;
+	//项目id
+	@NotNull
+    private Long projectId;
+	//rootOrgId
+    @NotNull
+    private Long rootOrgId;
+    //考试id
+    @NotNull
+    private Long examId;
+    //考试名称
+    @NotNull
+    private String examName;
+    //考试code
+    @NotNull
+    private String examCode;
+    //满分
+    @NotNull
+    private Double totalScore;
+    //最高分
+    @NotNull
+    private Double maxScore;
+    //最低分
+    @NotNull
+    private Double minScore;
+    //平均分
+    @NotNull
+    private Double avgScore;
+    //标准差
+    @NotNull
+    private Double std;
+    //平均调卷难度
+    @NotNull
+    private Double avgDifficultyDegree;
+    //差异系数
+    @NotNull
+    private Double cdi;
+    //考试人数
+    @NotNull
+    private Long participantCount;
+    //满分人数
+    @NotNull
+    private Long fullCount;
+    //零分人数
+    @NotNull
+    private Long zeroCount;
+    //及格人数
+    @NotNull
+    private Long passCount;
+    //分段人数数据
+    @NotNull
+    private String partitionData;
+	public Long getProjectId() {
+		return projectId;
+	}
+	public void setProjectId(Long projectId) {
+		this.projectId = projectId;
+	}
+	public Long getRootOrgId() {
+		return rootOrgId;
+	}
+	public void setRootOrgId(Long rootOrgId) {
+		this.rootOrgId = rootOrgId;
+	}
+	public Long getExamId() {
+		return examId;
+	}
+	public void setExamId(Long examId) {
+		this.examId = examId;
+	}
+	public String getExamName() {
+		return examName;
+	}
+	public void setExamName(String examName) {
+		this.examName = examName;
+	}
+	public String getExamCode() {
+		return examCode;
+	}
+	public void setExamCode(String examCode) {
+		this.examCode = examCode;
+	}
+	public Double getTotalScore() {
+		return totalScore;
+	}
+	public void setTotalScore(Double totalScore) {
+		this.totalScore = totalScore;
+	}
+	public Double getMaxScore() {
+		return maxScore;
+	}
+	public void setMaxScore(Double maxScore) {
+		this.maxScore = maxScore;
+	}
+	public Double getMinScore() {
+		return minScore;
+	}
+	public void setMinScore(Double minScore) {
+		this.minScore = minScore;
+	}
+	public Double getAvgScore() {
+		return avgScore;
+	}
+	public void setAvgScore(Double avgScore) {
+		this.avgScore = avgScore;
+	}
+	public Double getStd() {
+		return std;
+	}
+	public void setStd(Double std) {
+		this.std = std;
+	}
+	public Double getAvgDifficultyDegree() {
+		return avgDifficultyDegree;
+	}
+	public void setAvgDifficultyDegree(Double avgDifficultyDegree) {
+		this.avgDifficultyDegree = avgDifficultyDegree;
+	}
+	public Double getCdi() {
+		return cdi;
+	}
+	public void setCdi(Double cdi) {
+		this.cdi = cdi;
+	}
+	public Long getParticipantCount() {
+		return participantCount;
+	}
+	public void setParticipantCount(Long participantCount) {
+		this.participantCount = participantCount;
+	}
+	public Long getFullCount() {
+		return fullCount;
+	}
+	public void setFullCount(Long fullCount) {
+		this.fullCount = fullCount;
+	}
+	public Long getZeroCount() {
+		return zeroCount;
+	}
+	public void setZeroCount(Long zeroCount) {
+		this.zeroCount = zeroCount;
+	}
+	public Long getPassCount() {
+		return passCount;
+	}
+	public void setPassCount(Long passCount) {
+		this.passCount = passCount;
+	}
+	public String getPartitionData() {
+		return partitionData;
+	}
+	public void setPartitionData(String partitionData) {
+		this.partitionData = partitionData;
+	}
+    
+}

+ 10 - 0
examcloud-core-reports-service/src/main/java/cn/com/qmth/examcloud/core/reports/service/ExamDataReportService.java

@@ -0,0 +1,10 @@
+package cn.com.qmth.examcloud.core.reports.service;
+
+import java.util.List;
+
+import org.examcloud.core.reports.api.bean.ExamDataReportBean;
+
+public interface ExamDataReportService {
+
+	public void saveExamDataReportList(List<ExamDataReportBean> beans);
+}

+ 36 - 0
examcloud-core-reports-service/src/main/java/cn/com/qmth/examcloud/core/reports/service/impl/ExamDataReportServiceImpl.java

@@ -0,0 +1,36 @@
+package cn.com.qmth.examcloud.core.reports.service.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.commons.lang3.StringUtils;
+import org.examcloud.core.reports.api.bean.ExamDataReportBean;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import cn.com.qmth.examcloud.core.reports.dao.ExamDataReportRepo;
+import cn.com.qmth.examcloud.core.reports.dao.entity.ExamDataReportEntity;
+import cn.com.qmth.examcloud.core.reports.service.ExamDataReportService;
+
+@Service
+public class ExamDataReportServiceImpl implements ExamDataReportService {
+	@Autowired
+	private ExamDataReportRepo examDataReportRepo;
+
+	@Transactional
+	@Override
+	public void saveExamDataReportList(List<ExamDataReportBean> beans) {
+		List<ExamDataReportEntity> list=new ArrayList<ExamDataReportEntity>();
+		for(ExamDataReportBean bean:beans) {
+			ExamDataReportEntity e=new ExamDataReportEntity();
+			BeanUtils.copyProperties(bean, e);
+			e.setPartitionData(StringUtils.join(bean.getPartitionData().toArray(), ","));
+			list.add(e);
+		}
+		examDataReportRepo.saveAll(list);
+	}
+
+
+}