wangliang 2 лет назад
Родитель
Сommit
e217df612f

+ 1 - 0
themis-admin/src/main/java/com/qmth/themis/admin/api/TEExamCourseController.java

@@ -59,6 +59,7 @@ public class TEExamCourseController {
             teExamCourseUpdateWrapper.lambda().set(TEExamCourse::getObjectiveShuffle, teExamCourse.getObjectiveShuffle())
                     .set(TEExamCourse::getOptionShuffle, teExamCourse.getOptionShuffle())
                     .set(TEExamCourse::getUpdateId, tbUser.getId())
+                    .set(TEExamCourse::getUpdateTime, System.currentTimeMillis())
                     .set(TEExamCourse::getMobilePhotoUpload, teExamCourse.getMobilePhotoUpload())
                     .eq(TEExamCourse::getExamId, teExamCourse.getExamId()).eq(TEExamCourse::getCourseCode, teExamCourse.getCourseCode());
             teExamCourseService.update(teExamCourseUpdateWrapper);

+ 5 - 3
themis-admin/src/main/java/com/qmth/themis/admin/api/TEExamPaperController.java

@@ -136,9 +136,10 @@ public class TEExamPaperController {
     @ApiResponses({@ApiResponse(code = 200, message = "{\"taskId\":0}", response = Result.class)})
     public Result importData(@ApiParam(value = "上传文件", required = true) @RequestParam MultipartFile file,
                              @ApiParam(value = "批次ID", required = true) @RequestParam Long examId,
-                             @ApiParam(value = "客观题乱序", required = false) @RequestParam Boolean objectiveShuffle,
-                             @ApiParam(value = "选项乱序", required = false) @RequestParam Boolean optionShuffle,
-                             @ApiParam(value = "音频播放次数", required = false) @RequestParam Integer audioPlayCount,
+                             @ApiParam(value = "客观题乱序", required = true) @RequestParam Boolean objectiveShuffle,
+                             @ApiParam(value = "选项乱序", required = true) @RequestParam Boolean optionShuffle,
+                             @ApiParam(value = "音频播放次数", required = true) @RequestParam Integer audioPlayCount,
+                             @ApiParam(value = "是否允许使用移动端拍照答题", required = true) @RequestParam Integer mobilePhotoUpload,
                              @ApiParam(value = "解析试卷", required = true) @RequestParam Boolean processPaper,
                              @ApiParam(value = "解析标答", required = true) @RequestParam Boolean processAnswer) {
         if (file == null) {
@@ -181,6 +182,7 @@ public class TEExamPaperController {
             transMap.put("audioPlayCount", audioPlayCount);
             transMap.put("processPaper", processPaper);
             transMap.put("processAnswer", processAnswer);
+            transMap.put("mobilePhotoUpload", mobilePhotoUpload);
             transMap.put(SystemConstant.REMARK, tbAttachment.getRemark());
             //mq发送消息start
             MqDto mqDto = new MqDto(mqUtil.getTopic(), MqTagEnum.EXAM_PAPER_IMPORT.name(), transMap,

+ 4 - 0
themis-business/src/main/java/com/qmth/themis/business/templete/impl/TaskExamPaperImportTemplete.java

@@ -174,6 +174,7 @@ public class TaskExamPaperImportTemplete implements TaskImportTemplete {
         Boolean objectiveShuffle = (Boolean) map.get("objectiveShuffle");
         Boolean optionShuffle = (Boolean) map.get("optionShuffle");
         Integer audioPlayCount = (Integer) map.get("audioPlayCount");
+        Integer mobilePhotoUpload = (Integer) map.get("mobilePhotoUpload");
         if (objectiveShuffle != null) {
             course.setObjectiveShuffle(objectiveShuffle ? 1 : 0);
         }
@@ -183,6 +184,9 @@ public class TaskExamPaperImportTemplete implements TaskImportTemplete {
         if (audioPlayCount != null) {
             course.setAudioPlayCount(audioPlayCount);
         }
+        if (Objects.nonNull(mobilePhotoUpload)) {
+            course.setMobilePhotoUpload(mobilePhotoUpload);
+        }
         List<TEExamPaper> list = teExamPaperService.findByExamIdAndCourseCode(teExam.getId(), courseCode);
         int hasAnswer = 1;
         for (TEExamPaper p : list) {

+ 9 - 1
themis-business/src/main/resources/mapper/TOeExamRecordMapper.xml

@@ -1920,6 +1920,12 @@
 
     <select id="orgDataCount" resultType="com.qmth.themis.business.bean.admin.OrgDataCountBean">
         select
+            t.name,
+            t.code,
+            sum(onlineCount),
+            sum(examCount)
+        from
+            (select
             tbo.name,
             tbo.code,
             count(toer.id) as onlineCount,
@@ -1953,7 +1959,9 @@
           and toer.client_websocket_status = 'ON_LINE'
         group by
             tbo.name,
-            tbo.code
+            tbo.code) t group by
+                            t.name,
+                            t.code
     </select>
 
     <select id="mapDataCount" resultType="com.qmth.themis.business.bean.admin.MapDataCountBean">