|
@@ -10,14 +10,15 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.qmth.distributed.print.business.bean.dto.TemplateDto;
|
|
import com.qmth.distributed.print.business.bean.dto.TemplateDto;
|
|
import com.qmth.distributed.print.business.bean.result.TemplatePrintInfoResult;
|
|
import com.qmth.distributed.print.business.bean.result.TemplatePrintInfoResult;
|
|
import com.qmth.distributed.print.business.entity.BasicTemplate;
|
|
import com.qmth.distributed.print.business.entity.BasicTemplate;
|
|
|
|
+import com.qmth.distributed.print.business.entity.ExamPrintPlan;
|
|
import com.qmth.distributed.print.business.mapper.BasicTemplateMapper;
|
|
import com.qmth.distributed.print.business.mapper.BasicTemplateMapper;
|
|
|
|
+import com.qmth.distributed.print.business.service.BasicPrintConfigService;
|
|
import com.qmth.distributed.print.business.service.BasicTemplateService;
|
|
import com.qmth.distributed.print.business.service.BasicTemplateService;
|
|
-import com.qmth.distributed.print.business.service.ExamCardDetailService;
|
|
|
|
-import com.qmth.distributed.print.business.service.ExamCardService;
|
|
|
|
|
|
+import com.qmth.distributed.print.business.service.ExamPrintPlanService;
|
|
import com.qmth.distributed.print.business.util.PdfFillUtils;
|
|
import com.qmth.distributed.print.business.util.PdfFillUtils;
|
|
-import com.qmth.teachcloud.common.config.DictionaryConfig;
|
|
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
import com.qmth.teachcloud.common.entity.BasicAttachment;
|
|
import com.qmth.teachcloud.common.entity.BasicAttachment;
|
|
|
|
+import com.qmth.teachcloud.common.entity.BasicPrintConfig;
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
import com.qmth.teachcloud.common.enums.ClassifyEnum;
|
|
import com.qmth.teachcloud.common.enums.ClassifyEnum;
|
|
import com.qmth.teachcloud.common.enums.EnumResult;
|
|
import com.qmth.teachcloud.common.enums.EnumResult;
|
|
@@ -25,7 +26,6 @@ import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
import com.qmth.teachcloud.common.enums.UploadFileEnum;
|
|
import com.qmth.teachcloud.common.enums.UploadFileEnum;
|
|
import com.qmth.teachcloud.common.service.BasicAttachmentService;
|
|
import com.qmth.teachcloud.common.service.BasicAttachmentService;
|
|
import com.qmth.teachcloud.common.service.TeachcloudCommonService;
|
|
import com.qmth.teachcloud.common.service.TeachcloudCommonService;
|
|
-import com.qmth.teachcloud.common.util.FileStoreUtil;
|
|
|
|
import com.qmth.teachcloud.common.util.ServletUtil;
|
|
import com.qmth.teachcloud.common.util.ServletUtil;
|
|
import org.apache.commons.io.FileUtils;
|
|
import org.apache.commons.io.FileUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
@@ -36,6 +36,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
import java.io.File;
|
|
import java.io.File;
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
|
|
+import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Objects;
|
|
import java.util.Objects;
|
|
import java.util.StringJoiner;
|
|
import java.util.StringJoiner;
|
|
@@ -55,12 +56,6 @@ public class BasicTemplateServiceImpl extends ServiceImpl<BasicTemplateMapper, B
|
|
@Autowired
|
|
@Autowired
|
|
private BasicAttachmentService basicAttachmentService;
|
|
private BasicAttachmentService basicAttachmentService;
|
|
|
|
|
|
- @Autowired
|
|
|
|
- private ExamCardService examCardService;
|
|
|
|
-
|
|
|
|
- @Autowired
|
|
|
|
- private ExamCardDetailService examCardDetailService;
|
|
|
|
-
|
|
|
|
@Resource
|
|
@Resource
|
|
TeachcloudCommonService teachcloudCommonService;
|
|
TeachcloudCommonService teachcloudCommonService;
|
|
|
|
|
|
@@ -68,10 +63,10 @@ public class BasicTemplateServiceImpl extends ServiceImpl<BasicTemplateMapper, B
|
|
BasicTemplateMapper basicTemplateMapper;
|
|
BasicTemplateMapper basicTemplateMapper;
|
|
|
|
|
|
@Resource
|
|
@Resource
|
|
- DictionaryConfig dictionaryConfig;
|
|
|
|
|
|
+ BasicPrintConfigService basicPrintConfigService;
|
|
|
|
|
|
@Resource
|
|
@Resource
|
|
- FileStoreUtil fileStoreUtil;
|
|
|
|
|
|
+ ExamPrintPlanService examPrintPlanService;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public IPage<TemplateDto> list(Boolean enable, String type, String name, Long startTime, Long endTime, Integer pageNumber, Integer pageSize) {
|
|
public IPage<TemplateDto> list(Boolean enable, String type, String name, Long startTime, Long endTime, Integer pageNumber, Integer pageSize) {
|
|
@@ -242,4 +237,44 @@ public class BasicTemplateServiceImpl extends ServiceImpl<BasicTemplateMapper, B
|
|
throw ExceptionResultEnum.ERROR.exception("不支持当前模板预览");
|
|
throw ExceptionResultEnum.ERROR.exception("不支持当前模板预览");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public boolean remove(Long id) {
|
|
|
|
+ BasicTemplate basicTemplate = this.getById(id);
|
|
|
|
+ // 考试关联印品
|
|
|
|
+ Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
|
|
|
|
+ List<BasicPrintConfig> basicPrintConfigList = basicPrintConfigService.listBySchoolId(schoolId);
|
|
|
|
+ if (!basicPrintConfigList.isEmpty()) {
|
|
|
|
+ List<JSONObject> objects = new ArrayList<>();
|
|
|
|
+ for (BasicPrintConfig basicPrintConfig : basicPrintConfigList) {
|
|
|
|
+ if (ClassifyEnum.SIGN.equals(basicTemplate.getClassify()) || ClassifyEnum.PACKAGE.equals(basicTemplate.getClassify())) {
|
|
|
|
+ objects = JSON.parseArray(basicPrintConfig.getVariableContent(), JSONObject.class);
|
|
|
|
+ } else if (ClassifyEnum.CHECK_IN.equals(basicTemplate.getClassify())) {
|
|
|
|
+ objects = JSON.parseArray(basicPrintConfig.getOrdinaryContent(), JSONObject.class);
|
|
|
|
+ }
|
|
|
|
+ List<JSONObject> jsonObjects = objects.stream().filter(m -> m.getString("type").equals(basicTemplate.getClassify().name()) && m.getLong("templateId").equals(id)).collect(Collectors.toList());
|
|
|
|
+ if (!jsonObjects.isEmpty()) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("该印品已在考试中设置,不能删除");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ // 计划关联印品
|
|
|
|
+ List<ExamPrintPlan> examPrintPlans = examPrintPlanService.listBySchoolId(schoolId);
|
|
|
|
+ if (!examPrintPlans.isEmpty()) {
|
|
|
|
+ List<JSONObject> objects = new ArrayList<>();
|
|
|
|
+ for (ExamPrintPlan examPrintPlan : examPrintPlans) {
|
|
|
|
+ if (ClassifyEnum.SIGN.equals(basicTemplate.getClassify()) || ClassifyEnum.PACKAGE.equals(basicTemplate.getClassify())) {
|
|
|
|
+ objects = JSON.parseArray(examPrintPlan.getVariableContent(), JSONObject.class);
|
|
|
|
+ } else if (ClassifyEnum.CHECK_IN.equals(basicTemplate.getClassify())) {
|
|
|
|
+ objects = JSON.parseArray(examPrintPlan.getOrdinaryContent(), JSONObject.class);
|
|
|
|
+ }
|
|
|
|
+ List<JSONObject> jsonObjects = objects.stream().filter(m -> m.getString("type").equals(basicTemplate.getClassify().name()) && m.getLong("templateId").equals(id)).collect(Collectors.toList());
|
|
|
|
+ if (!jsonObjects.isEmpty()) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("该印品已在印刷计划中设置,不能删除");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return this.removeById(id);
|
|
|
|
+ }
|
|
}
|
|
}
|