Commit 1729682a authored by pengxin's avatar pengxin

新增数据标记接口。

parent 3b439c4b
package com.yice.webadmin.app.controller;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.io.FileUtil;
import com.alibaba.fastjson.JSON;
import com.fasterxml.jackson.databind.JsonNode;
......@@ -46,6 +47,7 @@ import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.text.DecimalFormat;
import java.util.*;
/**
......@@ -188,6 +190,52 @@ public class DatasetVersionController {
return ResponseResult.success(MyPageUtil.makeResponseData(datasetVersionList, DatasetVersion.INSTANCE));
}
/**
* 列出符合过滤条件的数据集版本列表。
*
* @param datasetVersionDtoFilter 过滤对象。
* @param datasetDetailDtoFilter 一对一从表过滤对象。
* @param orderParam 排序参数。
* @param pageParam 分页参数。
* @return 应答结果对象,包含查询结果集。
*/
@PostMapping("/load")
public ResponseResult<MyPageData<DatasetVersionVo>> load(
@MyRequestBody DatasetVersionDto datasetVersionDtoFilter,
@MyRequestBody DatasetDetailDto datasetDetailDtoFilter,
@MyRequestBody MyOrderParam orderParam,
@MyRequestBody MyPageParam pageParam) {
if (pageParam != null) {
PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize());
}
DatasetVersion datasetVersionFilter = MyModelUtil.copyTo(datasetVersionDtoFilter, DatasetVersion.class);
DatasetDetail datasetDetailFilter = MyModelUtil.copyTo(datasetDetailDtoFilter, DatasetDetail.class);
String orderBy = MyOrderParam.buildOrderBy(orderParam, DatasetVersion.class);
List<DatasetVersion> datasetVersionList =
datasetVersionService.getDatasetVersionListWithRelation(datasetVersionFilter, datasetDetailFilter, orderBy);
if(CollUtil.isNotEmpty(datasetVersionList)){
for(DatasetVersion datasetVersion: datasetVersionList){
datasetVersion.setMarkProgress(calcMarkProgress(datasetVersion.getVersionId(),datasetVersion.getDataVolume()));
}
}
return ResponseResult.success(MyPageUtil.makeResponseData(datasetVersionList, DatasetVersion.INSTANCE));
}
/**
* 计算标记进度
* @param versionId 版本标识编号
* @return 获取进度
*/
private String calcMarkProgress(Long versionId, double allMarkCount) {
DatasetData datasetDataFilter = new DatasetData();
datasetDataFilter.setVersionId(versionId);
datasetDataFilter.setMarkStatus(DatasetConstant.STATUS_PUBLISHED);
double markCount = datasetDataService.count(datasetDataFilter);
double percentage = (markCount / allMarkCount) * 100;
int percent = (int) percentage;
return percent+ "%(" + (int)markCount + "/" + (int)allMarkCount + ")";
}
/**
* 查看指定数据集版本对象详情。
*
......@@ -204,7 +252,6 @@ public class DatasetVersionController {
return ResponseResult.success(datasetVersionVo);
}
/**
* 查看指定数据集最新版本对象详情。
*
......
......@@ -85,6 +85,9 @@
<if test="datasetVersionFilter.datasetId != null">
AND lmp_dataset_version.dataset_id = #{datasetVersionFilter.datasetId}
</if>
<if test="datasetVersionFilter.inputStatus != null">
AND lmp_dataset_version.input_status = #{datasetVersionFilter.inputStatus}
</if>
</if>
</sql>
......
......@@ -71,7 +71,7 @@ public class DatasetVersionDto {
* 标注进度。
*/
@ApiModelProperty(value = "标注进度")
private Integer markProgress;
private String markProgress;
/**
* 数据量。
......
......@@ -73,7 +73,7 @@ public class DatasetVersion extends BaseModel {
/**
* 标注进度。
*/
private Integer markProgress;
private String markProgress;
/**
* 数据量。
......
......@@ -100,7 +100,7 @@ public class DatasetVersionServiceImpl extends BaseService<DatasetVersion, Long>
datasetVersion.setDataVolume(0L);
datasetVersion.setEnhanceStatus(0);
datasetVersion.setInputStatus(0);
datasetVersion.setMarkProgress(0);
datasetVersion.setMarkProgress("0");
datasetVersion.setOutputStatus(0);
datasetVersion.setReleaseStatus(0);
datasetVersion.setTemplate(reDatasetManage.getTemplate());
......
......@@ -71,7 +71,7 @@ public class DatasetVersionVo extends BaseVo {
* 标注进度。
*/
@ApiModelProperty(value = "标注进度")
private Integer markProgress;
private String markProgress;
/**
* 数据量。
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment