diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index 6f31a0dc8..81d2f3ea4 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -865,21 +865,6 @@ 文件路径 - - - 名称 - - - - - 临床级别 - - - - - 上传方式 - - 创建时间 @@ -890,26 +875,11 @@ 创建人 - - - 上传角色 - - - - - 项目ID - - 系统的ClinicalDataSetId - - - 是否勾选 - - 是否来自于系统数据 @@ -920,41 +890,6 @@ 是否使用 - - - 模板文件名称 - - - - - 文件路径 - - - - - 枚举 - - - - - 名称 - - - - - 临床级别 - - - - - 上传方式 - - - - - 上传角色 - - 创建时间 @@ -965,21 +900,6 @@ 创建人 - - - 是否启用 - - - - - 模板文件名称 - - - - - 文件路径 - - 项目Id @@ -1040,6 +960,11 @@ 上传方式 + + + 是否启用 + + 项目中心Code @@ -7620,13 +7545,6 @@ 临床数据配置 - - - 新增或者修改(项目) - - - - 新增或者修改(系统) @@ -7640,6 +7558,20 @@ + + + 删除(系统) + + + + + + + 新增或者修改(项目) + + + + 获取项目的临床数据 @@ -7647,13 +7579,6 @@ - - - 将系统配置添加到项目配置 - - - - 删除(项目) @@ -7661,11 +7586,11 @@ - + - 删除(系统) + 将系统配置添加到项目配置 - + diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalDataSetService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalDataSetService.cs index 169e821ad..87b745a81 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalDataSetService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalDataSetService.cs @@ -1,11 +1,4 @@ -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 Microsoft.AspNetCore.Mvc; using IRaCIS.Core.Application.Service.Reading.Dto; using MassTransit; @@ -19,22 +12,29 @@ namespace IRaCIS.Application.Services { public IRepository _subjectVisitRepository; - + private readonly IRepository _clinicalDataTrialSetRepository; private readonly IRepository _clinicalDataSystemSetRepository; private readonly IRepository _previousPDFRepository; private readonly IRepository _trialRepository; + private readonly IRepository _systemClinicalDataCriterionRepository; + private readonly IRepository _trialClinicalDataCriterionRepository; public ClinicalDataSetService(IRepository subjectVisitRepository, - + IRepository ClinicalDataTrialSetRepository, IRepository ClinicalDataSystemSetRepository, IRepository previousPDFRepository, - IRepository trialRepository + IRepository trialRepository, + + IRepository systemClinicalDataCriterionRepository, + IRepository trialClinicalDataCriterionRepository ) { + _systemClinicalDataCriterionRepository = systemClinicalDataCriterionRepository; + _trialClinicalDataCriterionRepository = trialClinicalDataCriterionRepository; _subjectVisitRepository = subjectVisitRepository; - + _clinicalDataTrialSetRepository = ClinicalDataTrialSetRepository; _clinicalDataSystemSetRepository = ClinicalDataSystemSetRepository; this._previousPDFRepository = previousPDFRepository; @@ -42,26 +42,8 @@ namespace IRaCIS.Application.Services } - /// - /// 新增或者修改(项目) - /// - /// - /// - [HttpPost] - public async Task AddOrUpdateClinicalDataTrialSet(ClinicalDataTrialSetAddOrEdit indto) - { - var existsQuery = _clinicalDataTrialSetRepository - .WhereIf(indto.Id != null, x => x.Id != indto.Id) - .Where(x => x.ClinicalDataSetName == indto.ClinicalDataSetName&&x.TrialId==indto.TrialId); - - if (await existsQuery.AnyAsync()) - { - return ResponseOutput.NotOk("存在同类型的临床数据,操作失败"); - } - var entity = await _clinicalDataTrialSetRepository.InsertOrUpdateAsync(indto,true); - return ResponseOutput.Ok(entity.Id.ToString()); - } + #region 系统 /// /// 新增或者修改(系统) /// @@ -79,7 +61,24 @@ namespace IRaCIS.Application.Services { return ResponseOutput.NotOk("存在同类型的临床数据,操作失败"); } - var entity = await _clinicalDataSystemSetRepository.InsertOrUpdateAsync(indto, true); + + var entity = await _clinicalDataSystemSetRepository.InsertOrUpdateAsync(indto); + + entity.SystemClinicalDataCriterionList = indto.SystemCriterionIdList.Select(t => new SystemClinicalDataCriterion() + { + SystemClinicalDataSetId = entity.Id, + SystemReadingCriterionId = t + }).ToList(); + + if (indto.Id != null) + { + await _systemClinicalDataCriterionRepository.BatchDeleteNoTrackingAsync(t => t.SystemClinicalDataSetId == entity.Id); + + await _systemClinicalDataCriterionRepository.AddRangeAsync(entity.SystemClinicalDataCriterionList); + } + + await _clinicalDataSystemSetRepository.SaveChangesAsync(); + return ResponseOutput.Ok(entity.Id.ToString()); } @@ -92,12 +91,67 @@ namespace IRaCIS.Application.Services { return await _clinicalDataSystemSetRepository.AsQueryable() .WhereIf(inDto.ClinicalDataLevel != null, x => x.ClinicalDataLevel == inDto.ClinicalDataLevel) - .WhereIf(inDto.ClinicalUploadType != null, x => x.ClinicalUploadType == inDto.ClinicalUploadType) + .WhereIf(inDto.ClinicalUploadType != null, x => x.ClinicalUploadType == inDto.ClinicalUploadType) .WhereIf(inDto.ClinicalDataSetName != String.Empty, x => x.ClinicalDataSetName.Contains(inDto.ClinicalDataSetName)) - .ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); + .ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); } + /// + /// 删除(系统) + /// + /// + /// + [HttpDelete("{id:guid}")] + public async Task DeleteClinicalSystemSetData(Guid id) + { + await _clinicalDataSystemSetRepository.DeleteFromQueryAsync(x => x.Id == id, true); + return ResponseOutput.Result(true); + } + + #endregion + + + + #region 项目 + /// + /// 新增或者修改(项目) + /// + /// + /// + [HttpPost] + public async Task AddOrUpdateClinicalDataTrialSet(ClinicalDataTrialSetAddOrEdit indto) + { + var existsQuery = _clinicalDataTrialSetRepository + .WhereIf(indto.Id != null, x => x.Id != indto.Id) + .Where(x => x.ClinicalDataSetName == indto.ClinicalDataSetName && x.TrialId == indto.TrialId); + + if (await existsQuery.AnyAsync()) + { + return ResponseOutput.NotOk("存在同类型的临床数据,操作失败"); + } + + var entity = await _clinicalDataTrialSetRepository.InsertOrUpdateAsync(indto, true); + + entity.TrialClinicalDataCriterionList = indto.TrialCriterionIdList.Select(t => new TrialClinicalDataCriterion() + { + TrialClinicalDataSetId = entity.Id, + TrialReadingCriterionId = t + }).ToList(); + + if (indto.Id != null) + { + await _trialClinicalDataCriterionRepository.BatchDeleteNoTrackingAsync(t => t.TrialClinicalDataSetId == entity.Id); + + await _trialClinicalDataCriterionRepository.AddRangeAsync(entity.TrialClinicalDataCriterionList); + } + await _clinicalDataTrialSetRepository.SaveChangesAsync(); + return ResponseOutput.Ok(entity.Id.ToString()); + } + + + + /// /// 获取项目的临床数据 @@ -109,17 +163,75 @@ namespace IRaCIS.Application.Services public async Task> GetTrialClinicalDataTrialSetList(GetTrialClinicalDataTrialIndto inDto) { await this.AddTrialClinicalDataTrialSet(inDto.TrialId); - var trialClinicalDataList= await _clinicalDataTrialSetRepository.AsQueryable() + var trialClinicalDataList = await _clinicalDataTrialSetRepository.AsQueryable() .Where(x => x.TrialId == inDto.TrialId) - .WhereIf(inDto.ClinicalDataLevel!=null,x=>x.ClinicalDataLevel== inDto.ClinicalDataLevel) - .WhereIf(inDto.ClinicalUploadType != null, x => x.ClinicalUploadType == inDto.ClinicalUploadType) - .WhereIf(inDto.ClinicalDataSetName != String.Empty, x => x.ClinicalDataSetName.Contains(inDto.ClinicalDataSetName)) + .WhereIf(inDto.ClinicalDataLevel != null, x => x.ClinicalDataLevel == inDto.ClinicalDataLevel) + .WhereIf(inDto.ClinicalUploadType != null, x => x.ClinicalUploadType == inDto.ClinicalUploadType) + .WhereIf(inDto.ClinicalDataSetName != String.Empty, x => x.ClinicalDataSetName.Contains(inDto.ClinicalDataSetName)) .ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); return trialClinicalDataList; } + + /// + /// 删除(项目) + /// + /// + /// + [HttpDelete("{id:guid}")] + public async Task DeleteClinicalTrialSetData(Guid id) + { + await _clinicalDataTrialSetRepository.DeleteFromQueryAsync(x => x.Id == id, true); + return ResponseOutput.Result(true); + } + + #endregion + + + #region 系统和项目标准下拉 和临床数据关联 + + [HttpPost] + public async Task> GetSystemCriterionSelectList(SystemCriterionSelectQuery inQuery) + { + return await _repository.Where() + .WhereIf(string.IsNullOrEmpty(inQuery.CriterionName), t => t.CriterionName.Contains(inQuery.CriterionName)) + .WhereIf(inQuery.IsEnable != null, t => t.IsEnable == inQuery.IsEnable) + .WhereIf(inQuery.IsCompleteConfig != null, t => t.IsCompleteConfig == inQuery.IsCompleteConfig) + .Select(t => new SystemCriterionSelectDto() + { + Id = t.Id, + CriterionName = t.CriterionName, + IsCompleteConfig = t.IsCompleteConfig, + IsEnable = t.IsEnable + }).ToListAsync(); + } + + + [HttpPost] + public async Task> GetTrialCriterionSelectList(TrialCriterionSelectQuery inQuery) + { + return await _repository.Where(t => t.TrialId == inQuery.TrialId) + .WhereIf(string.IsNullOrEmpty(inQuery.CriterionName), t => t.CriterionName.Contains(inQuery.CriterionName)) + .WhereIf(inQuery.IsEnable != null, t => t.IsEnable == inQuery.IsEnable) + .WhereIf(inQuery.IsCompleteConfig != null, t => t.IsCompleteConfig == inQuery.IsCompleteConfig) + .Select(t => new TrialCriterionSelectDto() + { + Id = t.Id, + CriterionName = t.CriterionName, + IsCompleteConfig = t.IsCompleteConfig, + IsEnable = t.IsEnable + }).ToListAsync(); + } + + + #endregion + + + + #region 将系统配置添加到项目配置 + /// /// 将系统配置添加到项目配置 /// @@ -134,7 +246,6 @@ namespace IRaCIS.Application.Services var systemClinicalDataList = await _clinicalDataSystemSetRepository.AsQueryable().ToListAsync(); var systemIds = systemClinicalDataList.Select(x => x.Id).ToList(); var trialSystemIds = await _clinicalDataTrialSetRepository.Where(x => x.TrialId == trialId && x.SystemClinicalDataSetId != null).Select(x => x.SystemClinicalDataSetId.Value).ToListAsync(); - //var needUpdateIds = systemIds.Intersect(trialSystemIds).ToList(); var needAddids = systemIds.Except(trialSystemIds).ToList(); var systemDataList = systemClinicalDataList.Where(x => needAddids.Contains(x.Id)).ToList(); @@ -150,8 +261,12 @@ namespace IRaCIS.Application.Services Path = x.Path, TrialId = trialId, + }).ToList(); + + dataSets.ForEach(x=>x.TrialClinicalDataCriterionList = systemClinicalDataList.Where(t=>t.Id==x.SystemClinicalDataSetId).Select(t => new TrialClinicalDataCriterion() { TrialReadingCriterionId =x.Id}).ToList()); + await _clinicalDataTrialSetRepository.AddRangeAsync(dataSets); //var needUpdateitemList = await _clinicalDataTrialSetRepository.Where(x => x.TrialId == trialId && needUpdateIds.Contains(x.SystemClinicalDataSetId.Value)).ToListAsync(); @@ -174,33 +289,10 @@ namespace IRaCIS.Application.Services SyncClinicalDataTime = DateTime.Now, }); var result = await _clinicalDataTrialSetRepository.SaveChangesAsync(); - + } } - - /// - /// 删除(项目) - /// - /// - /// - [HttpDelete("{id:guid}")] - public async Task DeleteClinicalTrialSetData(Guid id) - { - await _clinicalDataTrialSetRepository.DeleteFromQueryAsync(x=>x.Id== id,true); - return ResponseOutput.Result(true); - } - - /// - /// 删除(系统) - /// - /// - /// - [HttpDelete("{id:guid}")] - public async Task DeleteClinicalSystemSetData(Guid id) - { - await _clinicalDataSystemSetRepository.DeleteFromQueryAsync(x => x.Id == id, true); - return ResponseOutput.Result(true); - } + #endregion } } diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalDataServiceViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalDataServiceViewModel.cs index 46a3103a1..84f1c9f16 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalDataServiceViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalDataServiceViewModel.cs @@ -7,15 +7,13 @@ using System.Threading.Tasks; namespace IRaCIS.Core.Application.Service.Reading.Dto { - - public class ClinicalDataTrialSetAddOrEdit + + public class ClinicalDataTrialSetAddOrEdit { public Guid? Id { get; set; } - - /// /// 名称 /// @@ -61,6 +59,9 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// 文件路径 /// public string Path { get; set; } + + + public List TrialCriterionIdList { get; set; } } public class ClinicalDataSystemSetAddOrEdit @@ -110,30 +111,17 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public string Path { get; set; } + public List SystemCriterionIdList { get; set; } + + } - - public class ClinicalDataTrialSetView + + public class ClinicalDataTrialSetView: ClinicalDataTrialSetAddOrEdit { - - public Guid Id { get; set; } - - /// - /// 名称 - /// - public string ClinicalDataSetName { get; set; } - - /// - /// 临床级别 - /// - public ClinicalLevel ClinicalDataLevel { get; set; } - - - /// - /// 上传方式 - /// - public ClinicalUploadType ClinicalUploadType { get; set; } + public List TrialCriterionNameList { get; set; } + /// /// 创建时间 @@ -145,26 +133,14 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// public Guid CreateUserId { get; set; } - /// - /// 上传角色 - /// - public UploadRole UploadRole { get; set; } - /// - /// 项目ID - /// - public Guid TrialId { get; set; } - /// /// 系统的ClinicalDataSetId /// public Guid? SystemClinicalDataSetId { get; set; } - /// - /// 是否勾选 - /// - public bool IsConfirm { get; set; } + /// /// 是否来自于系统数据 @@ -182,48 +158,13 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// public bool IsUsed { get; set; } = false; - /// - /// 模板文件名称 - /// - public string FileName { get; set; } - - /// - /// 文件路径 - /// - public string Path { get; set; } } - public class ClinicalDataSystemSetView + public class ClinicalDataSystemSetView : ClinicalDataSystemSetAddOrEdit { - public Guid Id { get; set; } - - /// - /// 枚举 - /// - public int ClinicalDataSetEnum { get; set; } - - /// - /// 名称 - /// - public string ClinicalDataSetName { get; set; } - - /// - /// 临床级别 - /// - public ClinicalLevel ClinicalDataLevel { get; set; } - - - /// - /// 上传方式 - /// - public ClinicalUploadType ClinicalUploadType { get; set; } - - /// - /// 上传角色 - /// - public UploadRole UploadRole { get; set; } + public List SystemCriterionNameList { get; set; } /// /// 创建时间 @@ -235,24 +176,6 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// public Guid CreateUserId { get; set; } - /// - /// 是否启用 - /// - public bool IsEnable { get; set; } - - /// - /// 模板文件名称 - /// - public string FileName { get; set; } - - /// - /// 文件路径 - /// - public string Path { get; set; } - - - - } public class ClinicalDataInDto @@ -313,7 +236,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public Guid TrialId { get; set; } - + public List ClinicalDataTrialIds { get; set; } } @@ -338,4 +261,66 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// public ClinicalUploadType? ClinicalUploadType { get; set; } } + + + + public class CriterionSelectDto + { + public Guid Id { get; set; } + + public string CriterionName { get; set; } + } + + public class SystemCriterionSelectDto + { + public Guid Id { get; set; } + + public string CriterionName { get; set; } + + + /// + /// 是否启用 + /// + public bool IsEnable { get; set; } + + public bool IsCompleteConfig { get; set; } + } + + public class TrialCriterionSelectDto + { + public Guid Id { get; set; } + + public string CriterionName { get; set; } + + public bool IsEnable { get; set; } + + public bool IsCompleteConfig { get; set; } + + public bool IsConfirm { get; set; } + } + + + + + + public class SystemCriterionSelectQuery + { + public string? CriterionName { get; set; } + + public bool? IsEnable { get; set; } + + public bool? IsCompleteConfig { get; set; } + } + + public class TrialCriterionSelectQuery + { + public Guid TrialId { get; set; } + public string? CriterionName { get; set; } + + public bool? IsEnable { get; set; } + + public bool? IsCompleteConfig { get; set; } + + public bool? IsConfirm { get; set; } + } } diff --git a/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs b/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs index 345dd9e79..037a3bb63 100644 --- a/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs +++ b/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs @@ -41,8 +41,13 @@ namespace IRaCIS.Core.Application.Service CreateMap().ReverseMap(); CreateMap() + .ForMember(t => t.TrialCriterionNameList, u => u.MapFrom(c => c.TrialClinicalDataCriterionList.Select(t => t.TrialReadingCriterion.CriterionName))) + .ForMember(t => t.TrialCriterionIdList, u => u.MapFrom(c => c.TrialClinicalDataCriterionList.Select(t => t.TrialReadingCriterion.Id))) .ForMember(d => d.IsUsed, u => u.MapFrom(s => s.ReadingClinicalDataList.Count()>0)); - CreateMap(); + + CreateMap() + .ForMember(t=>t.SystemCriterionNameList,u=>u.MapFrom(c=>c.SystemClinicalDataCriterionList.Select(t=>t.SystemReadingCriterion.CriterionName))) + .ForMember(t => t.SystemCriterionIdList, u => u.MapFrom(c => c.SystemClinicalDataCriterionList.Select(t => t.SystemReadingCriterion.Id))); CreateMap().ReverseMap(); diff --git a/IRaCIS.Core.Domain/Reading/ClinicalDataSystemSet.cs b/IRaCIS.Core.Domain/Reading/ClinicalData/ClinicalDataSystemSet.cs similarity index 88% rename from IRaCIS.Core.Domain/Reading/ClinicalDataSystemSet.cs rename to IRaCIS.Core.Domain/Reading/ClinicalData/ClinicalDataSystemSet.cs index ec23b97ea..44c3b80a3 100644 --- a/IRaCIS.Core.Domain/Reading/ClinicalDataSystemSet.cs +++ b/IRaCIS.Core.Domain/Reading/ClinicalData/ClinicalDataSystemSet.cs @@ -4,6 +4,7 @@ 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 { @@ -65,6 +66,8 @@ namespace IRaCIS.Core.Domain.Models /// public string Path { get; set; } + public List SystemClinicalDataCriterionList { get; set; } = new List(); + } diff --git a/IRaCIS.Core.Domain/Reading/ClinicalDataTrialSet.cs b/IRaCIS.Core.Domain/Reading/ClinicalData/ClinicalDataTrialSet.cs similarity index 92% rename from IRaCIS.Core.Domain/Reading/ClinicalDataTrialSet.cs rename to IRaCIS.Core.Domain/Reading/ClinicalData/ClinicalDataTrialSet.cs index bee4b4a54..842e46160 100644 --- a/IRaCIS.Core.Domain/Reading/ClinicalDataTrialSet.cs +++ b/IRaCIS.Core.Domain/Reading/ClinicalData/ClinicalDataTrialSet.cs @@ -83,6 +83,8 @@ namespace IRaCIS.Core.Domain.Models [ForeignKey("TrialId")] public Trial Trial { get; set; } + public List TrialClinicalDataCriterionList { get; set; } = new List(); + } diff --git a/IRaCIS.Core.Domain/Reading/ClinicalData/SystemClinicalDataCriterion.cs b/IRaCIS.Core.Domain/Reading/ClinicalData/SystemClinicalDataCriterion.cs new file mode 100644 index 000000000..a560a2a83 --- /dev/null +++ b/IRaCIS.Core.Domain/Reading/ClinicalData/SystemClinicalDataCriterion.cs @@ -0,0 +1,61 @@ + +//-------------------------------------------------------------------- +// 此代码由T4模板自动生成 byzhouhang 20210918 +// 生成时间 2022-10-14 09:26:02 +// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。 +using System; +using IRaCIS.Core.Domain.Share; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +namespace IRaCIS.Core.Domain.Models +{ + /// + ///SystemClinicalDataCriterion + /// + [Table("SystemClinicalDataCriterion")] + public class SystemClinicalDataCriterion : Entity, IAuditUpdate, IAuditAdd + { + + [ForeignKey("SystemClinicalDataSetId")] + public ClinicalDataSystemSet SystemClinicalDataSet { get; set; } + + + [ForeignKey("SystemReadingCriterionId")] + public ReadingQuestionCriterionSystem SystemReadingCriterion { get; set; } + + + [Required] + public Guid SystemClinicalDataSetId { get; set; } + + + [Required] + public Guid SystemReadingCriterionId { get; set; } + + /// + /// CreateTime + /// + [Required] + public DateTime CreateTime { get; set; } + + /// + /// CreateUserId + /// + [Required] + public Guid CreateUserId { get; set; } + + /// + /// UpdateTime + /// + [Required] + public DateTime UpdateTime { get; set; } + + /// + /// UpdateUserId + /// + [Required] + public Guid UpdateUserId { get; set; } + + } + + +} diff --git a/IRaCIS.Core.Domain/Reading/ClinicalData/TrialClinicalDataCriterion.cs b/IRaCIS.Core.Domain/Reading/ClinicalData/TrialClinicalDataCriterion.cs new file mode 100644 index 000000000..35e13b5a9 --- /dev/null +++ b/IRaCIS.Core.Domain/Reading/ClinicalData/TrialClinicalDataCriterion.cs @@ -0,0 +1,61 @@ + +//-------------------------------------------------------------------- +// 此代码由T4模板自动生成 byzhouhang 20210918 +// 生成时间 2022-10-14 09:26:02 +// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。 +using System; +using IRaCIS.Core.Domain.Share; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +namespace IRaCIS.Core.Domain.Models +{ + /// + ///TrialClinicalDataCriterion + /// + [Table("TrialClinicalDataCriterion")] + public class TrialClinicalDataCriterion : Entity, IAuditUpdate, IAuditAdd + { + + [ForeignKey("TrialClinicalDataSetId")] + public ClinicalDataSystemSet TrialClinicalDataSet { get; set; } + + [ForeignKey("TrialReadingCriterionId")] + public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; } + + [Required] + public Guid TrialClinicalDataSetId { get; set; } + + /// + /// TrialReadingCriterionId + /// + [Required] + public Guid TrialReadingCriterionId { get; set; } + + /// + /// CreateTime + /// + [Required] + public DateTime CreateTime { get; set; } + + /// + /// CreateUserId + /// + [Required] + public Guid CreateUserId { get; set; } + + /// + /// UpdateTime + /// + [Required] + public DateTime UpdateTime { get; set; } + + /// + /// UpdateUserId + /// + [Required] + public Guid UpdateUserId { get; set; } + + } + + +} diff --git a/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs b/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs index 959515560..469c57d57 100644 --- a/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs +++ b/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs @@ -259,6 +259,9 @@ namespace IRaCIS.Core.Infra.EFCore public virtual DbSet TumorAssessment { get; set; } + public virtual DbSet TrialClinicalDataCriterion { get; set; } + public virtual DbSet SystemClinicalDataCriterion { get; set; } + #endregion #region Subject and Visit and study diff --git a/IRaCIS.Core.Test/DbHelper.ttinclude b/IRaCIS.Core.Test/DbHelper.ttinclude index 344620e80..fc72b7d18 100644 --- a/IRaCIS.Core.Test/DbHelper.ttinclude +++ b/IRaCIS.Core.Test/DbHelper.ttinclude @@ -4,7 +4,7 @@ public static readonly string ConnectionString = "Server=123.56.94.154,1433\\MSSQLSERVER;Database=IRaCIS_New_Tet;User ID=sa;Password=dev123456DEV;TrustServerCertificate=true"; public static readonly string DbDatabase = "IRaCIS_New_Tet"; //ַ,ƴ - public static readonly string TableName = "ReadingTableAnswerRowInfo"; + public static readonly string TableName = "SystemClinicalDataCriterion,TrialClinicalDataCriterion"; //ļ service Ƿҳ } #>