|
@@ -208,6 +208,11 @@ public class TargetIdentificationTaskServiceImpl extends BaseServiceImpl<TargetI
|
|
|
if (taskDto.getTaskItemList().contains("2")){
|
|
|
createTestTask(taskBo.getId(),taskDto, records);
|
|
|
}
|
|
|
+
|
|
|
+ // 创建扩增子任务
|
|
|
+ if (taskDto.getHasTrainAugmentation()) {
|
|
|
+ createDataAmplifyTask(taskBo.getId(), taskDto);
|
|
|
+ }
|
|
|
return null;
|
|
|
}
|
|
|
|
|
@@ -483,6 +488,50 @@ public class TargetIdentificationTaskServiceImpl extends BaseServiceImpl<TargetI
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private void createDataAmplifyTask(Long taskId, CreateTargetIdentificationTaskDto taskDto) {
|
|
|
+ List<TaskDto> algTaskList = taskDto.getAlgTaskList();
|
|
|
+ List<String> testBatchNumList = taskDto.getTestBatchNumList();
|
|
|
+ if (testBatchNumList.isEmpty()) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ TargetIdentificationSubtaskBo subtask = new TargetIdentificationSubtaskBo();
|
|
|
+ subtask.setName("数据扩增");
|
|
|
+ subtask.setStatus(BizConstant.TASK_STATUS_PENDING);
|
|
|
+ subtask.setTaskId(taskId);
|
|
|
+ subtask.setRemarks("DEFAULT_REMARK");
|
|
|
+
|
|
|
+ TargetIdentificationSubtask savedTask = subtaskService.insertSubtask(subtask);
|
|
|
+ subtask.setId(savedTask.getId());
|
|
|
+ System.out.println("subtask is: " + subtask);
|
|
|
+
|
|
|
+ for (TaskDto algTask : algTaskList) {
|
|
|
+ // 通过算法id 获取算法配置
|
|
|
+ Long algorithmId = algTask.getAlgorithmId();
|
|
|
+ AlgorithmTaskConfigurationVo algorithmModelVo = algorithmTaskConfigurationService.selectById(algorithmId);
|
|
|
+
|
|
|
+ String algUrl = algorithmModelVo.getTestUrl();
|
|
|
+ String algName = algorithmModelVo.getName();
|
|
|
+ List<String> params = List.of(algTask.getParams().split(";;;"));
|
|
|
+
|
|
|
+ for (int i = 0; i < testBatchNumList.size(); i++) {
|
|
|
+ String batchNum = testBatchNumList.get(i);
|
|
|
+ TargetIdentificationSubtaskDetailsBo subtaskDetail = new TargetIdentificationSubtaskDetailsBo();
|
|
|
+ // 通过算法id获取算法配置
|
|
|
+ subtaskDetail.setSubtaskId(subtask.getId());
|
|
|
+ subtaskDetail.setName(algName);
|
|
|
+ subtaskDetail.setStatus(BizConstant.TASK_STATUS_PENDING);
|
|
|
+ subtaskDetail.setAlgorithmId(algTask.getAlgorithmId());
|
|
|
+ subtaskDetail.setType(algUrl);
|
|
|
+ subtaskDetail.setDataBatchNums(batchNum);
|
|
|
+ subtaskDetail.setParameters(params.get(2));
|
|
|
+ String subtaskPath = "/" + UUID.randomUUID().toString().replace("-", "_");
|
|
|
+ subtaskDetail.setPreprocessPath(subtaskPath);
|
|
|
+ subtaskDetail.setResultPath(subtaskPath + "/result");
|
|
|
+ subtaskDetail.setIndex((long) i);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
// todo 检查数据是否有问题
|
|
|
private String checkTask(CreateTargetIdentificationTaskDto taskDto) {
|