Merge branch 'Test_IRC_Net8' of http://192.168.3.68:2000/XCKJ/irc-netcore-api into Test_IRC_Net8
continuous-integration/drone/push Build is passing Details

IRC_NewDev
hang 2024-08-05 17:59:27 +08:00
commit 2bb4630351
3 changed files with 39 additions and 12 deletions

View File

@ -308,11 +308,28 @@ namespace IRaCIS.Core.API.Controllers
} }
/// <summary> /// <summary>
/// 提交结构化录入并签名 /// PM签名一致性分析临床数据
/// </summary> /// </summary>
/// <param name="opt"></param> /// <param name="opt"></param>
/// <returns></returns> /// <returns></returns>
[HttpPost, Route("Inspection/ReadingClinicalData/SignConsistencyAnalysisReadingClinicalData")]
[TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })]
[UnitOfWork]
public async Task<IResponseOutput> SignConsistencyAnalysisReadingClinicalData(DataInspectionDto<SignConsistencyAnalysisReadingClinicalDataInDto> opt)
{
var singid = await _inspectionService.RecordSing(opt.SignInfo);
var result = await _readingClinicalDataService.SignConsistencyAnalysisReadingClinicalData(opt.Data);
await _inspectionService.CompletedSign(singid, result);
return result;
}
/// <summary>
/// 提交结构化录入并签名
/// </summary>
/// <param name="opt"></param>
/// <returns></returns>
[HttpPost, Route("Inspection/ClinicalAnswer/SubmitClinicalFormAndSign")] [HttpPost, Route("Inspection/ClinicalAnswer/SubmitClinicalFormAndSign")]
[TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })]

View File

@ -733,10 +733,11 @@ namespace IRaCIS.Application.Services
if (inDto.ReadingId == null) if (inDto.ReadingId == null)
{ {
var visitTask = await _visitTaskRepository.FirstOrDefaultAsync(x => x.Id == inDto.VisitTaskId); var visitTask = await _visitTaskRepository.FirstOrDefaultAsync(x => x.Id == inDto.VisitTaskId);
inDto.ReadingId = visitTask.SouceReadModuleId ?? visitTask.SourceSubjectVisitId;
readingNameOrTaskBlindName = visitTask.TaskBlindName; readingNameOrTaskBlindName = visitTask.TaskBlindName;
} }
inDto.SelectIsSign = false;
var result = await GetClinicalDataList(inDto);
if (readingNameOrTaskBlindName.IsNullOrEmpty()) if (readingNameOrTaskBlindName.IsNullOrEmpty())
{ {
readingNameOrTaskBlindName = await _subjectVisitRepository.Where(x => x.Id == inDto.ReadingId).Select(x => x.VisitName).FirstOrDefaultAsync(); readingNameOrTaskBlindName = await _subjectVisitRepository.Where(x => x.Id == inDto.ReadingId).Select(x => x.VisitName).FirstOrDefaultAsync();
@ -746,8 +747,7 @@ namespace IRaCIS.Application.Services
} }
} }
inDto.SelectIsSign = false;
var result = await GetClinicalDataList(inDto);
var readingIds = result.Select(x => x.ReadingId).ToList(); var readingIds = result.Select(x => x.ReadingId).ToList();
@ -878,8 +878,9 @@ namespace IRaCIS.Application.Services
CriterionEnumList = x.ClinicalDataTrialSet.CriterionEnumList, CriterionEnumList = x.ClinicalDataTrialSet.CriterionEnumList,
TrialClinicalDataSetCriteriaList = x.ClinicalDataTrialSet.TrialClinicalDataSetCriteriaList, TrialClinicalDataSetCriteriaList = x.ClinicalDataTrialSet.TrialClinicalDataSetCriteriaList,
Id = x.Id, Id = x.Id,
UploadRole = x.ClinicalDataTrialSet.UploadRole, // 这里现在都是PM上传的 前端会判断是否可以上传
IsCRCUpload = x.ClinicalDataTrialSet.UploadRole == UploadRole.CRC, UploadRole = UploadRole.PM,
IsCRCUpload = false,
IsBlind = x.IsBlind, IsBlind = x.IsBlind,
IsComplete = x.IsComplete, IsComplete = x.IsComplete,
FileCount = x.FileCount, FileCount = x.FileCount,
@ -889,6 +890,8 @@ namespace IRaCIS.Application.Services
Id = y.Id, Id = y.Id,
FileName = y.FileName, FileName = y.FileName,
Path = y.Path, Path = y.Path,
Size=y.Size,
Type=y.Type,
CreateTime = y.CreateTime, CreateTime = y.CreateTime,
}).ToList(), }).ToList(),
}); });
@ -928,6 +931,8 @@ namespace IRaCIS.Application.Services
Id = y.Id, Id = y.Id,
FileName = y.FileName, FileName = y.FileName,
Path = y.Path, Path = y.Path,
Size = y.Size,
Type = y.Type,
CreateTime = y.CreateTime, CreateTime = y.CreateTime,
}).ToList(), }).ToList(),
}).ToListAsync(); }).ToListAsync();
@ -968,6 +973,8 @@ namespace IRaCIS.Application.Services
Id = y.Id, Id = y.Id,
FileName = y.FileName, FileName = y.FileName,
Path = y.Path, Path = y.Path,
Size = y.Size,
Type = y.Type,
CreateTime = y.CreateTime, CreateTime = y.CreateTime,
}).ToList(), }).ToList(),
@ -1245,7 +1252,8 @@ namespace IRaCIS.Application.Services
{ {
IsSign = true, IsSign = true,
IsBlind = inDto.IsBlind, IsBlind = inDto.IsBlind,
IsComplete = inDto.IsComplete IsComplete = inDto.IsComplete,
ReadingClinicalDataState= ReadingClinicalDataStatus.HaveSigned,
}); });
await _readingClinicalDataPDFRepository.SaveChangesAsync(); await _readingClinicalDataPDFRepository.SaveChangesAsync();
return ResponseOutput.Ok(pdfCount); return ResponseOutput.Ok(pdfCount);

View File

@ -29,5 +29,7 @@ namespace IRaCIS.Core.Application.Contracts
Task DealVisiTaskClinicalDataSignedAsync(Guid trialId, Guid subjectId, Guid readingId, bool isVisit, Guid trialReadingCritrialId); Task DealVisiTaskClinicalDataSignedAsync(Guid trialId, Guid subjectId, Guid readingId, bool isVisit, Guid trialReadingCritrialId);
Task<IResponseOutput> SignConsistencyAnalysisReadingClinicalData(SignConsistencyAnalysisReadingClinicalDataInDto inDto);
} }
} }