瀏覽代碼

3.3.0 fix

xiaofei 1 年之前
父節點
當前提交
1bb70ffc41

+ 6 - 6
distributed-print-business/src/main/java/com/qmth/distributed/print/business/enums/ExamDetailStatusEnum.java

@@ -9,14 +9,14 @@ import java.util.List;
  * @Description: 考场状态枚举类
  */
 public enum ExamDetailStatusEnum {
-    NEW("新建"),
+    NEW("待生成"),
     CREATING("生成中"),
-    READY("就绪"),
-    WAITING("待印"),
+    READY("待提交"),
+    WAITING("待印"),
     PRINTING("印刷中"),
-    FINISH("已完成"),
-    CANCEL("作废"),
-    REJECT("打回");
+    FINISH("已印刷"),
+    CANCEL("作废"),
+    REJECT("打回");
     private final String desc;
 
     ExamDetailStatusEnum(String desc) {

+ 8 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskDetailServiceImpl.java

@@ -462,6 +462,7 @@ public class ExamTaskDetailServiceImpl extends ServiceImpl<ExamTaskDetailMapper,
                 List<ExamDetailCourse> examDetailCourseList = examDetailCourseService.list(queryWrapper);
                 Set<String> paperTypeSet = new HashSet<>();
                 for (ExamDetailCourse examDetailCourse : examDetailCourseList) {
+                    // 考场内任一课程有扫描数据,不允许打回
                     boolean isScanPaper = scanPaperService.isScanByExamIdAndPaperNumber(examTask.getExamId(), examDetailCourse.getPaperNumber());
                     if (isScanPaper) {
                         throw ExceptionResultEnum.ERROR.exception("有课程已开始扫描,无法打回");
@@ -470,6 +471,13 @@ public class ExamTaskDetailServiceImpl extends ServiceImpl<ExamTaskDetailMapper,
                         paperTypeSet.addAll(Arrays.asList(examDetailCourse.getPaperType().split(",")));
                     }
                 }
+
+                // 已打印任务,必须先创作废,未打印任务,必须先撤回。才允许打回
+                long count = examDetailList.stream().filter(m -> (ExamDetailStatusEnum.FINISH.equals(m.getStatus()) && m.getNormal()) || ExamDetailStatusEnum.WAITING.equals(m.getStatus())).count();
+                if (count > 0) {
+                    throw ExceptionResultEnum.ERROR.exception("印刷任务有已打印且未作废或者未撤回数据,无法打回");
+                }
+
                 // 修改已曝光和未曝光类型
                 List<String> exposedPaperTypeList = new ArrayList<>(Arrays.asList(taskDetail.getExposedPaperType().split(",")));
                 List<String> unexposedPaperTypeList = StringUtils.isNotBlank(taskDetail.getUnexposedPaperType()) ? new ArrayList<>(Arrays.asList(taskDetail.getUnexposedPaperType().split(","))) : new ArrayList<>();

+ 2 - 0
distributed-print/install/mysql/upgrade/3.3.0.sql

@@ -182,3 +182,5 @@ ALTER TABLE `t_b_sync_task`
     DROP COLUMN `third_relate_name`,
     DROP COLUMN `third_relate_id`,
     ADD COLUMN `paper_type` VARCHAR(10) NULL COMMENT '试卷类型' AFTER `paper_number`;
+ALTER TABLE `sys_user`
+    ADD COLUMN `allow_manual_card` TINYINT(1) NULL DEFAULT 0 COMMENT '是否允许新增卡格式' AFTER `ui_setting`;

+ 2 - 2
distributed-print/src/main/java/com/qmth/distributed/print/api/SysUserController.java

@@ -122,8 +122,8 @@ public class SysUserController {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
         }
-        Long upUserId = sysUserService.saveUser(userSaveParams);
-        return ResultUtil.ok();
+        sysUserService.saveUser(userSaveParams);
+        return ResultUtil.ok(true);
     }
 
     /**

+ 1 - 1
distributed-print/src/main/java/com/qmth/distributed/print/api/mark/ScanController.java

@@ -98,7 +98,7 @@ public class ScanController {
         LoginResult loginResult = teachcloudCommonService.login(login.getPassword(), sysUser, AppSourceEnum.SYSTEM);
         LoginClientResult loginClientResult = new LoginClientResult(sysUser, loginResult);
         loginClientResult.setRoleList(roles);
-        // todo 是否可以新增卡格式
+        loginClientResult.setCanAddCard(sysUser.getAllowManualCard());
         return ResultUtil.ok(new LoginClientResult(sysUser, loginResult));
     }
 

+ 10 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/result/LoginClientResult.java

@@ -70,6 +70,8 @@ public class LoginClientResult implements Serializable {
 
     @ApiModelProperty(name = "版本号")
     String version;
+    @ApiModelProperty(name = "是否允许新增卡格式")
+    private Boolean canAddCard;
 
     public String getReturnUrl() {
         return returnUrl;
@@ -219,6 +221,14 @@ public class LoginClientResult implements Serializable {
         this.schoolInfo = schoolInfo;
     }
 
+    public Boolean getCanAddCard() {
+        return canAddCard;
+    }
+
+    public void setCanAddCard(Boolean canAddCard) {
+        this.canAddCard = canAddCard;
+    }
+
     public class SchoolNativeBean implements Serializable {
 
         @ApiModelProperty(value = "id")

+ 12 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/SysUser.java

@@ -92,6 +92,10 @@ public class SysUser extends BaseEntity implements Serializable {
      * 备注
      */
     private String remark;
+    /**
+     * 是否允许新增卡格式
+     */
+    private Boolean allowManualCard;
 
     @TableField(exist = false)
     private String oldPassword;
@@ -224,6 +228,14 @@ public class SysUser extends BaseEntity implements Serializable {
         this.remark = remark;
     }
 
+    public Boolean getAllowManualCard() {
+        return allowManualCard;
+    }
+
+    public void setAllowManualCard(Boolean allowManualCard) {
+        this.allowManualCard = allowManualCard;
+    }
+
     public Long[] getRoleIds() {
         return roleIds;
     }

+ 5 - 4
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysUserServiceImpl.java

@@ -562,6 +562,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
                         .set(SysUser::getLoginName, sysUser.getLoginName())
                         .set(SysUser::getRealName, sysUser.getRealName())
                         .set(SysUser::getCode, sysUser.getCode())
+                        .set(SysUser::getAllowManualCard, sysUser.getAllowManualCard())
                         .set(SysUser::getMobileNumber, sysUser.getMobileNumber())
                         .set(SysUser::getOrgId, sysUser.getOrgId())
                         .set(SysUser::getEnable, dbUser.getEnable())
@@ -1282,11 +1283,11 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         return roleIdList;
     }
 
