diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/ExperimentInsDao.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/ExperimentInsDao.java index 58642324..c9ef05bf 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/ExperimentInsDao.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/ExperimentInsDao.java @@ -39,6 +39,8 @@ public interface ExperimentInsDao { */ long count(@Param("experimentIns") ExperimentIns experimentIns); + long countTorE(@Param("experimentId") Integer experimentId, @Param("isTrain") Boolean isTrain); + /* 统计实验实例总数 @@ -100,7 +102,6 @@ public interface ExperimentInsDao { List getLatestInsList(); - List queryByExperiment(@Param("experimentIns") ExperimentIns experimentIns); List queryByExperimentId(Integer id); diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/AimServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/AimServiceImpl.java index 9eba931a..b63fe369 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/AimServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/AimServiceImpl.java @@ -157,10 +157,20 @@ public class AimServiceImpl implements AimService { PageRequest pageRequest = PageRequest.of(page, size); ExperimentIns query = new ExperimentIns(); query.setExperimentId(experimentId); - long count = experimentInsDao.count(query); + long count = experimentInsDao.countTorE(experimentId, isTrain); List experimentInsList = experimentInsDao.queryAllByLimit(query, pageRequest); + + List collect = experimentInsList.stream().filter(ins -> { + Map metricRecord = JacksonUtil.parseJSONStr2Map(ins.getMetricRecord()); + if (isTrain) { + return metricRecord.get("train") != null; + } else { + return metricRecord.get("evaluate") != null; + } + }).collect(Collectors.toList()); + List aimRunInfoList = new ArrayList<>(); - for (ExperimentIns experimentIns : experimentInsList) { + for (ExperimentIns experimentIns : collect) { InsMetricInfoVo aimRunInfo = new InsMetricInfoVo(); aimRunInfo.setExperimentInsId(experimentIns.getId()); aimRunInfo.setStartTime(experimentIns.getCreateTime()); diff --git a/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ExperimentInsDaoMapper.xml b/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ExperimentInsDaoMapper.xml index ef87ed63..87d06752 100644 --- a/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ExperimentInsDaoMapper.xml +++ b/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ExperimentInsDaoMapper.xml @@ -250,6 +250,19 @@ where experiment_id = #{id} and state = 1 + + insert into experiment_ins(experiment_id,argo_ins_name,argo_ins_ns,status,nodes_status,nodes_result,nodes_logs,global_param,metric_record,metric_value,start_time,finish_time,create_by,create_time,update_by,update_time,state)