Uat_Study
hang 2023-06-28 09:24:06 +08:00
commit 73fb523b3d
3 changed files with 35 additions and 16 deletions

View File

@ -187,10 +187,9 @@ namespace IRaCIS.Core.Application.Service
public async Task<IResponseOutput> SubmitClinicalForm(SubmitClinicalFormInDto inDto)
{
var checkDateQuestionId = await _trialClinicalQuestionRepository.Where(x => x.TrialClinicalId == inDto.ClinicalDataTrialSetId && x.IsCheckDate).Select(x => x.Id).FirstNotNullAsync();
ClinicalForm clinicalForm = new ClinicalForm() { };
try
{
clinicalForm = new ClinicalForm()
{
ClinicalDataTrialSetId = inDto.ClinicalDataTrialSetId,
@ -198,12 +197,16 @@ namespace IRaCIS.Core.Application.Service
Id = inDto.ClinicalFormId ?? NewId.NextGuid(),
ReadingId = inDto.ReadingId,
VisitId = inDto.VisitId,
CheckDate = DateTime.Parse(inDto.QuestionAnswers.Where(x => x.QuestionId == checkDateQuestionId).Select(x => x.Answer).First()),
};
try
{
var checkDateQuestionId = await _trialClinicalQuestionRepository.Where(x => x.TrialClinicalId == inDto.ClinicalDataTrialSetId && x.IsCheckDate).Select(x => x.Id).FirstNotNullAsync();
clinicalForm.CheckDate = DateTime.Parse(inDto.QuestionAnswers.Where(x => x.QuestionId == checkDateQuestionId).Select(x => x.Answer).First());
}
catch (Exception)
{
throw new BusinessValidationFailedException("检查日期问题答案填写错误!");
}
List<ClinicalQuestionAnswer> clinicalQuestionAnswers = inDto.QuestionAnswers.Select(x => new ClinicalQuestionAnswer()

View File

@ -61,7 +61,13 @@ namespace IRaCIS.Application.Services
[HttpPost]
public async Task<IResponseOutput> ApplySystemClinical(ApplySystemClinicalInDto inDto)
{
if (_systemClinicalQuestionRepository.Where(x => x.SystemClinicalId == inDto.SystemClinicalId && x.IsCheckDate).Count() != 1)
var isNeedVerify = await _clinicalDataSystemSetRepository.AnyAsync(x => x.Id == inDto.SystemClinicalId && (x.ClinicalDataLevel == ClinicalLevel.ImageRead || x.ClinicalDataLevel == ClinicalLevel.OncologyRead)
&& x.ClinicalUploadType == ClinicalUploadType.Structuring && x.UploadRole == UploadRole.CRC
);
if (_systemClinicalQuestionRepository.Where(x => isNeedVerify&& x.SystemClinicalId == inDto.SystemClinicalId && x.IsCheckDate).Count() != 1)
{
throw new BusinessValidationFailedException(_localizer["ClinicalDataSet_Apply"]);
@ -87,7 +93,12 @@ namespace IRaCIS.Application.Services
[HttpPost]
public async Task<IResponseOutput> ApplyTrialClinical(ApplyTrialClinicalInDto inDto)
{
if (_trialClinicalQuestionRepository.Where(x => x.TrialClinicalId == inDto.TrialClinicalId && x.IsCheckDate).Count() != 1)
var isNeedVerify = await _clinicalDataTrialSetRepository.AnyAsync(x => x.Id == inDto.TrialClinicalId && (x.ClinicalDataLevel == ClinicalLevel.ImageRead|| x.ClinicalDataLevel==ClinicalLevel.OncologyRead)
&& x.ClinicalUploadType == ClinicalUploadType.Structuring && x.UploadRole == UploadRole.CRC
);
if (_trialClinicalQuestionRepository.Where(x => isNeedVerify&& x.TrialClinicalId == inDto.TrialClinicalId && x.IsCheckDate).Count() != 1)
{
throw new BusinessValidationFailedException(_localizer["ClinicalDataSet_Apply"]);

View File

@ -1239,6 +1239,11 @@ namespace IRaCIS.Core.Domain.Share
[Display(Name = "PDF")]
PDF = 1,
/// <summary>
/// 结构化录入
/// </summary>
Structuring = 2,
}
/// <summary>