-	@Override
-	public void updateUiSetting(Long userId, String uiSetting) {
-		UpdateWrapper<SysUser> updateWrapper = new UpdateWrapper<>();
+    @Override
+    public void updateUiSetting(Long userId, String uiSetting) {
+        UpdateWrapper<SysUser> updateWrapper = new UpdateWrapper<>();
         updateWrapper.lambda().set(SysUser::getUiSetting, uiSetting)
                 .eq(SysUser::getId, userId);
         this.update(updateWrapper);
-	}
+    }
 }

+ 3 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/TeachcloudCommonServiceImpl.java

@@ -452,6 +452,9 @@ public class TeachcloudCommonServiceImpl implements TeachcloudCommonService {
      */
     @Override
     public String filePreview(String path) {
+        if (StringUtils.isBlank(path)) {
+            return null;
+        }
         String url = null;
         JSONObject jsonObject = JSONObject.parseObject(path);
         String attachmentType = (String) jsonObject.get(SystemConstant.TYPE);

+ 1 - 2
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkFileServiceImpl.java

@@ -70,8 +70,7 @@ public class MarkFileServiceImpl implements MarkFileService {
                               String studentCode, Integer paperNumber, Integer pageIndex) {
         String path = getSheetUri(examId, coursePaperId, studentCode, paperNumber, pageIndex);
         try {
-            path = fileStoreUtils.uploadFile(in, md5, UploadFileEnum.SHEET, path);
-            return fileStoreUtils.filePreview(path);
+            return fileStoreUtils.uploadFile(in, md5, UploadFileEnum.SHEET, path);
         } catch (RuntimeException e) {
             throw e;
         } catch (Exception e) {

+ 6 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/ScanBatchServiceImpl.java

@@ -3,6 +3,7 @@ package com.qmth.teachcloud.mark.service.impl;
 import java.util.ArrayList;
 import java.util.List;
 
+import com.qmth.teachcloud.common.service.TeachcloudCommonService;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -43,6 +44,8 @@ import com.qmth.teachcloud.mark.service.ScanFilePropertyService;
 import com.qmth.teachcloud.mark.service.ScanPaperPageService;
 import com.qmth.teachcloud.mark.service.ScanPaperService;
 
+import javax.annotation.Resource;
+
 /**
  * <p>
  * 服务实现类
@@ -73,6 +76,8 @@ public class ScanBatchServiceImpl extends ServiceImpl<ScanBatchMapper, ScanBatch
 	private ScanAnswerCardService scanAnswerCardService;
 	@Autowired
 	private ScanFilePropertyService scanFilePropertyService;
+	@Resource
+	private TeachcloudCommonService teachcloudCommonService;
 	
 	@Transactional
 	@Override
@@ -259,7 +264,7 @@ public class ScanBatchServiceImpl extends ServiceImpl<ScanBatchMapper, ScanBatch
 			String path = markFileService.uploadSheet(file.getInputStream(), md5, batch.getExamId(), batchId, coursePaperId,
 					studentCode, paperNumber, pageIndex);
 			scanFilePropertyService.save(batch.getExamId(), path, md5, file.getSize());
-			return SheetUploadVo.create(path);
+			return SheetUploadVo.create(teachcloudCommonService.filePreview(path));
 		} catch (Exception e) {
 			log.error("原图上传失败,batchId=" + batch + ", coursePaperId=" + coursePaperId + ",studentCode=" + studentCode
 					+ ", paperNumber=" + paperNumber + ", pageIndex=" + pageIndex, e);