优化分析项库绑定流程模版和知识库
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
package com.sdm.capability.model.entity;
|
||||
|
||||
import com.sdm.common.entity.pojo.task.TaskBaseInfo;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class SimulationFlowTaskBindInfo {
|
||||
|
||||
public String simulationPoolId;
|
||||
|
||||
public String simulationPoolName;
|
||||
|
||||
public String simulationPoolVersion;
|
||||
|
||||
public List<String> simulationPoolTaskIds = new ArrayList<>();
|
||||
|
||||
public List<TaskBaseInfo> taskBaseInfoList = new ArrayList();
|
||||
}
|
||||
@@ -5,6 +5,9 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class SimulationFlowTemplate extends BaseEntity {
|
||||
|
||||
@@ -60,4 +63,6 @@ public class SimulationFlowTemplate extends BaseEntity {
|
||||
@Schema(description = "评审流程模版Id")
|
||||
public String approveFlowTemplateId;
|
||||
|
||||
public List<SimulationFlowTaskBindInfo> simulationPoolInfoList = new ArrayList();
|
||||
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.alibaba.fastjson2.JSONObject;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.sdm.capability.dao.FlowMapper;
|
||||
import com.sdm.capability.model.entity.SimulationFlowTaskBindInfo;
|
||||
import com.sdm.capability.model.entity.SimulationFlowTemplate;
|
||||
import com.sdm.capability.model.entity.SimulationFlowTemplateBrief;
|
||||
import com.sdm.capability.service.IFlowService;
|
||||
@@ -12,11 +13,17 @@ import com.sdm.common.common.ThreadLocalContext;
|
||||
import com.sdm.common.entity.bo.DataPageInfo;
|
||||
import com.sdm.common.entity.constants.NumberConstants;
|
||||
import com.sdm.common.entity.flowable.dto.ProcessDefinitionDTO;
|
||||
import com.sdm.common.entity.pojo.task.FlowBindTaskPoolItem;
|
||||
import com.sdm.common.entity.pojo.task.TaskBaseInfo;
|
||||
import com.sdm.common.entity.req.system.LaunchApproveReq;
|
||||
import com.sdm.common.entity.req.task.BindTaskAndFlowTemplateReq;
|
||||
import com.sdm.common.entity.resp.capability.FlowTemplateResp;
|
||||
import com.sdm.common.entity.resp.flowable.DeployFlowableResp;
|
||||
import com.sdm.common.feign.impl.capability.SimulationFlowFeignClientImpl;
|
||||
import com.sdm.common.feign.impl.flowable.FlowableClientFeignClientImpl;
|
||||
import com.sdm.common.feign.impl.system.ApproveFeignClientImpl;
|
||||
import com.sdm.common.feign.impl.task.SimuluationTaskPoolFeignClientImpl;
|
||||
import com.sdm.common.feign.inter.capability.ISimulationFlowFeignClient;
|
||||
import com.sdm.common.service.BaseService;
|
||||
import com.sdm.common.utils.Tools;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -45,6 +52,9 @@ public class FlowServiceImpl extends BaseService implements IFlowService {
|
||||
@Autowired
|
||||
private ObjectMapper objectMapper;
|
||||
|
||||
@Autowired
|
||||
private SimuluationTaskPoolFeignClientImpl simuluationTaskPoolFeignClient;
|
||||
|
||||
@Override
|
||||
public SdmResponse createFlowTemplateDraft(SimulationFlowTemplate flowTemplate)
|
||||
{
|
||||
@@ -74,11 +84,44 @@ public class FlowServiceImpl extends BaseService implements IFlowService {
|
||||
else
|
||||
{
|
||||
response.setData(flowTemplate);
|
||||
bindFLowTemplateAndTask(flowTemplate.templateCode,flowTemplate.simulationPoolInfoList);
|
||||
}
|
||||
}
|
||||
return response;
|
||||
}
|
||||
|
||||
/**
|
||||
* 绑定流程模版与分析库中的分析项
|
||||
* @param flowCode
|
||||
* @param simulationPoolInfoList
|
||||
*/
|
||||
private void bindFLowTemplateAndTask(String flowCode, List<SimulationFlowTaskBindInfo> simulationPoolInfoList)
|
||||
{
|
||||
if(simulationPoolInfoList == null || simulationPoolInfoList.isEmpty())
|
||||
return;
|
||||
BindTaskAndFlowTemplateReq req = new BindTaskAndFlowTemplateReq();
|
||||
req.flowCode = flowCode;
|
||||
req.bindTaskkPoolItem = new ArrayList<>();
|
||||
for(SimulationFlowTaskBindInfo bindInfo : simulationPoolInfoList)
|
||||
{
|
||||
FlowBindTaskPoolItem bindTaskPoolItem = new FlowBindTaskPoolItem();
|
||||
bindTaskPoolItem.flowCode = flowCode;
|
||||
bindTaskPoolItem.poolName = bindInfo.simulationPoolName;
|
||||
bindTaskPoolItem.version = bindInfo.simulationPoolVersion;
|
||||
for(String taskId : bindInfo.simulationPoolTaskIds)
|
||||
{
|
||||
TaskBaseInfo taskBaseInfo = new TaskBaseInfo();
|
||||
taskBaseInfo.poolName = bindInfo.simulationPoolName;
|
||||
taskBaseInfo.version = bindInfo.simulationPoolVersion;
|
||||
taskBaseInfo.uuid = taskId;
|
||||
bindTaskPoolItem.taskList.add(taskBaseInfo);
|
||||
}
|
||||
req.bindTaskkPoolItem.add(bindTaskPoolItem);
|
||||
}
|
||||
|
||||
simuluationTaskPoolFeignClient.updateTaskAndFlowTemplate(req);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SdmResponse upgradeFlowTemplateDraft(SimulationFlowTemplate flowTemplate) {
|
||||
|
||||
@@ -141,6 +184,10 @@ public class FlowServiceImpl extends BaseService implements IFlowService {
|
||||
{
|
||||
response = SdmResponse.failed("更新路程模版草稿失败");
|
||||
}
|
||||
else
|
||||
{
|
||||
bindFLowTemplateAndTask(flowTemplate.templateCode,flowTemplate.simulationPoolInfoList);
|
||||
}
|
||||
return response;
|
||||
}
|
||||
|
||||
@@ -273,13 +320,30 @@ public class FlowServiceImpl extends BaseService implements IFlowService {
|
||||
{
|
||||
if(latestVersions.size() > endPos)
|
||||
{
|
||||
queryTemplate = latestVersions.subList(beginPos,endPos+1);
|
||||
queryTemplate = latestVersions.subList(beginPos,endPos);
|
||||
}
|
||||
else
|
||||
{
|
||||
queryTemplate = latestVersions.subList(beginPos,latestVersions.size());
|
||||
}
|
||||
}
|
||||
for(SimulationFlowTemplate flowTemplate : queryTemplate)
|
||||
{
|
||||
SdmResponse bindResponse = simuluationTaskPoolFeignClient.getFlowTemplateBindTaskRelate(flowTemplate.templateCode);
|
||||
if(bindResponse.isSuccess())
|
||||
{
|
||||
List<FlowBindTaskPoolItem> flowBindTaskPoolItems = (List<FlowBindTaskPoolItem>)bindResponse.getData();
|
||||
for(FlowBindTaskPoolItem flowBindTaskPoolItem : flowBindTaskPoolItems)
|
||||
{
|
||||
SimulationFlowTaskBindInfo flowTaskBindInfo = new SimulationFlowTaskBindInfo();
|
||||
flowTaskBindInfo.simulationPoolName = flowBindTaskPoolItem.poolName;
|
||||
flowTaskBindInfo.simulationPoolVersion = flowBindTaskPoolItem.version;
|
||||
flowTaskBindInfo.taskBaseInfoList = flowBindTaskPoolItem.taskList;
|
||||
flowTemplate.simulationPoolInfoList.add(flowTaskBindInfo);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
DataPageInfo<List<SimulationFlowTemplate>> pageInfo = new DataPageInfo<>();
|
||||
pageInfo.data = queryTemplate;
|
||||
pageInfo.total = total;
|
||||
|
||||
Reference in New Issue
Block a user