@@ -38,9 +38,14 @@ namespace IRaCIS.Application.Services
|
||||
IRepository<Trial> _trialRepository,
|
||||
IOptionsMonitor<SystemEmailSendConfig> _systemEmailConfig,
|
||||
IOptionsMonitor<ServiceVerifyConfigOption> _basicConfig,
|
||||
IRepository<SystemDocument> _systemDocumentRepository,
|
||||
IRepository<TrialClinicalDataSetCriterion> _trialClinicalDataSetCriterionRepository,
|
||||
IRepository<DicomInstance> _dicomInstanceRepository,
|
||||
IRepository<SystemDocConfirmedUser> _systemDocConfirmedUserRepository,
|
||||
IRepository<DicomStudy> _dicomStudyRepository,
|
||||
IRepository<ReadingQuestionCriterionTrial> _readingQuestionCriterionTrialRepository,
|
||||
IRepository<VisitTask> _visitTaskRepository,
|
||||
IRepository<DicomSeries> _dicomSeriesRepository,
|
||||
IRepository<User> _userRepository,
|
||||
IDistributedLockProvider _distributedLockProvider,
|
||||
ILogger<TestService> _logger) : BaseService
|
||||
@@ -50,21 +55,28 @@ namespace IRaCIS.Application.Services
|
||||
/// 清理一致性分析任务
|
||||
/// </summary>
|
||||
/// <param name="trialReadingCriterionId"></param>
|
||||
/// <param name="_taskConsistentRuleRepository"></param>
|
||||
/// <param name="_readingConsistentClinicalDataPDFRepository"></param>
|
||||
/// <param name="_readingConsistentClinicalDataRepository"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<IResponseOutput> DeleteConsistentDate(Guid trialReadingCriterionId)
|
||||
public async Task<IResponseOutput> DeleteConsistentDate(Guid trialReadingCriterionId,
|
||||
[FromServices] IRepository<TaskConsistentRule> _taskConsistentRuleRepository,
|
||||
[FromServices] IRepository<ReadingConsistentClinicalDataPDF> _readingConsistentClinicalDataPDFRepository,
|
||||
[FromServices] IRepository<ReadingConsistentClinicalData> _readingConsistentClinicalDataRepository
|
||||
)
|
||||
{
|
||||
|
||||
|
||||
var consistentSubjectIdList = _visitTaskRepository.Where(t => t.TrialReadingCriterionId == trialReadingCriterionId && t.IsAnalysisCreate == true).Select(t => t.SubjectId).ToList();
|
||||
|
||||
await _repository.BatchDeleteAsync<TaskConsistentRule>(t => t.TrialReadingCriterionId == trialReadingCriterionId);
|
||||
await _taskConsistentRuleRepository.BatchDeleteNoTrackingAsync(t => t.TrialReadingCriterionId == trialReadingCriterionId);
|
||||
|
||||
await _repository.BatchDeleteAsync<VisitTask>(t => t.TrialReadingCriterionId == trialReadingCriterionId && t.IsAnalysisCreate == true);
|
||||
await _visitTaskRepository.BatchDeleteNoTrackingAsync(t => t.TrialReadingCriterionId == trialReadingCriterionId && t.IsAnalysisCreate == true);
|
||||
|
||||
|
||||
await _repository.BatchDeleteAsync<ReadingConsistentClinicalDataPDF>(t => consistentSubjectIdList.Contains(t.ReadingConsistentClinicalData.SubjectId));
|
||||
await _readingConsistentClinicalDataPDFRepository.BatchDeleteNoTrackingAsync(t => consistentSubjectIdList.Contains(t.ReadingConsistentClinicalData.SubjectId));
|
||||
|
||||
await _repository.BatchDeleteAsync<ReadingConsistentClinicalData>(t => consistentSubjectIdList.Contains(t.SubjectId));
|
||||
await _readingConsistentClinicalDataRepository.BatchDeleteNoTrackingAsync(t => consistentSubjectIdList.Contains(t.SubjectId));
|
||||
|
||||
|
||||
await _repository.SaveChangesAsync();
|
||||
@@ -74,9 +86,9 @@ namespace IRaCIS.Application.Services
|
||||
|
||||
public async Task<IResponseOutput> TestEFcore8()
|
||||
{
|
||||
var systemDocQuery = from sysDoc in _repository.GetQueryable<SystemDocument>()
|
||||
var systemDocQuery = from sysDoc in _systemDocumentRepository.Where()
|
||||
|
||||
join confirm in _repository.GetQueryable<SystemDocConfirmedUser>().Where(t => t.ConfirmTime != null) on sysDoc.Id equals confirm.SystemDocumentId
|
||||
join confirm in _systemDocConfirmedUserRepository.Where().Where(t => t.ConfirmTime != null) on sysDoc.Id equals confirm.SystemDocumentId
|
||||
select new UnionDocumentWithConfirmInfoView()
|
||||
{
|
||||
IsSystemDoc = true,
|
||||
@@ -416,7 +428,7 @@ namespace IRaCIS.Application.Services
|
||||
|
||||
var needAddBodyPartList = searchList.Select(t => new TrialBodyPart() { Code = t.Code, Name = t.Value, NameCN = t.ValueCN });
|
||||
|
||||
var trialIds = _trialRepository.Where(t => !t.TrialBodyPartList.Any()).Select(t => t.Id).ToList();
|
||||
var trialIds = _trialRepository.Where(t => !t.TrialBodyPartList.Any()).Select(t => t.Id).ToList();
|
||||
|
||||
foreach (var trialId in trialIds)
|
||||
{
|
||||
@@ -461,7 +473,7 @@ namespace IRaCIS.Application.Services
|
||||
|
||||
if (find != null)
|
||||
{
|
||||
await _repository.AddAsync(new TrialClinicalDataSetCriterion() { TrialClinicalDataSetId = needAddTrial.Id, TrialReadingCriterionId = find.Id });
|
||||
await _trialClinicalDataSetCriterionRepository.AddAsync(new TrialClinicalDataSetCriterion() { TrialClinicalDataSetId = needAddTrial.Id, TrialReadingCriterionId = find.Id });
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -526,9 +538,9 @@ namespace IRaCIS.Application.Services
|
||||
|
||||
foreach (var jpg in jpgInfoList)
|
||||
{
|
||||
var seriesId = _repository.Where<DicomInstance>(t => t.Id == jpg.InstanceId).Select(t => t.SeriesId).FirstOrDefault();
|
||||
var seriesId = _dicomInstanceRepository.Where(t => t.Id == jpg.InstanceId).Select(t => t.SeriesId).FirstOrDefault();
|
||||
|
||||
await _repository.BatchUpdateAsync<DicomSeries>(t => t.Id == seriesId, t => new DicomSeries() { ImageResizePath = "/" + jpg.Key });
|
||||
await _dicomSeriesRepository.BatchUpdateNoTrackingAsync(t => t.Id == seriesId, t => new DicomSeries() { ImageResizePath = "/" + jpg.Key });
|
||||
}
|
||||
|
||||
// 设置 NextMarker 以获取下一页的数据
|
||||
|
||||
Reference in New Issue
Block a user