|
|
|
@@ -1,22 +1,24 @@ |
|
|
|
package com.ruoyi.platform.service.impl; |
|
|
|
|
|
|
|
import com.ruoyi.common.security.utils.SecurityUtils; |
|
|
|
import com.ruoyi.platform.domain.ModelDependency; |
|
|
|
import com.ruoyi.platform.domain.Models; |
|
|
|
import com.ruoyi.platform.domain.ModelsVersion; |
|
|
|
import com.ruoyi.platform.domain.*; |
|
|
|
import com.ruoyi.platform.mapper.ModelDependencyDao; |
|
|
|
import com.ruoyi.platform.service.ExperimentInsService; |
|
|
|
import com.ruoyi.platform.service.ExperimentService; |
|
|
|
import com.ruoyi.platform.service.ModelDependencyService; |
|
|
|
import com.ruoyi.platform.service.ModelsService; |
|
|
|
import com.ruoyi.platform.utils.JacksonUtil; |
|
|
|
import com.ruoyi.platform.vo.ModelDependcyTreeVo; |
|
|
|
import com.ruoyi.system.api.model.LoginUser; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import org.springframework.context.annotation.Lazy; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.data.domain.Page; |
|
|
|
import org.springframework.data.domain.PageImpl; |
|
|
|
import org.springframework.data.domain.PageRequest; |
|
|
|
|
|
|
|
import javax.annotation.Resource; |
|
|
|
import java.io.IOException; |
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.Date; |
|
|
|
import java.util.List; |
|
|
|
@@ -36,7 +38,12 @@ public class ModelDependencyServiceImpl implements ModelDependencyService { |
|
|
|
|
|
|
|
@Resource |
|
|
|
private ModelsService modelsService; |
|
|
|
|
|
|
|
@Lazy |
|
|
|
@Resource |
|
|
|
private ExperimentService experimentService; |
|
|
|
@Lazy |
|
|
|
@Resource |
|
|
|
private ExperimentInsService experimentInsService; |
|
|
|
/** |
|
|
|
* 通过ID查询单条数据 |
|
|
|
* |
|
|
|
@@ -68,15 +75,31 @@ public class ModelDependencyServiceImpl implements ModelDependencyService { |
|
|
|
* @return 查询结果 |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public List<ModelDependency> queryByModelDependency(ModelDependency modelDependency) { |
|
|
|
return this.modelDependencyDao.queryByModelDependency(modelDependency); |
|
|
|
public List<ModelDependency> queryByModelDependency(ModelDependency modelDependency) throws IOException { |
|
|
|
List<ModelDependency> modelDependencyList = this.modelDependencyDao.queryByModelDependency(modelDependency); |
|
|
|
/** |
|
|
|
* 补充workFlow_id + 是否共有 |
|
|
|
*/ |
|
|
|
if (modelDependencyList == null || modelDependencyList.size()==0){ |
|
|
|
return new ArrayList<>(); |
|
|
|
} |
|
|
|
for (ModelDependency md : modelDependencyList){ |
|
|
|
Integer currentModelId = md.getCurrentModelId(); |
|
|
|
Integer expInsId = md.getExpInsId(); |
|
|
|
Models models = modelsService.queryById(currentModelId); |
|
|
|
ExperimentIns experimentIns = experimentInsService.queryById(expInsId); |
|
|
|
Experiment experiment = experimentService.queryById(experimentIns.getExperimentId()); |
|
|
|
md.setWorkflowId(experiment.getWorkflowId()); |
|
|
|
md.setAvailableRange(models.getAvailableRange()); |
|
|
|
} |
|
|
|
return modelDependencyList; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public ModelDependcyTreeVo getModelDependencyTree(ModelDependency modelDependencyQuery) throws Exception { |
|
|
|
//查询当前模型 |
|
|
|
modelDependencyQuery.setState(1); |
|
|
|
List<ModelDependency> modelDependencyList = modelDependencyDao.queryByModelDependency(modelDependencyQuery); |
|
|
|
List<ModelDependency> modelDependencyList = this.queryByModelDependency(modelDependencyQuery); |
|
|
|
if (modelDependencyList==null || modelDependencyList.size()==0){ |
|
|
|
throw new Exception("当前模型依赖关系不存在"); |
|
|
|
} |
|
|
|
@@ -93,7 +116,7 @@ public class ModelDependencyServiceImpl implements ModelDependencyService { |
|
|
|
* 递归父模型 |
|
|
|
* @param modelDependcyTreeVo |
|
|
|
*/ |
|
|
|
private void processParentModel(ModelDependcyTreeVo modelDependcyTreeVo){ |
|
|
|
private void processParentModel(ModelDependcyTreeVo modelDependcyTreeVo) throws IOException { |
|
|
|
if (modelDependcyTreeVo.getParentModelsMap() != null) { |
|
|
|
List<Map<String, Object>> parentMaps = modelDependcyTreeVo.getParentModelsMap(); |
|
|
|
List<ModelDependcyTreeVo> ps = new ArrayList<ModelDependcyTreeVo>(); |
|
|
|
@@ -103,7 +126,7 @@ public class ModelDependencyServiceImpl implements ModelDependencyService { |
|
|
|
ModelDependency modelDependencyQuery = new ModelDependency(); |
|
|
|
modelDependencyQuery.setVersion(version); |
|
|
|
modelDependencyQuery.setCurrentModelId(model_id); |
|
|
|
List<ModelDependency> modelDependencyList = modelDependencyDao.queryByModelDependency(modelDependencyQuery); |
|
|
|
List<ModelDependency> modelDependencyList = this.queryByModelDependency(modelDependencyQuery); |
|
|
|
if (modelDependencyList!=null&&modelDependencyList.size()>=0){ |
|
|
|
for (ModelDependency modelDependency:modelDependencyList){ |
|
|
|
ModelDependcyTreeVo modelDependencyTreeVoIn = ModelDependencyConvertToTree(modelDependency); |
|
|
|
@@ -144,9 +167,13 @@ public class ModelDependencyServiceImpl implements ModelDependencyService { |
|
|
|
modelDependcyTreeVo.setRefItem(modelDependency.getRefItem()); |
|
|
|
modelDependcyTreeVo.setTrainTask(JacksonUtil.parseJSONStr2Map(modelDependency.getTrainTask())); |
|
|
|
modelDependcyTreeVo.setTrainDataset(JacksonUtil.parseJSONStr2MapList(modelDependency.getTrainDataset())); |
|
|
|
modelDependcyTreeVo.setTrainImage(modelDependency.getTrainImage()); |
|
|
|
modelDependcyTreeVo.setTrainParams(JacksonUtil.parseJSONStr2TList(modelDependency.getTrainParams(),Object.class,null)); |
|
|
|
modelDependcyTreeVo.setTestDataset(JacksonUtil.parseJSONStr2MapList(modelDependency.getTestDataset())); |
|
|
|
modelDependcyTreeVo.setProjectDependency(JacksonUtil.parseJSONStr2Map(modelDependency.getProjectDependency())); |
|
|
|
modelDependcyTreeVo.setParentModelsMap(JacksonUtil.parseJSONStr2MapList(modelDependency.getParentModels())); |
|
|
|
modelDependcyTreeVo.setWorkflowId(modelDependency.getWorkflowId()); |
|
|
|
modelDependcyTreeVo.setAvailableRange(modelDependcyTreeVo.getAvailableRange()); |
|
|
|
Models models = modelsService.queryById(modelDependency.getCurrentModelId()); |
|
|
|
if (models!=null) { |
|
|
|
modelDependcyTreeVo.setCurrentModelName(models.getName()); |
|
|
|
|