pacs 直连修改
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
5cc41b3b0f
commit
d094f22ab2
|
@ -402,6 +402,19 @@ namespace IRaCIS.Core.API.Controllers
|
|||
return result;
|
||||
}
|
||||
|
||||
|
||||
[HttpPost, Route("Inspection/configTrialBasicInfo/ConfigTrialPACSInfoConfirm")]
|
||||
[UnitOfWork]
|
||||
[TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "BeforeOngoingCantOpt" })]
|
||||
public async Task<IResponseOutput> ConfigTrialPACSInfoConfirm(DataInspectionDto<TrialPACSConfig> opt)
|
||||
{
|
||||
opt.Data.IsTrialPACSConfirmed = true;
|
||||
var singid = await _inspectionService.RecordSing(opt.SignInfo);
|
||||
var result = await _trialConfigService.ConfigTrialPACSInfo(opt.Data);
|
||||
await _inspectionService.CompletedSign(singid, result);
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 签名确认
|
||||
/// </summary>
|
||||
|
|
|
@ -9813,6 +9813,24 @@
|
|||
<param name="_dicomInstanceRepository"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:IRaCIS.Core.Application.Service.TrialDicomAEService">
|
||||
<summary>
|
||||
DicomAEService
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Service.TrialDicomAEService.GetTrialDicomAEList(System.Guid)">
|
||||
<summary>
|
||||
获取项目dicom AE 配置信息,otherinfo里面有IsPACSConnect IsTrialPACSConfirmed
|
||||
</summary>
|
||||
<param name="trialId"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Service.TrialDicomAEService.TestSCPServerConnect(System.Guid)">
|
||||
<summary>
|
||||
测试scp server 是否可以连接
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:IRaCIS.Core.Application.Service.TrialExternalUserService">
|
||||
<summary>
|
||||
项目外部人员 录入流程相关
|
||||
|
@ -9825,6 +9843,11 @@
|
|||
<param name="addOrEditTrialExternalUser"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:IRaCIS.Core.Application.Service.TrialSiteDicomAEService">
|
||||
<summary>
|
||||
TrialSiteDicomAEService
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:IRaCIS.Core.Application.ViewModel.TaskAllocationRuleView">
|
||||
<summary> TaskAllocationRuleView 列表视图模型 </summary>
|
||||
</member>
|
||||
|
@ -10973,6 +10996,15 @@
|
|||
<member name="T:IRaCIS.Core.Application.ViewModel.UserWLTemplateAddOrEdit">
|
||||
<summary> UserWLTemplateAddOrEdit 列表查询参数模型</summary>
|
||||
</member>
|
||||
<member name="T:IRaCIS.Core.Application.ViewModel.DicomAEView">
|
||||
<summary> DicomAEView 列表视图模型 </summary>
|
||||
</member>
|
||||
<member name="T:IRaCIS.Core.Application.ViewModel.DicomAEQuery">
|
||||
<summary>DicomAEQuery 列表查询参数模型</summary>
|
||||
</member>
|
||||
<member name="T:IRaCIS.Core.Application.ViewModel.DicomAEAddOrEdit">
|
||||
<summary> DicomAEAddOrEdit 列表查询参数模型</summary>
|
||||
</member>
|
||||
<member name="T:IRaCIS.Core.Application.ViewModel.TrialExternalUserView">
|
||||
<summary> TrialExternalUserView 列表视图模型 </summary>
|
||||
</member>
|
||||
|
@ -10982,6 +11014,15 @@
|
|||
<member name="T:IRaCIS.Core.Application.ViewModel.TrialExternalUserAddOrEdit">
|
||||
<summary> TrialExternalUserAddOrEdit 列表查询参数模型</summary>
|
||||
</member>
|
||||
<member name="T:IRaCIS.Core.Application.ViewModel.TrialSiteDicomAEView">
|
||||
<summary> TrialSiteDicomAEView 列表视图模型 </summary>
|
||||
</member>
|
||||
<member name="T:IRaCIS.Core.Application.ViewModel.TrialSiteDicomAEQuery">
|
||||
<summary>TrialSiteDicomAEQuery 列表查询参数模型</summary>
|
||||
</member>
|
||||
<member name="T:IRaCIS.Core.Application.ViewModel.TrialSiteDicomAEAddOrEdit">
|
||||
<summary> TrialSiteDicomAEAddOrEdit 列表查询参数模型</summary>
|
||||
</member>
|
||||
<member name="T:IRaCIS.Core.Application.ViewModel.TrialUserPreparationView">
|
||||
<summary> TrialUserPreparation View 列表视图模型 </summary>
|
||||
</member>
|
||||
|
@ -11071,11 +11112,21 @@
|
|||
IOrganInfoService
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:IRaCIS.Core.Application.Interfaces.IDicomAEService">
|
||||
<summary>
|
||||
IDicomAEService
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:IRaCIS.Core.Application.Interfaces.ITrialExternalUserService">
|
||||
<summary>
|
||||
ITrialExternalUserService
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:IRaCIS.Core.Application.Interfaces.ITrialSiteDicomAEService">
|
||||
<summary>
|
||||
ITrialSiteDicomAEService
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:IRaCIS.Core.Application.Contracts.EmailNoticeConfigView">
|
||||
<summary> EmailNoticeConfigView 列表视图模型 </summary>
|
||||
</member>
|
||||
|
@ -13059,6 +13110,13 @@
|
|||
<param name="trialConfig"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.TrialConfigService.ConfigTrialPACSInfo(IRaCIS.Core.Application.Contracts.TrialPACSConfig)">
|
||||
<summary>
|
||||
配置pacs信息
|
||||
</summary>
|
||||
<param name="trialConfig"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.TrialConfigService.UpdateTrialState(System.Guid,System.String,System.String)">
|
||||
<summary>
|
||||
更新项目状态
|
||||
|
|
|
@ -9,19 +9,14 @@ using System.Collections.Generic;
|
|||
namespace IRaCIS.Core.Application.ViewModel
|
||||
{
|
||||
/// <summary> ExploreRecommendView 列表视图模型 </summary>
|
||||
public class ExploreRecommendView
|
||||
public class ExploreRecommendView: ExploreRecommendAddOrEdit
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public string Version { get; set; }
|
||||
public string Title { get; set; }
|
||||
|
||||
public DateTime CreateTime { get; set; }
|
||||
public Guid CreateUserId { get; set; }
|
||||
public Guid UpdateUserId { get; set; }
|
||||
public DateTime UpdateTime { get; set; }
|
||||
public bool IsDeleted { get; set; }
|
||||
public string DownloadUrl { get; set; }
|
||||
public string Path { get; set; }
|
||||
public string FileName { get; set; }
|
||||
|
||||
public DateTime? DeleteTime { get; set; }
|
||||
public Guid? DeleteUserId { get; set; }
|
||||
}
|
||||
|
@ -51,10 +46,7 @@ namespace IRaCIS.Core.Application.ViewModel
|
|||
public Guid Id { get; set; }
|
||||
public string Version { get; set; }
|
||||
public string Title { get; set; }
|
||||
public DateTime CreateTime { get; set; }
|
||||
public Guid CreateUserId { get; set; }
|
||||
public Guid UpdateUserId { get; set; }
|
||||
public DateTime UpdateTime { get; set; }
|
||||
|
||||
public bool IsDeleted { get; set; }
|
||||
public string DownloadUrl { get; set; }
|
||||
public string Path { get; set; }
|
||||
|
|
|
@ -0,0 +1,66 @@
|
|||
//--------------------------------------------------------------------
|
||||
// 此代码由T4模板自动生成 byzhouhang 20210918
|
||||
// 生成时间 2024-03-22 15:44:37
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
|
||||
//--------------------------------------------------------------------
|
||||
using System;
|
||||
using IRaCIS.Core.Domain.Share;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
namespace IRaCIS.Core.Application.ViewModel
|
||||
{
|
||||
/// <summary> DicomAEView 列表视图模型 </summary>
|
||||
public class DicomAEView : DicomAEAddOrEdit
|
||||
{
|
||||
public DateTime CreateTime { get; set; }
|
||||
public Guid CreateUserId { get; set; }
|
||||
public Guid UpdateUserId { get; set; }
|
||||
public DateTime UpdateTime { get; set; }
|
||||
|
||||
public DateTime? LatestTestTime { get; set; }
|
||||
|
||||
public bool IsTestOK { get; set; }
|
||||
|
||||
public bool IsPACSConnect { get; set; }
|
||||
|
||||
public bool IsTrialPACSConfirmed { get; set; }
|
||||
|
||||
}
|
||||
|
||||
///<summary>DicomAEQuery 列表查询参数模型</summary>
|
||||
public class DicomAEQuery : PageInput
|
||||
{
|
||||
public Guid? TrialId { get; set; }
|
||||
|
||||
public string? CalledAE { get; set; }
|
||||
|
||||
public string? IP { get; set; }
|
||||
|
||||
|
||||
public int? Port { get; set; }
|
||||
|
||||
|
||||
public string? Modality { get; set; }
|
||||
|
||||
public string? Description { get; set; }
|
||||
}
|
||||
|
||||
///<summary> DicomAEAddOrEdit 列表查询参数模型</summary>
|
||||
public class DicomAEAddOrEdit
|
||||
{
|
||||
public Guid? Id { get; set; }
|
||||
|
||||
[NotDefault]
|
||||
public Guid TrialId { get; set; }
|
||||
|
||||
public string CalledAE { get; set; }
|
||||
public string IP { get; set; }
|
||||
public int Port { get; set; }
|
||||
public string Modality { get; set; } = string.Empty;
|
||||
public string Description { get; set; } = string.Empty;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -313,6 +313,16 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
|
||||
}
|
||||
|
||||
public class TrialPACSConfig
|
||||
{
|
||||
[NotDefault]
|
||||
public Guid TrialId { get; set; }
|
||||
|
||||
public bool IsPACSConnect { get; set; }
|
||||
|
||||
public bool IsTrialPACSConfirmed { get; set; } = true;
|
||||
}
|
||||
|
||||
public class TrialStateChangeDTO
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
|
|
|
@ -0,0 +1,55 @@
|
|||
//--------------------------------------------------------------------
|
||||
// 此代码由T4模板自动生成 byzhouhang 20210918
|
||||
// 生成时间 2024-07-02 16:53:52
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
|
||||
//--------------------------------------------------------------------
|
||||
using System;
|
||||
using IRaCIS.Core.Domain.Share;
|
||||
using System.Collections.Generic;
|
||||
namespace IRaCIS.Core.Application.ViewModel
|
||||
{
|
||||
/// <summary> TrialSiteDicomAEView 列表视图模型 </summary>
|
||||
public class TrialSiteDicomAEView : TrialSiteDicomAEAddOrEdit
|
||||
{
|
||||
|
||||
public Guid UpdateUserId { get; set; }
|
||||
public Guid? DeleteUserId { get; set; }
|
||||
public DateTime CreateTime { get; set; }
|
||||
public Guid CreateUserId { get; set; }
|
||||
public DateTime UpdateTime { get; set; }
|
||||
|
||||
}
|
||||
|
||||
///<summary>TrialSiteDicomAEQuery 列表查询参数模型</summary>
|
||||
public class TrialSiteDicomAEQuery : PageInput
|
||||
{
|
||||
public string? CallingAE { get; set; }
|
||||
|
||||
public string? IP { get; set; }
|
||||
|
||||
public string? Port { get; set; }
|
||||
|
||||
public string? Description { get; set; }
|
||||
|
||||
}
|
||||
|
||||
///<summary> TrialSiteDicomAEAddOrEdit 列表查询参数模型</summary>
|
||||
public class TrialSiteDicomAEAddOrEdit
|
||||
{
|
||||
public Guid? Id { get; set; }
|
||||
public Guid TrialId { get; set; }
|
||||
|
||||
|
||||
public Guid TrialSiteId { get; set; }
|
||||
public string CallingAE { get; set; }
|
||||
public string IP { get; set; }
|
||||
public string Port { get; set; }
|
||||
public string Description { get; set; }
|
||||
|
||||
//public bool IsDeleted { get; set; }
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
//--------------------------------------------------------------------
|
||||
// 此代码由T4模板自动生成 byzhouhang 20210918
|
||||
// 生成时间 2024-03-22 15:44:27
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
|
||||
//--------------------------------------------------------------------
|
||||
|
||||
using IRaCIS.Core.Application.ViewModel;
|
||||
namespace IRaCIS.Core.Application.Interfaces
|
||||
{
|
||||
/// <summary>
|
||||
/// IDicomAEService
|
||||
/// </summary>
|
||||
public interface IDicomAEService
|
||||
{
|
||||
|
||||
Task<IResponseOutput<PageOutput<DicomAEView>>> GetDicomAEList(DicomAEQuery inQuery);
|
||||
|
||||
Task<IResponseOutput> AddOrUpdateDicomAE(DicomAEAddOrEdit addOrEditDicomAE);
|
||||
|
||||
Task<IResponseOutput> DeleteDicomAE(Guid dicomAEId);
|
||||
|
||||
|
||||
}
|
||||
}
|
|
@ -18,7 +18,7 @@ namespace IRaCIS.Application.Interfaces
|
|||
|
||||
Task<IResponseOutput> ConfigTrialUrgentInfo(TrialUrgentConfig trialConfig);
|
||||
|
||||
|
||||
Task<IResponseOutput> ConfigTrialPACSInfo(TrialPACSConfig trialConfig);
|
||||
Task<IResponseOutput> TrialConfigSignatureConfirm(SignConfirmDTO signConfirmDTO);
|
||||
|
||||
Task<IResponseOutput> AsyncTrialCriterionDictionary(AsyncTrialCriterionDictionaryInDto inDto);
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
//--------------------------------------------------------------------
|
||||
// 此代码由T4模板自动生成 byzhouhang 20210918
|
||||
// 生成时间 2024-07-02 16:53:55
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
|
||||
//--------------------------------------------------------------------
|
||||
|
||||
using IRaCIS.Core.Application.ViewModel;
|
||||
namespace IRaCIS.Core.Application.Interfaces
|
||||
{
|
||||
/// <summary>
|
||||
/// ITrialSiteDicomAEService
|
||||
/// </summary>
|
||||
public interface ITrialSiteDicomAEService
|
||||
{
|
||||
|
||||
Task<PageOutput<TrialSiteDicomAEView>> GetTrialSiteDicomAEList(TrialSiteDicomAEQuery inQuery);
|
||||
|
||||
Task<IResponseOutput> AddOrUpdateTrialSiteDicomAE(TrialSiteDicomAEAddOrEdit addOrEditTrialSiteDicomAE);
|
||||
|
||||
Task<IResponseOutput> DeleteTrialSiteDicomAE(Guid trialSiteDicomAEId);
|
||||
|
||||
|
||||
}
|
||||
}
|
|
@ -604,7 +604,7 @@ namespace IRaCIS.Core.Application
|
|||
|
||||
await _readingQuestionCriterionTrialRepository.UpdatePartialFromQueryAsync(inDto.TrialReadingCriterionId, x => new ReadingQuestionCriterionTrial()
|
||||
{
|
||||
IsImageFilter=inDto.IsImageFilter,
|
||||
IsImageFilter = inDto.IsImageFilter,
|
||||
ImageDownloadEnum = inDto.ImageDownloadEnum,
|
||||
ImageUploadEnum = inDto.ImageUploadEnum,
|
||||
CriterionModalitys = inDto.CriterionModalitys,
|
||||
|
@ -954,7 +954,7 @@ namespace IRaCIS.Core.Application
|
|||
trialInfo.UpdateTime = DateTime.Now;
|
||||
|
||||
|
||||
//await _readingQuestionCriterionTrialRepository.BatchUpdateNoTrackingAsync(t => t.TrialId == trialConfig.TrialId && t.IsSigned == false, u => new ReadingQuestionCriterionTrial() { CriterionModalitys = trialConfig.Modalitys });
|
||||
//await _readingQuestionCriterionTrialRepository.BatchUpdateNoTrackingAsync(t => t.TrialId == trialConfig.TrialId && t.IsSigned == false, u => new ReadingQuestionCriterionTrial() { CriterionModalitys = trialConfig.Modalitys });
|
||||
|
||||
return ResponseOutput.Ok(await _repository.SaveChangesAsync());
|
||||
}
|
||||
|
@ -1151,6 +1151,25 @@ namespace IRaCIS.Core.Application
|
|||
return ResponseOutput.Ok(await _repository.SaveChangesAsync());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 配置pacs信息
|
||||
/// </summary>
|
||||
/// <param name="trialConfig"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPut]
|
||||
[TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "BeforeOngoingCantOpt", "AfterStopCannNotOpt" })]
|
||||
public async Task<IResponseOutput> ConfigTrialPACSInfo(TrialPACSConfig trialConfig)
|
||||
{
|
||||
var trialInfo = (await _trialRepository.FirstOrDefaultAsync(t => t.Id == trialConfig.TrialId)).IfNullThrowException();
|
||||
trialInfo.IsPACSConnect = trialConfig.IsPACSConnect;
|
||||
trialConfig.IsTrialPACSConfirmed = trialConfig.IsTrialPACSConfirmed;
|
||||
trialInfo.UpdateTime = DateTime.Now;
|
||||
await _trialRepository.SaveChangesAsync();
|
||||
|
||||
return ResponseOutput.Ok(await _repository.SaveChangesAsync());
|
||||
}
|
||||
|
||||
|
||||
[HttpGet("{trialId:guid}")]
|
||||
public async Task<IResponseOutput> IfTrialCanOngoing(Guid trialId)
|
||||
{
|
||||
|
@ -1318,7 +1337,7 @@ namespace IRaCIS.Core.Application
|
|||
|
||||
public async Task<IResponseOutput<List<TrialBodyPartView>>> GetTrialBodyPartList(Guid trialId)
|
||||
{
|
||||
var list = await _trialRepository.Where(t => t.Id == trialId).SelectMany(t => t.TrialBodyPartList).Select(t => new TrialBodyPartView() { Code = t.Code, Name = _userInfo.IsEn_Us ? t.Name : t.NameCN ,Id=t.Id,IsHandAdd=t.IsHandAdd}).ToListAsync();
|
||||
var list = await _trialRepository.Where(t => t.Id == trialId).SelectMany(t => t.TrialBodyPartList).Select(t => new TrialBodyPartView() { Code = t.Code, Name = _userInfo.IsEn_Us ? t.Name : t.NameCN, Id = t.Id, IsHandAdd = t.IsHandAdd }).ToListAsync();
|
||||
|
||||
return ResponseOutput.Ok(list);
|
||||
}
|
||||
|
|
|
@ -0,0 +1,149 @@
|
|||
//--------------------------------------------------------------------
|
||||
// 此代码由T4模板自动生成 byzhouhang 20210918
|
||||
// 生成时间 2024-03-22 15:44:31
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
|
||||
//--------------------------------------------------------------------
|
||||
|
||||
using IRaCIS.Core.Domain.Models;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using IRaCIS.Core.Application.Interfaces;
|
||||
using IRaCIS.Core.Application.ViewModel;
|
||||
using FellowOakDicom.Network.Client;
|
||||
using FellowOakDicom.Network;
|
||||
using IRaCIS.Application.Contracts;
|
||||
using IRaCIS.Core.Domain.Share;
|
||||
namespace IRaCIS.Core.Application.Service
|
||||
{
|
||||
/// <summary>
|
||||
/// DicomAEService
|
||||
/// </summary>
|
||||
[ApiExplorerSettings(GroupName = "Trial")]
|
||||
public class TrialDicomAEService : BaseService, IDicomAEService
|
||||
{
|
||||
|
||||
private readonly IRepository<TrialDicomAE> _dicomAERepository;
|
||||
private readonly IRepository<Trial> _trialRepository;
|
||||
|
||||
public TrialDicomAEService(IRepository<TrialDicomAE> dicomAERepository, IRepository<Trial> trialRepository)
|
||||
{
|
||||
_trialRepository = trialRepository;
|
||||
_dicomAERepository = dicomAERepository;
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public async Task<IResponseOutput<PageOutput<DicomAEView>>> GetDicomAEList(DicomAEQuery inQuery)
|
||||
{
|
||||
|
||||
var dicomAEQueryable = _dicomAERepository
|
||||
.WhereIf(!string.IsNullOrWhiteSpace(inQuery.IP), t => t.IP.Contains(inQuery.IP))
|
||||
.WhereIf(inQuery.Port != null, t => t.Port == inQuery.Port)
|
||||
.WhereIf(!string.IsNullOrWhiteSpace(inQuery.CalledAE), t => t.CalledAE.Contains(inQuery.CalledAE))
|
||||
.WhereIf(!string.IsNullOrWhiteSpace(inQuery.Description), t => t.Description.Contains(inQuery.Description))
|
||||
.WhereIf(!string.IsNullOrWhiteSpace(inQuery.Modality), t => t.Modality.Contains(inQuery.Modality))
|
||||
.ProjectTo<DicomAEView>(_mapper.ConfigurationProvider);
|
||||
|
||||
|
||||
|
||||
|
||||
var pageList = await dicomAEQueryable.ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, inQuery.SortField == string.Empty ? nameof(DicomAEView.CalledAE) : inQuery.SortField, inQuery.Asc);
|
||||
|
||||
|
||||
return ResponseOutput.Ok(pageList);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 获取项目dicom AE 配置信息,otherinfo里面有IsPACSConnect IsTrialPACSConfirmed
|
||||
/// </summary>
|
||||
/// <param name="trialId"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<IResponseOutput<DicomAEView>> GetTrialDicomAEList(Guid trialId)
|
||||
{
|
||||
var dicomAE = _dicomAERepository.Where(t => t.TrialId == trialId).ProjectTo<DicomAEView>(_mapper.ConfigurationProvider).FirstOrDefault();
|
||||
var trialConfig = _trialRepository.Where(t => t.Id == trialId).Select(t => new { t.IsPACSConnect, t.IsTrialPACSConfirmed });
|
||||
return ResponseOutput.Ok(dicomAE, trialConfig);
|
||||
|
||||
}
|
||||
|
||||
|
||||
public async Task<IResponseOutput> AddOrUpdateDicomAE(DicomAEAddOrEdit addOrEditDicomAE)
|
||||
{
|
||||
var verifyExp1 = new EntityVerifyExp<TrialDicomAE>()
|
||||
{
|
||||
VerifyExp = u => u.IP == addOrEditDicomAE.IP && u.Port == addOrEditDicomAE.Port && u.TrialId == addOrEditDicomAE.TrialId,
|
||||
|
||||
VerifyMsg = "不允许添加相同的IP和端口的记录"
|
||||
};
|
||||
|
||||
//var verifyExp2 = new EntityVerifyExp<TrialDicomAE>()
|
||||
//{
|
||||
// VerifyExp = u => u.TrialId == addOrEditDicomAE.TrialId,
|
||||
|
||||
// VerifyMsg = "只允许配置一条记录",
|
||||
// IsVerify=addOrEditDicomAE.Id==null
|
||||
//};
|
||||
|
||||
// 在此处拷贝automapper 映射
|
||||
var entity = await _dicomAERepository.InsertOrUpdateAsync(addOrEditDicomAE, true, verifyExp1);
|
||||
|
||||
return ResponseOutput.Ok(entity.Id.ToString());
|
||||
|
||||
}
|
||||
|
||||
|
||||
[HttpDelete("{dicomAEId:guid}")]
|
||||
public async Task<IResponseOutput> DeleteDicomAE(Guid dicomAEId)
|
||||
{
|
||||
var success = await _dicomAERepository.DeleteFromQueryAsync(t => t.Id == dicomAEId, true);
|
||||
return ResponseOutput.Ok();
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 测试scp server 是否可以连接
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet("{dicomAEId:guid}")]
|
||||
public async Task<bool> TestSCPServerConnect(Guid dicomAEId)
|
||||
{
|
||||
var find = await _dicomAERepository.FirstOrDefaultAsync(t => t.Id == dicomAEId);
|
||||
|
||||
if (find == null)
|
||||
{
|
||||
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
find.LatestTestTime = DateTime.Now;
|
||||
|
||||
try
|
||||
{
|
||||
var client = DicomClientFactory.Create(find.IP, find.Port, false, "test-callingAE", find.CalledAE);
|
||||
|
||||
client.NegotiateAsyncOps();
|
||||
|
||||
await client.AddRequestAsync(new DicomCEchoRequest());
|
||||
|
||||
await client.SendAsync();
|
||||
|
||||
find.IsTestOK = true;
|
||||
await _dicomAERepository.SaveChangesAsync();
|
||||
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
find.IsTestOK = false;
|
||||
await _dicomAERepository.SaveChangesAsync();
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,74 @@
|
|||
//--------------------------------------------------------------------
|
||||
// 此代码由T4模板自动生成 byzhouhang 20210918
|
||||
// 生成时间 2024-07-02 16:53:58
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
|
||||
//--------------------------------------------------------------------
|
||||
|
||||
using IRaCIS.Core.Domain.Models;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using IRaCIS.Core.Application.Interfaces;
|
||||
using IRaCIS.Core.Application.ViewModel;
|
||||
namespace IRaCIS.Core.Application.Service
|
||||
{
|
||||
/// <summary>
|
||||
/// TrialSiteDicomAEService
|
||||
/// </summary>
|
||||
[ApiExplorerSettings(GroupName = "Trial")]
|
||||
public class TrialSiteDicomAEService : BaseService, ITrialSiteDicomAEService
|
||||
{
|
||||
|
||||
private readonly IRepository<TrialSiteDicomAE> _trialSiteDicomAERepository;
|
||||
|
||||
public TrialSiteDicomAEService(IRepository<TrialSiteDicomAE> trialSiteDicomAERepository)
|
||||
{
|
||||
_trialSiteDicomAERepository = trialSiteDicomAERepository;
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public async Task<PageOutput<TrialSiteDicomAEView>> GetTrialSiteDicomAEList(TrialSiteDicomAEQuery inQuery)
|
||||
{
|
||||
|
||||
var trialSiteDicomAEQueryable =
|
||||
|
||||
_trialSiteDicomAERepository
|
||||
.WhereIf(!string.IsNullOrWhiteSpace(inQuery.IP), t => t.IP.Contains(inQuery.IP))
|
||||
.WhereIf(!string.IsNullOrWhiteSpace(inQuery.Port), t => t.Port.Contains(inQuery.Port))
|
||||
.WhereIf(!string.IsNullOrWhiteSpace(inQuery.Description), t => t.Description.Contains(inQuery.Description))
|
||||
.WhereIf(!string.IsNullOrWhiteSpace(inQuery.CallingAE), t => t.CallingAE.Contains(inQuery.CallingAE))
|
||||
.ProjectTo<TrialSiteDicomAEView>(_mapper.ConfigurationProvider);
|
||||
|
||||
var pageList = await trialSiteDicomAEQueryable
|
||||
.ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, string.IsNullOrWhiteSpace(inQuery.SortField) ? nameof(TrialSiteDicomAEView.Id) : inQuery.SortField,
|
||||
inQuery.Asc);
|
||||
|
||||
return pageList;
|
||||
}
|
||||
|
||||
|
||||
public async Task<IResponseOutput> AddOrUpdateTrialSiteDicomAE(TrialSiteDicomAEAddOrEdit addOrEditTrialSiteDicomAE)
|
||||
{
|
||||
var verifyExp1 = new EntityVerifyExp<TrialSiteDicomAE>()
|
||||
{
|
||||
VerifyExp = u => u.IP == addOrEditTrialSiteDicomAE.IP && u.Port == addOrEditTrialSiteDicomAE.Port &&u.CallingAE==addOrEditTrialSiteDicomAE.CallingAE && u.TrialId == addOrEditTrialSiteDicomAE.TrialId,
|
||||
|
||||
VerifyMsg = "不允许添加相同的IP和端口的记录"
|
||||
};
|
||||
|
||||
|
||||
var entity = await _trialSiteDicomAERepository.InsertOrUpdateAsync(addOrEditTrialSiteDicomAE, true, verifyExp1);
|
||||
|
||||
return ResponseOutput.Ok(entity.Id.ToString());
|
||||
|
||||
}
|
||||
|
||||
|
||||
[HttpDelete("{trialSiteDicomAEId:guid}")]
|
||||
public async Task<IResponseOutput> DeleteTrialSiteDicomAE(Guid trialSiteDicomAEId)
|
||||
{
|
||||
var success = await _trialSiteDicomAERepository.DeleteFromQueryAsync(t => t.Id == trialSiteDicomAEId, true);
|
||||
return ResponseOutput.Ok();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
|
@ -45,7 +45,11 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
CreateMap<AddOrUpdateTrialBodyPartCommand, TrialBodyPart>();
|
||||
|
||||
|
||||
|
||||
CreateMap<TrialSiteDicomAE, TrialSiteDicomAEView>();
|
||||
CreateMap<TrialSiteDicomAE, TrialSiteDicomAEAddOrEdit>().ReverseMap();
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,61 @@
|
|||
|
||||
//--------------------------------------------------------------------
|
||||
// 此代码由T4模板自动生成 byzhouhang 20210918
|
||||
// 生成时间 2024-05-24 14:31:45
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
|
||||
using System;
|
||||
using IRaCIS.Core.Domain.Share;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Collections.Generic;
|
||||
namespace IRaCIS.Core.Domain.Models
|
||||
{
|
||||
///<summary>
|
||||
///SCPImageUpload
|
||||
///</summary>
|
||||
[Table("SCPImageUpload")]
|
||||
public class SCPImageUpload : Entity, IAuditAdd
|
||||
{
|
||||
|
||||
|
||||
|
||||
[Required]
|
||||
public DateTime CreateTime { get; set; }
|
||||
|
||||
|
||||
[Required]
|
||||
public Guid CreateUserId { get; set; }
|
||||
|
||||
|
||||
[Required]
|
||||
public string CallingAE { get; set; }=string.Empty;
|
||||
|
||||
[Required]
|
||||
public string CalledAE { get; set; } = string.Empty;
|
||||
|
||||
|
||||
[Required]
|
||||
public string CallingAEIP { get; set; } = string.Empty;
|
||||
|
||||
|
||||
[Required]
|
||||
public DateTime StartTime { get; set; }
|
||||
|
||||
[Required]
|
||||
public DateTime EndTime { get; set; }
|
||||
|
||||
|
||||
[Required]
|
||||
public int FileCount { get; set; }
|
||||
|
||||
|
||||
[Required]
|
||||
public long FileSize { get; set; }
|
||||
|
||||
|
||||
public int StudyCount { get; set; }
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,53 @@
|
|||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace IRaCIS.Core.Domain.Models
|
||||
{
|
||||
[Table("SCPInstance")]
|
||||
public class SCPInstance : Entity, IAuditAdd, IAuditUpdate
|
||||
{
|
||||
[JsonIgnore]
|
||||
[ForeignKey("SeriesId")]
|
||||
public SCPSeries SCPSeries { get; set; }
|
||||
|
||||
[JsonIgnore]
|
||||
[ForeignKey("StudyId")]
|
||||
public SCPStudy SCPStudy { get; set; }
|
||||
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||||
|
||||
public Guid SeqId { get; set; }
|
||||
public Guid StudyId { get; set; }
|
||||
public Guid SeriesId { get; set; }
|
||||
public string StudyInstanceUid { get; set; }
|
||||
public string SeriesInstanceUid { get; set; }
|
||||
public string SopInstanceUid { get; set; }
|
||||
public int InstanceNumber { get; set; }
|
||||
public DateTime? InstanceTime { get; set; }
|
||||
public bool CPIStatus { get; set; }
|
||||
public int ImageRows { get; set; }
|
||||
public int ImageColumns { get; set; }
|
||||
public int SliceLocation { get; set; }
|
||||
|
||||
|
||||
public string SliceThickness { get; set; }
|
||||
public int NumberOfFrames { get; set; }
|
||||
public string PixelSpacing { get; set; }
|
||||
|
||||
public string ImagerPixelSpacing { get; set; }
|
||||
public string FrameOfReferenceUID { get; set; }
|
||||
public string WindowCenter { get; set; }
|
||||
public string WindowWidth { get; set; }
|
||||
|
||||
public bool Anonymize { get; set; }
|
||||
public string Path { get; set; } = string.Empty;
|
||||
|
||||
public Guid CreateUserId { get; set; }
|
||||
public DateTime CreateTime { get; set; } = DateTime.Now;
|
||||
public Guid UpdateUserId { get; set; }
|
||||
public DateTime UpdateTime { get; set; } = DateTime.Now;
|
||||
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,37 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace IRaCIS.Core.Domain.Models
|
||||
{
|
||||
[Table("SCPPatient")]
|
||||
public class SCPPatient : Entity, IAuditUpdate, IAuditAdd
|
||||
{
|
||||
public List<SCPStudy> SCPStudyList { get; set; }
|
||||
|
||||
public string PatientIdStr { get; set; } = string.Empty;
|
||||
public string PatientName { get; set; } = string.Empty;
|
||||
public string PatientAge { get; set; } = string.Empty;
|
||||
public string PatientSex { get; set; } = string.Empty;
|
||||
public string PatientBirthDate { get; set; } = string.Empty;
|
||||
|
||||
public Guid UpdateUserId { get; set; }
|
||||
public DateTime UpdateTime { get; set; } = DateTime.Now;
|
||||
public Guid CreateUserId { get; set; }
|
||||
public DateTime CreateTime { get; set; } = DateTime.Now;
|
||||
|
||||
|
||||
public DateTime? EarliestStudyTime { get; set; }
|
||||
|
||||
public DateTime? LatestStudyTime { get; set; }
|
||||
|
||||
public DateTime LatestPushTime { get; set; }
|
||||
|
||||
|
||||
[JsonIgnore]
|
||||
public Subject Subject { get; set; }
|
||||
public Guid? SubjectId { get; set; }
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,57 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace IRaCIS.Core.Domain.Models
|
||||
{
|
||||
[Table("SCPSeries")]
|
||||
public class SCPSeries : Entity, IAuditAdd, IAuditUpdate, ISoftDelete
|
||||
{
|
||||
[JsonIgnore]
|
||||
[ForeignKey("StudyId")]
|
||||
public SCPStudy SCPStudy { get; set; }
|
||||
|
||||
[JsonIgnore]
|
||||
public List<SCPInstance> SCPInstanceList { get; set; }
|
||||
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||||
public Guid SeqId { get; set; }
|
||||
public Guid StudyId { get; set; }
|
||||
public string StudyInstanceUid { get; set; }
|
||||
public string SeriesInstanceUid { get; set; }
|
||||
public int SeriesNumber { get; set; }
|
||||
public DateTime? SeriesTime { get; set; }
|
||||
public string Modality { get; set; }
|
||||
public string Description { get; set; }
|
||||
public int InstanceCount { get; set; }
|
||||
public string SliceThickness { get; set; }
|
||||
|
||||
public string ImagePositionPatient { get; set; }
|
||||
public string ImageOrientationPatient { get; set; }
|
||||
public string BodyPartExamined { get; set; }
|
||||
public string SequenceName { get; set; }
|
||||
public string ProtocolName { get; set; }
|
||||
public string ImagerPixelSpacing { get; set; }
|
||||
|
||||
public string AcquisitionTime { get; set; } = string.Empty;
|
||||
public string AcquisitionNumber { get; set; } = string.Empty;
|
||||
public string TriggerTime { get; set; } = string.Empty;
|
||||
|
||||
public string BodyPartForEdit { get; set; } = string.Empty;
|
||||
|
||||
public Guid CreateUserId { get; set; }
|
||||
public DateTime CreateTime { get; set; } = DateTime.Now;
|
||||
public Guid UpdateUserId { get; set; }
|
||||
public DateTime UpdateTime { get; set; } = DateTime.Now;
|
||||
|
||||
public DateTime? DeletedTime { get; set; }
|
||||
|
||||
public Guid? DeleteUserId { get; set; }
|
||||
public bool IsDeleted {get;set;}
|
||||
public bool IsReading { get; set; } = true;
|
||||
|
||||
public string ImageResizePath { get; set; }=string.Empty;
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,95 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace IRaCIS.Core.Domain.Models
|
||||
{
|
||||
[Table("SCPStudy")]
|
||||
public class SCPStudy : Entity, IAuditUpdate, IAuditAdd, ISoftDelete
|
||||
{
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//0 未知 1 单重 2 双重
|
||||
public bool IsDoubleReview { get; set; }
|
||||
|
||||
[JsonIgnore]
|
||||
public List<SCPInstance> InstanceList { get; set; }
|
||||
|
||||
[JsonIgnore]
|
||||
public List<SCPSeries> SeriesList { get; set; }
|
||||
|
||||
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||||
public Guid SeqId { get; set; }
|
||||
|
||||
[ForeignKey("PatientId")]
|
||||
[JsonIgnore]
|
||||
public SCPPatient Patient { get; set; }
|
||||
public Guid PatientId { get; set; }
|
||||
|
||||
|
||||
|
||||
|
||||
public string StudyInstanceUid { get; set; } = string.Empty;
|
||||
public DateTime? StudyTime { get; set; }
|
||||
public string Modalities { get; set; } = string.Empty;
|
||||
|
||||
public string Description { get; set; } = string.Empty;
|
||||
public int SeriesCount { get; set; } = 0;
|
||||
public int InstanceCount { get; set; } = 0;
|
||||
|
||||
|
||||
public string InstitutionName { get; set; } = string.Empty;
|
||||
public string PatientIdStr { get; set; } = string.Empty;
|
||||
public string PatientName { get; set; } = string.Empty;
|
||||
public string PatientAge { get; set; } = string.Empty;
|
||||
public string PatientSex { get; set; } = string.Empty;
|
||||
|
||||
public string StudyId { get; set; } = string.Empty;
|
||||
public string AccessionNumber { get; set; } = string.Empty;
|
||||
public string PatientBirthDate { get; set; } = string.Empty;
|
||||
public string AcquisitionTime { get; set; } = string.Empty;
|
||||
public string AcquisitionNumber { get; set; } = string.Empty;
|
||||
public string TriggerTime { get; set; } = string.Empty;
|
||||
|
||||
public string BodyPartExamined { get; set; } = string.Empty;
|
||||
|
||||
public string BodyPartForEdit { get; set; } = string.Empty;
|
||||
|
||||
public string ModalityForEdit { get; set; } = string.Empty;
|
||||
|
||||
|
||||
|
||||
public Guid UpdateUserId { get; set; }
|
||||
public DateTime UpdateTime { get; set; } = DateTime.Now;
|
||||
public Guid CreateUserId { get; set; }
|
||||
public DateTime CreateTime { get; set; } = DateTime.Now;
|
||||
|
||||
|
||||
//软删除
|
||||
public bool IsDeleted { get; set; }
|
||||
|
||||
public DateTime? DeletedTime { get; set; }
|
||||
|
||||
public Guid? DeleteUserId { get; set; }
|
||||
|
||||
public string CallingAE { get; set; } = string.Empty;
|
||||
|
||||
public string CalledAE { get; set; } = string.Empty;
|
||||
|
||||
public bool IsUploadFinished { get; set; }
|
||||
|
||||
|
||||
|
||||
|
||||
public Guid? SubjectVisitId { get; set; }
|
||||
|
||||
[JsonIgnore]
|
||||
public SubjectVisit SubjectVisit { get; set; }
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,52 @@
|
|||
|
||||
//--------------------------------------------------------------------
|
||||
// 此代码由T4模板自动生成 byzhouhang 20210918
|
||||
// 生成时间 2024-03-22 15:44:11
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
|
||||
using System;
|
||||
using IRaCIS.Core.Domain.Share;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
namespace IRaCIS.Core.Domain.Models
|
||||
{
|
||||
///<summary>
|
||||
///DicomAE
|
||||
///</summary>
|
||||
[Table("TrialDicomAE")]
|
||||
public class TrialDicomAE : Entity, IAuditUpdate, IAuditAdd
|
||||
{
|
||||
|
||||
public Guid TrialId { get; set; }
|
||||
|
||||
public DateTime CreateTime { get; set; }
|
||||
|
||||
|
||||
public Guid CreateUserId { get; set; }
|
||||
|
||||
|
||||
public Guid UpdateUserId { get; set; }
|
||||
|
||||
|
||||
public DateTime UpdateTime { get; set; }
|
||||
|
||||
public string CalledAE { get; set; } = string.Empty;
|
||||
|
||||
public string IP { get; set; }
|
||||
|
||||
|
||||
public int Port { get; set; }
|
||||
|
||||
|
||||
public string Modality { get; set; } = string.Empty;
|
||||
|
||||
|
||||
public string Description { get; set; }=string.Empty;
|
||||
|
||||
|
||||
public DateTime? LatestTestTime { get; set; }
|
||||
|
||||
public bool IsTestOK { get; set; }
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -401,7 +401,9 @@ namespace IRaCIS.Core.Domain.Models
|
|||
#endregion
|
||||
|
||||
|
||||
public bool IsPACSConnect { get; set; }
|
||||
|
||||
public bool IsTrialPACSConfirmed { get; set; }
|
||||
|
||||
///// <summary>
|
||||
///// 图像是否有标注
|
||||
|
|
|
@ -0,0 +1,59 @@
|
|||
|
||||
//--------------------------------------------------------------------
|
||||
// 此代码由T4模板自动生成 byzhouhang 20210918
|
||||
// 生成时间 2024-07-02 16:53:49
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
|
||||
using System;
|
||||
using IRaCIS.Core.Domain.Share;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
namespace IRaCIS.Core.Domain.Models
|
||||
{
|
||||
///<summary>
|
||||
///TrialSiteDicomAE
|
||||
///</summary>
|
||||
[Table("TrialSiteDicomAE")]
|
||||
public class TrialSiteDicomAE : Entity, IAuditUpdate, IAuditAdd
|
||||
{
|
||||
|
||||
|
||||
|
||||
public DateTime? DeletedTime { get; set; }
|
||||
|
||||
|
||||
public Guid TrialId { get; set; }
|
||||
|
||||
|
||||
public Guid UpdateUserId { get; set; }
|
||||
|
||||
|
||||
public Guid? DeleteUserId { get; set; }
|
||||
|
||||
|
||||
public DateTime CreateTime { get; set; }
|
||||
|
||||
|
||||
public Guid CreateUserId { get; set; }
|
||||
|
||||
public bool IsDeleted { get; set; }
|
||||
|
||||
public DateTime UpdateTime { get; set; }
|
||||
|
||||
|
||||
public Guid TrialSiteId { get; set; }
|
||||
|
||||
|
||||
public string CallingAE { get; set; }
|
||||
|
||||
|
||||
public string IP { get; set; }
|
||||
|
||||
|
||||
public string Port { get; set; }
|
||||
|
||||
|
||||
public string Description { get; set; }
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -483,6 +483,18 @@ namespace IRaCIS.Core.Infra.EFCore
|
|||
|
||||
public virtual DbSet<ExploreRecommend> ExploreRecommend { get; set; }
|
||||
|
||||
public virtual DbSet<SCPPatient> SCPPatient { get; set; }
|
||||
public virtual DbSet<SCPStudy> SCPStudy { get; set; }
|
||||
public virtual DbSet<SCPSeries> SCPSeries { get; set; }
|
||||
public virtual DbSet<SCPInstance> SCPInstance { get; set; }
|
||||
public virtual DbSet<TrialDicomAE> TrialDicomAE { get; set; }
|
||||
|
||||
|
||||
public virtual DbSet<TrialSiteDicomAE> TrialSiteDicomAE { get; set; }
|
||||
|
||||
|
||||
public virtual DbSet<SCPImageUpload> SCPImageUpload { get; set; }
|
||||
|
||||
|
||||
public override async Task<int> SaveChangesAsync(CancellationToken cancellationToken = new CancellationToken())
|
||||
{
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
public static readonly string ConnectionString = "Server=106.14.89.110,1435;Database=Test_IRC;User ID=sa;Password=xc@123456;TrustServerCertificate=true";
|
||||
public static readonly string DbDatabase = "Test_IRC";
|
||||
//表名称用字符串,拼接
|
||||
public static readonly string TableName = "ExploreRecommend";
|
||||
public static readonly string TableName = "TrialSiteDicomAE";
|
||||
//具体文件里面 例如service 可以配置是否分页
|
||||
}
|
||||
#>
|
||||
|
|
Loading…
Reference in New Issue