using IRaCIS.Application.Interfaces; using IRaCIS.Core.Infra.EFCore; using IRaCIS.Core.Domain.Share; using IRaCIS.Core.Application.Filter; using Microsoft.AspNetCore.Mvc; using IRaCIS.Core.Application.Service.WorkLoad.DTO; using Microsoft.AspNetCore.Authorization; using IRaCIS.Core.Application.Auth; using IRaCIS.Core.Application.Service.Reading.Dto; using IRaCIS.Core.Domain.Share.Reading; using IRaCIS.Core.Application.Contracts; namespace IRaCIS.Application.Services { /// /// 临床数据 原表 /// [ApiExplorerSettings(GroupName = "Reading")] public class PreviousPDFService : BaseService { public IRepository _subjectVisitRepository; private readonly IRepository _previousPDFRepository; public PreviousPDFService(IRepository subjectVisitRepository, IRepository PreviousPDFRepository ) { _subjectVisitRepository = subjectVisitRepository; _previousPDFRepository = PreviousPDFRepository; } #region 历史 接口名暂未修改 /// /// 新增或者修改 /// /// /// [HttpPost] public async Task AddOrUpdatePreviousPDFService(PreviousPDFAddOrEdit addOrEditPreviousPDF) { var entity = await _repository.InsertOrUpdateAsync(addOrEditPreviousPDF, true); return ResponseOutput.Ok(entity.Id.ToString()); } /// /// 获取 /// /// /// [HttpPost] public async Task PreviousPDFView(PreviousPDFInDto inDto) { var list= await _previousPDFRepository.AsQueryable().Where(x => x.TrialId == inDto.TrialId) .Where(x => (x.ClinicalLevel == ClinicalLevel.Subject && x.SubjectId == inDto.SubjectId) || x.SubjectVisitId == inDto.VisitOrReadId) .Select(x=>new { x.Path, x.DataType, x.CreateTime, x.ClinicalLevel, x.FileName, x.UploadType, x.Id, }).ToListAsync(); return list; } #endregion /// /// 删除 /// /// /// [HttpDelete("{previousPDFId:guid}")] public async Task DeletePreviousPDF(Guid previousPDFId) { var success = await _previousPDFRepository.DeleteFromQueryAsync(t => t.Id == previousPDFId,true); return ResponseOutput.Result(true); } } }