caozixuan 4 years ago
parent
commit
aa7c2b467c

+ 1 - 1
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TBExamCourseServiceImpl.java

@@ -74,7 +74,7 @@ public class TBExamCourseServiceImpl extends ServiceImpl<TBExamCourseMapper, TBE
         TestStatusEnum testStatusEnum = tbExamCourse.getTestStatus();
         PublishStatusEnum publishStatusEnum = tbExamCourse.getPublishStatus();
         return testStatusEnum.equals(TestStatusEnum.TEST) || testStatusEnum.equals(TestStatusEnum.CHECKED) ||
-                publishStatusEnum.equals(PublishStatusEnum.PUBLISH) || publishStatusEnum.equals(PublishStatusEnum.COMPUTING);
+                publishStatusEnum.equals(PublishStatusEnum.PUBLISH);
     }
 
     @Override

+ 1 - 3
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/templete/execute/AsyncDataCalculateTempleteService.java

@@ -39,6 +39,7 @@ public class AsyncDataCalculateTempleteService extends AsyncCalculateTaskTemplet
 
 
     private final static Logger log = LoggerFactory.getLogger(AsyncDataCalculateTempleteService.class);
+
     @Override
     public Result calculateTask(Map<String, Object> map) {
         TBTask tbTask = (TBTask) map.get(SystemConstant.TASK);
@@ -47,7 +48,6 @@ public class AsyncDataCalculateTempleteService extends AsyncCalculateTaskTemplet
         TBTaskService tbTaskService = SpringContextHolder.getBean(TBTaskService.class);
         tbTaskService.updateById(tbTask);
 
-        AnalyzeForReportService analyzeForReportService = SpringContextHolder.getBean(AnalyzeForReportService.class);
         Long examId = SystemConstant.convertIdToLong(String.valueOf(map.get("examId")));
         String courseCode = String.valueOf(map.get("courseCode"));
 
@@ -59,8 +59,6 @@ public class AsyncDataCalculateTempleteService extends AsyncCalculateTaskTemplet
         String exception = null;
 
         try {
-            analyzeForReportService.normalAssignScore(examId,tbExamService.getById(examId).getSchoolId(),courseCode);
-            analyzeForReportService.realityForCalculate(examId,courseCode);
             TaskCalculateService taskCalculateService = SpringContextHolder.getBean(TaskCalculateService.class);
             taskCalculateService.dataCalculate(map);
             tbExamCourse.setPublishStatus(PublishStatusEnum.UN_PUBLISH);

+ 19 - 0
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/templete/service/impl/TaskCalculateServiceImpl.java

@@ -1,12 +1,18 @@
 package com.qmth.teachcloud.report.business.templete.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.qmth.teachcloud.common.contant.SystemConstant;
+import com.qmth.teachcloud.report.business.entity.TBPaper;
 import com.qmth.teachcloud.report.business.service.AnalyzeForReportService;
+import com.qmth.teachcloud.report.business.service.TBExamService;
+import com.qmth.teachcloud.report.business.service.TBPaperService;
 import com.qmth.teachcloud.report.business.templete.service.TaskCalculateService;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -18,12 +24,25 @@ import java.util.Map;
 public class TaskCalculateServiceImpl implements TaskCalculateService {
     @Resource
     private AnalyzeForReportService analyzeForReportService;
+    @Resource
+    private TBExamService tbExamService;
+    @Resource
+    private TBPaperService tbPaperService;
 
     @Transactional(rollbackFor = Exception.class)
     @Override
     public Map<String, Object> dataCalculate(Map<String, Object> map) throws Exception {
         Long examId = SystemConstant.convertIdToLong(String.valueOf(map.get("examId")));
         String courseCode = String.valueOf(map.get("courseCode"));
+        BigDecimal coefficient = BigDecimal.valueOf(Long.parseLong(String.valueOf(map.get("coefficient"))));
+        List<TBPaper> tbPaperList = tbPaperService.list(new QueryWrapper<TBPaper>().lambda()
+                .eq(TBPaper::getExamId, examId).eq(TBPaper::getCourseCode, courseCode));
+        for (TBPaper tbPaper : tbPaperList) {
+            tbPaper.setCoefficient(coefficient);
+        }
+        tbPaperService.updateBatchById(tbPaperList);
+        analyzeForReportService.normalAssignScore(examId,tbExamService.getById(examId).getSchoolId(),courseCode);
+
         analyzeForReportService.dataCalculate(examId,courseCode);
         return map;
     }

+ 2 - 6
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/CourseController.java

@@ -229,15 +229,11 @@ public class CourseController {
             @ApiParam(value = "科目编码", required = true) @RequestParam String courseCode,
             @ApiParam(value = "赋分系数", required = true) @RequestParam BigDecimal coefficient) {
 
-        List<TBPaper> tbPaperList = tbPaperService.list(new QueryWrapper<TBPaper>().lambda()
-                .eq(TBPaper::getExamId, examId).eq(TBPaper::getCourseCode, courseCode));
-        for (TBPaper tbPaper : tbPaperList) {
-            tbPaper.setCoefficient(coefficient);
-        }
-        tbPaperService.updateBatchById(tbPaperList);
+        analyzeForReportService.realityForCalculate(SystemConstant.convertIdToLong(examId),courseCode);
         Map<String, Object> map = tbTaskService.saveTask(TaskTypeEnum.DATA_CALCULATE);
         map.put("examId", examId);
         map.put("courseCode", courseCode);
+        map.put("coefficient", coefficient);
         asyncDataCalculateTempleteService.calculateTask(map);
         return ResultUtil.ok();
     }