Test.EIImageViewer
{872297557@qq.com} 2023-01-13 14:01:23 +08:00
parent 68788c5294
commit 5dc560eff1
1 changed files with 21 additions and 15 deletions

View File

@ -172,7 +172,7 @@ namespace IRaCIS.Application.Services
List<GetCRCClinicalDataOutDto> cRCClinicalDataList = await _readingClinicalDataRepository.Where(x => x.ReadingId == inDto.SubjectVisitId)
.WhereIf(inDto.IsBaseline,x=>x.ClinicalDataTrialSet.ClinicalDataLevel==ClinicalLevel.Subject)
.WhereIf(inDto.IsBaseline, x => x.ClinicalDataTrialSet.ClinicalDataLevel == ClinicalLevel.Subject)
.WhereIf(!inDto.IsBaseline, x => x.ClinicalDataTrialSet.ClinicalDataLevel == ClinicalLevel.SubjectVisit)
.Where(x => x.ClinicalDataTrialSet.TrialId == inDto.TrialId && x.ClinicalDataTrialSet.UploadRole == UploadRole.CRC)
.Select(x => new GetCRCClinicalDataOutDto()
@ -292,8 +292,8 @@ namespace IRaCIS.Application.Services
// 获取确认的项目标准 废弃 签名的时候 传递标准Id
//var confirmedCtritrialList = _repository.Where<ReadingQuestionCriterionTrial>(t => t.TrialId == trialId && t.ReadingInfoSignTime != null).Select(t => new { t.Id, t.CriterionType }).ToList();
var needSignCount = 0;
var haveSignedCount = _readingClinicalDataRepository.Where(t => t.TrialId==trialId && t.IsSign && t.ReadingClinicalDataState == ReadingClinicalDataStatus.HaveSigned && t.ReadingId == readingId && t.ClinicalDataTrialSet.UploadRole == UploadRole.PM).Count();
var needSignCount = 0;
var haveSignedCount = _readingClinicalDataRepository.Where(t => t.TrialId == trialId && t.IsSign && t.ReadingClinicalDataState == ReadingClinicalDataStatus.HaveSigned && t.ReadingId == readingId && t.ClinicalDataTrialSet.UploadRole == UploadRole.PM).Count();
Expression<Func<VisitTask, bool>> visitTaskLambda = x => x.TrialId == trialId && x.SubjectId == subjectId && x.TrialReadingCriterionId == trialReadingCritrialId;
@ -305,14 +305,14 @@ namespace IRaCIS.Application.Services
if (isBaseLine)
{
//CRC 的自动签名 不用管 只用处理PM 的就好
needSignCount = trialClinicalDataSetList.Where(t => t.CriterionEnumList.Any(c => c == (int)criterionType) && (t.ClinicalDataLevel == ClinicalLevel.Subject || t.ClinicalDataLevel == ClinicalLevel.SubjectVisit) && t.UploadRole == UploadRole.PM).Count();
needSignCount = trialClinicalDataSetList.Where(t => t.CriterionEnumList.Any(c => c == (int)criterionType) && (t.ClinicalDataLevel == ClinicalLevel.Subject || t.ClinicalDataLevel == ClinicalLevel.SubjectVisit) && t.UploadRole == UploadRole.PM).Count();
}
else
{
needSignCount = trialClinicalDataSetList.Where(t => t.CriterionEnumList.Any(c => c == (int)criterionType) && t.ClinicalDataLevel == ClinicalLevel.SubjectVisit && t.UploadRole == UploadRole.PM).Count();
needSignCount = trialClinicalDataSetList.Where(t => t.CriterionEnumList.Any(c => c == (int)criterionType) && t.ClinicalDataLevel == ClinicalLevel.SubjectVisit && t.UploadRole == UploadRole.PM).Count();
}
if (needSignCount == haveSignedCount && needSignCount!=0 )
if (needSignCount == haveSignedCount && needSignCount != 0)
{
//将该标准 该subject 该访视 任务临床数据状态变更
@ -333,12 +333,12 @@ namespace IRaCIS.Application.Services
//影像学
if (readingSetType == ReadingSetType.ImageReading)
{
needSignCount = trialClinicalDataSetList.Where(t => t.CriterionEnumList.Any(c => c == (int)criterionType) && t.ClinicalDataLevel == ClinicalLevel.ImageRead).Count();
needSignCount = trialClinicalDataSetList.Where(t => t.CriterionEnumList.Any(c => c == (int)criterionType) && t.ClinicalDataLevel == ClinicalLevel.ImageRead).Count();
}
//肿瘤学
else
{
needSignCount = trialClinicalDataSetList.Where(t => t.CriterionEnumList.Any(c => c == (int)criterionType) && t.ClinicalDataLevel == ClinicalLevel.OncologyRead).Count();
needSignCount = trialClinicalDataSetList.Where(t => t.CriterionEnumList.Any(c => c == (int)criterionType) && t.ClinicalDataLevel == ClinicalLevel.OncologyRead).Count();
}
if (needSignCount == haveSignedCount && needSignCount != 0)
@ -349,7 +349,7 @@ namespace IRaCIS.Application.Services
IsClinicalDataSign = true
});
}
}
@ -409,7 +409,7 @@ namespace IRaCIS.Application.Services
}
ReadModule readModule = null;
if (inDto.IsVisit ==false)
if (inDto.IsVisit == false)
{
readModule = await _readModuleRepository.Where(x => x.Id == inDto.ReadingId).FirstOrDefaultAsync();
}
@ -428,7 +428,7 @@ namespace IRaCIS.Application.Services
.WhereIf(inDto.UploadRole != null, x => x.UploadRole == inDto.UploadRole)
.Where(x => !usedIdsQuery.Contains(x.Id))
.WhereIf(inDto.IsVisit && inDto.IsBaseLine, x => x.ClinicalDataLevel == ClinicalLevel.Subject || x.ClinicalDataLevel == ClinicalLevel.SubjectVisit)
.WhereIf(inDto.IsVisit && !inDto.IsBaseLine, x => x.ClinicalDataLevel == ClinicalLevel.SubjectVisit)
@ -443,7 +443,7 @@ namespace IRaCIS.Application.Services
FileName = x.FileName,
Path = x.Path,
Id = x.Id,
CriterionEnumList=x.CriterionEnumList,
CriterionEnumList = x.CriterionEnumList,
}).ToListAsync();
clinicalList = clinicalList.WhereIf(criterion != null, x => x.CriterionEnumList.Contains((int)criterion.CriterionType)).ToList();
return clinicalList;
@ -517,7 +517,7 @@ namespace IRaCIS.Application.Services
IsBaseLine = inDto.IsBaseLine,
SubjectId = inDto.SubjectId,
IsVisit = inDto.IsVisit,
TrialReadingCriterionId=inDto.TrialReadingCriterionId
TrialReadingCriterionId = inDto.TrialReadingCriterionId
};
var clinicalDataList = await this.GetTrialClinicalDataSelect(getTrialClinicalDataSelectIndto);
@ -633,7 +633,7 @@ namespace IRaCIS.Application.Services
.Where(x => x.ReadingId == inDto.ReadingId || (x.SubjectId == inDto.SubjectId && x.ClinicalDataTrialSet.ClinicalDataLevel == ClinicalLevel.Subject))
//.WhereIf(inDto.UploadRole == UploadRole.CRC, x => x.ClinicalDataTrialSet.UploadRole == UploadRole.CRC)
.Where(x => x.ClinicalDataTrialSet.CriterionEnumListStr.Contains(((int)criterionType).ToString()))
.Where(x => x.ClinicalDataTrialSet.CriterionEnumListStr.Contains($"{((int)criterionType).ToString()}"))
.Select(x => new GetReadingClinicalDataListOutDto()
{
ClinicalDataLevel = x.ClinicalDataTrialSet.ClinicalDataLevel,
@ -694,7 +694,13 @@ namespace IRaCIS.Application.Services
[HttpDelete("{id:guid}")]
public async Task<IResponseOutput> DeleteReadingClinicalDataPDF(Guid id)
{
await _readingClinicalDataPDFRepository.DeleteFromQueryAsync(x => x.Id == id, true);
var pdf = await _readingClinicalDataPDFRepository.FirstOrDefaultAsync(t => t.Id == id);
await _readingClinicalDataPDFRepository.DeleteAsync(pdf, true);
var fileCount = await _readingClinicalDataPDFRepository.Where(t => t.ReadingClinicalDataId == pdf.ReadingClinicalDataId).CountAsync();
await _readingClinicalDataRepository.UpdatePartialFromQueryAsync(pdf.ReadingClinicalDataId, c => new ReadingClinicalData() { FileCount = fileCount }, true);
return ResponseOutput.Result(true);
}