IRC_NewDev
hang 2023-08-03 10:25:11 +08:00
commit 689cce246a
15 changed files with 302 additions and 32 deletions

View File

@ -3156,6 +3156,16 @@
问题英文名称
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalQuestionBase.GroupName">
<summary>
分组名称
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalQuestionBase.GroupEnName">
<summary>
分组英文名称
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalQuestionBase.ClinicalQuestionType">
<summary>
临床问题类型(分组,单选。)
@ -4276,6 +4286,46 @@
序号标记
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetCustomTagInDto.VisitTaskId">
<summary>
任务Id
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingCustomTagDto.VisitTaskId">
<summary>
任务Id
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingCustomTagDto.StudyId">
<summary>
StudyId
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingCustomTagDto.SeriesId">
<summary>
SeriesId
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingCustomTagDto.InstanceId">
<summary>
InstanceId
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingCustomTagDto.MeasureData">
<summary>
MeasureData
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingCustomTagDto.CreateTime">
<summary>
CreateTime
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingCustomTagDto.CreateUserId">
<summary>
CreateUserId
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetManualListOutDto.Name">
<summary>
Name
@ -10830,6 +10880,14 @@
<param name="_subjectVisitRepository"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.PersonalWorkstation.GetImageClinicalDataToBeConfirmList(IRaCIS.Core.Application.Contracts.ImageClinicalDataToBeDoneQuery,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SubjectVisit},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial})">
<summary>
临床数据 --CRC 待确认
</summary>
<param name="inQuery"></param>
<param name="_subjectVisitRepository"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.PersonalWorkstation.GetCRCImageQuestionToBeDoneList(IRaCIS.Core.Application.Contracts.ImageQuestionToBeDoneQuery,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SubjectVisit},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial})">
<summary>
CRC影像质疑待处理 --CRC 待办
@ -12247,6 +12305,27 @@
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Application.Services.ReadingImageTaskService.SubmitCustomTag(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCustomTagDto)">
<summary>
提交自定义标记
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Application.Services.ReadingImageTaskService.DeleteCustomTag(System.Guid)">
<summary>
删除自定义标记
</summary>
<param name="id"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Application.Services.ReadingImageTaskService.GetCustomTag(IRaCIS.Core.Application.Service.Reading.Dto.GetCustomTagInDto)">
<summary>
获取自定义标记
</summary>
<param name="inQuery"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Application.Services.ReadingImageTaskService.GetManualList(IRaCIS.Core.Application.Service.Reading.Dto.GetManualListInDto)">
<summary>
获取手册

View File

@ -327,7 +327,7 @@ namespace IRaCIS.Core.Application.Service
var tableQuestions = await _trialClinicalTableQuestionRepository.Where(x => x.TrialClinicalId == formInfo.ClinicalDataTrialSetId)
.ProjectTo<ClinicalTablePreviewDto>(_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)

View File

@ -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)

View File

@ -123,7 +123,7 @@ namespace IRaCIS.Core.Application.Service
var tableQuestions= await _systemClinicalTableQuestionRepository.Where(x => x.SystemClinicalId == inDto.SystemClinicalId)
.ProjectTo<ClinicalTablePreviewDto>(_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<ClinicalTablePreviewDto>(_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 =>

View File

@ -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,

View File

@ -111,6 +111,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public string Answer { get; set; } = string.Empty;
public DateTime? CreateTime { get; set; }
/// <summary>
/// 子问题
/// </summary>
@ -169,6 +171,16 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// </summary>
public string QuestionEnName { get; set; } = string.Empty;
/// <summary>
/// 分组名称
/// </summary>
public string? GroupName { get; set; } = string.Empty;
/// <summary>
/// 分组英文名称
/// </summary>
public string? GroupEnName { get; set; } = string.Empty;
/// <summary>
/// 临床问题类型(分组,单选。)
/// </summary>

View File

@ -332,6 +332,54 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public List<AdditionalQuestionAnswer> AnswerList { get; set; } = new List<AdditionalQuestionAnswer>();
}
public class GetCustomTagInDto
{
/// <summary>
/// 任务Id
/// </summary>
public Guid VisitTaskId { get; set; }
}
public class ReadingCustomTagDto
{
public Guid? Id { get; set; }
/// <summary>
/// 任务Id
/// </summary>
public Guid VisitTaskId { get; set; }
/// <summary>
/// StudyId
/// </summary>
public Guid? StudyId { get; set; }
/// <summary>
/// SeriesId
/// </summary>
public Guid? SeriesId { get; set; }
/// <summary>
/// InstanceId
/// </summary>
public Guid? InstanceId { get; set; }
/// <summary>
/// MeasureData
/// </summary>
public string MeasureData { get; set; }
/// <summary>
/// CreateTime
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// CreateUserId
/// </summary>
public Guid CreateUserId { get; set; }
}
public class GetManualListInDto
{
public Guid TrialId { get; set; }

View File

@ -45,6 +45,7 @@ namespace IRaCIS.Application.Services
private readonly IRepository<OrganInfo> _organInfoRepository;
private readonly IRepository<TrialDocument> _trialDocumentRepository;
private readonly IRepository<User> _userRepository;
private readonly IRepository<ReadingCustomTag> _readingCustomTagRepository;
private readonly IRepository<ReadingSystemCriterionDictionary> _readingCriterionDictionaryRepository;
private readonly IRepository<ReadingTrialCriterionDictionary> _readingTrialCriterionDictionaryRepository;
private readonly IRepository<TumorAssessment_RECIST1Point1> _tumorAssessmentRepository;
@ -84,6 +85,7 @@ namespace IRaCIS.Application.Services
IRepository<OrganInfo> organInfoRepository,
IRepository<TrialDocument> trialDocumentRepository,
IRepository<User> userRepository,
IRepository<ReadingCustomTag> readingCustomTagRepository,
IMemoryCache cache,
IRepository<ReadingSystemCriterionDictionary> readingCriterionDictionaryRepository,
IRepository<ReadingTrialCriterionDictionary> 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;
}
/// <summary>
/// 提交自定义标记
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
[HttpPost]
public async Task<IResponseOutput> SubmitCustomTag(ReadingCustomTagDto inDto)
{
var entity = await _readingCustomTagRepository.InsertOrUpdateAsync(inDto, true);
return ResponseOutput.Ok(entity.Id.ToString());
}
/// <summary>
/// 删除自定义标记
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpPost("{id:guid}")]
public async Task<IResponseOutput> DeleteCustomTag(Guid id)
{
var success = await _readingCustomTagRepository.DeleteFromQueryAsync(t => t.Id == id, true);
return ResponseOutput.Ok();
}
/// <summary>
/// 获取自定义标记
/// </summary>
/// <param name="inQuery"></param>
/// <returns></returns>
[HttpPost]
public async Task<List<ReadingCustomTagDto>> GetCustomTag(GetCustomTagInDto inQuery)
{
var result= await _readingCustomTagRepository.Where(x => x.VisitTaskId == inQuery.VisitTaskId).ProjectTo<ReadingCustomTagDto>(_mapper.ConfigurationProvider).ToListAsync();
return result;
}
/// <summary>
/// 获取手册
/// </summary>

