修改阅片器bug
continuous-integration/drone/push Build is passing Details

IRC_NewDev
hang 2024-09-10 21:05:59 +08:00
parent ecbc27fbb8
commit b32225b8bb
11 changed files with 49 additions and 143 deletions

View File

@ -654,7 +654,7 @@ namespace IRaCIS.Application.Services
var query = subjectVisitQuery.Union(readMouduleQuery)
.WhereIf(inQuery.SubjectId != null, x => x.Id == inQuery.SubjectId)
.WhereIf(inQuery.SubjectId != null, x => x.SubjectId == inQuery.SubjectId)
.WhereIf(!string.IsNullOrWhiteSpace(inQuery.TrialSiteCode), x => x.TrialSiteCode.Contains(inQuery.TrialSiteCode))
.WhereIf(!string.IsNullOrWhiteSpace(inQuery.SubjectCode), x => x.SubjectCode.Contains(inQuery.SubjectCode))
.WhereIf(isFilterModuleType, t => t.ModuleType == inQuery.ModuleType)

View File

@ -1,24 +0,0 @@
using IRaCIS.Core.Domain.Models;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IRaCIS.Core.Infra.EFCore.EntityConfigration
{
public class DictionaryConfigration : IEntityTypeConfiguration<Dictionary>
{
public void Configure(EntityTypeBuilder<Dictionary> builder)
{
//自身同时存在一对多 和一对一的关系,配置一对多的就可以,一对一 不用配置,有点奇怪
builder.HasMany(t => t.ChildList).WithOne(t => t.Parent).HasForeignKey(d => d.ParentId);
}
}
}

View File

@ -1,20 +0,0 @@
using IRaCIS.Core.Domain.Models;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using System.Reflection.Emit;
namespace IRaCIS.Core.Infra.EFCore.EntityConfigration
{
public class NoneDicomStudyConfigration : IEntityTypeConfiguration<NoneDicomStudy>
{
public void Configure(EntityTypeBuilder<NoneDicomStudy> builder)
{
builder.HasMany(t => t.NoneDicomFileList).WithOne(s => s.NoneDicomStudy).HasForeignKey(t => t.NoneDicomStudyId);
builder.HasMany(t => t.TaskNoneDicomFileList).WithOne(s => s.OriginNoneDicomStudy).HasForeignKey(t => t.OriginNoneDicomStudyId);
}
}
}

View File

@ -1,18 +0,0 @@
using IRaCIS.Core.Domain.Models;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace IRaCIS.Core.Infra.EFCore.EntityConfigration
{
public class ReadModuleConfigration : IEntityTypeConfiguration<ReadModule>
{
public void Configure(EntityTypeBuilder<ReadModule> builder)
{
builder.HasOne(t => t.SubjectVisit).WithMany(t => t.ReadModuleList).HasForeignKey(t=>t.SubjectVisitId);
}
}
}

View File

@ -1,25 +0,0 @@
using IRaCIS.Core.Domain.Models;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IRaCIS.Core.Infra.EFCore.EntityConfigration
{
public class ReadingQuestionTrialConfigration : IEntityTypeConfiguration<ReadingQuestionTrial>
{
public void Configure(EntityTypeBuilder<ReadingQuestionTrial> builder)
{
builder.HasQueryFilter(p => p.IsAdditional == false);
}
}
}

View File

