|
@@ -7,20 +7,20 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
-import com.qmth.teachcloud.common.bean.marking.CardJpgResult;
|
|
|
|
-import com.qmth.teachcloud.common.bean.marking.ConvertJpgStorage;
|
|
|
|
import com.qmth.distributed.print.business.bean.params.ExamCardParams;
|
|
import com.qmth.distributed.print.business.bean.params.ExamCardParams;
|
|
import com.qmth.distributed.print.business.bean.params.GenericExamCardParams;
|
|
import com.qmth.distributed.print.business.bean.params.GenericExamCardParams;
|
|
import com.qmth.distributed.print.business.entity.*;
|
|
import com.qmth.distributed.print.business.entity.*;
|
|
-import com.qmth.distributed.print.business.enums.ExamCardStatusEnum;
|
|
|
|
import com.qmth.distributed.print.business.enums.CardTypeEnum;
|
|
import com.qmth.distributed.print.business.enums.CardTypeEnum;
|
|
|
|
+import com.qmth.distributed.print.business.enums.ExamCardStatusEnum;
|
|
import com.qmth.distributed.print.business.enums.MakeMethodEnum;
|
|
import com.qmth.distributed.print.business.enums.MakeMethodEnum;
|
|
import com.qmth.distributed.print.business.mapper.ExamCardMapper;
|
|
import com.qmth.distributed.print.business.mapper.ExamCardMapper;
|
|
import com.qmth.distributed.print.business.service.*;
|
|
import com.qmth.distributed.print.business.service.*;
|
|
|
|
+import com.qmth.distributed.print.business.util.CreatePdfUtil;
|
|
import com.qmth.distributed.print.business.util.HtmlToJpgUtil;
|
|
import com.qmth.distributed.print.business.util.HtmlToJpgUtil;
|
|
import com.qmth.distributed.print.business.util.PdfUtil;
|
|
import com.qmth.distributed.print.business.util.PdfUtil;
|
|
-import com.qmth.distributed.print.business.util.CreatePdfUtil;
|
|
|
|
import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
|
|
import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
|
|
|
|
+import com.qmth.teachcloud.common.bean.marking.CardJpgResult;
|
|
|
|
+import com.qmth.teachcloud.common.bean.marking.ConvertJpgStorage;
|
|
import com.qmth.teachcloud.common.bean.vo.FilePathVo;
|
|
import com.qmth.teachcloud.common.bean.vo.FilePathVo;
|
|
import com.qmth.teachcloud.common.bean.vo.PaperInfoVo;
|
|
import com.qmth.teachcloud.common.bean.vo.PaperInfoVo;
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
@@ -33,15 +33,18 @@ import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
import com.qmth.teachcloud.common.enums.PageSizeEnum;
|
|
import com.qmth.teachcloud.common.enums.PageSizeEnum;
|
|
import com.qmth.teachcloud.common.enums.UploadFileEnum;
|
|
import com.qmth.teachcloud.common.enums.UploadFileEnum;
|
|
import com.qmth.teachcloud.common.service.*;
|
|
import com.qmth.teachcloud.common.service.*;
|
|
-import com.qmth.teachcloud.common.util.*;
|
|
|
|
|
|
+import com.qmth.teachcloud.common.util.ExamTaskUtil;
|
|
|
|
+import com.qmth.teachcloud.common.util.FileUtil;
|
|
|
|
+import com.qmth.teachcloud.common.util.HtmlToPdfUtil;
|
|
|
|
+import com.qmth.teachcloud.common.util.ServletUtil;
|
|
import com.qmth.teachcloud.mark.service.ScanAnswerCardService;
|
|
import com.qmth.teachcloud.mark.service.ScanAnswerCardService;
|
|
|
|
+import org.apache.commons.collections4.CollectionUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
-import javax.print.attribute.standard.Severity;
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import java.io.File;
|
|
import java.io.File;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
@@ -352,8 +355,7 @@ public class ExamCardServiceImpl extends ServiceImpl<ExamCardMapper, ExamCard> i
|
|
@Override
|
|
@Override
|
|
public Boolean deleteGeneric(Long id) {
|
|
public Boolean deleteGeneric(Long id) {
|
|
// 校验题卡是否被绑定
|
|
// 校验题卡是否被绑定
|
|
- List<ExamTaskDetail> examTaskDetails = examTaskDetailService.getExamTaskDetailByCardIdJson(id);
|
|
|
|
- if (examTaskDetails != null && examTaskDetails.size() > 0) {
|
|
|
|
|
|
+ if (examTaskDetailService.countByCardId(id) > 0) {
|
|
throw ExceptionResultEnum.ERROR.exception("题卡已绑定命题任务,不能删除");
|
|
throw ExceptionResultEnum.ERROR.exception("题卡已绑定命题任务,不能删除");
|
|
}
|
|
}
|
|
return this.removeById(id);
|
|
return this.removeById(id);
|
|
@@ -635,10 +637,18 @@ public class ExamCardServiceImpl extends ServiceImpl<ExamCardMapper, ExamCard> i
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public void updateUsedById(Boolean used, List<Long> cardIds) {
|
|
|
|
- this.update(new UpdateWrapper<ExamCard>()
|
|
|
|
- .lambda()
|
|
|
|
- .set(ExamCard::getUsed, used)
|
|
|
|
- .in(ExamCard::getId, cardIds));
|
|
|
|
|
|
+ public void updateUsedById(List<Long> cardIds) {
|
|
|
|
+ if (CollectionUtils.isEmpty(cardIds)) {
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ for (Long cardId : cardIds) {
|
|
|
|
+ ExamCard examCard = this.getById(cardId);
|
|
|
|
+ if (examCard != null && (examCard.getType().equals(CardTypeEnum.CUSTOM) || (examCard.getType().equals(CardTypeEnum.GENERIC) && examCard.getCreateMethod().equals(CardCreateMethodEnum.STANDARD)))) {
|
|
|
|
+ UpdateWrapper<ExamCard> updateWrapper = new UpdateWrapper<>();
|
|
|
|
+ updateWrapper.lambda().set(ExamCard::getUsed, examTaskDetailService.countByCardId(cardId) > 0)
|
|
|
|
+ .eq(ExamCard::getId, cardId);
|
|
|
|
+ this.update(updateWrapper);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|