修改一版

Uat_Study
he 2022-06-08 11:56:47 +08:00
parent f47978bca2
commit 6f97e6051b
5 changed files with 57 additions and 34 deletions

View File

@ -965,6 +965,11 @@
创建时间
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingPeriodSetView.EffectOfTime">
<summary>
生效时间
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingPeriodSetView.CreateUserId">
<summary>
创建人

View File

@ -260,6 +260,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// </summary>
public int PlanCount { get; set; }
public bool IsGlobal { get; set; }
}
public class SetReadingPeriodSetEffect

View File

@ -233,7 +233,7 @@ namespace IRaCIS.Application.Services
SubjectCode = x.SubjectVisit.Subject.Code,
SubjectId = x.SubjectVisit.SubjectId,
SubjectVisitName = x.SubjectVisit.VisitName,
EffectOfTime=x.ReadingPeriodSet.EffectOfTime,
EffectOfTime=x.ReadingPeriodSet.EffectOfTime,
});
return await plans.ToPagedListAsync(inDto.PageIndex, inDto.PageSize, inDto.SortField == null ? "SubjectId" : inDto.SortField,

View File

@ -19,18 +19,21 @@ namespace IRaCIS.Core.Application.Services
{
private readonly IRepository<SubjectVisit> _subjectVisitRepository;
private readonly IRepository<ReadModule> _readModuleRepository;
private readonly IRepository<Trial> _trialRepository;
private readonly IRepository<ReadingPeriodSet> _readingPeriodSetRepository;
private readonly IRepository<ReadingPeriodPlan> _readingPeriodPlanRepository;
private readonly IRepository<Subject> _subjectRepository;
public SubjectVisitService(IRepository<SubjectVisit> subjectVisitRepository,
IRepository<ReadModule> readModuleRepository,
IRepository<Trial> trialRepository,
IRepository<ReadingPeriodSet> readingPeriodSetRepository,
IRepository<ReadingPeriodPlan> readingPeriodPlanRepository,
IRepository<Subject> subjectRepository)
{
_subjectVisitRepository = subjectVisitRepository;
this._readModuleRepository = readModuleRepository;
this._trialRepository = trialRepository;
this._readingPeriodSetRepository = readingPeriodSetRepository;
this._readingPeriodPlanRepository = readingPeriodPlanRepository;
_subjectRepository = subjectRepository;
@ -107,48 +110,56 @@ namespace IRaCIS.Core.Application.Services
}
}
// 末次访视添加全局阅片
if (dbBeforeEntity.IsFinalVisit == false && svCommand.IsFinalVisit == true)
// 是否全局阅片
var isGlobalReading = await _trialRepository.Where(x => x.Id == dbBeforeEntity.TrialId).Select(x => x.IsGlobalReading).FirstOrDefaultAsync();
if (isGlobalReading)
{
ReadingPeriodSet? readingPeriodSet =await _readingPeriodSetRepository.FirstOrDefaultNoTrackingAsync(x => x.TrialId == dbBeforeEntity.TrialId && x.ReadingPeriodName == "Global");
if (readingPeriodSet == null)
// 末次访视添加全局阅片
if (dbBeforeEntity.IsFinalVisit == false && svCommand.IsFinalVisit == true)
{
readingPeriodSet = new ReadingPeriodSet()
ReadingPeriodSet? readingPeriodSet = await _readingPeriodSetRepository.FirstOrDefaultNoTrackingAsync(x => x.TrialId == dbBeforeEntity.TrialId && x.ReadingPeriodName == "Global");
if (readingPeriodSet == null)
{
Id = NewId.NextGuid(),
ReadingScope = ReadingScopeEnum.All,
ReadingSetType = ReadingSetType.ImageReading,
IsTakeEffect = ReadingPeriodStatus.TakeEffect,
ReadingPeriodName = "Global",
TrialId = dbBeforeEntity.TrialId,
};
readingPeriodSet = new ReadingPeriodSet()
{
Id = NewId.NextGuid(),
ReadingScope = ReadingScopeEnum.All,
ReadingSetType = ReadingSetType.ImageReading,
IsTakeEffect = ReadingPeriodStatus.TakeEffect,
ReadingPeriodName = "Global",
TrialId = dbBeforeEntity.TrialId,
EffectOfTime = DateTime.Now,
IsGlobal = true,
};
await _readingPeriodSetRepository.AddAsync(readingPeriodSet);
await _readingPeriodSetRepository.AddAsync(readingPeriodSet);
}
}
await _readingPeriodPlanRepository.AddAsync(new ReadingPeriodPlan()
{
SubjectVisitId = dbBeforeEntity.Id,
ReadingPeriodSetId = readingPeriodSet.Id,
});
// 当前访视没有阅片期才添加
if (!await _readModuleRepository.AnyAsync(x => x.SubjectVisitId == svCommand.Id && x.ReadingSetType == ReadingSetType.ImageReading))
{
await _readModuleRepository.AddAsync(new ReadModule()
await _readingPeriodPlanRepository.AddAsync(new ReadingPeriodPlan()
{
IsUrgent = dbBeforeEntity.IsUrgent,
SubjectVisitId = svCommand.Id.Value,
Status = ReadModuleEnum.TaskAllocation,
SubjectId = dbBeforeEntity.SubjectId,
ModuleName= "Global",// 全局阅片
ReadingSetType= ReadingSetType.ImageReading,
ModuleType=ModuleTypeEnum.Global,
SubjectVisitId = dbBeforeEntity.Id,
ReadingPeriodSetId = readingPeriodSet.Id,
});
// 当前访视没有阅片期才添加
if (!await _readModuleRepository.AnyAsync(x => x.SubjectVisitId == svCommand.Id && x.ReadingSetType == ReadingSetType.ImageReading))
{
await _readModuleRepository.AddAsync(new ReadModule()
{
ReadingPeriodSetId = readingPeriodSet.Id,
IsUrgent = dbBeforeEntity.IsUrgent,
SubjectVisitId = svCommand.Id.Value,
Status = ReadModuleEnum.TaskAllocation,
SubjectId = dbBeforeEntity.SubjectId,
ModuleName = "Global",// 全局阅片
ReadingSetType = ReadingSetType.ImageReading,
ModuleType = ModuleTypeEnum.Global,
});
}
}
}
}

View File

@ -72,6 +72,11 @@ namespace IRaCIS.Core.Domain.Models
/// </summary>
public Guid CreateUserId { get; set; }
/// <summary>
/// 是否为全局阅片
/// </summary>
public bool IsGlobal { get; set; }
/// <summary>
/// 阅片配置的类型
/// </summary>