Browse Source

美术阅卷10月屏蔽和优化task

wangliang 5 years ago
parent
commit
f460cea6f3

+ 2 - 2
stmms-ms-admin/src/main/java/cn/com/qmth/stmms/ms/admin/api/StudentApi.java

@@ -61,7 +61,7 @@ public class StudentApi {
     public void remove(@PathVariable Student domain) {
     	Long isExist = paperRepo.countByWorkIdAndExamNumber(domain.getWorkId(), domain.getExamNumber());
         if (isExist > 0) {
-            throw new RuntimeException("该考生已上传,无法修改");
+            throw new RuntimeException("该考生已上传,无法删除");
         }
         studentRepo.delete(domain);
     }
@@ -75,7 +75,7 @@ public class StudentApi {
     public void update(@PathVariable Student domain, @RequestBody Student student) {
         Long isExist = paperRepo.countByWorkIdAndExamNumber(domain.getWorkId(), domain.getExamNumber());
         if (isExist > 0) {
-            throw new RuntimeException("该考生已上传,无法删除");
+            throw new RuntimeException("该考生已上传,无法修改");
         }
         domain.setName(student.getName());
         domain.setExamRoom(student.getExamRoom());

+ 6 - 5
stmms-ms-marking/src/main/java/cn/com/qmth/stmms/ms/marking/api/MakrerApi.java

@@ -121,13 +121,14 @@ public class MakrerApi {
         List<Long> questionIds = examQuestionList.stream()
                 .map(m -> m.getId())
                 .collect(Collectors.toList());
-        StringBuilder startSql = new StringBuilder("SELECT t.result,COUNT(*) as sumCount FROM mark_task t WHERE t.`question_id` in ( ");
-        String endSql = " ) and t.stage = 1 GROUP BY t.`result`,t.question_id ORDER BY t.result ";
+        StringBuilder startSql = new StringBuilder("select t.`result`,sum(if(t.questionId <> t.currentQuesId, 0, t.sumCount)) as sumCount from(SELECT t.result,COUNT(*) as sumCount,t.question_id as questionId,? as currentQuesId FROM mark_task t WHERE t.`question_id` in ( ");
+        String endSql = " ) and t.stage = 1 GROUP BY t.`result`,t.question_id ORDER BY t.result) t group by t.`result` ";
         questionIds.forEach(o -> startSql.append(o).append(","));
         //当前老师当前试卷的评档次数
         StringBuilder sql = new StringBuilder(startSql.toString().substring(0, startSql.toString().length() - 1));
         sql.append(endSql);
-        List list = sqlUtil.execSqlForMap(sql.toString());
+        String finalSql = sqlUtil.sqlPrint(sql.toString(), questionId);
+        List list = sqlUtil.execSqlForMap(finalSql);
         for (int i = 0; i < list.size(); i++) {
             Map map = (Map) list.get(i);
             List finalList = (List) map.values().stream()
@@ -175,11 +176,11 @@ public class MakrerApi {
 
         levelStatDTOs.forEach(o -> {
             if (o.getId() != null) {
-                double p = (double) o.getCount() / kdtotal;
+                double p = (double) o.getCount() / total;
                 BigDecimal bd = new BigDecimal(p).setScale(3, RoundingMode.HALF_EVEN);
                 o.setPercent(bd.doubleValue());
 
-                double gp = (double) o.getGcount() / total;
+                double gp = (double) o.getGcount() / kdtotal;
                 BigDecimal gbd = new BigDecimal(gp).setScale(3, RoundingMode.HALF_EVEN);
                 o.setGpercent(gbd.doubleValue());
             }

+ 1 - 1
stmms-ms-marking/src/main/java/cn/com/qmth/stmms/ms/marking/assembler/LevelStatAssembler.java

@@ -18,7 +18,7 @@ public class LevelStatAssembler {
         if(levelStats != null){
             levelStatDTO = new LevelStatDTO();
             levelStatDTO.setId(levelStats[0]);
-            BigInteger count =(BigInteger) levelStats[1];
+            BigInteger count = new BigInteger(String.valueOf(levelStats[1]));
             levelStatDTO.setCount(count.intValue());
             if(levelStats.length>2){
             	BigDecimal rejected =(BigDecimal) levelStats[2];