修改一版
parent
ec179543fe
commit
9dc4d13d6e
|
@ -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
|
||||||
{
|
{
|
||||||
|
|
|
@ -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>
|
||||||
|
|
Loading…
Reference in New Issue