|
@@ -3,9 +3,11 @@ package com.qmth.themis.business.templete.impl;
|
|
import java.io.File;
|
|
import java.io.File;
|
|
import java.io.FilenameFilter;
|
|
import java.io.FilenameFilter;
|
|
import java.io.IOException;
|
|
import java.io.IOException;
|
|
|
|
+import java.math.BigDecimal;
|
|
import java.text.SimpleDateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
|
|
+import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
import java.util.Objects;
|
|
import java.util.Objects;
|
|
@@ -155,8 +157,27 @@ public class TaskExamPaperImportTemplete implements TaskImportTemplete {
|
|
course.setPaperCount(list.size());
|
|
course.setPaperCount(list.size());
|
|
course.setHasAnswer(hasAnswer);
|
|
course.setHasAnswer(hasAnswer);
|
|
teExamCourseService.saveOrUpdate(course);
|
|
teExamCourseService.saveOrUpdate(course);
|
|
|
|
+ //设置调卷比例
|
|
|
|
+ teExamPaperService.savePaperWeight(paperWeight(list));
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
|
|
+ private Map<Long,Double> paperWeight(List<TEExamPaper> list){
|
|
|
|
+ BigDecimal b1 = new BigDecimal(1.0);//基数总数
|
|
|
|
+ BigDecimal b2 = new BigDecimal(list.size());//份数
|
|
|
|
+ BigDecimal b3=b1.divide(b2,2, BigDecimal.ROUND_FLOOR );//平均数
|
|
|
|
+ BigDecimal b4=b1.subtract(b3.multiply(b2).setScale(2, BigDecimal.ROUND_FLOOR ));//余数
|
|
|
|
+ Map<Long,Double> map=new HashMap<Long,Double>();
|
|
|
|
+ for(int i=0;i<list.size();i++) {
|
|
|
|
+ TEExamPaper p=list.get(i);
|
|
|
|
+ if(i==list.size()-1) {
|
|
|
|
+ map.put(p.getId(), b3.add(b4).doubleValue());
|
|
|
|
+ }else {
|
|
|
|
+ map.put(p.getId(), b3.doubleValue());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return map;
|
|
|
|
+ }
|
|
|
|
+
|
|
private void disposePaperDir(String rootDir, TEExam teExam, TEExamCourse course, File paperDir,
|
|
private void disposePaperDir(String rootDir, TEExam teExam, TEExamCourse course, File paperDir,
|
|
Map<String, Object> map) {
|
|
Map<String, Object> map) {
|
|
String paperCode = paperDir.getName();
|
|
String paperCode = paperDir.getName();
|