This commit is contained in:
parent
6e940bafbe
commit
393d37e0c1
|
|
@ -1,6 +1,7 @@
|
||||||
package com.bonus.ai.controller.dataset;
|
package com.bonus.ai.controller.dataset;
|
||||||
|
|
||||||
import com.bonus.ai.client.AnnotationParam;
|
import com.bonus.ai.client.AnnotationParam;
|
||||||
|
import com.bonus.ai.domain.DataSetBasicFileEntity;
|
||||||
import com.bonus.ai.domain.dataset.AnnotationSubTaskEntity;
|
import com.bonus.ai.domain.dataset.AnnotationSubTaskEntity;
|
||||||
import com.bonus.ai.domain.dataset.AnnotationTaskEntity;
|
import com.bonus.ai.domain.dataset.AnnotationTaskEntity;
|
||||||
import com.bonus.ai.domain.dataset.DataSetEntity;
|
import com.bonus.ai.domain.dataset.DataSetEntity;
|
||||||
|
|
@ -14,6 +15,7 @@ import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -82,6 +84,36 @@ public class AnnotationTaskController extends BaseController {
|
||||||
return AjaxResult.success(taskEntity);
|
return AjaxResult.success(taskEntity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据任务id返回由我标注任务的所有文件列表
|
||||||
|
* 0未标注,1已标注,2已审核,3审核驳回
|
||||||
|
* ,String annotationStatus 5 表示全部,0-4表示标注和审核状态
|
||||||
|
* @return 返回数据集详情
|
||||||
|
*/
|
||||||
|
@GetMapping(value = "/getMyAnnotationFiles/{annotationStatus}/{taskId}")
|
||||||
|
public AjaxResult getMyAnnotationFilesByTaskId(@PathVariable Long taskId, @PathVariable String annotationStatus) {
|
||||||
|
try {
|
||||||
|
List<DataSetBasicFileEntity> dataSetBasicFile = annotationTaskService.getMyAnnotaionTaskBasicFile(taskId, annotationStatus);
|
||||||
|
return AjaxResult.success(dataSetBasicFile);
|
||||||
|
}catch (Exception e){
|
||||||
|
return AjaxResult.error("获取文件列表失败");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* * 根据任务id返回由我审核任务的所有文件列表
|
||||||
|
* @return 返回数据集详情
|
||||||
|
*/
|
||||||
|
@GetMapping(value = "/getMyAuditFiles/{annotationStatus}/{taskId}")
|
||||||
|
public AjaxResult getMyAuditFilesByTaskId(@PathVariable Long taskId, @PathVariable String annotationStatus) {
|
||||||
|
try {
|
||||||
|
List<DataSetBasicFileEntity> dataSetBasicFile = annotationTaskService.getMyAuditTaskBasicFile(taskId, annotationStatus);
|
||||||
|
return AjaxResult.success(dataSetBasicFile);
|
||||||
|
}catch (Exception e){
|
||||||
|
return AjaxResult.error("获取文件列表失败");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**手工标注或审核
|
/**手工标注或审核
|
||||||
* @param subTask 标注文件的信息
|
* @param subTask 标注文件的信息
|
||||||
|
|
|
||||||
|
|
@ -69,4 +69,7 @@ public class DataSetBasicFileEntity extends BaseEntity {
|
||||||
private Date uploadTime;
|
private Date uploadTime;
|
||||||
|
|
||||||
private Long dataSetId;
|
private Long dataSetId;
|
||||||
|
|
||||||
|
/**查询目的,表示文件在当前任务下的标注状态*/
|
||||||
|
String fileAnnotationStatus;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -54,5 +54,6 @@ public class AnnotationTaskEntity extends BaseEntity {
|
||||||
/**用于查询目的*/
|
/**用于查询目的*/
|
||||||
private Long annotatorId= 0L;
|
private Long annotatorId= 0L;
|
||||||
private Long reviewerId = 0L;
|
private Long reviewerId = 0L;
|
||||||
|
private String fileAnnotationStatus;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.bonus.ai.mapper;
|
package com.bonus.ai.mapper;
|
||||||
|
|
||||||
|
import com.bonus.ai.domain.DataSetBasicFileEntity;
|
||||||
import com.bonus.ai.domain.dataset.AnnotationTaskAnnotatorEntity;
|
import com.bonus.ai.domain.dataset.AnnotationTaskAnnotatorEntity;
|
||||||
import com.bonus.ai.domain.dataset.AnnotationTaskEntity;
|
import com.bonus.ai.domain.dataset.AnnotationTaskEntity;
|
||||||
|
|
||||||
|
|
@ -62,6 +63,7 @@ public interface AnnotationTaskMapper
|
||||||
|
|
||||||
int deleteAnnotator(Long taskId);
|
int deleteAnnotator(Long taskId);
|
||||||
|
|
||||||
|
List<DataSetBasicFileEntity>getTaskBasicFile(AnnotationTaskEntity annotationTask);
|
||||||
//这个接口不需要,可以扩展selectAnnotationTaskList
|
//这个接口不需要,可以扩展selectAnnotationTaskList
|
||||||
// AnnotationTaskEntity selectAnnotationTaskListUUID(Long taskId);
|
// AnnotationTaskEntity selectAnnotationTaskListUUID(Long taskId);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -207,6 +207,37 @@ public class AnnotationTaskServiceImpl implements AnnotationTaskService {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<DataSetBasicFileEntity> getMyAnnotaionTaskBasicFile(Long taskId, String annotationStatus){
|
||||||
|
Long userId = SecurityUtils.getUserId();
|
||||||
|
AnnotationTaskEntity task = new AnnotationTaskEntity();
|
||||||
|
task.setTaskId(taskId);
|
||||||
|
task.setAnnotatorId(userId);
|
||||||
|
Long intAnnotationStatus = Long.valueOf(annotationStatus);
|
||||||
|
if (intAnnotationStatus < 4 && intAnnotationStatus >= 0) {
|
||||||
|
task.setFileAnnotationStatus(annotationStatus);
|
||||||
|
} else {
|
||||||
|
task.setFileAnnotationStatus("5");
|
||||||
|
}
|
||||||
|
task.setFileAnnotationStatus(annotationStatus);
|
||||||
|
return annotationTaskMapper.getTaskBasicFile(task);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<DataSetBasicFileEntity> getMyAuditTaskBasicFile(Long taskId, String annotationStatus){
|
||||||
|
Long userId = SecurityUtils.getUserId();
|
||||||
|
AnnotationTaskEntity task = new AnnotationTaskEntity();
|
||||||
|
task.setTaskId(taskId);
|
||||||
|
task.setReviewerId(userId);
|
||||||
|
Long intAnnotationStatus = Long.valueOf(annotationStatus);
|
||||||
|
if (intAnnotationStatus < 4 && intAnnotationStatus >= 0) {
|
||||||
|
task.setFileAnnotationStatus(annotationStatus);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
task.setFileAnnotationStatus("5");
|
||||||
|
}
|
||||||
|
return annotationTaskMapper.getTaskBasicFile(task);
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* 检查任务名称是否重复
|
* 检查任务名称是否重复
|
||||||
* @param task
|
* @param task
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.bonus.ai.service.dataset;
|
package com.bonus.ai.service.dataset;
|
||||||
|
|
||||||
|
import com.bonus.ai.domain.DataSetBasicFileEntity;
|
||||||
import com.bonus.ai.domain.dataset.AnnotationSubTaskEntity;
|
import com.bonus.ai.domain.dataset.AnnotationSubTaskEntity;
|
||||||
import com.bonus.ai.domain.dataset.AnnotationTaskEntity;
|
import com.bonus.ai.domain.dataset.AnnotationTaskEntity;
|
||||||
import com.bonus.ai.domain.dataset.DataSetEntity;
|
import com.bonus.ai.domain.dataset.DataSetEntity;
|
||||||
|
|
@ -32,4 +33,9 @@ public interface AnnotationTaskService {
|
||||||
|
|
||||||
/**检查标注任务名唯一性*/
|
/**检查标注任务名唯一性*/
|
||||||
boolean checkTaskNameUnique(AnnotationTaskEntity task);
|
boolean checkTaskNameUnique(AnnotationTaskEntity task);
|
||||||
|
|
||||||
|
List<DataSetBasicFileEntity> getMyAnnotaionTaskBasicFile(Long taskId,String annotationStatus);
|
||||||
|
|
||||||
|
List<DataSetBasicFileEntity> getMyAuditTaskBasicFile(Long taskId,String annotationStatus);
|
||||||
|
;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -267,6 +267,33 @@
|
||||||
WHERE task_id = #{taskId}
|
WHERE task_id = #{taskId}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
<!-- 根据taskid 返回由某人标注 或审核的的文件列表-->
|
||||||
|
<select id="getTaskBasicFile" parameterType="com.bonus.ai.domain.dataset.AnnotationTaskEntity" resultType="com.bonus.ai.domain.DataSetBasicFileEntity">
|
||||||
|
SELECT
|
||||||
|
distinct adfm.file_id AS fileId,
|
||||||
|
abf.file_name AS fileName,
|
||||||
|
abf.file_size AS fileSize,
|
||||||
|
adfm.create_time AS createTime,
|
||||||
|
atap.annotation_status AS annotationStatus
|
||||||
|
FROM ai_basic_file abf
|
||||||
|
LEFT JOIN ai_dataset_file_map adfm ON abf.file_id = adfm.file_id
|
||||||
|
LEFT JOIN ai_annotation_task aat ON aat.dataset_id= adfm.dataset_id
|
||||||
|
LEFT JOIN ai_annotation_task_annotator_map atap on atap.task_id = aat.task_id
|
||||||
|
where abf.del_flag = '0' and aat.del_flag = '0' and aat.task_id = #{taskId}
|
||||||
|
<if test="fileName != null and fileName != ''">
|
||||||
|
AND abf.file_name like concat('%', #{fileName}, '%')
|
||||||
|
</if>
|
||||||
|
<if test="annotatorId != null and annotatorId != ''">
|
||||||
|
AND atap.annotator_id = #{annotatorId}
|
||||||
|
</if>
|
||||||
|
<if test="reviewerId != null and reviewerId != ''">
|
||||||
|
AND atap.reviewer_id = #{reviewerId}
|
||||||
|
</if>
|
||||||
|
<if test="fileAnnotationStatus != null and fileAnnotationStatus != '5'">
|
||||||
|
AND atap.annotation_status = #{fileAnnotationStatus}
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ create table ai_annotation_task_annotator_map
|
||||||
file_url varchar(200) default '' comment '文件网络路径',
|
file_url varchar(200) default '' comment '文件网络路径',
|
||||||
label_studio_task_id bigint(20) comment "label studio 对应的taskId"
|
label_studio_task_id bigint(20) comment "label studio 对应的taskId"
|
||||||
description varchar(500) default '' comment '描述',
|
description varchar(500) default '' comment '描述',
|
||||||
annotation_status char(1) comment '0未标注,1正在标注,2已标注,3正在审核,4 审核驳回,5已审核',
|
annotation_status char(1) comment '0未标注,1已标注,2已审核,4 审核驳回',
|
||||||
annotation_result text comment '标注结果(json串)',
|
annotation_result text comment '标注结果(json串)',
|
||||||
annotation_resource char(1) comment '0人工标注,1智能标注',
|
annotation_resource char(1) comment '0人工标注,1智能标注',
|
||||||
del_flag char(1) default '0' comment '是否删除(0代表存在,1代表删除)',
|
del_flag char(1) default '0' comment '是否删除(0代表存在,1代表删除)',
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue