diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/IProcessFbEntryChangeService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/IProcessFbEntryChangeService.java index ebff6adb..b2346fd1 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/IProcessFbEntryChangeService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/IProcessFbEntryChangeService.java @@ -59,4 +59,10 @@ public interface IProcessFbEntryChangeService extends IService queryProcessInfoVO(String draftId, String processInstanceId, String taskId, String projectId); + + /** + * 删除校验 + * @param ids + */ + void delCheck(String ids); } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessFbEntryChangeServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessFbEntryChangeServiceImpl.java index 2a586e61..c74d9b59 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessFbEntryChangeServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessFbEntryChangeServiceImpl.java @@ -22,6 +22,7 @@ import com.jero.modules.activiti.process.fb.mapper.ProcessFbEntryChangeMapper; import com.jero.modules.activiti.process.fb.service.IProcessFbEntryChangeService; import com.jero.modules.activiti.process.fb.service.IProcessHandleService; import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO; +import com.jero.modules.activiti.service.ProcessAllService; import com.jero.modules.activiti.service.ProcessApprovalRecordService; import com.jero.modules.activiti.service.WorkCenterService; import com.jero.modules.activiti.util.SpringContextUtil; @@ -93,6 +94,8 @@ public class ProcessFbEntryChangeServiceImpl extends ServiceImpl idsList = Arrays.asList(ids.split(",")); + List standardNumberList = new ArrayList<>(); + List lawsStandardizations = lawsDomesticStandardService.listByIds(idsList); + List lawsOverseasStandards = lawsOverseasStandardService.listByIds(idsList); + standardNumberList.addAll(lawsStandardizations.stream().map(LawsDomesticStandard::getStandardNumber).collect(Collectors.toList())); + standardNumberList.addAll(lawsOverseasStandards.stream().map(LawsOverseasStandard::getStandardNumber).collect(Collectors.toList())); + + List list = list(new LambdaQueryWrapper() + .in(ProcessFbEntryChange::getStandardNumber, standardNumberList) + .eq(ProcessFbEntryChange::getOperateType, "2")); + if (list.isEmpty()){ + return; + } + List idList = list.stream().map(ProcessFbEntryChange::getId).collect(Collectors.toList()); + int count = processAllService.count( + new LambdaQueryWrapper() + .in(ProcessAll::getProjectId, idList) + .eq(ProcessAll::getPrcStatus, "1")); + if (count > 0) { + throw new JeroBootException("标准编号在标准法规变更流程进行中,不可删除!"); + } + } + private void toDict(ProcessFbEntryChange processFbEntryChange) { String businessJson = processFbEntryChange.getBusinessJson(); String source = processFbEntryChange.getSource(); diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standard/controller/LawsDomesticController.java b/laws-modules/src/main/java/com/jero/modules/laws/standard/controller/LawsDomesticController.java index c269e632..d046ca12 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/standard/controller/LawsDomesticController.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/standard/controller/LawsDomesticController.java @@ -5,10 +5,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.github.xiaoymin.knife4j.annotations.ApiSupport; import com.jero.common.api.vo.Result; +import com.jero.common.api.vo.ResultCommon; import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.util.MessageUtils; +import com.jero.modules.activiti.process.fb.service.IProcessFbEntryChangeService; import com.jero.modules.laws.common.constant.FieldCommon; -import com.jero.common.api.vo.ResultCommon; import com.jero.modules.laws.common.service.ILawsCommonService; import com.jero.modules.laws.standard.entity.LawsUpdateRecord; import com.jero.modules.laws.standard.service.ILawsNodeRelationService; @@ -17,7 +18,9 @@ import com.jero.modules.personal.service.ILawsStandardCollectionService; import com.jero.modules.personal.service.ILawsStandardSharingService; import com.jero.modules.tag.entity.LawsTag; import com.jero.modules.tag.enums.TableNameEnum; -import io.swagger.annotations.*; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -48,6 +51,8 @@ public class LawsDomesticController { private ILawsUpdateRecordService lawsUpdateRecordService; @Autowired private ILawsStandardSharingService lawsStandardSharingService; + @Autowired + private IProcessFbEntryChangeService processFbEntryChangeService; private static final String MODULE_VALUE = TableNameEnum.DOMESTIC_REGULATIONS.getValue(); @@ -141,6 +146,8 @@ public class LawsDomesticController { @ApiOperationSupport(order = 8) @RequiresPermissions("domesticStandard:delete") public Result deleteByIdsAndModule(@RequestBody @ApiParam(name = "ids", value = "主键(多个用逗号分隔)") Map parameterMap) { + // 删除校验 + processFbEntryChangeService.delCheck((String) parameterMap.get("ids")); //删除标准时同步删除这个标准的收藏数据 lawsStandardCollectionService.deleteByStandardId((String) parameterMap.get("ids")); lawsStandardSharingService.deleteByStandardId((String) parameterMap.get("ids")); diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standard/controller/LawsOverseasController.java b/laws-modules/src/main/java/com/jero/modules/laws/standard/controller/LawsOverseasController.java index 8106eebf..22da8d9a 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/standard/controller/LawsOverseasController.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/standard/controller/LawsOverseasController.java @@ -5,10 +5,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.github.xiaoymin.knife4j.annotations.ApiSupport; import com.jero.common.api.vo.Result; +import com.jero.common.api.vo.ResultCommon; import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.util.MessageUtils; +import com.jero.modules.activiti.process.fb.service.IProcessFbEntryChangeService; import com.jero.modules.laws.common.constant.FieldCommon; -import com.jero.common.api.vo.ResultCommon; import com.jero.modules.laws.common.service.ILawsCommonService; import com.jero.modules.laws.standard.entity.LawsUpdateRecord; import com.jero.modules.laws.standard.service.ILawsNodeRelationService; @@ -17,7 +18,9 @@ import com.jero.modules.personal.service.ILawsStandardCollectionService; import com.jero.modules.personal.service.ILawsStandardSharingService; import com.jero.modules.tag.entity.LawsTag; import com.jero.modules.tag.enums.TableNameEnum; -import io.swagger.annotations.*; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -48,6 +51,8 @@ public class LawsOverseasController { private ILawsUpdateRecordService lawsUpdateRecordService; @Autowired private ILawsStandardSharingService lawsStandardSharingService; + @Autowired + private IProcessFbEntryChangeService processFbEntryChangeService; private static final String MODULE_VALUE = TableNameEnum.FOREIGN_REGULATIONS.getValue(); @@ -141,6 +146,8 @@ public class LawsOverseasController { @ApiOperationSupport(order = 8) @RequiresPermissions("overseasStandard:delete") public Result deleteByIdsAndModule(@RequestBody @ApiParam(name = "ids", value = "主键(多个用逗号分隔)") Map parameterMap) { + // 删除校验 + processFbEntryChangeService.delCheck((String) parameterMap.get("ids")); //删除标准时同步删除这个标准的收藏数据 lawsStandardCollectionService.deleteByStandardId((String) parameterMap.get("ids")); lawsStandardSharingService.deleteByStandardId((String) parameterMap.get("ids"));