From 75c3a26dde3a88c957af13ffbd4bab168e3cfebf Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: Thu, 18 Dec 2025 15:53:51 +0800
Subject: [PATCH] 去除多余引用

---
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/ExPaperStudentServiceImpl.java |   30 ++++++++++++++++++------------
 1 files changed, 18 insertions(+), 12 deletions(-)

diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ExPaperStudentServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ExPaperStudentServiceImpl.java
index 677294c..ffdc101 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ExPaperStudentServiceImpl.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ExPaperStudentServiceImpl.java
@@ -298,7 +298,7 @@
             }
             updateStudentAnswers.add(sa);
         }
-
+        ExPaperStudent exPaperStudent = baseMapper.selectByPaperStudentId(paperStudent);
         studentAnswerService.saveOrUpdateBatch(updateStudentAnswers);
         paperStudent.setScore(totalScore);
         if(!easyViewFlag){
@@ -311,9 +311,13 @@
                 //生成考试证书编号
                 DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
                 String format = LocalDate.now().format(dateTimeFormatter);
-                Long l = baseMapper.selectCount(Wrappers.<ExPaperStudent>lambdaQuery().eq(ExPaperStudent::getPassed, 1).eq(ExPaperStudent::getState,2));
-                l+=1;
-                paperStudent.setNumber("AQSC-"+format+"-"+l);
+                String timestamp = String.valueOf(System.currentTimeMillis()).substring(9, 13);
+                paperStudent.setNumber("AQSC-"+format+"-"+timestamp);
+            }
+
+            if (exPaperStudent.getScore()>=paperStudent.getScore()){
+                paperStudent.setScore(exPaperStudent.getScore());
+                paperStudent.setNumber(exPaperStudent.getNumber());
             }
         }
         int row=baseMapper.updateById(paperStudent);
@@ -325,14 +329,16 @@
     @Override
     @Transactional
     public void againExam(ExPaperStudent exPaperStudent) {
-        baseMapper.deleteByPaperStudentId(exPaperStudent.getPaperId(),exPaperStudent.getStudentId());
-        studentAnswerMapper.deletedByPaperStudentId(exPaperStudent.getPaperId(),exPaperStudent.getStudentId());
-        BatchPaperStudentVO batchPaperStudentVO = new BatchPaperStudentVO();
-        batchPaperStudentVO.setPaperId(exPaperStudent.getPaperId());
-        List<Long> longs = new ArrayList<>();
-        longs.add(exPaperStudent.getStudentId());
-        batchPaperStudentVO.setStudentIds(longs);
-        batchAddPaperStudent(batchPaperStudentVO);
+//        baseMapper.deleteByPaperStudentId(exPaperStudent.getPaperId(),exPaperStudent.getStudentId());
+//        studentAnswerMapper.deletedByPaperStudentId(exPaperStudent.getPaperId(),exPaperStudent.getStudentId());
+//        BatchPaperStudentVO batchPaperStudentVO = new BatchPaperStudentVO();
+//        batchPaperStudentVO.setPaperId(exPaperStudent.getPaperId());
+//        List<Long> longs = new ArrayList<>();
+//        longs.add(exPaperStudent.getStudentId());
+//        batchPaperStudentVO.setStudentIds(longs);
+//        batchAddPaperStudent(batchPaperStudentVO);
+        baseMapper.updateByPaperStudentId(exPaperStudent);
+        studentAnswerMapper.updateState(exPaperStudent);
     }
 
     private Integer getScore(ExExamPaper examPaper,Integer questionType){

--
Gitblit v1.9.2