Ver Fonte

fix:考务数据导入触发的考务数据删除方法将不区分考务数据类型,全部删除

caozixuan há 3 anos atrás
pai
commit
f5ca87e298

+ 6 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamDetailServiceImpl.java

@@ -2,6 +2,7 @@ package com.qmth.distributed.print.business.service.impl;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -886,8 +887,11 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
             throw ExceptionResultEnum.ERROR.exception(status.getDesc() + "状态下的印刷计划不能删除考务数据");
         }
         // 准备删除的考务-场次表id
-        List<Long> examDetailIds = this.list(new QueryWrapper<ExamDetail>().lambda().eq(ExamDetail::getPrintPlanId, printPlanId).eq(ExamDetail::getExamDataSource, source))
-                .stream().map(ExamDetail::getId).collect(Collectors.toList());
+        LambdaQueryWrapper<ExamDetail> examDetailQueryWrapper = new QueryWrapper<ExamDetail>().lambda().eq(ExamDetail::getPrintPlanId, printPlanId);
+        if (Objects.nonNull(source)){
+            examDetailQueryWrapper.eq(ExamDetail::getExamDataSource, source);
+        }
+        List<Long> examDetailIds = this.list(examDetailQueryWrapper).stream().map(ExamDetail::getId).collect(Collectors.toList());
         if (examDetailIds.size() == 0) {
             return;
         }

+ 1 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamPrintPlanServiceImpl.java

@@ -309,7 +309,7 @@ public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, E
         if (!tbTaskService.countByPrintPlanIdAndEntityId(examPrintPlan.getSchoolId(), id, null)) {
             throw ExceptionResultEnum.ERROR.exception("要删除的印刷计划正在生成pdf中,无法删除");
         }
-        examDetailService.deleteExaminationData(id, ExamDataSourceEnum.FILE_IMPORT);
+        examDetailService.deleteExaminationData(id, null);
         return this.removeById(id);
     }
 

+ 1 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/service/impl/TaskLogicServiceImpl.java

@@ -818,7 +818,7 @@ public class TaskLogicServiceImpl implements TaskLogicService {
         }
 
         // 删除印刷计划下的考务数据
-        examDetailService.deleteExaminationData(printPlanId, ExamDataSourceEnum.FILE_IMPORT);
+        examDetailService.deleteExaminationData(printPlanId, null);
 
         // 卷袋号生成规则
         SerialNumberParams serialNumberParams = new SerialNumberParams("packageCode-" + schoolId, "1", 6);