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

Test_IRC_Net8
hang 2025-09-12 16:14:57 +08:00
commit a8800b01f3
14 changed files with 38520 additions and 53 deletions

View File

@ -8685,11 +8685,6 @@
截图地址
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingTableAnswerRowInfoBase.FristAddTaskNum">
<summary>
第一次添加的任务ID
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingTableAnswerRowInfoBase.CreateUserId">
<summary>
CreateUserId

View File

@ -855,12 +855,6 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// </summary>
public string? PicturePath { get; set; }
/// <summary>
/// 第一次添加的任务ID
/// </summary>
public decimal FristAddTaskNum { get; set; } = 0;
public SplitOrMergeType? SplitOrMergeType { get; set; }
/// <summary>
@ -1033,6 +1027,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public string MergeName { get; set; }
public decimal FristAddTaskNum { get; set; }
/// <summary>
/// 病灶类型
/// </summary>
@ -2350,8 +2346,6 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public bool? IsCanEditPosition { get; set; }
public decimal FristAddTaskNum { get; set; } = 0;
public decimal? WW { get; set; }
public decimal? WL { get; set; }

View File

@ -280,6 +280,7 @@ namespace IRaCIS.Core.Application.Service
.ForMember(d => d.ReadingQuestionSystemId, u => u.MapFrom(s => s.Id));
CreateMap<ReadingTableAnswerRowInfo, TableAnsweRowInfo>()
.ForMember(d => d.FristAddTaskNum, u => u.MapFrom(s => s.FristAddTask.VisitTaskNum))
.ForMember(dest => dest.CreateUserRole, opt => opt.Ignore())
.ForMember(d => d.MergeName, u => u.MapFrom(s => s.MergeRow == null ? string.Empty : s.MergeRow.ReadingQuestionTrial.OrderMark + s.MergeRow.RowIndex.GetLesionMark()))
.ForMember(d => d.SplitName, u => u.MapFrom(s => s.SplitRow == null ? string.Empty : s.SplitRow.ReadingQuestionTrial.OrderMark + s.SplitRow.RowIndex.GetLesionMark()))

View File

@ -179,7 +179,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
var baseLineVisitId = await _subjectVisitRepository.Where(x => x.SubjectId == visitTask.SubjectId && x.IsBaseLine).Select(x => x.Id).FirstOrDefaultAsync();
var rowInfoList = await _readingTableAnswerRowInfoRepository.Where(x => x.VisitTaskId == visitTaskId).ToListAsync();
var rowInfoList = await _readingTableAnswerRowInfoRepository.Where(x => x.VisitTaskId == visitTaskId).Include(x=>x.FristAddTask).ToListAsync();
var baseLinetaskId = await _visitTaskRepository.Where(x => x.SourceSubjectVisitId == baseLineVisitId && x.TaskState == TaskState.Effect
&& x.TrialReadingCriterionId == visitTask.TrialReadingCriterionId
@ -228,7 +228,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
RowIndex = x.RowIndex,
MeasureData = x.MeasureData,
OtherMeasureData = x.OtherMeasureData,
FristAddTaskNum = x.FristAddTaskNum,
FristAddTaskNum = x.FristAddTask.VisitTaskNum,
TableQuestionList = tableQuestion.Where(y => y.QuestionId == item.QuestionId && y.RowId == x.Id).ToList(),
}).ToList();

View File

@ -702,7 +702,6 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
IsCurrentTaskAdd = true,
BlindName = taskinfo.TaskBlindName,
OrderMark = questionInfo.OrderMark,
FristAddTaskNum = taskinfo.VisitTaskNum,
FristAddTaskId = taskinfo.Id,
RowMark = questionInfo.OrderMark + decimal.Parse(maxnum.ToString()).GetLesionMark()
});
@ -842,7 +841,6 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
IsCurrentTaskAdd = true,
BlindName = inDto.BlindName,
OrderMark = questionInfo.OrderMark,
FristAddTaskNum = inDto.VisitTaskNum,
FristAddTaskId = inDto.VisitTaskId,
RowMark = questionInfo.OrderMark + decimal.Parse(item.ToString()).GetLesionMark()
});
@ -903,7 +901,6 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
IsCurrentTaskAdd = true,
BlindName = inDto.BlindName,
OrderMark = pAVquestionInfo.OrderMark,
FristAddTaskNum = inDto.VisitTaskNum,
FristAddTaskId = inDto.VisitTaskId,
RowMark = pAVquestionInfo.OrderMark + decimal.Parse(item.ToString()).GetLesionMark()
});

