This commit is contained in:
he
2023-02-03 14:13:42 +08:00
parent 39ee653979
commit 0a941cee30
12 changed files with 238 additions and 18 deletions
@@ -369,10 +369,30 @@ namespace IRaCIS.Core.Application.Service
#endregion
//public async Task<IResponseOutput> SynchronizeSystemOrgan()
//{
//}
/// <summary>
/// 同步系统器官
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
[HttpPost]
public async Task<IResponseOutput> SynchronizeSystemOrgan(SynchronizeSystemOrganInDto inDto)
{
var organList= await _organInfoRepository.Where(x => x.SystemCriterionId == inDto.FromCriterionId).ToListAsync();
organList.ForEach(x =>
{
x.SystemCriterionId = inDto.ToCriterionId;
x.Id = NewId.NextGuid();
});
await _organInfoRepository.BatchDeleteNoTrackingAsync(x => x.SystemCriterionId == inDto.ToCriterionId);
await _organInfoRepository.AddRangeAsync(organList);
await _organInfoRepository.SaveChangesAsync();
return ResponseOutput.Ok();
}
/// <summary>
@@ -21,6 +21,7 @@ namespace IRaCIS.Core.Application.Service.RC
private readonly IRepository<ReadingCriterionPage> _readingCriterionPageRepository;
private readonly IRepository<ReadingCriterionDictionary> _readingCriterionDictionaryRepository;
private readonly IRepository<VisitTask> _visitTaskRepository;
private readonly IRepository<SystemCriterionDictionaryCode> _systemCriterionDictionaryCodeRepository;
private readonly IRepository<ReadingTableQuestionAnswer> _readingTableQuestionAnswerRepository;
private readonly IRepository<ReadingTableAnswerRowInfo> _readingTableAnswerRowInfoRepository;
@@ -32,6 +33,7 @@ namespace IRaCIS.Core.Application.Service.RC
IRepository<ReadingQuestionTrial> readingQuestionTrialRepository,
IRepository<ReadingCriterionDictionary> readingCriterionDictionaryRepository,
IRepository<VisitTask> visitTaskRepository,
IRepository<SystemCriterionDictionaryCode> systemCriterionDictionaryCodeRepository,
IRepository<ReadingTableQuestionTrial> readingTableQuestionTrialRepository,
IRepository<ReadingTableQuestionAnswer> readingTableQuestionAnswerRepository,
IRepository<ReadingTableAnswerRowInfo> readingTableAnswerRowInfoRepository,
@@ -45,11 +47,55 @@ namespace IRaCIS.Core.Application.Service.RC
this._readingCriterionPageRepository = readingCriterionPageRepository;
this._readingCriterionDictionaryRepository = readingCriterionDictionaryRepository;
this._visitTaskRepository = visitTaskRepository;
this._systemCriterionDictionaryCodeRepository = systemCriterionDictionaryCodeRepository;
this._readingTableQuestionAnswerRepository = readingTableQuestionAnswerRepository;
this._readingTableAnswerRowInfoRepository = readingTableAnswerRowInfoRepository;
this._readingTaskQuestionAnswer = readingTaskQuestionAnswer;
}
/// <summary>
/// 删除系统标准字典Code
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
[HttpPost]
public async Task<IResponseOutput> DeleteSystemCriterionDictionary(DeleteSystemCriterionDictionaryIndto inDto)
{
var criterionDictionaryCode= await _systemCriterionDictionaryCodeRepository.Where(x => x.Id == inDto.Id).FirstNotNullAsync();
await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.ParentCode == criterionDictionaryCode.Code && x.CriterionId == criterionDictionaryCode.SystemCriterionId);
await _systemCriterionDictionaryCodeRepository.DeleteFromQueryAsync(inDto.Id);
return ResponseOutput.Ok();
}
/// <summary>
/// 添加系统标准字典Code
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
[HttpPost]
public async Task<IResponseOutput> AddSystemCriterionDictionaryCode(AddSystemCriterionDictionaryCodeInDto inDto)
{
if (await _systemCriterionDictionaryCodeRepository.AnyAsync(x => x.SystemCriterionId == inDto.SystemCriterionId && x.Code == inDto.Code))
{
throw new BusinessValidationFailedException("当前标准存在此Code");
}
await _systemCriterionDictionaryCodeRepository.AddAsync(new SystemCriterionDictionaryCode()
{
SystemCriterionId = inDto.SystemCriterionId,
Code = inDto.Code
});
await _systemCriterionDictionaryCodeRepository.SaveChangesAsync();
return ResponseOutput.Ok();
}
/// <summary>
/// 重置项目标准的重置状态
/// </summary>