增加获取审核驳回原因的接口

This commit is contained in:
weiweiw 2024-11-26 17:10:43 +08:00
parent 393d37e0c1
commit fb4353ca7a
6 changed files with 78 additions and 57 deletions

View File

@ -3,6 +3,7 @@ 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.DataSetBasicFileEntity;
import com.bonus.ai.domain.dataset.AnnotationSubTaskEntity; import com.bonus.ai.domain.dataset.AnnotationSubTaskEntity;
import com.bonus.ai.domain.dataset.AnnotationTaskAnnotatorEntity;
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;
import com.bonus.ai.service.DataSetBasicFileService; import com.bonus.ai.service.DataSetBasicFileService;
@ -115,14 +116,34 @@ public class AnnotationTaskController extends BaseController {
} }
/**
* * 根据任务id返回由我审核任务的所有文件列表
* @return 返回数据集详情
*/
@GetMapping(value = "/getAuditFailReasonByTaskId/{taskId}/{fileId}")
public AjaxResult getAuditFailReasonByFileId(@PathVariable Long taskId, @PathVariable Long fileId) {
try {
String failReason = annotationTaskService.getAuditFailReasonByFileId(taskId, fileId);
if (failReason.isEmpty())
{
failReason= "";
}
return AjaxResult.success(failReason);
}catch (Exception e){
return AjaxResult.error("获取文件列表失败");
}
}
/**手工标注或审核 /**手工标注或审核
* @param subTask 标注文件的信息 * @param subTask 标注文件的信息
* @return 返回影响的行数或错误信 * @return 返回影响的行数或错误信
*/ */
@PostMapping("/manualAnnotate") @PostMapping("/manualAnnotate")
public AjaxResult manualAnnotate(@Validated @RequestBody AnnotationSubTaskEntity subTask) { public AjaxResult manualAnnotate(@Validated @RequestBody AnnotationTaskAnnotatorEntity subTask) {
annotationTaskService.manualAnnotate(subTask);
return AjaxResult.success(); return AjaxResult.success("手工标注保存成功");
} }
/**智能标注,预留接口 /**智能标注,预留接口
@ -130,8 +151,9 @@ public class AnnotationTaskController extends BaseController {
* @return 返回影响的行数或错误信 * @return 返回影响的行数或错误信
*/ */
@PostMapping("/aiAnnotate") @PostMapping("/aiAnnotate")
public AjaxResult aiAnnotate(@Validated @RequestBody AnnotationSubTaskEntity subTask) { public AjaxResult aiAnnotate(@Validated @RequestBody AnnotationTaskAnnotatorEntity subTask) {
annotationTaskService.aiAnnotate(subTask);
return AjaxResult.success(); return AjaxResult.success();
} }

View File

@ -52,8 +52,11 @@ public class AnnotationTaskEntity extends BaseEntity {
private List<AnnotationSubTaskEntity> subAnnotationTasks; private List<AnnotationSubTaskEntity> subAnnotationTasks;
/**用于查询目的*/ /**用于查询目的*/
/**根据任务id标注人id或审核人id 和文件标注状态返回满足条件的文件列表*/
private Long annotatorId= 0L; private Long annotatorId= 0L;
private Long reviewerId = 0L; private Long reviewerId = 0L;
private String fileAnnotationStatus; private String fileAnnotationStatus;
/**根据任务id 和文件id 返回审核驳回的原因*/
private Long fileId = 0L;
} }

View File