@ -8,11 +8,13 @@ namespace IRaCIS.Core.Infra.EFCore.EntityConfigration
public class StudyConfigration : IEntityTypeConfiguration<DicomStudy>
{
/// <summary>
/// 一个外键,关联多个表
/// </summary>
/// <param name="builder"></param>
public void Configure(EntityTypeBuilder<DicomStudy> builder)
{
builder
.HasMany(s => s.ReadingClinicalDataList)
.WithOne(c => c.DicomStudy)

View File

@ -6,9 +6,7 @@ using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace IRaCIS.Core.Infra.EFCore.EntityConfigration
{
public class SubjectConfigration : IEntityTypeConfiguration<Subject>
{
{
public void Configure(EntityTypeBuilder<Subject> builder)
{
@ -18,4 +16,24 @@ namespace IRaCIS.Core.Infra.EFCore.EntityConfigration
builder.HasMany(s => s.SubjectVisitList).WithOne(sv => sv.Subject).HasForeignKey(t => t.SubjectId);
}
}
public class DictionaryConfigration : IEntityTypeConfiguration<Dictionary>
{
public void Configure(EntityTypeBuilder<Dictionary> builder)
{
//自身同时存在一对多 和一对一的关系,配置一对多的就可以,一对一 不用配置,有点奇怪
builder.HasMany(t => t.ChildList).WithOne(t => t.Parent).HasForeignKey(d => d.ParentId);
}
}
public class NoneDicomStudyConfigration : IEntityTypeConfiguration<NoneDicomStudy>
{
public void Configure(EntityTypeBuilder<NoneDicomStudy> builder)
{
//同样一个实体 有两个相同的类型的导航属性,需要手动配置
builder.HasMany(t => t.NoneDicomFileList).WithOne(s => s.NoneDicomStudy).HasForeignKey(t => t.NoneDicomStudyId);
builder.HasMany(t => t.TaskNoneDicomFileList).WithOne(s => s.OriginNoneDicomStudy).HasForeignKey(t => t.OriginNoneDicomStudyId);
}
}
}

View File

@ -1,25 +0,0 @@
using IRaCIS.Core.Domain.Models;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace IRaCIS.Core.Infra.EFCore.EntityConfigration
{
public class SubjectCriteriaEvaluationConfigration : IEntityTypeConfiguration<SubjectCriteriaEvaluation>
{
public void Configure(EntityTypeBuilder<SubjectCriteriaEvaluation> builder)
{
builder
.HasMany(s => s.SubjectCriteriaEvaluationVisitFilterList)
.WithOne(c => c.SubjectCriteriaEvaluation)
.HasForeignKey(s => new { s.SubjectId, s.TrialReadingCriterionId })
.HasPrincipalKey(c => new { c.SubjectId, c.TrialReadingCriterionId });
}
}
}

View File

@ -8,8 +8,6 @@ namespace IRaCIS.Core.Infra.EFCore.EntityConfigration
public class TrialUserConfigration : IEntityTypeConfiguration<TrialUser>
{
public void Configure(EntityTypeBuilder<TrialUser> builder)
{
builder
@ -21,14 +19,19 @@ namespace IRaCIS.Core.Infra.EFCore.EntityConfigration
}
}
public class UserConfigration : IEntityTypeConfiguration<User>
public class SubjectCriteriaEvaluationConfigration : IEntityTypeConfiguration<SubjectCriteriaEvaluation>
{
public void Configure(EntityTypeBuilder<User> builder)
public void Configure(EntityTypeBuilder<SubjectCriteriaEvaluation> builder)
{
builder.HasMany(t => t.VisitTaskList).WithOne(t => t.DoctorUser).HasForeignKey(t => t.DoctorUserId).IsRequired(false);
builder
.HasMany(s => s.SubjectCriteriaEvaluationVisitFilterList)
.WithOne(c => c.SubjectCriteriaEvaluation)
.HasForeignKey(s => new { s.SubjectId, s.TrialReadingCriterionId })
.HasPrincipalKey(c => new { c.SubjectId, c.TrialReadingCriterionId });
}
}
}

View File

@ -15,31 +15,24 @@ namespace IRaCIS.Core.Infra.EFCore.EntityConfigration
builder.HasMany(t => t.JudgeVisitList).WithOne(t => t.JudgeVisitTask);
builder.HasMany(t => t.TaskMedicalReviewList).WithOne(t => t.VisitTask).HasForeignKey(t => t.VisitTaskId);
builder.HasOne(t => t.Subject).WithMany(s => s.SubjectVisitTaskList).HasForeignKey(t => t.SubjectId);
builder.HasMany(t => t.TaskInfluenceList).WithOne(s => s.OriginalTask).HasForeignKey(t => t.OriginalTaskId);
builder.HasMany(t => t.GlobalVisitResultList).WithOne(s => s.GlobalVisitTask).HasForeignKey(t => t.GlobalTaskId);
builder.HasQueryFilter(b => b.Subject.IsDeleted == false);
}
}
public class ReadingQuestionTrialConfigration : IEntityTypeConfiguration<ReadingQuestionTrial>
{
public void Configure(EntityTypeBuilder<ReadingQuestionTrial> builder)
{
//modelBuilder.Entity<TaskMedicalReviewRule>().HasMany(t => t.DoctorTrialVisitTaskList).WithOne(t => t.DoctorTaskMedicalReviewRule).HasForeignKey(t => new { t.DoctorUserId, t.TrialId }).HasPrincipalKey(u => new { u.DoctorUserId, u.TrialId });
//modelBuilder.Entity<TaskMedicalReviewRule>().HasMany(t => t.TaskMedicalReviewList).WithOne(t => t.TaskMedicalReviewRule).HasForeignKey(t => new { t.DoctorUserId, t.TrialId }).HasPrincipalKey(u => new { u.DoctorUserId, u.TrialId });
//会导致级联删除
//modelBuilder.Entity<SubjectUser>().HasMany(t => t.SubjectArmVisitTaskList).WithOne(t => t.SujectArm).HasForeignKey(t => new { t.SubjectId, t.ArmEnum }).HasPrincipalKey(u => new { u.SubjectId, u.ArmEnum })
// ./*IsRequired(false)*/OnDelete(DeleteBehavior.NoAction);
// builder.HasOne(t => t.SujectArm).WithMany(s => s.SubjectArmVisitTaskList).HasForeignKey(t => new { t.SubjectId, t.ArmEnum }).HasPrincipalKey(u => new { u.SubjectId, u.ArmEnum });
builder.HasQueryFilter(p => p.IsAdditional == false);
}
}
@ -51,7 +44,13 @@ namespace IRaCIS.Core.Infra.EFCore.EntityConfigration
builder.HasMany(t => t.EarlierSubjectUserList).WithOne(t => t.OrignalSubjectUser);
}
}
public class UserConfigration : IEntityTypeConfiguration<User>
{
public void Configure(EntityTypeBuilder<User> builder)
{
builder.HasMany(t => t.VisitTaskList).WithOne(t => t.DoctorUser).HasForeignKey(t => t.DoctorUserId).IsRequired(false);
}
}
}

View File

@ -1,8 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputEncoding>utf-8</OutputEncoding>
<ConsoleOutputEncoding>utf-8</ConsoleOutputEncoding>
</PropertyGroup>
<PropertyGroup>
<Nullable>enable</Nullable>
</PropertyGroup>