修改一版
parent
3d15d8ce31
commit
2690536904
|
@ -13,10 +13,12 @@ using IRaCIS.Core.Application.MediatR.CommandAndQueries;
|
||||||
using IRaCIS.Core.Application.Service;
|
using IRaCIS.Core.Application.Service;
|
||||||
using IRaCIS.Core.Domain.Models;
|
using IRaCIS.Core.Domain.Models;
|
||||||
using IRaCIS.Core.Domain.Share;
|
using IRaCIS.Core.Domain.Share;
|
||||||
|
using IRaCIS.Core.Domain.Share.Reading;
|
||||||
using IRaCIS.Core.Infra.EFCore;
|
using IRaCIS.Core.Infra.EFCore;
|
||||||
using IRaCIS.Core.Infrastructure;
|
using IRaCIS.Core.Infrastructure;
|
||||||
using IRaCIS.Core.Infrastructure.Extention;
|
using IRaCIS.Core.Infrastructure.Extention;
|
||||||
using Magicodes.ExporterAndImporter.Excel;
|
using Magicodes.ExporterAndImporter.Excel;
|
||||||
|
using MassTransit;
|
||||||
using MediatR;
|
using MediatR;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Hosting;
|
using Microsoft.AspNetCore.Hosting;
|
||||||
|
@ -206,16 +208,19 @@ namespace IRaCIS.Core.API.Controllers
|
||||||
public IMapper _mapper { get; set; }
|
public IMapper _mapper { get; set; }
|
||||||
public IUserInfo _userInfo { get; set; }
|
public IUserInfo _userInfo { get; set; }
|
||||||
private readonly IMediator _mediator;
|
private readonly IMediator _mediator;
|
||||||
|
private readonly IRepository<ClinicalData> _clinicalDataRepository;
|
||||||
private readonly IWebHostEnvironment _hostEnvironment;
|
private readonly IWebHostEnvironment _hostEnvironment;
|
||||||
|
|
||||||
private readonly IRepository _repository;
|
private readonly IRepository _repository;
|
||||||
|
|
||||||
|
|
||||||
public StudyController(IMapper mapper, IUserInfo userInfo, IWebHostEnvironment hostEnvironment, IMediator mediator,IRepository repository)
|
public StudyController(IMapper mapper, IUserInfo userInfo, IWebHostEnvironment hostEnvironment, IMediator mediator,
|
||||||
|
IRepository<ClinicalData> clinicalDataRepository,
|
||||||
|
IRepository repository)
|
||||||
{
|
{
|
||||||
_hostEnvironment = hostEnvironment;
|
_hostEnvironment = hostEnvironment;
|
||||||
_mediator = mediator;
|
_mediator = mediator;
|
||||||
|
this._clinicalDataRepository = clinicalDataRepository;
|
||||||
_mapper = mapper;
|
_mapper = mapper;
|
||||||
_userInfo = userInfo;
|
_userInfo = userInfo;
|
||||||
_repository = repository;
|
_repository = repository;
|
||||||
|
@ -375,33 +380,44 @@ namespace IRaCIS.Core.API.Controllers
|
||||||
public async Task<IResponseOutput> UploadVisitClinicalData(Guid subjectVisitId)
|
public async Task<IResponseOutput> UploadVisitClinicalData(Guid subjectVisitId)
|
||||||
{
|
{
|
||||||
await QCCommon.VerifyIsCRCSubmmitAsync(_repository, _userInfo, subjectVisitId);
|
await QCCommon.VerifyIsCRCSubmmitAsync(_repository, _userInfo, subjectVisitId);
|
||||||
|
|
||||||
var sv = _repository.Where<SubjectVisit>(t => t.Id == subjectVisitId).Select(t => new { t.TrialId, t.SiteId, t.SubjectId }).FirstOrDefault().IfNullThrowException();
|
var sv = _repository.Where<SubjectVisit>(t => t.Id == subjectVisitId).Select(t => new { t.TrialId, t.SiteId, t.SubjectId }).FirstOrDefault().IfNullThrowException();
|
||||||
|
|
||||||
|
|
||||||
|
ClinicalData? clinical = await _clinicalDataRepository.Where(x => x.VisitOrReadId == subjectVisitId && x.ClinicalLevel == ClinicalLevel.Subject).FirstOrDefaultAsync();
|
||||||
|
if (clinical == null)
|
||||||
|
{
|
||||||
|
clinical = new ClinicalData()
|
||||||
|
{
|
||||||
|
ClinicalLevel = ClinicalLevel.Subject,
|
||||||
|
SubjectId = sv.SubjectId,
|
||||||
|
DataType = ClinicalDataType.MedicalHistory,
|
||||||
|
TrialId = sv.TrialId,
|
||||||
|
UploadType = ClinicalUploadType.PDF,
|
||||||
|
VisitOrReadId = subjectVisitId,
|
||||||
|
Id= NewId.NextGuid(),
|
||||||
|
};
|
||||||
|
|
||||||
|
await _clinicalDataRepository.AddAsync(clinical);
|
||||||
|
|
||||||
|
}
|
||||||
await FileUploadAsync(async (fileName) =>
|
await FileUploadAsync(async (fileName) =>
|
||||||
{
|
{
|
||||||
var (serverFilePath, relativePath, fileRealName) = FileStoreHelper.GetClinicalDataPath(_hostEnvironment, fileName, sv.TrialId, sv.SiteId, sv.SubjectId, subjectVisitId);
|
var (serverFilePath, relativePath, fileRealName) = FileStoreHelper.GetClinicalDataPath(_hostEnvironment, fileName, sv.TrialId, sv.SiteId, sv.SubjectId, subjectVisitId);
|
||||||
|
|
||||||
//插入临床pdf 路径
|
//插入临床pdf 路径
|
||||||
await _repository.AddAsync(new PreviousPDF() { SubjectVisitId = subjectVisitId, Path = relativePath, FileName = fileRealName });
|
await _repository.AddAsync(new PreviousPDF() { ClinicalDataId= clinical.Id, SubjectVisitId = subjectVisitId, Path = relativePath, FileName = fileRealName });
|
||||||
|
|
||||||
return serverFilePath;
|
return serverFilePath;
|
||||||
});
|
});
|
||||||
|
|
||||||
await _repository.SaveChangesAsync();
|
await _repository.SaveChangesAsync();
|
||||||
|
|
||||||
return ResponseOutput.Ok();
|
return ResponseOutput.Ok();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 上传临床数据
|
/// 上传临床数据
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="clinicalDataId"></param>
|
/// <param name="clinicalDataId"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost("ClinicalData/UploadClinicalData/{trialId:guid}/{clinicalDataId:guid}")]
|
[HttpPost("ClinicalData/UploadClinicalData/{clinicalDataId:guid}")]
|
||||||
[DisableRequestSizeLimit]
|
[DisableRequestSizeLimit]
|
||||||
public async Task<IResponseOutput> UploadClinicalData(Guid clinicalDataId)
|
public async Task<IResponseOutput> UploadClinicalData(Guid clinicalDataId)
|
||||||
{
|
{
|
||||||
|
@ -412,7 +428,7 @@ namespace IRaCIS.Core.API.Controllers
|
||||||
var (serverFilePath, relativePath, fileRealName) = FileStoreHelper.GetClinicalDataPath(_hostEnvironment, fileName, sv.TrialId.Value, sv.SubjectId.Value, clinicalDataId);
|
var (serverFilePath, relativePath, fileRealName) = FileStoreHelper.GetClinicalDataPath(_hostEnvironment, fileName, sv.TrialId.Value, sv.SubjectId.Value, clinicalDataId);
|
||||||
|
|
||||||
//插入临床pdf 路径
|
//插入临床pdf 路径
|
||||||
await _repository.AddAsync(new PreviousPDF() { SubjectVisitId = clinicalDataId, Path = relativePath, FileName = fileRealName });
|
await _repository.AddAsync(new PreviousPDF() { SubjectVisitId = clinicalDataId, ClinicalDataId= clinicalDataId, Path = relativePath, FileName = fileRealName });
|
||||||
|
|
||||||
return serverFilePath;
|
return serverFilePath;
|
||||||
});
|
});
|
||||||
|
@ -421,9 +437,6 @@ namespace IRaCIS.Core.API.Controllers
|
||||||
|
|
||||||
return ResponseOutput.Ok();
|
return ResponseOutput.Ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 上传非Dicom 文件 支持压缩包 多文件上传
|
/// 上传非Dicom 文件 支持压缩包 多文件上传
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -38,6 +38,7 @@ namespace IRaCIS.Core.API
|
||||||
options.SwaggerDoc("Image", new OpenApiInfo { Title = "影像模块", Version = "Image" });
|
options.SwaggerDoc("Image", new OpenApiInfo { Title = "影像模块", Version = "Image" });
|
||||||
options.SwaggerDoc("Reading", new OpenApiInfo { Title = "读片模块", Version = "Reading" });
|
options.SwaggerDoc("Reading", new OpenApiInfo { Title = "读片模块", Version = "Reading" });
|
||||||
|
|
||||||
|
|
||||||
// 接口排序
|
// 接口排序
|
||||||
options.OrderActionsBy(o => o.GroupName);
|
options.OrderActionsBy(o => o.GroupName);
|
||||||
|
|
||||||
|
@ -108,6 +109,7 @@ namespace IRaCIS.Core.API
|
||||||
options.SwaggerEndpoint($"swagger/Image/swagger.json", "影像模块");
|
options.SwaggerEndpoint($"swagger/Image/swagger.json", "影像模块");
|
||||||
options.SwaggerEndpoint($"swagger/Reading/swagger.json", "读片模块");
|
options.SwaggerEndpoint($"swagger/Reading/swagger.json", "读片模块");
|
||||||
|
|
||||||
|
|
||||||
//路径配置,设置为空,表示直接在根域名(localhost:8001)访问该文件,
|
//路径配置,设置为空,表示直接在根域名(localhost:8001)访问该文件,
|
||||||
//注意localhost:8001/swagger是访问不到的,去launchSettings.json把launchUrl去掉,如果你想换一个路径,直接写名字即可,比如直接写c.Route = "doc";
|
//注意localhost:8001/swagger是访问不到的,去launchSettings.json把launchUrl去掉,如果你想换一个路径,直接写名字即可,比如直接写c.Route = "doc";
|
||||||
//options.RoutePrefix = string.Empty;
|
//options.RoutePrefix = string.Empty;
|
||||||
|
|
|
@ -427,6 +427,21 @@
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
<exception cref="T:IRaCIS.Core.Infrastructure.BusinessValidationFailedException"></exception>
|
<exception cref="T:IRaCIS.Core.Infrastructure.BusinessValidationFailedException"></exception>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataInDto.TrialId">
|
||||||
|
<summary>
|
||||||
|
项目Id
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataInDto.SubjectId">
|
||||||
|
<summary>
|
||||||
|
受试者ID
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataInDto.VisitOrReadId">
|
||||||
|
<summary>
|
||||||
|
访视或者阅片ID
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataQuery.TrialId">
|
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataQuery.TrialId">
|
||||||
<summary>
|
<summary>
|
||||||
项目ID
|
项目ID
|
||||||
|
@ -497,6 +512,16 @@
|
||||||
数据
|
数据
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.SetReadingPeriodSetEffect.Id">
|
||||||
|
<summary>
|
||||||
|
项目ID
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.SetReadingPeriodSetEffect.IsTakeEffect">
|
||||||
|
<summary>
|
||||||
|
设置阅片是否生效
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingPeriodSetQuery.ExpirationVisit">
|
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingPeriodSetQuery.ExpirationVisit">
|
||||||
<summary>
|
<summary>
|
||||||
截止访视
|
截止访视
|
||||||
|
@ -2571,13 +2596,25 @@
|
||||||
<param name="query"></param>
|
<param name="query"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:IRaCIS.Application.Services.ClinicalDataService.ClinicalDataView(IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataInDto)">
|
||||||
|
<summary>
|
||||||
|
获取
|
||||||
|
</summary>
|
||||||
|
<param name="query"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<member name="M:IRaCIS.Application.Services.ClinicalDataService.DeleteClinicalData(System.Guid)">
|
<member name="M:IRaCIS.Application.Services.ClinicalDataService.DeleteClinicalData(System.Guid)">
|
||||||
<summary>
|
<summary>
|
||||||
删除
|
删除
|
||||||
</summary>
|
</summary>
|
||||||
<param name="ClinicalDataId"></param>
|
<param name="clinicalDataId"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="T:IRaCIS.Application.Services.ReadingPeriodSetService">
|
||||||
|
<summary>
|
||||||
|
阅片期配置
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
<member name="M:IRaCIS.Application.Services.ReadingPeriodSetService.AddOrUpdateReadingPeriodSet(IRaCIS.Core.Application.Service.Reading.Dto.ReadingPeriodSetAddOrEdit)">
|
<member name="M:IRaCIS.Application.Services.ReadingPeriodSetService.AddOrUpdateReadingPeriodSet(IRaCIS.Core.Application.Service.Reading.Dto.ReadingPeriodSetAddOrEdit)">
|
||||||
<summary>
|
<summary>
|
||||||
新增或者修改
|
新增或者修改
|
||||||
|
@ -2592,6 +2629,13 @@
|
||||||
<param name="query"></param>
|
<param name="query"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:IRaCIS.Application.Services.ReadingPeriodSetService.SetReadingPeriodSetEffect(IRaCIS.Core.Application.Service.Reading.Dto.SetReadingPeriodSetEffect)">
|
||||||
|
<summary>
|
||||||
|
设置阅片期配置是否生效
|
||||||
|
</summary>
|
||||||
|
<param name="indto"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<member name="M:IRaCIS.Application.Services.ReadingPeriodSetService.DeleteReadingPeriodSet(System.Guid)">
|
<member name="M:IRaCIS.Application.Services.ReadingPeriodSetService.DeleteReadingPeriodSet(System.Guid)">
|
||||||
<summary>
|
<summary>
|
||||||
删除
|
删除
|
||||||
|
@ -2599,6 +2643,11 @@
|
||||||
<param name="readingPeriodSetId"></param>
|
<param name="readingPeriodSetId"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="T:IRaCIS.Application.Services.ReadModuleService">
|
||||||
|
<summary>
|
||||||
|
生成的阅片模块(在大列表上展示的)
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
<member name="M:IRaCIS.Application.Services.ReadModuleService.GetReadModule(IRaCIS.Core.Application.Service.Reading.Dto.GetReadModuleDto)">
|
<member name="M:IRaCIS.Application.Services.ReadModuleService.GetReadModule(IRaCIS.Core.Application.Service.Reading.Dto.GetReadModuleDto)">
|
||||||
<summary>
|
<summary>
|
||||||
获取读片模块
|
获取读片模块
|
||||||
|
|
|
@ -60,12 +60,29 @@ namespace IRaCIS.Application.Services
|
||||||
return pageList;
|
return pageList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="query"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<List<ClinicalDataView>> ClinicalDataView(ClinicalDataInDto inDto)
|
||||||
|
{
|
||||||
|
var list= await _clinicalDataRepository.AsQueryable().Where(x => x.TrialId == inDto.TrialId)
|
||||||
|
.Where(x => (x.ClinicalLevel == ClinicalLevel.Subject && x.SubjectId == inDto.SubjectId) || x.VisitOrReadId == inDto.VisitOrReadId)
|
||||||
|
.ProjectTo<ClinicalDataView>(_mapper.ConfigurationProvider)
|
||||||
|
.ToListAsync();
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 删除
|
/// 删除
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="ClinicalDataId"></param>
|
/// <param name="clinicalDataId"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpDelete("{ClinicalDataId:guid}")]
|
[HttpDelete("{ClinicalDataId:guid}")]
|
||||||
public async Task<IResponseOutput> DeleteClinicalData(Guid clinicalDataId)
|
public async Task<IResponseOutput> DeleteClinicalData(Guid clinicalDataId)
|
||||||
|
|
|
@ -18,6 +18,23 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class ClinicalDataInDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 项目Id
|
||||||
|
/// </summary>
|
||||||
|
public Guid TrialId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 受试者ID
|
||||||
|
/// </summary>
|
||||||
|
public Guid SubjectId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 访视或者阅片ID
|
||||||
|
/// </summary>
|
||||||
|
public Guid VisitOrReadId { get; set; }
|
||||||
|
}
|
||||||
public class ClinicalDataQuery
|
public class ClinicalDataQuery
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -18,6 +18,19 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class SetReadingPeriodSetEffect
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 项目ID
|
||||||
|
/// </summary>
|
||||||
|
public Guid Id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 设置阅片是否生效
|
||||||
|
/// </summary>
|
||||||
|
public bool IsTakeEffect { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
public class ReadingPeriodSetQuery
|
public class ReadingPeriodSetQuery
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,9 @@ using IRaCIS.Core.Domain.Share.Reading;
|
||||||
|
|
||||||
namespace IRaCIS.Application.Services
|
namespace IRaCIS.Application.Services
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 生成的阅片模块(在大列表上展示的)
|
||||||
|
/// </summary>
|
||||||
[ApiExplorerSettings(GroupName = "Reading")]
|
[ApiExplorerSettings(GroupName = "Reading")]
|
||||||
public class ReadModuleService : BaseService
|
public class ReadModuleService : BaseService
|
||||||
{
|
{
|
||||||
|
@ -31,9 +34,8 @@ namespace IRaCIS.Application.Services
|
||||||
/// 获取读片模块
|
/// 获取读片模块
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<GetReadModuleResultDto> GetReadModule(GetReadModuleDto dto)
|
public async Task<(PageOutput<GetReadModuleDtoOut>,int)> GetReadModule(GetReadModuleDto dto)
|
||||||
{
|
{
|
||||||
|
|
||||||
var subjectquery = _subjectRepository.WhereIf(dto.TrialId!=null, x => x.TrialId == dto.TrialId).Include(x => x.SubjectVisitList).Include(x=>x.Site)
|
var subjectquery = _subjectRepository.WhereIf(dto.TrialId!=null, x => x.TrialId == dto.TrialId).Include(x => x.SubjectVisitList).Include(x=>x.Site)
|
||||||
.Select(x => new GetReadModuleDtoOut
|
.Select(x => new GetReadModuleDtoOut
|
||||||
{
|
{
|
||||||
|
@ -56,27 +58,10 @@ namespace IRaCIS.Application.Services
|
||||||
VisitName = y.VisitName,
|
VisitName = y.VisitName,
|
||||||
|
|
||||||
}).ToList()
|
}).ToList()
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
var pageList = await subjectquery.ToPagedListAsync(dto.PageIndex, dto.PageSize, dto.SortField == null ? "SiteCode" : dto.SortField,
|
var pageList = await subjectquery.ToPagedListAsync(dto.PageIndex, dto.PageSize, dto.SortField == null ? "SiteCode" : dto.SortField,
|
||||||
dto.SortAsc);
|
dto.SortAsc);
|
||||||
|
return (pageList, pageList.CurrentPageData.ToList().Max(x => x.Data.Count));
|
||||||
|
|
||||||
GetReadModuleResultDto resultDto = new GetReadModuleResultDto()
|
|
||||||
{
|
|
||||||
CurrentPageData = pageList.CurrentPageData.ToList(),
|
|
||||||
PageSize = pageList.PageSize,
|
|
||||||
MaxLength = pageList.CurrentPageData.ToList().Max(x => x.Data.Count),
|
|
||||||
PageIndex = pageList.PageIndex,
|
|
||||||
TotalCount = pageList.TotalCount,
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return resultDto;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,9 @@ using IRaCIS.Core.Domain.Share.Reading;
|
||||||
|
|
||||||
namespace IRaCIS.Application.Services
|
namespace IRaCIS.Application.Services
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 阅片期配置
|
||||||
|
/// </summary>
|
||||||
[ApiExplorerSettings(GroupName = "Reading")]
|
[ApiExplorerSettings(GroupName = "Reading")]
|
||||||
public class ReadingPeriodSetService : BaseService
|
public class ReadingPeriodSetService : BaseService
|
||||||
{
|
{
|
||||||
|
@ -59,6 +62,24 @@ namespace IRaCIS.Application.Services
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 设置阅片期配置是否生效
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="indto"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPut]
|
||||||
|
public async Task SetReadingPeriodSetEffect(SetReadingPeriodSetEffect indto)
|
||||||
|
{
|
||||||
|
|
||||||
|
var readquery =await _readingPeriodSetRepository.UpdatePartialNowNoQueryAsync(indto.Id, x => new ReadingPeriodSet() {
|
||||||
|
IsTakeEffect = indto.IsTakeEffect
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
await _readingPeriodSetRepository.SaveChangesAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 删除
|
/// 删除
|
||||||
|
|
|
@ -39,9 +39,9 @@ namespace IRaCIS.Core.Domain.Share.Reading
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 受试者范围
|
/// 阅片期范围
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public enum SubjectScopeEnum
|
public enum ReadingScopeEnum
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 全部
|
/// 全部
|
||||||
|
@ -148,9 +148,9 @@ namespace IRaCIS.Core.Domain.Share.Reading
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 临床分组类型
|
/// 临床分组级别
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public enum ClinicalScopeType
|
public enum ClinicalLevel
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 受试者
|
/// 受试者
|
||||||
|
@ -160,7 +160,7 @@ namespace IRaCIS.Core.Domain.Share.Reading
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 访视
|
/// 访视
|
||||||
/// </summary>
|
/// </summary>
|
||||||
Visit = 1,
|
SubjectVisit = 1,
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 阅片
|
/// 阅片
|
||||||
|
|
|
@ -55,4 +55,6 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,9 +31,9 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
public Guid? VisitOrReadId { get; set; }
|
public Guid? VisitOrReadId { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 分组类型(受试者)
|
/// 临床级别
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public ClinicalScopeType? ScopeType { get; set; }
|
public ClinicalLevel? ClinicalLevel { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 数据类型
|
/// 数据类型
|
||||||
|
@ -41,7 +41,7 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
public ClinicalDataType? DataType { get; set; }
|
public ClinicalDataType? DataType { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 上传方式()
|
/// 上传方式
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public ClinicalUploadType? UploadType { get; set; }
|
public ClinicalUploadType? UploadType { get; set; }
|
||||||
|
|
||||||
|
|
|
@ -26,14 +26,14 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
public string ReadingPeriodName { get; set; }
|
public string ReadingPeriodName { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 受试者范围
|
/// 阅片范围
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public SubjectScopeEnum? SubjectScope { get; set; }
|
public ReadingScopeEnum? ReadingScope { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 范围ID
|
/// 中心ID
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public Guid? ScopeId { get; set; }
|
public Guid? SiteId { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 截止日期
|
/// 截止日期
|
||||||
|
@ -46,9 +46,14 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
public decimal? ExpirationVisit { get; set; }
|
public decimal? ExpirationVisit { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 状态
|
/// 访视计划ID
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public ReadingPeriodStatus? Status { get; set; }
|
public Guid? VisitStageId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 是否生效
|
||||||
|
/// </summary>
|
||||||
|
public bool? IsTakeEffect { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 创建时间
|
/// 创建时间
|
||||||
|
@ -60,6 +65,7 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public Guid CreateUserId { get; set; }
|
public Guid CreateUserId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -177,6 +177,10 @@ namespace IRaCIS.Core.Infra.EFCore
|
||||||
public virtual DbSet<ReadingPeriodSet> ReadingPeriodSet { get; set; }
|
public virtual DbSet<ReadingPeriodSet> ReadingPeriodSet { get; set; }
|
||||||
|
|
||||||
public virtual DbSet<ReadModule> ReadModule { get; set; }
|
public virtual DbSet<ReadModule> ReadModule { get; set; }
|
||||||
|
|
||||||
|
public virtual DbSet<ClinicalData> ClinicalData { get; set; }
|
||||||
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Subject and Visit and study
|
#region Subject and Visit and study
|
||||||
|
|
Loading…
Reference in New Issue