Test.EIImageViewer
he 2023-01-13 14:17:14 +08:00
commit 9cb7896b5e
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) 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) .WhereIf(!inDto.IsBaseline, x => x.ClinicalDataTrialSet.ClinicalDataLevel == ClinicalLevel.SubjectVisit)
.Where(x => x.ClinicalDataTrialSet.TrialId == inDto.TrialId && x.ClinicalDataTrialSet.UploadRole == UploadRole.CRC) .Where(x => x.ClinicalDataTrialSet.TrialId == inDto.TrialId && x.ClinicalDataTrialSet.UploadRole == UploadRole.CRC)
.Select(x => new GetCRCClinicalDataOutDto() .Select(x => new GetCRCClinicalDataOutDto()
@ -292,8 +292,8 @@ namespace IRaCIS.Application.Services
// 获取确认的项目标准 废弃 签名的时候 传递标准Id // 获取确认的项目标准 废弃 签名的时候 传递标准Id
//var confirmedCtritrialList = _repository.Where<ReadingQuestionCriterionTrial>(t => t.TrialId == trialId && t.ReadingInfoSignTime != null).Select(t => new { t.Id, t.CriterionType }).ToList(); //var confirmedCtritrialList = _repository.Where<ReadingQuestionCriterionTrial>(t => t.TrialId == trialId && t.ReadingInfoSignTime != null).Select(t => new { t.Id, t.CriterionType }).ToList();
var needSignCount = 0; 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 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; 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) if (isBaseLine)
{ {
//CRC 的自动签名 不用管 只用处理PM 的就好 //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 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 该访视 任务临床数据状态变更 //将该标准 该subject 该访视 任务临床数据状态变更
@ -333,12 +333,12 @@ namespace IRaCIS.Application.Services
//影像学 //影像学
if (readingSetType == ReadingSetType.ImageReading) 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 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) if (needSignCount == haveSignedCount && needSignCount != 0)
@ -349,7 +349,7 @@ namespace IRaCIS.Application.Services
IsClinicalDataSign = true IsClinicalDataSign = true
}); });
} }
} }
@ -409,7 +409,7 @@ namespace IRaCIS.Application.Services
} }
ReadModule readModule = null; ReadModule readModule = null;
if (inDto.IsVisit ==false) if (inDto.IsVisit == false)
{ {
readModule = await _readModuleRepository.Where(x => x.Id == inDto.ReadingId).FirstOrDefaultAsync(); 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) .WhereIf(inDto.UploadRole != null, x => x.UploadRole == inDto.UploadRole)
.Where(x => !usedIdsQuery.Contains(x.Id)) .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.Subject || x.ClinicalDataLevel == ClinicalLevel.SubjectVisit)
.WhereIf(inDto.IsVisit && !inDto.IsBaseLine, x => 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, FileName = x.FileName,
Path = x.Path, Path = x.Path,
Id = x.Id, Id = x.Id,
CriterionEnumList=x.CriterionEnumList, CriterionEnumList = x.CriterionEnumList,
}).ToListAsync(); }).ToListAsync();
clinicalList = clinicalList.WhereIf(criterion != null, x => x.CriterionEnumList.Contains((int)criterion.CriterionType)).ToList(); clinicalList = clinicalList.WhereIf(criterion != null, x => x.CriterionEnumList.Contains((int)criterion.CriterionType)).ToList();
return clinicalList; return clinicalList;
@ -517,7 +517,7 @@ namespace IRaCIS.Application.Services
IsBaseLine = inDto.IsBaseLine, IsBaseLine = inDto.IsBaseLine,
SubjectId = inDto.SubjectId, SubjectId = inDto.SubjectId,
IsVisit = inDto.IsVisit, IsVisit = inDto.IsVisit,
TrialReadingCriterionId=inDto.TrialReadingCriterionId TrialReadingCriterionId = inDto.TrialReadingCriterionId
}; };
var clinicalDataList = await this.GetTrialClinicalDataSelect(getTrialClinicalDataSelectIndto); 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)) .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) //.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() .Select(x => new GetReadingClinicalDataListOutDto()
{ {
ClinicalDataLevel = x.ClinicalDataTrialSet.ClinicalDataLevel, ClinicalDataLevel = x.ClinicalDataTrialSet.ClinicalDataLevel,
@ -694,7 +694,13 @@ namespace IRaCIS.Application.Services
[HttpDelete("{id:guid}")] [HttpDelete("{id:guid}")]
public async Task<IResponseOutput> DeleteReadingClinicalDataPDF(Guid id) 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); return ResponseOutput.Result(true);
} }