diff --git a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/impl/DocumentSplitServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/impl/DocumentSplitServiceImpl.java index 10f5cade..8308c3d9 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/impl/DocumentSplitServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/impl/DocumentSplitServiceImpl.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.jero.common.api.vo.ResultCommon; import com.jero.common.constant.enums.LanguageEnum; import com.jero.common.constant.enums.YesOrNoEnum; import com.jero.common.exception.JeroBootException; @@ -16,6 +17,11 @@ import com.jero.common.util.FileUtils; import com.jero.common.util.MessageUtils; import com.jero.common.util.UUIDUtils; import com.jero.common.util.ZipUtil; +import com.jero.modules.activiti.entity.ProcessAll; +import com.jero.modules.activiti.enums.ProcessStatusEnum; +import com.jero.modules.activiti.process.standardinterpret.entity.ProcessStandardInterpret; +import com.jero.modules.activiti.process.standardinterpret.service.ProcessStandardInterpretService; +import com.jero.modules.activiti.service.ProcessAllService; import com.jero.modules.laws.common.constant.FieldCommon; import com.jero.modules.laws.common.mapper.LawsCommonMapper; import com.jero.modules.laws.documenttool.common.DirectoryComparator; @@ -140,6 +146,11 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService { private ILawsNodeRelationService lawsNodeRelationService; @Autowired private ILawsTreeNodeService lawsTreeNodeService; + @Autowired + private ProcessStandardInterpretService processStandardInterpretService; + @Autowired + private ProcessAllService processAllService; + private static final String INFO_ID = "info_id"; private static final String ID = "id"; private static final String IDS = "ids"; @@ -893,6 +904,23 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService { // 水平越权 Map map = documentSplitMapper.queryLawsDocumentSplitInId(id); isHorizontalOverstep(map.get(INFO_ID).toString()); + + // 查询标准解读流程 + List list1 = processStandardInterpretService.list( + new LambdaQueryWrapper() + .in(ProcessStandardInterpret::getSplitInfoId, id)); + if (CollectionUtils.isNotEmpty(list1)){ + List projectIdList = list1.stream() + .map(ProcessStandardInterpret::getProjectId) + .collect(Collectors.toList()); + int count1 = processAllService.count(new LambdaQueryWrapper() + .in(ProcessAll::getProjectId, projectIdList) + .ne(ProcessAll::getPrcStatus, ProcessStatusEnum.WITHDRAWN.getValue())); + if (count1 > 0) { + throw new JeroBootException(ResultCommon.SCC_DELETE_STANDARD_ERROR3); + } + } + // 删除文档拆分详情数据 documentSplitMapper.deleteDocumentSplitDetail(id);