S-002 临床数据修改
parent
2930c2b640
commit
8358d67f3e
|
@ -405,27 +405,52 @@ namespace IRaCIS.Core.Application.Service
|
||||||
return ResponseOutput.Ok(true);
|
return ResponseOutput.Ok(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取CRC确认列表
|
/// 删除表单数据
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="inDto"></param>
|
/// <param name="inDto"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
|
/// <exception cref="BusinessValidationFailedException"></exception>
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<List<GetCRCConfirmListOutDto>> GetCRCConfirmList(GetCRCConfirmListInDto inDto)
|
public async Task<IResponseOutput> DeleteClinicalForm(DeleteClinicalFormInDto inDto)
|
||||||
{
|
{
|
||||||
List<GetCRCConfirmListOutDto> result = await _readModuleRepository.Where(x => x.TrialId == inDto.TrialId)
|
|
||||||
.WhereIf(inDto.ReadModuleId!=null,x=>x.Id==inDto.ReadModuleId)
|
if (await _readModuleCriterionFromRepository.AnyAsync(x => x.ClinicalFormId == inDto.ClinicalFormId))
|
||||||
.Select(x => new GetCRCConfirmListOutDto()
|
{
|
||||||
{
|
throw new BusinessValidationFailedException("当前表单已确认,无法删除!");
|
||||||
SubjectId= x.SubjectId,
|
}
|
||||||
IsCRCConfirm = x.IsCRCConfirm,
|
|
||||||
LatestScanDate = x.SubjectVisit.LatestScanDate,
|
await _clinicalFormRepository.BatchDeleteNoTrackingAsync(x => x.Id == inDto.ClinicalFormId);
|
||||||
ReadingSetType = x.ReadingSetType,
|
await _clinicalQuestionAnswerRepository.BatchDeleteNoTrackingAsync(x => x.ClinicalFormId == inDto.ClinicalFormId);
|
||||||
IsPMConfirm = x.IsPMConfirm,
|
await _clinicalAnswerRowInfoRepository.BatchDeleteNoTrackingAsync(x => x.ClinicalFormId == inDto.ClinicalFormId);
|
||||||
SubjectCode=x.Subject.Code,
|
await _clinicalTableAnswerRepository.BatchDeleteNoTrackingAsync(x => x.ClinicalFormId == inDto.ClinicalFormId);
|
||||||
ReadModuleId = x.Id,
|
return ResponseOutput.Ok(true);
|
||||||
}).OrderBy(x => x.LatestScanDate).ToListAsync();
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取CRC确认列表
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="inDto"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<PageOutput<GetCRCConfirmListOutDto>> GetCRCConfirmList(GetCRCConfirmListInDto inDto)
|
||||||
|
{
|
||||||
|
var query = _readModuleRepository.Where(x => x.TrialId == inDto.TrialId)
|
||||||
|
.WhereIf(inDto.ReadModuleId != null, x => x.Id == inDto.ReadModuleId)
|
||||||
|
.Select(x => new GetCRCConfirmListOutDto()
|
||||||
|
{
|
||||||
|
SubjectId = x.SubjectId,
|
||||||
|
IsCRCConfirm = x.IsCRCConfirm,
|
||||||
|
LatestScanDate = x.SubjectVisit.LatestScanDate,
|
||||||
|
ReadingSetType = x.ReadingSetType,
|
||||||
|
IsPMConfirm = x.IsPMConfirm,
|
||||||
|
SubjectCode = x.Subject.Code,
|
||||||
|
ReadModuleId = x.Id,
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
var result = await query.ToPagedListAsync(inDto.PageIndex, inDto.PageSize, string.IsNullOrWhiteSpace(inDto.SortField) ? nameof(GetCRCConfirmListOutDto.LatestScanDate) : inDto.SortField, inDto.Asc);
|
||||||
|
|
||||||
var formList = await _clinicalFormRepository.Where(x => x.TrialId == inDto.TrialId)
|
var formList = await _clinicalFormRepository.Where(x => x.TrialId == inDto.TrialId)
|
||||||
.Where(x => x.ClinicalDataTrialSet.UploadRole == UploadRole.CRC)
|
.Where(x => x.ClinicalDataTrialSet.UploadRole == UploadRole.CRC)
|
||||||
.Where(x => x.ClinicalDataTrialSet.ClinicalDataLevel == ClinicalLevel.ImageRead || x.ClinicalDataTrialSet.ClinicalDataLevel == ClinicalLevel.OncologyRead)
|
.Where(x => x.ClinicalDataTrialSet.ClinicalDataLevel == ClinicalLevel.ImageRead || x.ClinicalDataTrialSet.ClinicalDataLevel == ClinicalLevel.OncologyRead)
|
||||||
|
@ -435,11 +460,12 @@ namespace IRaCIS.Core.Application.Service
|
||||||
CheckDate = x.CheckDate,
|
CheckDate = x.CheckDate,
|
||||||
ClinicalDataLevel = x.ClinicalDataTrialSet.ClinicalDataLevel,
|
ClinicalDataLevel = x.ClinicalDataTrialSet.ClinicalDataLevel,
|
||||||
ClinicalFormId = x.Id,
|
ClinicalFormId = x.Id,
|
||||||
ClinicalDataSetName=x.ClinicalDataTrialSet.ClinicalDataSetName,
|
ClinicalDataTrialSetId= x.ClinicalDataTrialSet.Id,
|
||||||
|
ClinicalDataSetName =x.ClinicalDataTrialSet.ClinicalDataSetName,
|
||||||
ClinicalDataSetEnName=x.ClinicalDataTrialSet.ClinicalDataSetEnName,
|
ClinicalDataSetEnName=x.ClinicalDataTrialSet.ClinicalDataSetEnName,
|
||||||
}).ToListAsync();
|
}).ToListAsync();
|
||||||
var confirmList = await _readModuleCriterionFromRepository.Where(x => x.TrialId == inDto.TrialId).Include(x=>x.ClinicalForm).Include(x=>x.ClinicalForm.ClinicalDataTrialSet).ToListAsync();
|
var confirmList = await _readModuleCriterionFromRepository.Where(x => x.TrialId == inDto.TrialId).Include(x=>x.ClinicalForm).Include(x=>x.ClinicalForm.ClinicalDataTrialSet).ToListAsync();
|
||||||
result.ForEach(x =>
|
result.CurrentPageData.ForEach(x =>
|
||||||
{
|
{
|
||||||
if (x.IsCRCConfirm)
|
if (x.IsCRCConfirm)
|
||||||
{
|
{
|
||||||
|
@ -448,6 +474,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
ClinicalDataSetName= y.ClinicalForm.ClinicalDataTrialSet.ClinicalDataSetName,
|
ClinicalDataSetName= y.ClinicalForm.ClinicalDataTrialSet.ClinicalDataSetName,
|
||||||
ClinicalDataSetEnName= y.ClinicalForm.ClinicalDataTrialSet.ClinicalDataSetEnName,
|
ClinicalDataSetEnName= y.ClinicalForm.ClinicalDataTrialSet.ClinicalDataSetEnName,
|
||||||
ClinicalFormId=y.ClinicalFormId,
|
ClinicalFormId=y.ClinicalFormId,
|
||||||
|
ClinicalDataTrialSetId=y.ClinicalForm.ClinicalDataTrialSet.Id,
|
||||||
}).ToList();
|
}).ToList();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -461,6 +488,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
ClinicalDataSetName = y.ClinicalDataSetName,
|
ClinicalDataSetName = y.ClinicalDataSetName,
|
||||||
ClinicalDataSetEnName = y.ClinicalDataSetEnName,
|
ClinicalDataSetEnName = y.ClinicalDataSetEnName,
|
||||||
ClinicalFormId = y.ClinicalFormId,
|
ClinicalFormId = y.ClinicalFormId,
|
||||||
|
ClinicalDataTrialSetId = y.ClinicalDataTrialSetId,
|
||||||
}).ToList();
|
}).ToList();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -472,6 +500,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
ClinicalDataSetName = y.ClinicalDataSetName,
|
ClinicalDataSetName = y.ClinicalDataSetName,
|
||||||
ClinicalDataSetEnName = y.ClinicalDataSetEnName,
|
ClinicalDataSetEnName = y.ClinicalDataSetEnName,
|
||||||
ClinicalFormId = y.ClinicalFormId,
|
ClinicalFormId = y.ClinicalFormId,
|
||||||
|
ClinicalDataTrialSetId = y.ClinicalDataTrialSetId,
|
||||||
}).ToList();
|
}).ToList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -490,8 +519,11 @@ namespace IRaCIS.Core.Application.Service
|
||||||
var result = (await this.GetCRCConfirmList(new GetCRCConfirmListInDto()
|
var result = (await this.GetCRCConfirmList(new GetCRCConfirmListInDto()
|
||||||
{
|
{
|
||||||
ReadModuleId = inDto.ReadModuleId,
|
ReadModuleId = inDto.ReadModuleId,
|
||||||
TrialId = inDto.TrialId
|
TrialId = inDto.TrialId,
|
||||||
})).SelectMany(x => x.ClinicalFormIdList).ToList();
|
PageIndex=1,
|
||||||
|
PageSize=9999,
|
||||||
|
|
||||||
|
})).CurrentPageData.SelectMany(x => x.ClinicalFormIdList).ToList();
|
||||||
|
|
||||||
result.ForEach(x => {
|
result.ForEach(x => {
|
||||||
|
|
||||||
|
|
|
@ -99,7 +99,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
public string Answer { get; set; } = string.Empty;
|
public string Answer { get; set; } = string.Empty;
|
||||||
}
|
}
|
||||||
|
|
||||||
public class GetCRCConfirmListInDto
|
public class GetCRCConfirmListInDto:PageInput
|
||||||
{
|
{
|
||||||
public Guid TrialId { get; set; }
|
public Guid TrialId { get; set; }
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue