市场法规清单发布添加校验
This commit is contained in:
+7
@@ -26,4 +26,11 @@ public interface IProcessMarketStandardReleaseService extends IService<ProcessMa
|
||||
String generate(ProcessMarketStandardRelease scc, MultipartFile modelFile, MultipartFile splitFile) throws Exception;
|
||||
|
||||
void flowListener(DelegateExecution delegateExecution);
|
||||
|
||||
/**
|
||||
* 根据id 判断数据的流程状态
|
||||
* @param id
|
||||
* @return boolean true:没有流程或流程已结束 false:有正在流转的流程
|
||||
*/
|
||||
boolean checkProcessStatus(String id);
|
||||
}
|
||||
|
||||
+23
@@ -34,6 +34,7 @@ import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.jero.modules.activiti.common.ActivitiCommon.PASS;
|
||||
|
||||
@@ -254,6 +255,28 @@ public class ProcessMarketStandardReleaseServiceImpl extends ServiceImpl<Process
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean checkProcessStatus(String id) {
|
||||
LambdaQueryWrapper<ProcessMarketStandardRelease> queryWrapperMarketStandardRelease = new LambdaQueryWrapper<>();
|
||||
queryWrapperMarketStandardRelease.select(ProcessMarketStandardRelease::getProcessInstanceId);
|
||||
queryWrapperMarketStandardRelease.eq(ProcessMarketStandardRelease::getManifestId,id);
|
||||
List<ProcessMarketStandardRelease> listProcessMarketStandardRelease = list(queryWrapperMarketStandardRelease);
|
||||
if(CollectionUtils.isEmpty(listProcessMarketStandardRelease)){
|
||||
return true;
|
||||
}
|
||||
List<String> listProcessInstanceId = listProcessMarketStandardRelease.stream()
|
||||
.map(ProcessMarketStandardRelease::getProcessInstanceId).collect(Collectors.toList());
|
||||
LambdaQueryWrapper<ProcessAll> queryProcessAll = new LambdaQueryWrapper<>();
|
||||
queryProcessAll.in(ProcessAll::getProcessInstanceId,listProcessInstanceId);
|
||||
queryProcessAll.eq(ProcessAll::getPrcStatus,"1");
|
||||
long l = processAllService.count(queryProcessAll);
|
||||
if(l > 0){
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
+16
-1
@@ -11,6 +11,7 @@ import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.api.ISysBaseAPI;
|
||||
import com.jero.common.system.vo.DictModel;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.modules.activiti.process.ms.service.IProcessMarketStandardReleaseService;
|
||||
import com.jero.modules.laws.marketStandard.constans.MarketStandardConstants;
|
||||
import com.jero.modules.laws.marketStandard.entity.LawsMarketStandard;
|
||||
import com.jero.modules.laws.marketStandard.entity.LawsMarketStandardDetail;
|
||||
@@ -53,6 +54,8 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
|
||||
private ILawsMarketStandardDetailService lawsMarketStandardDetailService;
|
||||
@Resource
|
||||
private ISysBaseAPI sysBaseAPI;
|
||||
@Resource
|
||||
private IProcessMarketStandardReleaseService processMarketStandardReleaseService;
|
||||
|
||||
public static final String CLASS = "entity";
|
||||
public static final String PARAMS = "params";
|
||||
@@ -253,6 +256,12 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
|
||||
&& !Objects.equals(sysUser.getId(),lawsMarketStandard.getAuthor())){
|
||||
return Result.error("没有权限");
|
||||
}
|
||||
// 验证是否已发起流程
|
||||
boolean flag = processMarketStandardReleaseService.checkProcessStatus(id);
|
||||
if(!flag){
|
||||
return Result.error("当前数据已发布的流程未结束,不可重复发布");
|
||||
}
|
||||
|
||||
// 获取不同版本的数据
|
||||
LambdaQueryWrapper<LawsMarketStandard> queryLawsMarketStandard = new LambdaQueryWrapper<>();
|
||||
queryLawsMarketStandard.select(LawsMarketStandard::getId);
|
||||
@@ -361,7 +370,13 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
|
||||
if(!Arrays.asList(sysUser.getRoleIds().split(",")).contains(lawsAdmin)
|
||||
&& !Arrays.asList(sysUser.getRoleIds().split(",")).contains(superAdmin)
|
||||
&& !Objects.equals(lawsMarketStandardOld.getAuthor(),sysUser.getId())){
|
||||
throw new JeroBootException("没有权限");
|
||||
return Result.error("没有权限");
|
||||
}
|
||||
|
||||
// 验证是否已发起流程
|
||||
boolean flag = processMarketStandardReleaseService.checkProcessStatus(id);
|
||||
if(!flag){
|
||||
return Result.error("当前数据已发布的流程未结束,不可重复发布");
|
||||
}
|
||||
if(Objects.equals(lawsMarketStandardOld.getManifestStatus(),MarketStandardConstants.MANIFEST_STATUS_PUBLISH)){
|
||||
return Result.error("数据已发布");
|
||||
|
||||
Reference in New Issue
Block a user