This commit is contained in:
parent
6e940bafbe
commit
393d37e0c1
|
|
@ -1,6 +1,7 @@
|
|||
package com.bonus.ai.controller.dataset;
|
||||
|
||||
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.AnnotationTaskEntity;
|
||||
import com.bonus.ai.domain.dataset.DataSetEntity;
|
||||
|
|
@ -14,6 +15,7 @@ import org.springframework.validation.annotation.Validated;
|
|||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
|
@ -82,6 +84,36 @@ public class AnnotationTaskController extends BaseController {
|
|||
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 标注文件的信息
|
||||
|
|
|
|||
|
|
@ -69,4 +69,7 @@ public class DataSetBasicFileEntity extends BaseEntity {
|
|||
private Date uploadTime;
|
||||
|
||||
private Long dataSetId;
|
||||
|
||||
/**查询目的,表示文件在当前任务下的标注状态*/
|
||||
String fileAnnotationStatus;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -54,5 +54,6 @@ public class AnnotationTaskEntity extends BaseEntity {
|
|||
/**用于查询目的*/
|
||||
private Long annotatorId= 0L;
|
||||
private Long reviewerId = 0L;
|
||||
private String fileAnnotationStatus;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.bonus.ai.mapper;
|
||||
|
||||
import com.bonus.ai.domain.DataSetBasicFileEntity;
|
||||
import com.bonus.ai.domain.dataset.AnnotationTaskAnnotatorEntity;
|
||||
import com.bonus.ai.domain.dataset.AnnotationTaskEntity;
|
||||
|
||||
|
|
@ -62,6 +63,7 @@ public interface AnnotationTaskMapper
|
|||
|
||||
int deleteAnnotator(Long taskId);
|
||||
|
||||
List<DataSetBasicFileEntity>getTaskBasicFile(AnnotationTaskEntity annotationTask);
|
||||
//这个接口不需要,可以扩展selectAnnotationTaskList
|
||||
// AnnotationTaskEntity selectAnnotationTaskListUUID(Long taskId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -207,6 +207,37 @@ public class AnnotationTaskServiceImpl implements AnnotationTaskService {
|
|||
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
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
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.AnnotationTaskEntity;
|
||||
import com.bonus.ai.domain.dataset.DataSetEntity;
|
||||
|
|
@ -32,4 +33,9 @@ public interface AnnotationTaskService {
|
|||
|
||||
/**检查标注任务名唯一性*/
|
||||
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}
|
||||
</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>
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ create table ai_annotation_task_annotator_map
|
|||
file_url varchar(200) default '' comment '文件网络路径',
|
||||
label_studio_task_id bigint(20) comment "label studio 对应的taskId"
|
||||
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_resource char(1) comment '0人工标注,1智能标注',
|
||||
del_flag char(1) default '0' comment '是否删除(0代表存在,1代表删除)',
|
||||
|
|
|
|||
Loading…
Reference in New Issue