整理仓储
continuous-integration/drone/push Build is passing

This commit is contained in:
2024-08-23 13:51:58 +08:00
parent e81e270d69
commit 7867a82e6e
37 changed files with 403 additions and 368 deletions
+23 -11
View File
@@ -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 以获取下一页的数据