修改一版
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
|
||||
{
|
||||
|
|
|
@ -20,16 +20,19 @@ namespace IRaCIS.Application.Services
|
|||
|
||||
public IRepository<SubjectVisit> _subjectVisitRepository;
|
||||
private readonly IRepository<Subject> _subjectRepository;
|
||||
private readonly IRepository<VisitStage> _visitstageRepository;
|
||||
private readonly IRepository<ReadModule> _readModuleRepository;
|
||||
|
||||
|
||||
public ReadModuleService(IRepository<SubjectVisit> subjectVisitRepository,
|
||||
IRepository<Subject> subjectRepository,
|
||||
IRepository<VisitStage> visitstageRepository,
|
||||
IRepository<ReadModule> readModuleRepository
|
||||
)
|
||||
{
|
||||
_subjectVisitRepository = subjectVisitRepository;
|
||||
this._subjectRepository = subjectRepository;
|
||||
this._visitstageRepository = visitstageRepository;
|
||||
this._readModuleRepository = readModuleRepository;
|
||||
}
|
||||
|
||||
|
@ -138,6 +141,54 @@ namespace IRaCIS.Application.Services
|
|||
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>
|
||||
|
|
Loading…
Reference in New Issue