diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index 0ce2bb837..a5969cce7 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -3156,6 +3156,16 @@ 问题英文名称 + + + 分组名称 + + + + + 分组英文名称 + + 临床问题类型(分组,单选。) @@ -4276,6 +4286,46 @@ 序号标记 + + + 任务Id + + + + + 任务Id + + + + + StudyId + + + + + SeriesId + + + + + InstanceId + + + + + MeasureData + + + + + CreateTime + + + + + CreateUserId + + Name @@ -10830,6 +10880,14 @@ + + + 临床数据 --CRC 待确认 + + + + + CRC影像质疑待处理 --CRC 待办 @@ -12247,6 +12305,27 @@ + + + 提交自定义标记 + + + + + + + 删除自定义标记 + + + + + + + 获取自定义标记 + + + + 获取手册 diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs index ace7cc7da..d5055d242 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs @@ -327,7 +327,7 @@ namespace IRaCIS.Core.Application.Service var tableQuestions = await _trialClinicalTableQuestionRepository.Where(x => x.TrialClinicalId == formInfo.ClinicalDataTrialSetId) .ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); - + questions.ForEach(x => x.CreateTime = formInfo.CreateTime); var result = questions.Where(x => x.ClinicalQuestionType == ReadingQestionType.Group).ToList(); result.ForEach(x => @@ -363,7 +363,7 @@ namespace IRaCIS.Core.Application.Service if (inDto.ClinicalFormId!=null&&(await _readModuleCriterionFromRepository.AnyAsync(x => x.ClinicalFormId == inDto.ClinicalFormId.Value))) { - throw new BusinessValidationFailedException("当前表单已确认,无法修改!"); + throw new BusinessValidationFailedException(_localizer["ClinicalAnswer_translation"]); } var existsClinical = await _clinicalFormRepository.Where(x => @@ -375,7 +375,7 @@ namespace IRaCIS.Core.Application.Service if (existsClinical) { - throw new BusinessValidationFailedException("已经添加过临床数据,不允许多次添加!"); + throw new BusinessValidationFailedException(_localizer["ClinicalAnswer_duplicateData"]); } try { @@ -392,7 +392,7 @@ namespace IRaCIS.Core.Application.Service { if (await _readModuleRepository.AnyAsync(x =>x.SubjectId== inDto.SubjectId&& x.SubjectVisit.LatestScanDate <= clinicalForm.CheckDate && x.IsCRCConfirm)) { - throw new BusinessValidationFailedException("无法添加和修改当前日期的临床数据,因为CRC已经确认!"); + throw new BusinessValidationFailedException(_localizer["ClinicalAnswer_unableToAddOrUpdate"]); } } @@ -478,7 +478,7 @@ namespace IRaCIS.Core.Application.Service if (await _readModuleCriterionFromRepository.AnyAsync(x => x.ClinicalFormId == inDto.ClinicalFormId)) { - throw new BusinessValidationFailedException("当前表单已确认,无法删除!"); + throw new BusinessValidationFailedException(_localizer["ClinicalAnswer_unableToDelete"]); } await _clinicalFormRepository.BatchDeleteNoTrackingAsync(x => x.Id == inDto.ClinicalFormId); @@ -549,7 +549,7 @@ namespace IRaCIS.Core.Application.Service }); - var result = await query.ToPagedListAsync(inDto.PageIndex, inDto.PageSize, string.IsNullOrWhiteSpace(inDto.SortField) ? nameof(GetCRCConfirmListOutDto.LatestScanDate) : inDto.SortField, inDto.Asc); + var result = await query.ToPagedListAsync(inDto.PageIndex, inDto.PageSize, new string[2] { "SubjectCode asc", "LatestScanDate asc" }); var formList = await _clinicalFormRepository.Where(x => x.TrialId == inDto.TrialId) .Where(x => x.ClinicalDataTrialSet.UploadRole == UploadRole.CRC) @@ -771,7 +771,7 @@ namespace IRaCIS.Core.Application.Service SubjectId= readModule.SubjectId, IsCRCConfirm=false, TrialReadingCriterionId = readModule.TrialReadingCriterionId, - ReadModuleId = inDto.ReadModuleId, + //ReadModuleId = inDto.ReadModuleId, PageIndex =1, PageSize=9999, })).CurrentPageData.ToList(); @@ -839,12 +839,12 @@ namespace IRaCIS.Core.Application.Service if (dataList.Any(x => x.IsCRCConfirm && x.LatestScanDate > presentData.LatestScanDate && x.ReadingSetType == presentData.ReadingSetType)) { - throw new BusinessValidationFailedException("当前数据并非最后一条确认信息,无法取消!"); + throw new BusinessValidationFailedException(_localizer["ClinicalAnswer_unableToCancel"]); } if(presentData.IsPMConfirm) { - throw new BusinessValidationFailedException("PM已确认,无法取消!"); + throw new BusinessValidationFailedException(_localizer["ClinicalAnswer_unableToCancelPMConfirmed"]); } if (presentData.IsNotNeedPMConfirm) @@ -883,17 +883,17 @@ namespace IRaCIS.Core.Application.Service var readModuleData = await _readModuleRepository.Where(x => x.Id == inDto.ReadModuleId).FirstNotNullAsync(); if (!readModuleData.IsCRCConfirm) { - throw new BusinessValidationFailedException("CRC还未确认数据,PM无法操作"); + throw new BusinessValidationFailedException(_localizer["ClinicalAnswer_PMUnableToOperate"]); } if (readModuleData.IsCRCApplicationRevoke && inDto.IsConfirm) { - throw new BusinessValidationFailedException("CRC正在申请退回,PM无法确认"); + throw new BusinessValidationFailedException(_localizer["ClinicalAnswer_PMUnableToConfirm"]); } if (!readModuleData.IsCRCApplicationRevoke && !inDto.IsConfirm) { - throw new BusinessValidationFailedException("CRC未申请退回,PM无法撤销"); + throw new BusinessValidationFailedException(_localizer["ClinicalAnswer_PMUnableToWithdraw"]); } if (inDto.IsConfirm) diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalDataSetService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalDataSetService.cs index 297083244..e05935740 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalDataSetService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalDataSetService.cs @@ -68,7 +68,7 @@ namespace IRaCIS.Application.Services if (_systemClinicalQuestionRepository.Where(x => x.SystemClinicalId == inDto.SystemClinicalId).Count() == 0) { - throw new BusinessValidationFailedException("当前临床数据未配置问题,请先配置问题之后再应用"); + throw new BusinessValidationFailedException(_localizer["ClinicalComment_dataNotConfigured"]); } if (isNeedVerify&&_systemClinicalQuestionRepository.Where(x => x.SystemClinicalId == inDto.SystemClinicalId && x.IsCheckDate).Count() != 1) { @@ -103,7 +103,7 @@ namespace IRaCIS.Application.Services if (_trialClinicalQuestionRepository.Where(x => x.TrialClinicalId == inDto.TrialClinicalId).Count() == 0) { - throw new BusinessValidationFailedException("当前临床数据未配置问题,请先配置问题之后再应用"); + throw new BusinessValidationFailedException(_localizer["ClinicalComment_dataNotConfigured"]); } if (isNeedVerify&&_trialClinicalQuestionRepository.Where(x => x.TrialClinicalId == inDto.TrialClinicalId && x.IsCheckDate).Count() != 1) diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalQuestionService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalQuestionService.cs index f833223d8..2b1a77e52 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalQuestionService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalQuestionService.cs @@ -123,7 +123,7 @@ namespace IRaCIS.Core.Application.Service var tableQuestions= await _systemClinicalTableQuestionRepository.Where(x => x.SystemClinicalId == inDto.SystemClinicalId) .ProjectTo(_mapper.ConfigurationProvider).OrderBy(x => x.ShowOrder).ToListAsync(); - + questions.ForEach(x => x.CreateTime = null); var result = questions.Where(x => x.ClinicalQuestionType == ReadingQestionType.Group).ToList(); result.ForEach(x => @@ -149,7 +149,7 @@ namespace IRaCIS.Core.Application.Service var tableQuestions = await _trialClinicalTableQuestionRepository.Where(x => x.TrialClinicalId == inDto.TrialClinicalId) .ProjectTo(_mapper.ConfigurationProvider).OrderBy(x => x.ShowOrder).ToListAsync(); - + questions.ForEach(x => x.CreateTime = null); var result = questions.Where(x => x.ClinicalQuestionType == ReadingQestionType.Group).OrderBy(x => x.ShowOrder).ToList(); result.ForEach(x => diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs index cee7930b8..34f438404 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs @@ -8,6 +8,7 @@ using Panda.DynamicWebApi.Attributes; using Microsoft.Extensions.DependencyInjection; using System.Linq.Expressions; using IRaCIS.Core.Infrastructure; +using System.Linq.Dynamic.Core; namespace IRaCIS.Application.Services { @@ -673,7 +674,7 @@ namespace IRaCIS.Application.Services .WhereIf(inDto.ReadingClinicalDataId != null, x => x.Id == inDto.ReadingClinicalDataId) .WhereIf(inDto.ClinicalDataTrialSetId != null, x => x.ClinicalDataTrialSetId == inDto.ClinicalDataTrialSetId) .WhereIf(inDto.SelectIsSign, x => x.IsSign == true) - .Where(x => x.ReadingId == inDto.ReadingId || (x.SubjectId == inDto.SubjectId && x.ClinicalDataTrialSet.ClinicalDataLevel == ClinicalLevel.Subject)) + .Where(x => x.ReadingId == inDto.ReadingId) .Select(x => new GetReadingClinicalDataListOutDto() { ClinicalDataLevel = x.ClinicalDataTrialSet.ClinicalDataLevel, @@ -735,10 +736,11 @@ namespace IRaCIS.Application.Services }).ToListAsync(); - var setIds = moduleCriterionFromList.Select(x=>x.ClinicalDataTrialSetId).Distinct().ToList(); - var clinicalresult = await _clinicalDataTrialSetRepository.Where(x => x.UploadRole == UploadRole.CRC && (x.ClinicalDataLevel == ClinicalLevel.OncologyRead || x.ClinicalDataLevel == ClinicalLevel.ImageRead)) - .Where(x => setIds.Contains(x.Id)) - + + var clinicalresult = await _clinicalDataTrialSetRepository.Where(x => x.UploadRole == UploadRole.CRC && x.ClinicalUploadType == ClinicalUploadType.Structuring) + .WhereIf(readModule.ReadingSetType == ReadingSetType.ImageReading, x => x.ClinicalDataLevel == ClinicalLevel.ImageRead) + .WhereIf(readModule.ReadingSetType == ReadingSetType.TumorReading, x => x.ClinicalDataLevel == ClinicalLevel.OncologyRead) + .Where(x=>x.TrialClinicalDataSetCriteriaList.Any(y=>y.TrialReadingCriterionId==readModule.TrialReadingCriterionId)) .Select(x => new GetReadingClinicalDataListOutDto() { @@ -905,10 +907,12 @@ namespace IRaCIS.Application.Services }).ToListAsync(); - var setIds = moduleCriterionFromList.Select(x => x.ClinicalDataTrialSetId).Distinct().ToList(); - var clinicalresult = await _clinicalDataTrialSetRepository.Where(x => x.UploadRole == UploadRole.CRC && (x.ClinicalDataLevel == ClinicalLevel.OncologyRead || x.ClinicalDataLevel == ClinicalLevel.ImageRead)) - .Where(x => setIds.Contains(x.Id)) - .Select(x => new GetReadingClinicalDataListOutDto() + + var clinicalresult = await _clinicalDataTrialSetRepository.Where(x => x.UploadRole == UploadRole.CRC&&x.ClinicalUploadType== ClinicalUploadType.Structuring) + .WhereIf(readModule.ReadingSetType == ReadingSetType.ImageReading,x=>x.ClinicalDataLevel== ClinicalLevel.ImageRead) + .WhereIf(readModule.ReadingSetType == ReadingSetType.TumorReading, x => x.ClinicalDataLevel == ClinicalLevel.OncologyRead) + .Where(x => x.TrialClinicalDataSetCriteriaList.Any(y => y.TrialReadingCriterionId == readModule.TrialReadingCriterionId)) + .Select(x => new GetReadingClinicalDataListOutDto() { ClinicalDataLevel = x.ClinicalDataLevel, diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalQuestionDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalQuestionDto.cs index d5c21ac55..a1988b83e 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalQuestionDto.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalQuestionDto.cs @@ -111,6 +111,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public string Answer { get; set; } = string.Empty; + public DateTime? CreateTime { get; set; } + /// /// 子问题 /// @@ -169,6 +171,16 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// public string QuestionEnName { get; set; } = string.Empty; + /// + /// 分组名称 + /// + public string? GroupName { get; set; } = string.Empty; + + /// + /// 分组英文名称 + /// + public string? GroupEnName { get; set; } = string.Empty; + /// /// 临床问题类型(分组,单选。) /// diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs index 74b2d2297..60cc90cc6 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs @@ -332,6 +332,54 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public List AnswerList { get; set; } = new List(); } + public class GetCustomTagInDto + { + /// + /// 任务Id + /// + public Guid VisitTaskId { get; set; } + } + + public class ReadingCustomTagDto + { + public Guid? Id { get; set; } + + /// + /// 任务Id + /// + public Guid VisitTaskId { get; set; } + + /// + /// StudyId + /// + public Guid? StudyId { get; set; } + + /// + /// SeriesId + /// + public Guid? SeriesId { get; set; } + + /// + /// InstanceId + /// + public Guid? InstanceId { get; set; } + + /// + /// MeasureData + /// + public string MeasureData { get; set; } + + /// + /// CreateTime + /// + public DateTime CreateTime { get; set; } + + /// + /// CreateUserId + /// + public Guid CreateUserId { get; set; } + } + public class GetManualListInDto { public Guid TrialId { get; set; } diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index ba791cea0..0f5a5f4c6 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -45,6 +45,7 @@ namespace IRaCIS.Application.Services private readonly IRepository _organInfoRepository; private readonly IRepository _trialDocumentRepository; private readonly IRepository _userRepository; + private readonly IRepository _readingCustomTagRepository; private readonly IRepository _readingCriterionDictionaryRepository; private readonly IRepository _readingTrialCriterionDictionaryRepository; private readonly IRepository _tumorAssessmentRepository; @@ -84,6 +85,7 @@ namespace IRaCIS.Application.Services IRepository organInfoRepository, IRepository trialDocumentRepository, IRepository userRepository, + IRepository readingCustomTagRepository, IMemoryCache cache, IRepository readingCriterionDictionaryRepository, IRepository readingTrialCriterionDictionaryRepository, @@ -121,6 +123,7 @@ namespace IRaCIS.Application.Services this._organInfoRepository = organInfoRepository; this._trialDocumentRepository = trialDocumentRepository; this._userRepository = userRepository; + this._readingCustomTagRepository = readingCustomTagRepository; this._readingCriterionDictionaryRepository = readingCriterionDictionaryRepository; this._tumorAssessmentRepository = tumorAssessmentRepository; this._readingTableAnswerRowInfoRepository = readingTableAnswerRowInfoRepository; @@ -138,6 +141,43 @@ namespace IRaCIS.Application.Services this._trialEmailNoticeConfigService = trialEmailNoticeConfigService; } + /// + /// 提交自定义标记 + /// + /// + /// + [HttpPost] + public async Task SubmitCustomTag(ReadingCustomTagDto inDto) + { + var entity = await _readingCustomTagRepository.InsertOrUpdateAsync(inDto, true); + return ResponseOutput.Ok(entity.Id.ToString()); + } + + /// + /// 删除自定义标记 + /// + /// + /// + [HttpPost("{id:guid}")] + public async Task DeleteCustomTag(Guid id) + { + var success = await _readingCustomTagRepository.DeleteFromQueryAsync(t => t.Id == id, true); + return ResponseOutput.Ok(); + } + + + /// + /// 获取自定义标记 + /// + /// + /// + [HttpPost] + public async Task> GetCustomTag(GetCustomTagInDto inQuery) + { + var result= await _readingCustomTagRepository.Where(x => x.VisitTaskId == inQuery.VisitTaskId).ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); + return result; + } + /// /// 获取手册 /// diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadModuleService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadModuleService.cs index 959e29a84..87908db6a 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadModuleService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadModuleService.cs @@ -8,6 +8,7 @@ using IRaCIS.Core.Application.Service; using IRaCIS.Core.Application.ViewModel; using IRaCIS.Core.Infrastructure; using IRaCIS.Core.Application.Filter; +using IRaCIS.Core.Domain.Models; namespace IRaCIS.Application.Services { @@ -118,6 +119,13 @@ namespace IRaCIS.Application.Services [HttpPost] public async Task ChangeCutOffVisit(ChangeCutOffVisitInDto inDto) { + + if (await _readModuleRepository.AnyAsync(x => x.Id == inDto.Id && x.IsCRCConfirm)) + { + //---CRC已经确认临床数据 不允许编辑 + throw new BusinessValidationFailedException(_localizer["ReadModule_CRCConfirmCanNtoEdit"]); + } + await _readModuleRepository.UpdatePartialFromQueryAsync(x => x.Id == inDto.Id, x => new ReadModule() { SubjectVisitId=inDto.SubjectVisitIdId, ModuleName=inDto.Name, @@ -483,9 +491,9 @@ namespace IRaCIS.Application.Services return ResponseOutput.NotOk(_localizer["ReadModule_SignedDataCannotDelete"]); } - await _readModuleCriterionFromRepository.BatchDeleteNoTrackingAsync(x => x.ReadModuleId == readModuleId); + - if (await _readModuleCriterionFromRepository.AnyAsync(x => x.ReadModuleId == readModuleId)) + if (await _readModuleRepository.AnyAsync(x => x.Id == readModuleId&&x.IsCRCConfirm)) { //---CRC已经确认临床数据 不允许删除 return ResponseOutput.NotOk(_localizer["ReadModule_CRCConfirmClinicalData"]); diff --git a/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs b/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs index 1f39bf5a9..47aff4eb7 100644 --- a/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs +++ b/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs @@ -18,10 +18,15 @@ namespace IRaCIS.Core.Application.Service var isEn_Us=false; #region 临床问题 - CreateMap(); + CreateMap() + .ForMember(d => d.GroupName, opt => opt.MapFrom(src => src.GroupQuestin.QuestionName)) + .ForMember(d => d.GroupEnName, opt => opt.MapFrom(src => src.GroupQuestin.QuestionEnName)); + CreateMap(); - CreateMap(); + CreateMap() + .ForMember(d => d.GroupName, opt => opt.MapFrom(src => src.GroupQuestin.QuestionName)) + .ForMember(d => d.GroupEnName, opt => opt.MapFrom(src => src.GroupQuestin.QuestionEnName)); CreateMap(); CreateMap(); @@ -54,7 +59,10 @@ namespace IRaCIS.Core.Application.Service CreateMap(); - CreateMap(); + CreateMap(); + CreateMap(); + + CreateMap(); CreateMap().ReverseMap(); CreateMap(); diff --git a/IRaCIS.Core.Domain/Reading/ClinicalQuestion/SystemClinicalQuestion.cs b/IRaCIS.Core.Domain/Reading/ClinicalQuestion/SystemClinicalQuestion.cs index 0905c294e..6be623736 100644 --- a/IRaCIS.Core.Domain/Reading/ClinicalQuestion/SystemClinicalQuestion.cs +++ b/IRaCIS.Core.Domain/Reading/ClinicalQuestion/SystemClinicalQuestion.cs @@ -143,7 +143,14 @@ namespace IRaCIS.Core.Domain.Models /// public string CalculateQuestions { get; set; } = "[]"; - [NotMapped] + /// + /// 分组 + /// + [JsonIgnore] + [ForeignKey("GroupId")] + public SystemClinicalQuestion GroupQuestin { get; set; } + + [NotMapped] public List CalculateQuestionList { get diff --git a/IRaCIS.Core.Domain/Reading/ClinicalQuestion/TrialClinicalQuestion.cs b/IRaCIS.Core.Domain/Reading/ClinicalQuestion/TrialClinicalQuestion.cs index 931484b8c..e57916f05 100644 --- a/IRaCIS.Core.Domain/Reading/ClinicalQuestion/TrialClinicalQuestion.cs +++ b/IRaCIS.Core.Domain/Reading/ClinicalQuestion/TrialClinicalQuestion.cs @@ -133,6 +133,13 @@ namespace IRaCIS.Core.Domain.Models /// public ClinicalCalculateMark? CustomCalculateMark { get; set; } + /// + /// 分组 + /// + [JsonIgnore] + [ForeignKey("GroupId")] + public TrialClinicalQuestion GroupQuestin { get; set; } + /// /// 自定义计算问题 /// diff --git a/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingCustomTag.cs b/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingCustomTag.cs new file mode 100644 index 000000000..1409e8f3f --- /dev/null +++ b/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingCustomTag.cs @@ -0,0 +1,56 @@ + +//-------------------------------------------------------------------- +// 此代码由T4模板自动生成 byzhouhang 20210918 +// 生成时间 2023-07-31 11:12:15 +// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。 +using System; +using IRaCIS.Core.Domain.Share; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +namespace IRaCIS.Core.Domain.Models +{ + /// + ///ReadingCustomTag + /// + [Table("ReadingCustomTag")] + public class ReadingCustomTag : Entity, IAuditAdd + { + /// + /// 任务Id + /// + public Guid VisitTaskId { get; set; } + + /// + /// StudyId + /// + public Guid? StudyId { get; set; } + + /// + /// SeriesId + /// + public Guid? SeriesId { get; set; } + + /// + /// InstanceId + /// + public Guid? InstanceId { get; set; } + + /// + /// MeasureData + /// + public string MeasureData { get; set; } + + /// + /// CreateTime + /// + public DateTime CreateTime { get; set; } + + /// + /// CreateUserId + /// + public Guid CreateUserId { get; set; } + + } + + +} diff --git a/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs b/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs index 344cd1c73..9d2f16f52 100644 --- a/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs +++ b/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs @@ -216,6 +216,7 @@ namespace IRaCIS.Core.Infra.EFCore #region Reading public virtual DbSet TrialCriterionDictionaryCode { get; set; } + public virtual DbSet ReadingCustomTag { get; set; } public virtual DbSet SystemCriterionDictionaryCode { get; set; } public virtual DbSet ReadingTaskRelation { get; set; } public virtual DbSet OrganInfo { get; set; } diff --git a/IRaCIS.Core.Test/DbHelper.ttinclude b/IRaCIS.Core.Test/DbHelper.ttinclude index b0b701547..415c2a1c0 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 = "ReadModuleCriterionFrom"; + public static readonly string TableName = "ReadingCustomTag"; //ļ service Ƿҳ } #>