ting.yin 1 år sedan
förälder
incheckning
e6cb098518

+ 17 - 2
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/service/impl/ExamQuestionServiceImpl.java

@@ -273,8 +273,22 @@ public class ExamQuestionServiceImpl extends BaseQueryService<ExamQuestion> impl
     @Override
     public double sumTotalScore(int examId, String subjectCode, boolean objective) {
         if (objective) {
-            Double score = questionDao.sumTotalScore(examId, subjectCode, objective);
-            return score != null ? score.doubleValue() : 0d;
+            List<String> paperTypeList = this.getPaperType(examId, subjectCode);
+            if (paperTypeList.size() > 1) {
+                Double score = 0d;
+                for (String paperType : paperTypeList) {
+                    List<ExamQuestion> list = this.findByExamAndSubjectAndObjectiveAndPaperType(examId, subjectCode,
+                            objective, paperType);
+                    Double paperTypeScore = list.stream().mapToDouble(ExamQuestion::getTotalScore).sum();
+                    if (paperTypeScore > score) {
+                        score = paperTypeScore;
+                    }
+                }
+                return score;
+            } else {
+                Double score = questionDao.sumTotalScore(examId, subjectCode, objective);
+                return score != null ? score.doubleValue() : 0d;
+            }
         } else {
             List<SelectiveGroup> selectiveGroups = selectiveGroupService
                     .findByExamIdAndSubjectCode(examId, subjectCode);
@@ -313,6 +327,7 @@ public class ExamQuestionServiceImpl extends BaseQueryService<ExamQuestion> impl
     @Transactional
     public void deleteById(Integer questionId) {
         questionDao.delete(questionId);
+        questionDao.flush();
     }
 
     @Override

+ 11 - 0
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/school/model/School.java

@@ -91,6 +91,9 @@ public class School implements Serializable {
     @Column(name = "sub_code", nullable = true)
     private String subCode;
 
+    @Column(name = "group_delete_code", nullable = true, length = 64)
+    private String groupDeleteCode;
+
     public Integer getId() {
         return id;
     }
@@ -232,4 +235,12 @@ public class School implements Serializable {
         this.doubleTrack = doubleTrack;
     }
 
+    public String getGroupDeleteCode() {
+        return groupDeleteCode;
+    }
+
+    public void setGroupDeleteCode(String groupDeleteCode) {
+        this.groupDeleteCode = groupDeleteCode;
+    }
+
 }

+ 12 - 6
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/MarkGroupController.java

@@ -20,7 +20,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.core.task.AsyncTaskExecutor;
 import org.springframework.stereotype.Controller;
 import org.springframework.transaction.annotation.Transactional;
@@ -52,6 +51,8 @@ import cn.com.qmth.stmms.biz.lock.LockService;
 import cn.com.qmth.stmms.biz.mark.model.MarkConfigItem;
 import cn.com.qmth.stmms.biz.mark.service.MarkService;
 import cn.com.qmth.stmms.biz.report.service.ReportSubjectService;
+import cn.com.qmth.stmms.biz.school.model.School;
+import cn.com.qmth.stmms.biz.school.service.SchoolService;
 import cn.com.qmth.stmms.common.annotation.Logging;
 import cn.com.qmth.stmms.common.annotation.RoleRequire;
 import cn.com.qmth.stmms.common.domain.WebUser;
@@ -111,13 +112,13 @@ public class MarkGroupController extends BaseExamController {
     @Autowired
     private InspectHistoryService inspectHistoryService;
 
+    @Autowired
+    private SchoolService schoolService;
+
     @Qualifier("task-executor")
     @Autowired
     private AsyncTaskExecutor taskExecutor;
 
-    @Value("${mark.group.delete}")
-    private String markDeleteCode;
-
     @Logging(menu = "大题管理查询", type = LogType.QUERY)
     @RequestMapping
     public String list(HttpServletRequest request, Model model, @RequestParam(required = false) String subjectCode) {
@@ -400,7 +401,9 @@ public class MarkGroupController extends BaseExamController {
             model.addAttribute("thirdPolicyList", ThirdPolicy.values());
             model.addAttribute("subject", subjectService.find(examId, subjectCode));
             model.addAttribute("exam", examService.findById(examId));
-            model.addAttribute("deleteCheck", StringUtils.isNotBlank(markDeleteCode));
+            Exam exam = examService.findById(examId);
+            School school = schoolService.findById(exam.getSchoolId());
+            model.addAttribute("deleteCheck", StringUtils.isNotBlank(school.getGroupDeleteCode()));
             return "modules/exam/groupEditFull";
         } else {
             redirectAttributes.addAttribute("subjectCode", subjectCode);
@@ -420,7 +423,10 @@ public class MarkGroupController extends BaseExamController {
             redirectAttributes.addAttribute("subjectCode", subjectCode);
             return "redirect:/admin/exam/group";
         }
-        if (group.getLibraryCount() != 0 && group.getLeftCount() == 0 && !markDeleteCode.equals(deleteCode)) {
+        Exam exam = examService.findById(examId);
+        School school = schoolService.findById(exam.getSchoolId());
+        if (StringUtils.isNotBlank(school.getGroupDeleteCode()) && group.getLibraryCount() != 0
+                && group.getLeftCount() == 0 && !school.getGroupDeleteCode().equals(deleteCode)) {
             addMessage(redirectAttributes, "删除分组授权码不正确");
             redirectAttributes.addAttribute("subjectCode", subjectCode);
             return "redirect:/admin/exam/group";

+ 1 - 0
stmms-web/src/main/webapp/sql/stmms_ft.sql

@@ -26,6 +26,7 @@ CREATE TABLE `b_school`
 	`double_track`  tinyint(1)  NOT NULL COMMENT '双评轨迹',
     `access_key`    varchar(64)  DEFAULT NULL COMMENT 'AccessKey',
     `access_secret` varchar(64)  DEFAULT NULL COMMENT 'AccessSecret',
+    `group_delete_code` varchar(64)  DEFAULT NULL COMMENT '删除分组授权码',
     `create_time`   datetime    NOT NULL COMMENT '创建时间',
     `update_time`   datetime     DEFAULT NULL COMMENT '修改时间',
     PRIMARY KEY (`id`),

+ 1 - 0
stmms-web/src/main/webapp/sql/upgrade/1.3.14.sql

@@ -13,6 +13,7 @@ ALTER TABLE eb_inspect_history ADD COLUMN `inspect_round` 	int(11) NOT NULL COMM
 ALTER TABLE eb_exam_subject ADD COLUMN `selective` 	tinyint(1) NOT NULL DEFAULT 0 COMMENT '选做题科目';
 
 ALTER TABLE b_school ADD COLUMN `double_track`  tinyint(1)  NOT NULL DEFAULT 0 COMMENT '双评轨迹';
+ALTER TABLE b_school ADD COLUMN `group_delete_code` varchar(64)  DEFAULT NULL COMMENT '删除分组授权码';
 
 -- 更新选做题科目数据
 UPDATE eb_exam_subject o,