|
@@ -1,5 +1,7 @@
|
|
package com.qmth.distributed.print.business.service.impl;
|
|
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.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
@@ -29,6 +31,7 @@ import javax.annotation.Resource;
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Objects;
|
|
import java.util.Objects;
|
|
|
|
+import java.util.Set;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -54,6 +57,9 @@ public class BasicPrintConfigServiceImpl extends ServiceImpl<BasicPrintConfigMap
|
|
@Resource
|
|
@Resource
|
|
BasicTemplateOrgService basicTemplateOrgService;
|
|
BasicTemplateOrgService basicTemplateOrgService;
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
|
+ BasicPrintConfigService basicPrintConfigService;
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public IPage<BasicPrintConfigDto> listPage(Long examId, Boolean enable, Long createStartTime, Long createEndTime, Integer pageNumber, Integer pageSize) {
|
|
public IPage<BasicPrintConfigDto> listPage(Long examId, Boolean enable, Long createStartTime, Long createEndTime, Integer pageNumber, Integer pageSize) {
|
|
Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
|
|
Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
|
|
@@ -211,10 +217,33 @@ public class BasicPrintConfigServiceImpl extends ServiceImpl<BasicPrintConfigMap
|
|
|
|
|
|
@Transactional
|
|
@Transactional
|
|
@Override
|
|
@Override
|
|
- public boolean delete(Long id) {
|
|
|
|
- this.removeById(id);
|
|
|
|
- // 删除适用学院
|
|
|
|
- basicTemplateOrgService.removeByRuleId(id);
|
|
|
|
|
|
+ public boolean delete(List<Long> idList) {
|
|
|
|
+ Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
|
|
|
|
+ QueryWrapper<BasicPrintConfig> queryWrapper = new QueryWrapper<>();
|
|
|
|
+ queryWrapper.lambda().eq(BasicPrintConfig::getSchoolId, schoolId);
|
|
|
|
+ List<BasicPrintConfig> basicPrintConfigs = basicPrintConfigService.list(queryWrapper);
|
|
|
|
+ List<Long> templateIds = new ArrayList<>();
|
|
|
|
+ if (!basicPrintConfigs.isEmpty()) {
|
|
|
|
+ for (BasicPrintConfig basicPrintConfig : basicPrintConfigs) {
|
|
|
|
+ Set<Long> variableLongs = JSON.parseArray(basicPrintConfig.getVariableContent(), JSONObject.class).stream().map(m -> m.getLong("templateId")).collect(Collectors.toSet());
|
|
|
|
+ if (!variableLongs.isEmpty()) {
|
|
|
|
+ templateIds.addAll(variableLongs);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ Set<Long> ordinaryLongs = JSON.parseArray(basicPrintConfig.getOrdinaryContent(), JSONObject.class).stream().map(m -> m.getLong("templateId")).collect(Collectors.toSet());
|
|
|
|
+ if (!ordinaryLongs.isEmpty()) {
|
|
|
|
+ templateIds.addAll(ordinaryLongs);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ for (Long aLong : idList) {
|
|
|
|
+ if (!templateIds.isEmpty() && templateIds.contains(aLong)) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("印品已经考试绑定,不能删除");
|
|
|
|
+ }
|
|
|
|
+ this.removeById(aLong);
|
|
|
|
+ }
|
|
return true;
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
}
|