修改一版

Uat_Study
he 2022-06-01 17:18:19 +08:00
parent ec179543fe
commit 9dc4d13d6e
2 changed files with 79 additions and 0 deletions

View File

@ -17,6 +17,34 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public class ReadModuleAddDto
{
/// <summary>
/// 截止日期
/// </summary>
public DateTime? ExpirationDate { get; set; }
/// <summary>
/// 截止访视
/// </summary>
public Guid? ExpirationVisit { get; set; }
/// <summary>
/// 受试者ID
/// </summary>
public Guid SubjectId { get; set; }
/// <summary>
/// 是否加急
/// </summary>
public bool? IsUrgent { get; set; }
/// <summary>
/// 名称
/// </summary>
public string Name { get; set; }
}
public class ReadModuleAddOrEdit: ReadModule public class ReadModuleAddOrEdit: ReadModule
{ {

View File

@ -20,16 +20,19 @@ namespace IRaCIS.Application.Services
public IRepository<SubjectVisit> _subjectVisitRepository; public IRepository<SubjectVisit> _subjectVisitRepository;
private readonly IRepository<Subject> _subjectRepository; private readonly IRepository<Subject> _subjectRepository;
private readonly IRepository<VisitStage> _visitstageRepository;
private readonly IRepository<ReadModule> _readModuleRepository; private readonly IRepository<ReadModule> _readModuleRepository;
public ReadModuleService(IRepository<SubjectVisit> subjectVisitRepository, public ReadModuleService(IRepository<SubjectVisit> subjectVisitRepository,
IRepository<Subject> subjectRepository, IRepository<Subject> subjectRepository,
IRepository<VisitStage> visitstageRepository,
IRepository<ReadModule> readModuleRepository IRepository<ReadModule> readModuleRepository
) )
{ {
_subjectVisitRepository = subjectVisitRepository; _subjectVisitRepository = subjectVisitRepository;
this._subjectRepository = subjectRepository; this._subjectRepository = subjectRepository;
this._visitstageRepository = visitstageRepository;
this._readModuleRepository = readModuleRepository; this._readModuleRepository = readModuleRepository;
} }
@ -138,6 +141,54 @@ namespace IRaCIS.Application.Services
return GetReadModuleOutDto; return GetReadModuleOutDto;
} }
public async Task<IResponseOutput> AddReadModule(ReadModuleAddDto dto)
{
var visits =await _subjectVisitRepository.Where(x => x.SubjectId == dto.SubjectId && x.InPlan).Select(x => new
{
x.Id,
x.LatestScanDate,
x.VisitNum,
}).ToListAsync();
if (dto.ExpirationDate != null)
{
visits = visits.Where(x => x.LatestScanDate <= dto.ExpirationDate.Value).ToList();
}
if (dto.ExpirationVisit != null)
{
var visitstage =await _visitstageRepository.FirstOrDefaultAsync(x => x.Id == dto.ExpirationVisit);
visits = visits.Where(x => x.VisitNum <= visitstage.VisitNum).ToList();
}
var visit = visits.OrderByDescending(x => x.VisitNum).FirstOrDefault();
if (visit != null)
{
await _readModuleRepository.AddAsync(new ReadModule()
{
SubjectId = dto.SubjectId,
ModuleType = ModuleTypeEnum.Read,
IsUrgent = dto.IsUrgent,
ModuleName = dto.Name,
SubjectVisitId = visit.Id,
Status = ReadModuleEnum.ImageRead,
});
var res = await _readModuleRepository.SaveChangesAsync();
return ResponseOutput.Ok(res);
}
else
{
return ResponseOutput.NotOk("No qualified visit was found ");
}
}
/// <summary> /// <summary>
/// 新增或者修改 /// 新增或者修改
/// </summary> /// </summary>