View File

@ -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<bool> 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"]);

View File

@ -18,10 +18,15 @@ namespace IRaCIS.Core.Application.Service
var isEn_Us=false;
#region 临床问题
CreateMap<TrialClinicalQuestion, TrialClinicalQuestionDto>();
CreateMap<TrialClinicalQuestion, TrialClinicalQuestionDto>()
.ForMember(d => d.GroupName, opt => opt.MapFrom(src => src.GroupQuestin.QuestionName))
.ForMember(d => d.GroupEnName, opt => opt.MapFrom(src => src.GroupQuestin.QuestionEnName));
CreateMap<TrialClinicalQuestionDto, TrialClinicalQuestion>();
CreateMap<SystemClinicalQuestion, SystemClinicalQuestionDto>();
CreateMap<SystemClinicalQuestion, SystemClinicalQuestionDto>()
.ForMember(d => d.GroupName, opt => opt.MapFrom(src => src.GroupQuestin.QuestionName))
.ForMember(d => d.GroupEnName, opt => opt.MapFrom(src => src.GroupQuestin.QuestionEnName));
CreateMap<SystemClinicalQuestionDto, SystemClinicalQuestion>();
CreateMap<SystemClinicalTableQuestion, SystemClinicalTableQuestionDto>();
@ -54,7 +59,10 @@ namespace IRaCIS.Core.Application.Service
CreateMap<ShortcutKey, DefaultShortcutKeyView>();
CreateMap<UserWLTemplate, UserWLTemplateView>();
CreateMap<ReadingCustomTag, ReadingCustomTagDto>();
CreateMap<ReadingCustomTagDto, ReadingCustomTag>();
CreateMap<UserWLTemplate, UserWLTemplateView>();
CreateMap<UserWLTemplate,UserWLTemplateAddOrEdit>().ReverseMap();
CreateMap<ReadingPeriodSetAddOrEdit, ReadingPeriodSet>();

View File

@ -143,7 +143,14 @@ namespace IRaCIS.Core.Domain.Models
/// </summary>
public string CalculateQuestions { get; set; } = "[]";
[NotMapped]
/// <summary>
/// 分组
/// </summary>
[JsonIgnore]
[ForeignKey("GroupId")]
public SystemClinicalQuestion GroupQuestin { get; set; }
[NotMapped]
public List<CalculateInfo> CalculateQuestionList
{
get

View File

@ -133,6 +133,13 @@ namespace IRaCIS.Core.Domain.Models
/// </summary>
public ClinicalCalculateMark? CustomCalculateMark { get; set; }
/// <summary>
/// 分组
/// </summary>
[JsonIgnore]
[ForeignKey("GroupId")]
public TrialClinicalQuestion GroupQuestin { get; set; }
/// <summary>
/// 自定义计算问题
/// </summary>

View File

@ -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
{
///<summary>
///ReadingCustomTag
///</summary>
[Table("ReadingCustomTag")]
public class ReadingCustomTag : Entity, IAuditAdd
{
/// <summary>
/// 任务Id
/// </summary>
public Guid VisitTaskId { get; set; }
/// <summary>
/// StudyId
/// </summary>
public Guid? StudyId { get; set; }
/// <summary>
/// SeriesId
/// </summary>
public Guid? SeriesId { get; set; }
/// <summary>
/// InstanceId
/// </summary>
public Guid? InstanceId { get; set; }
/// <summary>
/// MeasureData
/// </summary>
public string MeasureData { get; set; }
/// <summary>
/// CreateTime
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// CreateUserId
/// </summary>
public Guid CreateUserId { get; set; }
}
}

View File

@ -216,6 +216,7 @@ namespace IRaCIS.Core.Infra.EFCore
#region Reading
public virtual DbSet<TrialCriterionDictionaryCode> TrialCriterionDictionaryCode { get; set; }
public virtual DbSet<ReadingCustomTag> ReadingCustomTag { get; set; }
public virtual DbSet<SystemCriterionDictionaryCode> SystemCriterionDictionaryCode { get; set; }
public virtual DbSet<ReadingTaskRelation> ReadingTaskRelation { get; set; }
public virtual DbSet<OrganInfo> OrganInfo { get; set; }

View File

@ -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 可以配置是否分页
}
#>