修改一版

Test.EIImageViewer
he 2022-06-14 13:17:49 +08:00
parent 6cffb32af4
commit 56aa39cf4d
1 changed files with 24 additions and 43 deletions

View File

@ -22,7 +22,7 @@ namespace IRaCIS.Application.Services
public class ReadingQuestionService : BaseService
{
public IRepository<SubjectVisit> _subjectVisitRepository;
private readonly IRepository<SubjectVisit> _subjectVisitRepository;
private readonly IRepository<ReadingQuestionCriterionSystem> _readingQuestionCriterionSystemRepository;
private readonly IRepository<ReadingQuestionCriterionTrial> _readingQuestionCriterionTrialRepository;
private readonly IRepository<ReadingQuestionSystem> _readingQuestionSystemRepository;
@ -32,25 +32,25 @@ namespace IRaCIS.Application.Services
private readonly IRepository<Dictionary> _dictionaryRepository;
private readonly IRepository<PreviousPDF> _previousPDFRepository;
public ReadingQuestionService(IRepository<SubjectVisit> subjectVisitRepository,
IRepository<ReadingQuestionCriterionSystem> readingQuestionCriterionSystemRepository,
IRepository<ReadingQuestionCriterionTrial> readingQuestionCriterionTrialRepository,
IRepository<ReadingQuestionSystem> readingQuestionSystemRepository,
IRepository<ReadingQuestionTrial> readingQuestionTrialRepository,
public ReadingQuestionService(
IRepository<SubjectVisit> subjectVisitRepository,
IRepository<ReadingQuestionCriterionSystem> readingQuestionCriterionSystemRepository,
IRepository<ReadingQuestionCriterionTrial> readingQuestionCriterionTrialRepository,
IRepository<ReadingQuestionSystem> readingQuestionSystemRepository,
IRepository<ReadingQuestionTrial> readingQuestionTrialRepository,
IRepository<ClinicalDataTrialSet> ClinicalDataTrialSetRepository,
IRepository<ClinicalDataSystemSet> ClinicalDataSystemSetRepository,
IRepository<Dictionary> dictionaryRepository,
IRepository<ClinicalDataSystemSet> ClinicalDataSystemSetRepository,
IRepository<Dictionary> dictionaryRepository,
IRepository<PreviousPDF> previousPDFRepository
)
{
_subjectVisitRepository = subjectVisitRepository;
this._subjectVisitRepository = subjectVisitRepository;
this._readingQuestionCriterionSystemRepository = readingQuestionCriterionSystemRepository;
this._readingQuestionCriterionTrialRepository = readingQuestionCriterionTrialRepository;
this._readingQuestionSystemRepository = readingQuestionSystemRepository;
this._readingQuestionTrialRepository = readingQuestionTrialRepository;
_clinicalDataTrialSetRepository = ClinicalDataTrialSetRepository;
_clinicalDataSystemSetRepository = ClinicalDataSystemSetRepository;
this._clinicalDataTrialSetRepository = ClinicalDataTrialSetRepository;
this._clinicalDataSystemSetRepository = ClinicalDataSystemSetRepository;
this._dictionaryRepository = dictionaryRepository;
this._previousPDFRepository = previousPDFRepository;
}
@ -107,17 +107,13 @@ namespace IRaCIS.Application.Services
private async Task AddSystemQuestionCriterion()
{
var useSystemQuestionCriterionIds = _readingQuestionCriterionSystemRepository.Select(x => x.CriterionId);
var dictionaryParentId =await _dictionaryRepository.Where(x => x.Code == "ReadingStandard").Select(x => x.Id).FirstOrDefaultAsync();
var criterionList = await _dictionaryRepository.Where(x => x.ParentId == dictionaryParentId && !useSystemQuestionCriterionIds.Contains(x.Id))
.Select(x => new CriterionList()
{
Id = x.Id,
Value = x.Value
}).ToListAsync();
List<ReadingQuestionCriterionSystem> needAddCriterionList = new List<ReadingQuestionCriterionSystem>();
criterionList.ForEach(x =>
{
@ -126,9 +122,7 @@ namespace IRaCIS.Application.Services
CriterionId = x.Id,
CriterionName = x.Value,
IsEnable = false,
});
});
await _readingQuestionCriterionSystemRepository.AddRangeAsync(needAddCriterionList);
@ -181,16 +175,16 @@ namespace IRaCIS.Application.Services
/// <summary>
/// 删除系统问题
/// </summary>
/// <param name="readingQuestionSystemId"></param>
/// <param name="id"></param>
/// <returns></returns>
[HttpDelete("{readingQuestionSystemId:guid}")]
public async Task<IResponseOutput> DeleteReadingQuestionSystem(Guid readingQuestionSystemId)
public async Task<IResponseOutput> DeleteReadingQuestionSystem(Guid id)
{
if (await _readingQuestionSystemRepository.AnyAsync(x => x.ParentId == readingQuestionSystemId))
if (await _readingQuestionSystemRepository.AnyAsync(x => x.ParentId == id))
{
return ResponseOutput.NotOk("此问题存在子问题,请先删除子问题");
}
await _readingQuestionSystemRepository.DeleteFromQueryAsync(t => t.Id == readingQuestionSystemId);
await _readingQuestionSystemRepository.DeleteFromQueryAsync(t => t.Id == id);
var success = await _readingQuestionSystemRepository.SaveChangesAsync();
return ResponseOutput.Result(success);
}
@ -205,10 +199,8 @@ namespace IRaCIS.Application.Services
var trialUsrSystemIds = _readingQuestionCriterionTrialRepository.Where(x => x.TrialId == trialId && x.ReadingQuestionCriterionSystemId != null)
.Select(x => x.ReadingQuestionCriterionSystemId);
var needAddSystemDataList = await _readingQuestionCriterionSystemRepository.Where(x => !trialUsrSystemIds.Contains(x.Id)&&x.IsEnable).Include(x=>x.ReadingQuestionSystemList).ToListAsync();
List<ReadingQuestionCriterionTrial> needAddCriterionList = new List<ReadingQuestionCriterionTrial>();
List<ReadingQuestionTrial> needAddQuestionList = new List<ReadingQuestionTrial>();
needAddSystemDataList.ForEach(x =>
{
var criterion = new ReadingQuestionCriterionTrial()
@ -219,25 +211,14 @@ namespace IRaCIS.Application.Services
TrialId = trialId,
Id = NewId.NextGuid(),
};
List<ReadingQuestionSystem> systemQuestionList = x.ReadingQuestionSystemList.Clone();
List<ReadingQuestionTrial> readingQuestionTrialList = new List<ReadingQuestionTrial>();
SetChildParentQuestion(criterion.Id, trialId, systemQuestionList, readingQuestionTrialList);
needAddCriterionList.Add(criterion);
needAddQuestionList.AddRange(readingQuestionTrialList);
});
await _readingQuestionCriterionTrialRepository.AddRangeAsync(needAddCriterionList);
await _readingQuestionTrialRepository.AddRangeAsync(needAddQuestionList);
await _readingQuestionTrialRepository.SaveChangesAsync();
}
@ -346,12 +327,12 @@ namespace IRaCIS.Application.Services
/// <summary>
/// 删除项目问题标准(项目)
/// </summary>
/// <param name="readingQuestionCriterionTrialId"></param>
/// <param name="id"></param>
/// <returns></returns>
[HttpDelete("{readingQuestionCriterionTrialId:guid}")]
public async Task<IResponseOutput> DeleteReadingQuestionCriterionTrial(Guid readingQuestionCriterionTrialId)
[HttpDelete("{id:guid}")]
public async Task<IResponseOutput> DeleteReadingQuestionCriterionTrial(Guid id)
{
await _readingQuestionCriterionTrialRepository.DeleteFromQueryAsync(t => t.Id == readingQuestionCriterionTrialId);
await _readingQuestionCriterionTrialRepository.DeleteFromQueryAsync(t => t.Id == id);
var success = await _readingQuestionCriterionTrialRepository.SaveChangesAsync();
return ResponseOutput.Result(success);
}
@ -389,16 +370,16 @@ namespace IRaCIS.Application.Services
/// <summary>
/// 删除项目问题(项目)
/// </summary>
/// <param name="readingQuestionTrialId"></param>
/// <param name="id"></param>
/// <returns></returns>
[HttpDelete("{readingQuestionTrialId:guid}")]
public async Task<IResponseOutput> DeleteReadingQuestionTrial(Guid readingQuestionTrialId)
public async Task<IResponseOutput> DeleteReadingQuestionTrial(Guid id)
{
if (await _readingQuestionTrialRepository.AnyAsync(x => x.ParentId == readingQuestionTrialId))
if (await _readingQuestionTrialRepository.AnyAsync(x => x.ParentId == id))
{
return ResponseOutput.NotOk("此问题存在子问题,请先删除子问题");
}
await _readingQuestionTrialRepository.DeleteFromQueryAsync(t => t.Id == readingQuestionTrialId);
await _readingQuestionTrialRepository.DeleteFromQueryAsync(t => t.Id == id);
var success = await _readingQuestionTrialRepository.SaveChangesAsync();
return ResponseOutput.Result(success);
}