@ -35,13 +35,6 @@ public interface AnnotationTaskMapper
*/ */
int deleteAnnotationTaskById(Long taskId); int deleteAnnotationTaskById(Long taskId);
/**
* 根据任务ID查询标注任务
* @param taskId 任务ID
* @return 标注任务实体
*/
// AnnotationTaskEntity selectAnnotationTaskById(Long taskId);
/** /**
* 查询标注任务列表 * 查询标注任务列表
* @param annotationTask 查询条件 * @param annotationTask 查询条件
@ -64,6 +57,7 @@ public interface AnnotationTaskMapper
int deleteAnnotator(Long taskId); int deleteAnnotator(Long taskId);
List<DataSetBasicFileEntity>getTaskBasicFile(AnnotationTaskEntity annotationTask); List<DataSetBasicFileEntity>getTaskBasicFile(AnnotationTaskEntity annotationTask);
String getAuditFailReasonByFileId(Long taskId, Long fileId);
//这个接口不需要可以扩展selectAnnotationTaskList //这个接口不需要可以扩展selectAnnotationTaskList
// AnnotationTaskEntity selectAnnotationTaskListUUID(Long taskId); // AnnotationTaskEntity selectAnnotationTaskListUUID(Long taskId);
} }

View File

@ -156,28 +156,6 @@ public class AnnotationTaskServiceImpl implements AnnotationTaskService {
e.printStackTrace(); e.printStackTrace();
} }
return status; return status;
/*
//删除任务需要删除两个个表 对应两个个表删除状态修改成1
AnnotationTaskEntity task = new AnnotationTaskEntity();
task.setTaskId(taskId);
int status = 0;
try{
// //删除主表任务信息
// status = annotationTaskMapper.deleteTaskById(taskId);
// //删除团队成员表信息
// status = annotationTaskMapper.deleteAnnotator(taskId);
// //查询对应的label studio project id , 删除这个标注任务对应的label studio project
List<AnnotationTaskEntity> resultTask = annotationTaskMapper.selectAnnotationTaskList(task);
if (!resultTask.isEmpty()){
Long project = resultTask.get(0).getLabelStudioProjectId();
//删除对应的标注任务文件关联关系表信息
onlineAnnotationService.deleteProjectById(String.valueOf(project));
}
}catch (Exception e){
e.printStackTrace();
}
*/
} }
/** /**
@ -188,19 +166,15 @@ public class AnnotationTaskServiceImpl implements AnnotationTaskService {
@Override @Override
public AnnotationTaskEntity getTaskInfo(Long taskId) { public AnnotationTaskEntity getTaskInfo(Long taskId) {
AnnotationTaskEntity task = new AnnotationTaskEntity();
task.setTaskId(taskId);
try { try {
AnnotationTaskEntity task = new AnnotationTaskEntity();
task.setTaskId(taskId);
//查询对应的label studio project id , 从label studio这个标注任务对应的label studio project //查询对应的label studio project id , 从label studio这个标注任务对应的label studio project
List<AnnotationTaskEntity> resultTasks = annotationTaskMapper.selectAnnotationTaskList(task); List<AnnotationTaskEntity> resultTasks = annotationTaskMapper.selectAnnotationTaskList(task);
if (!resultTasks.isEmpty()) { if (!resultTasks.isEmpty()) {
Long project = resultTasks.get(0).getLabelStudioProjectId(); return resultTasks.get(0);
//删除对应的标注任务文件关联关系表信息
ProjectParam projectParam = onlineAnnotationService.getProjectById(String.valueOf(project));
AnnotationTaskEntity resultTask = resultTasks.get(0);
resultTask.setProjectParam(projectParam);
} }
} catch (Exception e){ } catch (Exception e){
e.printStackTrace(); e.printStackTrace();
} }
@ -209,18 +183,23 @@ public class AnnotationTaskServiceImpl implements AnnotationTaskService {
@Override @Override
public List<DataSetBasicFileEntity> getMyAnnotaionTaskBasicFile(Long taskId, String annotationStatus){ public List<DataSetBasicFileEntity> getMyAnnotaionTaskBasicFile(Long taskId, String annotationStatus){
Long userId = SecurityUtils.getUserId(); try {
AnnotationTaskEntity task = new AnnotationTaskEntity(); Long userId = SecurityUtils.getUserId();
task.setTaskId(taskId); AnnotationTaskEntity task = new AnnotationTaskEntity();
task.setAnnotatorId(userId); task.setTaskId(taskId);
Long intAnnotationStatus = Long.valueOf(annotationStatus); task.setAnnotatorId(userId);
if (intAnnotationStatus < 4 && intAnnotationStatus >= 0) { Long intAnnotationStatus = Long.valueOf(annotationStatus);
if (intAnnotationStatus < 4 && intAnnotationStatus >= 0) {
task.setFileAnnotationStatus(annotationStatus);
} else {
task.setFileAnnotationStatus("5");
}
task.setFileAnnotationStatus(annotationStatus); task.setFileAnnotationStatus(annotationStatus);
} else { return annotationTaskMapper.getTaskBasicFile(task);
task.setFileAnnotationStatus("5"); }catch(Exception e){
e.printStackTrace();
return new ArrayList<>();
} }
task.setFileAnnotationStatus(annotationStatus);
return annotationTaskMapper.getTaskBasicFile(task);
} }
@Override @Override
@ -238,6 +217,18 @@ public class AnnotationTaskServiceImpl implements AnnotationTaskService {
} }
return annotationTaskMapper.getTaskBasicFile(task); return annotationTaskMapper.getTaskBasicFile(task);
} }
@Override
public String getAuditFailReasonByFileId(Long taskId, Long fileId){
try {
return annotationTaskMapper.getAuditFailReasonByFileId(taskId, fileId);
}catch(Exception e){
e.printStackTrace();
return "";
}
}
/** /**
* 检查任务名称是否重复 * 检查任务名称是否重复
* @param task * @param task
@ -253,7 +244,7 @@ public class AnnotationTaskServiceImpl implements AnnotationTaskService {
* 手工标注 * 手工标注
*/ */
@Override @Override
public void manualAnnotate(AnnotationSubTaskEntity subTask) { public void manualAnnotate(AnnotationTaskAnnotatorEntity subTask) {
} }
@ -261,7 +252,7 @@ public class AnnotationTaskServiceImpl implements AnnotationTaskService {
* AI标注 * AI标注
*/ */
@Override @Override
public void aiAnnotate(AnnotationSubTaskEntity subTask) { public void aiAnnotate(AnnotationTaskAnnotatorEntity subTask) {
} }

View File

@ -2,6 +2,7 @@ package com.bonus.ai.service.dataset;
import com.bonus.ai.domain.DataSetBasicFileEntity; 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.AnnotationTaskAnnotatorEntity;
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;
import com.bonus.common.core.web.page.TableDataInfo; import com.bonus.common.core.web.page.TableDataInfo;
@ -23,10 +24,10 @@ public interface AnnotationTaskService {
AnnotationTaskEntity getTaskInfo(Long taskId); AnnotationTaskEntity getTaskInfo(Long taskId);
/**手工标注*/ /**手工标注*/
void manualAnnotate(AnnotationSubTaskEntity subTask); void manualAnnotate(AnnotationTaskAnnotatorEntity subTask);
/**AI自动标注*/ /**AI自动标注*/
void aiAnnotate(AnnotationSubTaskEntity subTask); void aiAnnotate(AnnotationTaskAnnotatorEntity subTask);
/**根据类型获取标注任务列表*/ /**根据类型获取标注任务列表*/
List<AnnotationTaskEntity> getTaskList(AnnotationTaskEntity task); List<AnnotationTaskEntity> getTaskList(AnnotationTaskEntity task);
@ -37,5 +38,7 @@ public interface AnnotationTaskService {
List<DataSetBasicFileEntity> getMyAnnotaionTaskBasicFile(Long taskId,String annotationStatus); List<DataSetBasicFileEntity> getMyAnnotaionTaskBasicFile(Long taskId,String annotationStatus);
List<DataSetBasicFileEntity> getMyAuditTaskBasicFile(Long taskId,String annotationStatus); List<DataSetBasicFileEntity> getMyAuditTaskBasicFile(Long taskId,String annotationStatus);
String getAuditFailReasonByFileId(Long taskId, Long fileId);
; ;
} }

View File

@ -294,6 +294,14 @@
</if> </if>
</select> </select>
<select id="getAuditFailReasonByFileId" parameterType="com.bonus.ai.domain.dataset.AnnotationTaskEntity" resultType="String">
SELECT
atap.audit_failed_reason
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} and adfm.file_id = #{fileId}
</select>
</mapper> </mapper>