View File

@ -867,30 +867,45 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
TrialId = x.TrialId,
}).ToListAsync();
foreach (var item in recistTableAnswers)
{
foreach (var item in recistTableAnswers)
{
var rowinfo = tableRowAnswers.Where(y => y.OriginalId == item.RowId).FirstOrDefault();
if (rowinfo != null)
{
item.QuestionId = rowinfo.QuestionId;
item.QuestionId = tableRowAnswers.Where(y => y.OriginalId == item.RowId).Select(x => x.QuestionId).FirstOrDefault();
item.TableQuestionId = tableQuestionList.Where(x => x.ReadingQuestionId == item.QuestionId && x.QuestionMark == item.QuestionMark).Select(x => x.Id).FirstOrDefault();
}
var IslymphNode= recistTableAnswers.Where(x=>x.RowId== item.RowId&&x.QuestionMark==QuestionMark.IsLymph).Select(x=>x.Answer).FirstIsNullReturnEmpty().EqEnum(YesOrNoOrNa.Yes);
var minorAxis= recistTableAnswers.Where(x => x.RowId == item.RowId && x.QuestionMark == QuestionMark.ShortAxis).Select(x => x.Answer).FirstIsNullReturnEmpty().IsNullOrEmptyReturn0();
var iSbetween15and20= minorAxis >= 15 && minorAxis < 20;
if (item.QuestionMark == QuestionMark.State && IslymphNode && iSbetween15and20 && rowinfo.LesionType == LesionType.TargetLesion)
{
item.Answer = string.Empty;
}
}
item.TableQuestionId = tableQuestionList.Where(x => x.ReadingQuestionId == item.QuestionId && x.QuestionMark == item.QuestionMark).Select(x => x.Id).FirstOrDefault();
}
recistTableAnswers = recistTableAnswers.Where(x => x.TableQuestionId != default(Guid)).ToList();
List<QuestionMark?> notNeedCopyMarks = new List<QuestionMark?>()
{
List<QuestionMark?> notNeedCopyMarks = new List<QuestionMark?>()
{
};
var tableAnswers = recistTableAnswers.Select(x => new ReadingTableQuestionAnswer
{
Id = NewId.NextGuid(),
Answer = notNeedCopyMarks.Contains(x.QuestionMark) ? string.Empty : x.Answer,
QuestionId = x.QuestionId,
RowIndex = x.RowIndex,
RowId = tableRowAnswers.Where(y => y.OriginalId == x.RowId).Select(x => x.Id).FirstOrDefault(),
TableQuestionId = x.TableQuestionId,
TrialId = x.TrialId,
VisitTaskId = visitTaskId,
}).ToList();
};
var tableAnswers = recistTableAnswers.Select(x => new ReadingTableQuestionAnswer
{
Id = NewId.NextGuid(),
Answer = notNeedCopyMarks.Contains(x.QuestionMark) ? string.Empty : x.Answer,
QuestionId = x.QuestionId,
RowIndex = x.RowIndex,
RowId = tableRowAnswers.Where(y => y.OriginalId == x.RowId).Select(x => x.Id).FirstOrDefault(),
TableQuestionId = x.TableQuestionId,
TrialId = x.TrialId,
VisitTaskId = visitTaskId,
}).ToList();
// 添加 典型肝内病灶 默认值
tableRowAnswers.ForEach(x =>

View File

@ -558,7 +558,6 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
IsCurrentTaskAdd = true,
BlindName = taskinfo.TaskBlindName,
OrderMark = questionInfo.OrderMark,
FristAddTaskNum = taskinfo.VisitTaskNum,
FristAddTaskId = taskinfo.Id,
RowMark = questionInfo.OrderMark + decimal.Parse(maxnum.ToString()).GetLesionMark()
});
@ -769,7 +768,6 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
IsCurrentTaskAdd = true,
BlindName = taskinfo.TaskBlindName,
OrderMark = questionInfo.OrderMark,
FristAddTaskNum = taskinfo.VisitTaskNum,
FristAddTaskId = taskinfo.Id,
RowMark = questionInfo.OrderMark + decimal.Parse(maxnum.ToString()).GetLesionMark()
});
@ -1043,7 +1041,6 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
IsCurrentTaskAdd = true,
BlindName = inDto.BlindName,
OrderMark = patchDataStatisticsInfo.OrderMark,
FristAddTaskNum = inDto.VisitTaskNum,
FristAddTaskId = inDto.VisitTaskId,
RowMark = patchDataStatisticsInfo.OrderMark + decimal.Parse(item.ToString()).GetLesionMark()
});

