复核的时候允许直接关闭质疑,项目增加质控自动任务配置
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
668f93d0ac
commit
582ea4c5ab
|
@ -146,6 +146,10 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
|
||||
var dbQCChallenge = (await _qcChallengeRepository.FirstOrDefaultAsync(t => t.Id == input.qcChallengeId)).IfNullThrowException();
|
||||
|
||||
//复核的时候允许关闭
|
||||
|
||||
if (!_subjectVisitRepository.Any(t => t.Id == input.subjectVisitId && t.SecondReviewState == SecondReviewState.WaitAudit))
|
||||
{
|
||||
|
||||
if (dbQCChallenge.ReuploadEnum == QCChanllengeReuploadEnum.CRCRequestReupload || dbQCChallenge.ReuploadEnum == QCChanllengeReuploadEnum.QCAgreeUpload)
|
||||
{
|
||||
|
@ -153,6 +157,8 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
throw new BusinessValidationFailedException(_localizer["QCOperation_QuestionCannotClose"]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
#region 之前
|
||||
|
||||
|
|
|
@ -80,7 +80,9 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
public List<StudyName> StudyNameList { get; set; }
|
||||
|
||||
|
||||
public bool IsIQCAutoNextTask { get; set; }
|
||||
|
||||
public bool IsIQCAutoTaskDistinguishType { get; set; }
|
||||
|
||||
public List<TrialObjectNameConfig> TrialObjectNameList { get; set; }
|
||||
|
||||
|
@ -1120,6 +1122,9 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
|
||||
public List<string> StudyUseStudyNameList { get; set; }
|
||||
|
||||
public bool IsIQCAutoNextTask { get; set; }
|
||||
|
||||
public bool IsIQCAutoTaskDistinguishType { get; set; }
|
||||
|
||||
//public bool IsTrialStart { get; set; } = false;
|
||||
|
||||
|
|
|
@ -301,6 +301,13 @@ public partial class Trial : BaseFullDeleteAuditEntity
|
|||
[Comment("阅片任务产生之前 采集影像")]
|
||||
public CollectImagesType CollectImagesEnum { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// IQC自动下一个任务
|
||||
/// </summary>
|
||||
public bool IsIQCAutoNextTask { get; set; }
|
||||
|
||||
public bool IsIQCAutoTaskDistinguishType { get; set; }
|
||||
|
||||
}
|
||||
|
||||
public enum CollectImagesType
|
||||
|
|
19842
IRaCIS.Core.Infra.EFCore/Migrations/20250724070617_iqcNextTask.Designer.cs
generated
Normal file
19842
IRaCIS.Core.Infra.EFCore/Migrations/20250724070617_iqcNextTask.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,61 @@
|
|||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace IRaCIS.Core.Infra.EFCore.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class iqcNextTask : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<bool>(
|
||||
name: "IsIQCAutoNextTask",
|
||||
table: "Trial",
|
||||
type: "bit",
|
||||
nullable: false,
|
||||
defaultValue: false);
|
||||
|
||||
migrationBuilder.AddColumn<bool>(
|
||||
name: "IsIQCAutoTaskDistinguishType",
|
||||
table: "Trial",
|
||||
type: "bit",
|
||||
nullable: false,
|
||||
defaultValue: false);
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_DicomSeries_SubjectVisitId",
|
||||
table: "DicomSeries",
|
||||
column: "SubjectVisitId");
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_DicomSeries_SubjectVisit_SubjectVisitId",
|
||||
table: "DicomSeries",
|
||||
column: "SubjectVisitId",
|
||||
principalTable: "SubjectVisit",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_DicomSeries_SubjectVisit_SubjectVisitId",
|
||||
table: "DicomSeries");
|
||||
|
||||
migrationBuilder.DropIndex(
|
||||
name: "IX_DicomSeries_SubjectVisitId",
|
||||
table: "DicomSeries");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "IsIQCAutoNextTask",
|
||||
table: "Trial");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "IsIQCAutoTaskDistinguishType",
|
||||
table: "Trial");
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1157,6 +1157,8 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
|
|||
|
||||
b.HasIndex("StudyId");
|
||||
|
||||
b.HasIndex("SubjectVisitId");
|
||||
|
||||
b.ToTable("DicomSeries", t =>
|
||||
{
|
||||
t.HasComment("归档 - 序列表");
|
||||
|
@ -10904,6 +10906,12 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
|
|||
.HasColumnType("bit")
|
||||
.HasComment("是否有 受试者年龄");
|
||||
|
||||
b.Property<bool>("IsIQCAutoNextTask")
|
||||
.HasColumnType("bit");
|
||||
|
||||
b.Property<bool>("IsIQCAutoTaskDistinguishType")
|
||||
.HasColumnType("bit");
|
||||
|
||||
b.Property<bool>("IsImageConsistencyVerification")
|
||||
.HasColumnType("bit")
|
||||
.HasComment("影像一致性核查");
|
||||
|
@ -15276,9 +15284,17 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
|
|||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("IRaCIS.Core.Domain.Models.SubjectVisit", "SubjectVisit")
|
||||
.WithMany()
|
||||
.HasForeignKey("SubjectVisitId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("CreateUserRole");
|
||||
|
||||
b.Navigation("DicomStudy");
|
||||
|
||||
b.Navigation("SubjectVisit");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("IRaCIS.Core.Domain.Models.DicomStudy", b =>
|
||||
|
@ -18659,7 +18675,7 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
|
|||
.IsRequired();
|
||||
|
||||
b.HasOne("IRaCIS.Core.Domain.Models.SubjectVisit", "SubjectVisit")
|
||||
.WithMany()
|
||||
.WithMany("TrialQCQuestionAnswerList")
|
||||
.HasForeignKey("SubjectVisitId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
@ -19611,6 +19627,8 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
|
|||
|
||||
b.Navigation("SubjectVisitImageBackRecordList");
|
||||
|
||||
b.Navigation("TrialQCQuestionAnswerList");
|
||||
|
||||
b.Navigation("VisitTaskList");
|
||||
});
|
||||
|
||||
|
|
Loading…
Reference in New Issue