diff --git a/task/src/main/java/com/sdm/task/controller/SimuluationTaskPoolController.java b/task/src/main/java/com/sdm/task/controller/SimuluationTaskPoolController.java index 1fccd31b..1628815a 100644 --- a/task/src/main/java/com/sdm/task/controller/SimuluationTaskPoolController.java +++ b/task/src/main/java/com/sdm/task/controller/SimuluationTaskPoolController.java @@ -85,9 +85,9 @@ public class SimuluationTaskPoolController implements ISimuluationTaskPoolFeignC @GetMapping(value = "/cleanTaskPool") @ResponseBody - SdmResponse cleanSimulationTaskPool(@RequestParam String poolName) + SdmResponse cleanSimulationTaskPool(@RequestParam String poolName,@RequestParam String version) { - return service.cleanTaskPool(poolName); + return service.cleanTaskPool(poolName,version); } @GetMapping(value = "/getAllTaskPool") diff --git a/task/src/main/java/com/sdm/task/dao/SimulationPoolMapper.java b/task/src/main/java/com/sdm/task/dao/SimulationPoolMapper.java index 1f4289ac..1a002cc1 100644 --- a/task/src/main/java/com/sdm/task/dao/SimulationPoolMapper.java +++ b/task/src/main/java/com/sdm/task/dao/SimulationPoolMapper.java @@ -29,6 +29,9 @@ public interface SimulationPoolMapper { @Delete("DELETE FROM simulation_pool_versions WHERE poolName=#{poolName}") int deleteTaskPoolVersion(@Param("poolName")String poolName); + @Delete("DELETE FROM simulation_pool_versions WHERE poolName=#{poolName} AND poolVersion=#{version}") + int deleteTaskPoolSingleVersion(@Param("poolName")String poolName,@Param("version")String version); + @Select("SELECT * FROM simulation_pool_versions WHERE poolName=#{poolName} AND poolVersion=#{version}") List queryTaskPoolVersion(@Param("poolName")String poolName,@Param("version")String version); diff --git a/task/src/main/java/com/sdm/task/service/ISimulationTaskPoolService.java b/task/src/main/java/com/sdm/task/service/ISimulationTaskPoolService.java index 85f44c0e..49a22c88 100644 --- a/task/src/main/java/com/sdm/task/service/ISimulationTaskPoolService.java +++ b/task/src/main/java/com/sdm/task/service/ISimulationTaskPoolService.java @@ -44,7 +44,7 @@ public interface ISimulationTaskPoolService { SdmResponse getTaskPoolVersions(String poolName); - SdmResponse cleanTaskPool(String poolName); + SdmResponse cleanTaskPool(String poolName,String version); SdmResponse getAllTaskPool(boolean bCurrent); diff --git a/task/src/main/java/com/sdm/task/service/impl/SimulationTaskPoolServiceImpl.java b/task/src/main/java/com/sdm/task/service/impl/SimulationTaskPoolServiceImpl.java index ecdba5a1..74d46c5c 100644 --- a/task/src/main/java/com/sdm/task/service/impl/SimulationTaskPoolServiceImpl.java +++ b/task/src/main/java/com/sdm/task/service/impl/SimulationTaskPoolServiceImpl.java @@ -434,6 +434,7 @@ public class SimulationTaskPoolServiceImpl extends BaseService implements ISimul JSONObject poolJson = JSONObject.parseObject(contents); List templateRelates = mapper.queryTaskFlowRelateByPoolVersion(poolName,version); Map taskFlowMap = new HashMap<>(); + Map taskFlowNameMap = new HashMap<>(); Map validFlowTemplateMap = new HashMap<>(); SdmResponse> validFlowTemplates = simulationFlowFeignClient.queryValidFlowTemplateInfo(); if(validFlowTemplates.isSuccess()) { @@ -448,15 +449,20 @@ public class SimulationTaskPoolServiceImpl extends BaseService implements ISimul { if(!validFlowTemplateMap.containsKey(relate.flowCode)) continue; + FlowTemplateResp flowTemplate = validFlowTemplateMap.get(relate.flowCode); String flowTemplates = taskFlowMap.get(relate.taskUuid); + String flowTemplateNames = taskFlowNameMap.get(relate.taskUuid); if(flowTemplates == null) { taskFlowMap.put(relate.taskUuid,relate.flowCode); + taskFlowNameMap.put(relate.taskUuid,flowTemplate.templateName); } else { flowTemplates += ";"+relate.flowCode; + flowTemplateNames += ";"+flowTemplate.templateName; taskFlowMap.put(relate.taskUuid,flowTemplates); + taskFlowNameMap.put(relate.taskUuid,flowTemplateNames); } } //获取分析项与知识库关系 @@ -477,7 +483,7 @@ public class SimulationTaskPoolServiceImpl extends BaseService implements ISimul for(int i=0;i> stardardMap,Map taskFlowMap) + private void searchNodeAndBindTasks(JSONObject nodeObject,Map> stardardMap,Map taskFlowMap,Map taskFlowNameMap) { JSONArray children = nodeObject.getJSONArray("children"); if(children == null || children.isEmpty()) @@ -501,11 +507,11 @@ public class SimulationTaskPoolServiceImpl extends BaseService implements ISimul continue; if(levelType.equalsIgnoreCase("node")) { - searchNodeAndBindTasks(child,stardardMap,taskFlowMap); + searchNodeAndBindTasks(child,stardardMap,taskFlowMap,taskFlowNameMap); } else if(levelType.equalsIgnoreCase("task")) { - bindTaskRelate(child,stardardMap,taskFlowMap); + bindTaskRelate(child,stardardMap,taskFlowMap,taskFlowNameMap); } } } @@ -516,16 +522,21 @@ public class SimulationTaskPoolServiceImpl extends BaseService implements ISimul * @param stardardMap * @param taskFlowMap */ - private void bindTaskRelate(JSONObject taskObject,Map> stardardMap,Map taskFlowMap) + private void bindTaskRelate(JSONObject taskObject,Map> stardardMap,Map taskFlowMap,Map taskFlowNameMap) { String taskUuid = taskObject.getString("uuid"); if(taskUuid == null) return; String flowTemplate = taskFlowMap.get(taskUuid); + String flowTemplateNames = taskFlowNameMap.get(taskUuid); if(flowTemplate != null) { taskObject.put("flowTemplate",flowTemplate); } + if(flowTemplateNames != null) + { + taskObject.put("flowTemplateNames",flowTemplateNames); + } List fileMetas = stardardMap.get(taskUuid); if(fileMetas != null && !fileMetas.isEmpty()) { @@ -1029,6 +1040,22 @@ public class SimulationTaskPoolServiceImpl extends BaseService implements ISimul return response; } + /** + * 根据版本删除分析项库 + * @param poolName + * @param version + * @return + */ + public SdmResponse cleanTaskPool(String poolName,String version) + { + SdmResponse response = SdmResponse.success(); + if(mapper.deleteTaskPoolSingleVersion(poolName,version) < 0) + { + response = SdmResponse.failed("删除分析项库版本失败"); + } + return response; + } + /** *清理分析项库 * @param poolName @@ -1512,7 +1539,6 @@ public class SimulationTaskPoolServiceImpl extends BaseService implements ISimul } } } - } response.setData(poolBriefs); return response;