View File

@ -10,12 +10,19 @@ public class ReadingTableAnswerRowInfo : BaseFullDeleteAuditEntity
[JsonIgnore]
[ForeignKey("InstanceId")]
public DicomInstance Instance { get; set; }
[JsonIgnore]
[ForeignKey("VisitTaskId")]
public VisitTask VisitTask { get; set; }
[JsonIgnore]
[ForeignKey("OrganInfoId")]
public OrganInfo OrganInfo { get; set; }
[JsonIgnore]
[ForeignKey("VisitTaskId")]
public VisitTask VisitTask { get; set; }
[JsonIgnore]
[ForeignKey("FristAddTaskId")]
public VisitTask FristAddTask { get; set; }
[JsonIgnore]
[ForeignKey("SplitRowId")]
public ReadingTableAnswerRowInfo SplitRow { get; set; }
@ -76,9 +83,6 @@ public class ReadingTableAnswerRowInfo : BaseFullDeleteAuditEntity
[StringLength(1000)]
public string PicturePath { get; set; } = string.Empty;
[Comment("第一次添加的任务ID")]
public decimal FristAddTaskNum { get; set; } = 0;
[Comment("首次添加任务ID")]
public Guid FristAddTaskId { get; set; }

View File

@ -23,6 +23,10 @@ namespace IRaCIS.Core.Infra.EFCore.EntityConfigration
//subject 删除了,但是任务没删除,导致的查询问题
builder.HasQueryFilter(b => b.Subject.IsDeleted == false);
builder.HasMany(t => t.LesionList).WithOne(s => s.VisitTask).HasForeignKey(t => t.VisitTaskId);
}
}
public class ReadingQuestionTrialConfigration : IEntityTypeConfiguration<ReadingQuestionTrial>
@ -35,4 +39,6 @@ namespace IRaCIS.Core.Infra.EFCore.EntityConfigration
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,32 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace IRaCIS.Core.Infra.EFCore.Migrations
{
/// <inheritdoc />
public partial class FristAddTaskNum : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "FristAddTaskNum",
table: "ReadingTableAnswerRowInfo");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<decimal>(
name: "FristAddTaskNum",
table: "ReadingTableAnswerRowInfo",
type: "decimal(18,2)",
precision: 18,
scale: 2,
nullable: false,
defaultValue: 0m,
comment: "第一次添加的任务ID");
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,39 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace IRaCIS.Core.Infra.EFCore.Migrations
{
/// <inheritdoc />
public partial class FristAddTaskNum1 : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateIndex(
name: "IX_ReadingTableAnswerRowInfo_FristAddTaskId",
table: "ReadingTableAnswerRowInfo",
column: "FristAddTaskId");
migrationBuilder.AddForeignKey(
name: "FK_ReadingTableAnswerRowInfo_VisitTask_FristAddTaskId",
table: "ReadingTableAnswerRowInfo",
column: "FristAddTaskId",
principalTable: "VisitTask",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_ReadingTableAnswerRowInfo_VisitTask_FristAddTaskId",
table: "ReadingTableAnswerRowInfo");
migrationBuilder.DropIndex(
name: "IX_ReadingTableAnswerRowInfo_FristAddTaskId",
table: "ReadingTableAnswerRowInfo");
}
}
}

View File

@ -6641,11 +6641,6 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
.HasColumnType("uniqueidentifier")
.HasComment("首次添加任务ID");
b.Property<decimal>("FristAddTaskNum")
.HasPrecision(18, 2)
.HasColumnType("decimal(18,2)")
.HasComment("第一次添加的任务ID");
b.Property<string>("FromMark")
.IsRequired()
.HasMaxLength(400)
@ -6786,6 +6781,8 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
b.HasIndex("CreateUserId");
b.HasIndex("FristAddTaskId");
b.HasIndex("InstanceId");
b.HasIndex("MergeRowId");
@ -16787,6 +16784,12 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("IRaCIS.Core.Domain.Models.VisitTask", "FristAddTask")
.WithMany()
.HasForeignKey("FristAddTaskId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("IRaCIS.Core.Domain.Models.DicomInstance", "Instance")
.WithMany("ReadingTableAnswerRowInfoList")
.HasForeignKey("InstanceId")
@ -16818,6 +16821,8 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
b.Navigation("CreateUserRole");
b.Navigation("FristAddTask");
b.Navigation("Instance");
b.Navigation("MergeRow");