Merge branch 'Test_IRC_Net8' of https://gitea.frp.extimaging.com/XCKJ/irc-netcore-api into Test_IRC_Net8
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
commit
70443b7b8d
|
|
@ -2002,6 +2002,19 @@
|
|||
<param name="inQuery"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Service.UserAgreementService.GetCurrentVersionUserAgreements">
|
||||
<summary>
|
||||
获取当前版本的用户协议和隐私采集
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Service.UserAgreementService.GetUserAgreementById(IRaCIS.Core.Application.Service.DTO.GetUserAgreementByIdInDto)">
|
||||
<summary>
|
||||
根据Id获取用户协议和隐私采集
|
||||
</summary>
|
||||
<param name="inDto"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Service.UserAgreementService.SetCurrentVersion(IRaCIS.Core.Application.Service.DTO.SetUserAgreementCurrentVersionInDto)">
|
||||
<summary>
|
||||
设置为当前版本
|
||||
|
|
@ -2469,6 +2482,11 @@
|
|||
用户 签名某个文档 Dto
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Inspection.DTO.GetDataInspectionOutDto.CriterionType">
|
||||
<summary>
|
||||
标准枚举
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Inspection.DTO.GetDataInspectionOutDto.ParentIdentification">
|
||||
<summary>
|
||||
父标识
|
||||
|
|
@ -13209,7 +13227,7 @@
|
|||
<param name="inDto"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Service.ReadingImageTaskService.#ctor(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.NoneDicomStudy},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.VisitTask},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TaskInstance},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.NoneDicomStudyFile},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingNoneDicomMark},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.UserLog},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingTableQuestionAnswer},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingOncologyTaskInfo},IRaCIS.Core.Application.Service.IVisitTaskHelpeService,IRaCIS.Core.Application.Service.IVisitTaskService,IRaCIS.Core.Application.Contracts.IReadingClinicalDataService,IRaCIS.Core.Application.Service.IReadingCalculateService,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SubjectVisit},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Subject},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.UserFeedBack},Microsoft.Extensions.Options.IOptionsMonitor{IRaCIS.Core.Domain.Share.ServiceVerifyConfigOption},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingGlobalTaskInfo},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingCriterionPage},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingTaskRelation},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingJudgeInfo},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadModule},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.DicomInstance},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.OrganInfo},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.OrganTrialInfo},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TrialDocument},IRaCIS.Core.Application.Service.ReadingCalculate.Interface.ILuganoCalculateService,IRaCIS.Core.Application.Service.ReadingCalculate.Interface.ILuganoWithoutPETCalculateService,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingTaskQuestionMark},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingTrialCriterionDictionary},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingTableAnswerRowInfo},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingTableQuestionSystem},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingTableQuestionTrial},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingTaskQuestionAnswer},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingQuestionCriterionTrial},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingQuestionSystem},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.NoneDicomStudyFile},IRaCIS.Core.Application.Service.IGeneralCalculateService,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingQuestionTrial},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TaskStudy},IRaCIS.Core.Application.Service.ImageAndDoc.IDownloadAndUploadService,IRaCIS.Core.Application.Interfaces.ITrialEmailNoticeConfigService,AutoMapper.IMapper,IRaCIS.Core.Domain.Share.IUserInfo,Microsoft.Extensions.Localization.IStringLocalizer,ZiggyCreatures.Caching.Fusion.IFusionCache)">
|
||||
<member name="M:IRaCIS.Core.Application.Service.ReadingImageTaskService.#ctor(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.NoneDicomStudy},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.VisitTask},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TaskInstance},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.NoneDicomStudyFile},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingNoneDicomMark},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingNoneDicomMarkBinding},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.UserLog},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingTableQuestionAnswer},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingOncologyTaskInfo},IRaCIS.Core.Application.Service.IVisitTaskHelpeService,IRaCIS.Core.Application.Service.IVisitTaskService,IRaCIS.Core.Application.Contracts.IReadingClinicalDataService,IRaCIS.Core.Application.Service.IReadingCalculateService,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SubjectVisit},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Subject},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.UserFeedBack},Microsoft.Extensions.Options.IOptionsMonitor{IRaCIS.Core.Domain.Share.ServiceVerifyConfigOption},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingGlobalTaskInfo},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingCriterionPage},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingTaskRelation},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingJudgeInfo},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadModule},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.DicomInstance},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.OrganInfo},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.OrganTrialInfo},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TrialDocument},IRaCIS.Core.Application.Service.ReadingCalculate.Interface.ILuganoCalculateService,IRaCIS.Core.Application.Service.ReadingCalculate.Interface.ILuganoWithoutPETCalculateService,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingTaskQuestionMark},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingTrialCriterionDictionary},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingTableAnswerRowInfo},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingTableQuestionSystem},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingTableQuestionTrial},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingTaskQuestionAnswer},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingQuestionCriterionTrial},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingQuestionSystem},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.NoneDicomStudyFile},IRaCIS.Core.Application.Service.IGeneralCalculateService,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingQuestionTrial},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TaskStudy},IRaCIS.Core.Application.Service.ImageAndDoc.IDownloadAndUploadService,IRaCIS.Core.Application.Interfaces.ITrialEmailNoticeConfigService,AutoMapper.IMapper,IRaCIS.Core.Domain.Share.IUserInfo,Microsoft.Extensions.Localization.IStringLocalizer,ZiggyCreatures.Caching.Fusion.IFusionCache)">
|
||||
<summary>
|
||||
IR影像阅片
|
||||
</summary>
|
||||
|
|
@ -13650,6 +13668,27 @@
|
|||
<param name="inDto"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Service.ReadingImageTaskService.SaveAnswerAndBindingNoneDicomMark(IRaCIS.Core.Application.Service.Reading.Dto.AddNoneDicomMarkAndBinding)">
|
||||
<summary>
|
||||
保存答案和非Dicom标记绑定关系
|
||||
</summary>
|
||||
<param name="inDto"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Service.ReadingImageTaskService.DeleteBinding(IRaCIS.Core.Application.Service.Reading.Dto.DeleteBindingInDto)">
|
||||
<summary>
|
||||
删除绑定关系
|
||||
</summary>
|
||||
<param name="inDto"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Service.ReadingImageTaskService.GetNoneDicomMarkAndBinding(IRaCIS.Core.Application.Service.Reading.Dto.GetNoneDicomMarkAndBindingInDto)">
|
||||
<summary>
|
||||
获取非Dicom标记和绑定关系
|
||||
</summary>
|
||||
<param name="inDto"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Service.ReadingImageTaskService.AddNoneDicomMark(IRaCIS.Core.Application.Service.Reading.Dto.AddNoneDicomMarkInDto)">
|
||||
<summary>
|
||||
添加非Dicom标记
|
||||
|
|
@ -15262,6 +15301,11 @@
|
|||
<member name="T:IRaCIS.Core.Application.ViewModel.FrontAuditConfigAddOrEdit">
|
||||
<summary> FrontAuditConfigAddOrEdit 列表查询参数模型</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.ViewModel.FrontAuditConfigAddOrEdit.ApplyCriterionList">
|
||||
<summary>
|
||||
适用的标准
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.ViewModel.FrontAuditConfigAddOrEdit.IsDefaultChoice">
|
||||
<summary>
|
||||
是否默认选择
|
||||
|
|
|
|||
|
|
@ -159,6 +159,12 @@ namespace IRaCIS.Core.Application.ViewModel
|
|||
public class FrontAuditConfigAddOrEdit
|
||||
{
|
||||
public Guid? Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 适用的标准
|
||||
/// </summary>
|
||||
public List<CriterionType> ApplyCriterionList { get; set; } = new List<CriterionType>() { };
|
||||
|
||||
public string Value { get; set; } = string.Empty;
|
||||
public string ValueCN { get; set; } = string.Empty;
|
||||
public string Description { get; set; } = string.Empty;
|
||||
|
|
|
|||
|
|
@ -44,6 +44,11 @@ public class SetUserAgreementCurrentVersionInDto
|
|||
public Guid Id { get; set; }
|
||||
}
|
||||
|
||||
public class GetUserAgreementByIdInDto
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
}
|
||||
|
||||
public class UserAgreementQuery:PageInput
|
||||
{
|
||||
public DateTime? StartEffectiveDate { get; set; }
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ using System.Threading.Tasks;
|
|||
using IRaCIS.Core.Infra.EFCore;
|
||||
using IRaCIS.Core.Application.Service.Interface;
|
||||
using IRaCIS.Core.Application.Service.DTO;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
namespace IRaCIS.Core.Application.Service;
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -49,6 +50,35 @@ public class UserAgreementService(IRepository<UserAgreement> _userAgreementRepos
|
|||
return pageList;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取当前版本的用户协议和隐私采集
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[AllowAnonymous]
|
||||
[HttpPost]
|
||||
public async Task<List<UserAgreementView>> GetCurrentVersionUserAgreements()
|
||||
{
|
||||
var userAgreementList = await _userAgreementRepository.Where(x=>x.IsCurrentVersion)
|
||||
.ProjectTo<UserAgreementView>(_mapper.ConfigurationProvider)
|
||||
.ToListAsync();
|
||||
return userAgreementList;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据Id获取用户协议和隐私采集
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
[AllowAnonymous]
|
||||
[HttpPost]
|
||||
public async Task<UserAgreementView> GetUserAgreementById(GetUserAgreementByIdInDto inDto)
|
||||
{
|
||||
var userAgreement = await _userAgreementRepository.Where(x => x.Id == inDto.Id)
|
||||
.ProjectTo<UserAgreementView>(_mapper.ConfigurationProvider)
|
||||
.FirstNotNullAsync();
|
||||
return userAgreement;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 设置为当前版本
|
||||
|
|
|
|||
|
|
@ -372,7 +372,10 @@ namespace IRaCIS.Core.Application.Service.Inspection.DTO
|
|||
public string ModuleTypeName { get; set; } = string.Empty;
|
||||
public string ModuleTypeNameCN { get; set; } = string.Empty;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 标准枚举
|
||||
/// </summary>
|
||||
public CriterionType? CriterionType { get; set; }
|
||||
public string SignText { get; set; } = string.Empty;
|
||||
|
||||
public decimal? VisitNum { get; set; }
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ namespace IRaCIS.Core.Application.Service.Inspection
|
|||
public class InspectionService(IRepository<DataInspection> _dataInspectionRepository,
|
||||
IRepository<Dictionary> _dictionaryRepository,
|
||||
IRepository<TrialSign> _trialSignRepository,
|
||||
IRepository<ReadingQuestionCriterionTrial> _readingQuestionCriterionTrialRepository,
|
||||
IRepository<IdentityUser> _identityUserRepository,
|
||||
IRepository<TrialAuditShow> _trialAuditShowRepository,
|
||||
IRepository<UserRole> _userRoleRepository,
|
||||
|
|
@ -102,6 +103,9 @@ namespace IRaCIS.Core.Application.Service.Inspection
|
|||
join trial in _trialRepository.Where().IgnoreQueryFilters() on data.TrialId equals trial.Id into trialtemp
|
||||
from leftrial in trialtemp.DefaultIfEmpty()
|
||||
|
||||
join readingQuestionCriterionTrial in _readingQuestionCriterionTrialRepository.Where().IgnoreQueryFilters() on data.TrialReadingCriterionId equals readingQuestionCriterionTrial.Id into readingQuestionCriterionTrialtemp
|
||||
from leftreadingQuestionCriterionTrial in readingQuestionCriterionTrialtemp.DefaultIfEmpty()
|
||||
|
||||
|
||||
join trialSite in _trialSiteRepository.Where().IgnoreQueryFilters() on data.TrialSiteId equals trialSite.Id into trialSitetemp
|
||||
from lefttrialSite in trialSitetemp.DefaultIfEmpty()
|
||||
|
|
@ -136,6 +140,7 @@ namespace IRaCIS.Core.Application.Service.Inspection
|
|||
{
|
||||
IsShow = lefttrialShow != null ? lefttrialShow.IsShow : leftfrontAuditConfig.IsDefaultChoice,
|
||||
CreateTime = data.CreateTime,
|
||||
CriterionType= leftreadingQuestionCriterionTrial==null? null: leftreadingQuestionCriterionTrial.CriterionType,
|
||||
CreateUserId = data.CreateUserId,
|
||||
ModuleTypeId = leftmoduleTypec.Id,
|
||||
BlindName = data.VisitTask.TaskBlindName,
|
||||
|
|
|
|||
|
|
@ -2442,6 +2442,26 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
|||
public Guid VisitTaskId { get; set; }
|
||||
}
|
||||
|
||||
public class GetNoneDicomMarkAndBindingInDto
|
||||
{
|
||||
public Guid VisitTaskId { get; set; }
|
||||
}
|
||||
|
||||
public class GetNoneDicomMarkAndBindingOutDto
|
||||
{
|
||||
public List<AddNoneDicomMarkInDto> NoneDicomMarkList { get; set; }
|
||||
public List<BindingData> BindingList { get; set; }
|
||||
}
|
||||
|
||||
public class BindingData:BindingInfo
|
||||
{
|
||||
public Guid NoneDicomMarkId { get; set; }
|
||||
|
||||
public Guid? MarkId { get; set; }
|
||||
|
||||
public Guid VisitTaskId { get; set; }
|
||||
}
|
||||
|
||||
public class AddNoneDicomMarkInDto
|
||||
{
|
||||
public Guid? Id { get; set; }
|
||||
|
|
@ -2449,6 +2469,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
|||
public Guid VisitTaskId { get; set; }
|
||||
|
||||
public Guid? StudyId { get; set; }
|
||||
|
||||
public Guid? MarkId { get; set; }
|
||||
public Guid? NoneDicomFileId { get; set; }
|
||||
|
||||
public string Path { get; set; }
|
||||
|
|
@ -2457,6 +2479,40 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
|||
|
||||
}
|
||||
|
||||
public class DeleteBindingInDto
|
||||
{
|
||||
public Guid BindingIdId { get; set; }
|
||||
|
||||
}
|
||||
|
||||
public class AddNoneDicomMarkAndBinding
|
||||
{
|
||||
public Guid VisitTaskId { get; set; }
|
||||
public Guid? StudyId { get; set; }
|
||||
|
||||
public Guid? MarkId { get; set; }
|
||||
public Guid? NoneDicomFileId { get; set; }
|
||||
|
||||
public string Path { get; set; }
|
||||
|
||||
public string MeasureData { get; set; } = string.Empty;
|
||||
|
||||
public Guid QuestionId { get; set; }
|
||||
public Guid? RowId { get; set; }
|
||||
|
||||
public Guid? TableQuestionId { get; set; }
|
||||
|
||||
public string Answer { get; set; }
|
||||
}
|
||||
|
||||
public class BindingInfo
|
||||
{
|
||||
public Guid? QuestionId { get; set; }
|
||||
public Guid? RowId { get; set; }
|
||||
|
||||
public Guid? TableQuestionId { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
IRepository<TaskInstance> _taskInstanceRepository,
|
||||
IRepository<NoneDicomStudyFile> _noneDicomStudyFileRepository,
|
||||
IRepository<ReadingNoneDicomMark> _readingNoneDicomMarkRepository,
|
||||
IRepository<ReadingNoneDicomMarkBinding> _readingNoneDicomMarkBindingRepository,
|
||||
IRepository<UserLog> _userLogRepository,
|
||||
IRepository<ReadingTableQuestionAnswer> _readingTableQuestionAnswerRepository,
|
||||
IRepository<ReadingOncologyTaskInfo> _readingOncologyTaskInfoRepository,
|
||||
|
|
@ -1882,7 +1883,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task MergeLesion(MergeLesionInDto inDto)
|
||||
public async Task<IResponseOutput> MergeLesion(MergeLesionInDto inDto)
|
||||
{
|
||||
await VerifyTaskIsSign(inDto.VisitTaskId);
|
||||
await VerifyIsBaseLineTask(inDto.VisitTaskId);
|
||||
|
|
@ -1942,6 +1943,8 @@ namespace IRaCIS.Core.Application.Service
|
|||
});
|
||||
break;
|
||||
}
|
||||
|
||||
return ResponseOutput.Ok();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using IRaCIS.Core.Application.Contracts;
|
||||
using Amazon.Runtime.Internal.Auth;
|
||||
using IRaCIS.Core.Application.Contracts;
|
||||
using IRaCIS.Core.Application.Filter;
|
||||
using IRaCIS.Core.Application.Service.Reading.Dto;
|
||||
using IRaCIS.Core.Application.ViewModel;
|
||||
|
|
@ -32,6 +33,156 @@ namespace IRaCIS.Core.Application.Service
|
|||
return ResponseOutput.Ok(true);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 保存答案和非Dicom标记绑定关系
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<IResponseOutput> SaveAnswerAndBindingNoneDicomMark(AddNoneDicomMarkAndBinding inDto)
|
||||
{
|
||||
var visitTask = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync();
|
||||
// 说明要移除标记数据
|
||||
if (inDto.MeasureData == string.Empty)
|
||||
{
|
||||
// 先找到绑定关系
|
||||
var binding = await _readingNoneDicomMarkBindingRepository.Where(x =>
|
||||
x.VisitTaskId == inDto.VisitTaskId &&
|
||||
x.QuestionId == inDto.QuestionId &&
|
||||
x.RowId == inDto.RowId &&
|
||||
x.TableQuestionId == inDto.TableQuestionId).FirstOrDefaultAsync();
|
||||
if (binding != null)
|
||||
{
|
||||
if ((await _readingNoneDicomMarkBindingRepository.Where(x => x.NoneDicomMarkId == binding.NoneDicomMarkId).CountAsync()) == 1)
|
||||
{
|
||||
|
||||
await _readingNoneDicomMarkBindingRepository.DeleteFromQueryAsync(x => x.Id == binding.Id);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// 找到标记信息
|
||||
var mark = await _readingNoneDicomMarkRepository.Where(x => x.MarkId == inDto.MarkId).FirstOrDefaultAsync();
|
||||
if (mark != null)
|
||||
{
|
||||
if (mark.MeasureData != inDto.MeasureData || mark.Path != inDto.Path)
|
||||
{
|
||||
await _readingNoneDicomMarkRepository.UpdatePartialFromQueryAsync(x => x.Id == mark.Id, u => new Domain.Models.ReadingNoneDicomMark()
|
||||
{
|
||||
MeasureData = inDto.MeasureData,
|
||||
Path = inDto.Path
|
||||
});
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// 添加标记信息
|
||||
mark = new ReadingNoneDicomMark()
|
||||
{
|
||||
Id = NewId.NextGuid(),
|
||||
VisitTaskId = inDto.VisitTaskId,
|
||||
StudyId = inDto.StudyId,
|
||||
NoneDicomFileId = inDto.NoneDicomFileId,
|
||||
Path = inDto.Path,
|
||||
MeasureData = inDto.MeasureData,
|
||||
MarkId = inDto.MarkId
|
||||
};
|
||||
await _readingNoneDicomMarkRepository.AddAsync(mark);
|
||||
}
|
||||
|
||||
await _readingNoneDicomMarkBindingRepository.BatchDeleteNoTrackingAsync(x =>
|
||||
x.VisitTaskId == inDto.VisitTaskId &&
|
||||
x.QuestionId == inDto.QuestionId &&
|
||||
x.RowId == inDto.RowId &&
|
||||
x.TableQuestionId == inDto.TableQuestionId);
|
||||
|
||||
await _readingNoneDicomMarkBindingRepository.AddAsync(new ReadingNoneDicomMarkBinding()
|
||||
{
|
||||
Id = NewId.NextGuid(),
|
||||
VisitTaskId = inDto.VisitTaskId,
|
||||
QuestionId = inDto.QuestionId,
|
||||
RowId = inDto.RowId,
|
||||
TableQuestionId = inDto.TableQuestionId,
|
||||
NoneDicomMarkId = mark.Id,
|
||||
MarkId = mark.MarkId
|
||||
});
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
// 处理答案
|
||||
|
||||
if (inDto.RowId == null)
|
||||
{
|
||||
await _readingTaskQuestionAnswerRepository.BatchDeleteNoTrackingAsync(x => x.VisitTaskId == inDto.VisitTaskId && x.ReadingQuestionTrialId == inDto.QuestionId);
|
||||
await _readingTaskQuestionAnswerRepository.AddAsync(new ReadingTaskQuestionAnswer()
|
||||
{
|
||||
Id = NewId.NextGuid(),
|
||||
SubjectId = visitTask.SubjectId,
|
||||
Answer = inDto.Answer,
|
||||
ReadingQuestionTrialId = inDto.QuestionId,
|
||||
VisitTaskId = inDto.VisitTaskId,
|
||||
TrialId = visitTask.TrialId
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
await _readingTableQuestionAnswerRepository.BatchDeleteNoTrackingAsync(x => x.VisitTaskId == inDto.VisitTaskId && x.RowId == inDto.RowId&&x.TableQuestionId==inDto.TableQuestionId);
|
||||
|
||||
var rowinfo=await _readingTableAnswerRowInfoRepository.Where(x => x.Id == inDto.RowId.Value).FirstNotNullAsync();
|
||||
await _readingTableQuestionAnswerRepository.AddAsync(new ReadingTableQuestionAnswer()
|
||||
{
|
||||
Id = NewId.NextGuid(),
|
||||
RowId = inDto.RowId.Value,
|
||||
Answer = inDto.Answer,
|
||||
QuestionId= inDto.QuestionId,
|
||||
TableQuestionId= inDto.TableQuestionId.Value,
|
||||
VisitTaskId = inDto.VisitTaskId,
|
||||
TrialId = visitTask.TrialId,
|
||||
RowIndex= rowinfo.RowIndex,
|
||||
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
await _visitTaskRepository.SaveChangesAsync();
|
||||
|
||||
return ResponseOutput.Ok();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 删除绑定关系
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<IResponseOutput> DeleteBinding(DeleteBindingInDto inDto)
|
||||
{
|
||||
await _readingNoneDicomMarkBindingRepository.DeleteFromQueryAsync(x =>x.Id==inDto.BindingIdId, true);
|
||||
return ResponseOutput.Ok();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取非Dicom标记和绑定关系
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<GetNoneDicomMarkAndBindingOutDto> GetNoneDicomMarkAndBinding(GetNoneDicomMarkAndBindingInDto inDto)
|
||||
{
|
||||
GetNoneDicomMarkAndBindingOutDto result=new GetNoneDicomMarkAndBindingOutDto ();
|
||||
result.NoneDicomMarkList = await _readingNoneDicomMarkRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId)
|
||||
.ProjectTo<AddNoneDicomMarkInDto>(_mapper.ConfigurationProvider)
|
||||
.ToListAsync();
|
||||
result.BindingList = await _readingNoneDicomMarkBindingRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId)
|
||||
.ProjectTo<BindingData>(_mapper.ConfigurationProvider)
|
||||
.ToListAsync();
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 添加非Dicom标记
|
||||
|
|
|
|||
|
|
@ -67,6 +67,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
CreateMap<TableMarkInfo, ReadingTaskQuestionMark>();
|
||||
CreateMap<AddNoneDicomMarkInDto, ReadingNoneDicomMark>();
|
||||
CreateMap<ReadingNoneDicomMark, AddNoneDicomMarkInDto>();
|
||||
CreateMap<AddNoneDicomMarkAndBinding, BindingData>();
|
||||
CreateMap<ReadingTaskQuestionMark, TableMarkInfo>();
|
||||
CreateMap<VisitTask, VisitTaskDto>();
|
||||
CreateMap<SaveTableQuestionMarkInDto, ReadingTaskQuestionMark>();
|
||||
|
|
|
|||
|
|
@ -514,7 +514,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
var calculateDto = await _generalCalculateService.GetReadingCalculateDto(inDto.VisitTaskId);
|
||||
return new GetReportVerifyOutDto()
|
||||
{
|
||||
TumorEvaluate = calculateDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.ImgOncology).Select(x => x.Answer).FirstOrDefault(),
|
||||
TumorEvaluate = calculateDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.CTandMRI).Select(x => x.Answer).FirstOrDefault(),
|
||||
IsExistDisease = await this.GetReportIsExistDisease(inDto.VisitTaskId),
|
||||
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
using IRaCIS.Core.Domain.Share;
|
||||
|
||||
namespace IRaCIS.Core.Domain.Models;
|
||||
|
||||
[Comment("稽查 - 配置表 (需要同步)")]
|
||||
|
|
@ -120,6 +122,11 @@ public class FrontAuditConfig : BaseFullAuditEntity
|
|||
|
||||
public string ValueCN { get; set; } = null!;
|
||||
|
||||
/// <summary>
|
||||
/// 适用的标准
|
||||
/// </summary>
|
||||
public List<CriterionType> ApplyCriterionList { get; set; } = new List<CriterionType>() { };
|
||||
|
||||
/// <summary>
|
||||
/// 是否默认选择
|
||||
/// </summary>
|
||||
|
|
|
|||
|
|
@ -20,5 +20,8 @@ public class ReadingNoneDicomMark : BaseAddAuditEntity
|
|||
[MaxLength]
|
||||
public string MeasureData { get; set; } = string.Empty;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 标记的唯一标识符
|
||||
/// </summary>
|
||||
public Guid? MarkId { get; set; }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,24 @@
|
|||
namespace IRaCIS.Core.Domain.Models;
|
||||
|
||||
[Comment("项目阅片 - 非Dicom标记绑定")]
|
||||
[Table("ReadingNoneDicomMarkBinding")]
|
||||
public class ReadingNoneDicomMarkBinding : BaseAddAuditEntity
|
||||
{
|
||||
|
||||
[JsonIgnore]
|
||||
[ForeignKey("NoneDicomMarkId")]
|
||||
public NoneDicomStudy NoneDicomStudy { get; set; }
|
||||
|
||||
public Guid VisitTaskId { get; set; }
|
||||
|
||||
public Guid? QuestionId { get; set; }
|
||||
public Guid? RowId { get; set; }
|
||||
|
||||
public Guid? TableQuestionId { get; set; }
|
||||
|
||||
public Guid NoneDicomMarkId { get; set; }
|
||||
|
||||
public Guid? MarkId { get; set; }
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -363,6 +363,8 @@ public class IRaCISDBContext : DbContext
|
|||
|
||||
public virtual DbSet<ReadingNoneDicomMark> ReadingNoneDicomMark { get; set; }
|
||||
|
||||
public virtual DbSet<ReadingNoneDicomMarkBinding> ReadingNoneDicomMarkBinding { get; set; }
|
||||
|
||||
public virtual DbSet<ReadModule> ReadModule { get; set; }
|
||||
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,74 @@
|
|||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace IRaCIS.Core.Infra.EFCore.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class Binding : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<Guid>(
|
||||
name: "MarkId",
|
||||
table: "ReadingNoneDicomMark",
|
||||
type: "uniqueidentifier",
|
||||
nullable: true);
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "ReadingNoneDicomMarkBinding",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
VisitTaskId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
QuestionId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
RowId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
TableQuestionId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
NoneDicomMarkId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
MarkId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
CreateUserId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
CreateTime = table.Column<DateTime>(type: "datetime2", nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_ReadingNoneDicomMarkBinding", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_ReadingNoneDicomMarkBinding_NoneDicomStudy_NoneDicomMarkId",
|
||||
column: x => x.NoneDicomMarkId,
|
||||
principalTable: "NoneDicomStudy",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
table.ForeignKey(
|
||||
name: "FK_ReadingNoneDicomMarkBinding_User_CreateUserId",
|
||||
column: x => x.CreateUserId,
|
||||
principalTable: "User",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
},
|
||||
comment: "项目阅片 - 非Dicom标记绑定");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_ReadingNoneDicomMarkBinding_CreateUserId",
|
||||
table: "ReadingNoneDicomMarkBinding",
|
||||
column: "CreateUserId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_ReadingNoneDicomMarkBinding_NoneDicomMarkId",
|
||||
table: "ReadingNoneDicomMarkBinding",
|
||||
column: "NoneDicomMarkId");
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropTable(
|
||||
name: "ReadingNoneDicomMarkBinding");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "MarkId",
|
||||
table: "ReadingNoneDicomMark");
|
||||
}
|
||||
}
|
||||
}
|
||||
20488
IRaCIS.Core.Infra.EFCore/Migrations/20251021051326_ApplyCriterionList.Designer.cs
generated
Normal file
20488
IRaCIS.Core.Infra.EFCore/Migrations/20251021051326_ApplyCriterionList.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,22 @@
|
|||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace IRaCIS.Core.Infra.EFCore.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class ApplyCriterionList : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
20488
IRaCIS.Core.Infra.EFCore/Migrations/20251021051740_ApplyCriterionList1.Designer.cs
generated
Normal file
20488
IRaCIS.Core.Infra.EFCore/Migrations/20251021051740_ApplyCriterionList1.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,22 @@
|
|||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace IRaCIS.Core.Infra.EFCore.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class ApplyCriterionList1 : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
20484
IRaCIS.Core.Infra.EFCore/Migrations/20251021052245_ApplyCriterionList2.Designer.cs
generated
Normal file
20484
IRaCIS.Core.Infra.EFCore/Migrations/20251021052245_ApplyCriterionList2.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,29 @@
|
|||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace IRaCIS.Core.Infra.EFCore.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class ApplyCriterionList2 : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "ApplyCriterionList",
|
||||
table: "FrontAuditConfig");
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "ApplyCriterionList",
|
||||
table: "FrontAuditConfig",
|
||||
type: "nvarchar(max)",
|
||||
nullable: false,
|
||||
defaultValue: "");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace IRaCIS.Core.Infra.EFCore.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class ApplyCriterionList3 : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "ApplyCriterionList",
|
||||
table: "FrontAuditConfig",
|
||||
type: "nvarchar(max)",
|
||||
nullable: false,
|
||||
defaultValue: "[]");
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
20488
IRaCIS.Core.Infra.EFCore/Migrations/20251021053316_ApplyCriterionList4.Designer.cs
generated
Normal file
20488
IRaCIS.Core.Infra.EFCore/Migrations/20251021053316_ApplyCriterionList4.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,29 @@
|
|||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace IRaCIS.Core.Infra.EFCore.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class ApplyCriterionList4 : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "ApplyCriterionList",
|
||||
table: "FrontAuditConfig",
|
||||
type: "nvarchar(max)",
|
||||
nullable: false,
|
||||
defaultValue: "[]");
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "ApplyCriterionList",
|
||||
table: "FrontAuditConfig");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2822,6 +2822,10 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
|
|||
b.Property<Guid>("Id")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<string>("ApplyCriterionList")
|
||||
.IsRequired()
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<string>("ChildDataEnLabel")
|
||||
.IsRequired()
|
||||
.HasMaxLength(400)
|
||||
|
|
@ -5709,6 +5713,9 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
|
|||
b.Property<Guid>("CreateUserId")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<Guid?>("MarkId")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<string>("MeasureData")
|
||||
.IsRequired()
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
|
@ -5741,6 +5748,47 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
|
|||
});
|
||||
});
|
||||
|
||||
modelBuilder.Entity("IRaCIS.Core.Domain.Models.ReadingNoneDicomMarkBinding", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<DateTime>("CreateTime")
|
||||
.HasColumnType("datetime2");
|
||||
|
||||
b.Property<Guid>("CreateUserId")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<Guid?>("MarkId")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<Guid>("NoneDicomMarkId")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<Guid?>("QuestionId")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<Guid?>("RowId")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<Guid?>("TableQuestionId")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<Guid>("VisitTaskId")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("CreateUserId");
|
||||
|
||||
b.HasIndex("NoneDicomMarkId");
|
||||
|
||||
b.ToTable("ReadingNoneDicomMarkBinding", t =>
|
||||
{
|
||||
t.HasComment("项目阅片 - 非Dicom标记绑定");
|
||||
});
|
||||
});
|
||||
|
||||
modelBuilder.Entity("IRaCIS.Core.Domain.Models.ReadingOncologyTaskInfo", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
|
|
@ -17284,6 +17332,25 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
|
|||
b.Navigation("NoneDicomStudy");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("IRaCIS.Core.Domain.Models.ReadingNoneDicomMarkBinding", b =>
|
||||
{
|
||||
b.HasOne("IRaCIS.Core.Domain.Models.UserRole", "CreateUserRole")
|
||||
.WithMany()
|
||||
.HasForeignKey("CreateUserId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("IRaCIS.Core.Domain.Models.NoneDicomStudy", "NoneDicomStudy")
|
||||
.WithMany()
|
||||
.HasForeignKey("NoneDicomMarkId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("CreateUserRole");
|
||||
|
||||
b.Navigation("NoneDicomStudy");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("IRaCIS.Core.Domain.Models.ReadingOncologyTaskInfo", b =>
|
||||
{
|
||||
b.HasOne("IRaCIS.Core.Domain.Models.UserRole", "CreateUserRole")
|
||||
|
|
|
|||
Loading…
Reference in New Issue