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-02-08 10:54:45 +08:00
commit 6c2901daca
13 changed files with 18809 additions and 12 deletions

View File

@ -6002,6 +6002,16 @@
文件路径
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataTrialSetAddOrEdit.EnFileName">
<summary>
英文模板文件名称
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataTrialSetAddOrEdit.EnPath">
<summary>
英文文件路径
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataSystemSetAddOrEdit.IsApply">
<summary>
是否应用
@ -6052,6 +6062,16 @@
文件路径
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataSystemSetAddOrEdit.EnFileName">
<summary>
英文模板文件名称
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataSystemSetAddOrEdit.EnPath">
<summary>
英文文件路径
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataTrialSetView.CreateUserId">
<summary>
创建人
@ -15310,6 +15330,11 @@
关闭一致性质疑Dto
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Contracts.GetNextIQCQualityOutDto.IsReceived">
<summary>
是否领取了
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Contracts.TaskMedicalReviewExportDto.MedicalDialogCloseEnum">
<summary>
医学审核对话关闭原因

View File

@ -81,6 +81,11 @@ namespace IRaCIS.Core.Application.Contracts
public Guid? SubjectId { get; set; }
public Guid? VisitId { get; set; }
/// <summary>
/// 是否领取了
/// </summary>
public bool IsReceived { get; set; } = false;
}
public class CRCRequestToQCCommand

View File

@ -882,7 +882,7 @@ namespace IRaCIS.Core.Application.Image.QA
{
var nextIQCQuality = await this.GetNextIQCQuality(inDto);
if (nextIQCQuality.VisitId != null)
if (nextIQCQuality.VisitId != null&& nextIQCQuality.IsReceived==false)
{
var visit = await _subjectVisitRepository.Where(x => x.Id == nextIQCQuality.VisitId).FirstNotNullAsync();
if (!visit.IsTake)
@ -910,6 +910,22 @@ namespace IRaCIS.Core.Application.Image.QA
.FirstOrDefaultAsync(t => t.TrialId == inDto.TrialId)
.IfNullThrowException();
var currentActionList = await _subjectVisitRepository.Where(x => x.TrialId == inDto.TrialId && x.CurrentActionUserId == _userInfo.UserRoleId).OrderByDescending(x => x.IsUrgent)
.ThenBy(x => x.Subject.Code).ThenBy(x => x.VisitNum).ToListAsync();
if (currentActionList.Count() > 0)
{
return new GetNextIQCQualityOutDto()
{
IsReceived = true,
SubjectId= currentActionList[0].SubjectId,
VisitId = currentActionList[0].Id,
};
}
SubjectVisit? subjectVisit = null;
List<SubjectVisit>? visitList = null;
switch (trialConfig.QCProcessEnum)

View File

@ -372,6 +372,8 @@ namespace IRaCIS.Core.Application.Service
ClinicalDataSetEnName = x.ClinicalDataSetEnName,
UploadRole = x.UploadRole,
FileName = x.FileName,
EnFileName = x.EnFileName,
EnPath = x.EnPath,
Path = x.Path,
TrialId = trialId,
IsApply = x.IsApply,

View File

@ -159,9 +159,10 @@ namespace IRaCIS.Core.Application.Service
ClinicalDataLevel = x.ClinicalDataTrialSet.ClinicalDataLevel,
ClinicalDataSetEnName = x.ClinicalDataTrialSet.ClinicalDataSetEnName,
ClinicalDataTrialSetId = x.ClinicalDataTrialSet.Id,
FileName = x.ClinicalDataTrialSet.FileName,
FileName = _userInfo.IsEn_Us?x.ClinicalDataTrialSet.EnFileName: x.ClinicalDataTrialSet.FileName,
Path = _userInfo.IsEn_Us ? x.ClinicalDataTrialSet.EnPath : x.ClinicalDataTrialSet.Path,
UploadRole = x.ClinicalDataTrialSet.UploadRole,
Path = x.ClinicalDataTrialSet.Path,
IsBlind = x.IsBlind,
IsComplete = x.IsComplete,
ClinicalFromList = x.Subject.ClinicalFormList.Where(y => y.ReadingId == x.ReadingId && y.ClinicalDataTrialSetId == x.ClinicalDataTrialSetId).Select(y => new ClinicalFromData()
@ -231,9 +232,10 @@ namespace IRaCIS.Core.Application.Service
ClinicalDataLevel = x.ClinicalDataTrialSet.ClinicalDataLevel,
ClinicalDataSetEnName = x.ClinicalDataTrialSet.ClinicalDataSetEnName,
ClinicalDataTrialSetId = x.ClinicalDataTrialSet.Id,
FileName = x.ClinicalDataTrialSet.FileName,
FileName = _userInfo.IsEn_Us?x.ClinicalDataTrialSet.EnFileName: x.ClinicalDataTrialSet.FileName,
Path = _userInfo.IsEn_Us ? x.ClinicalDataTrialSet.EnPath : x.ClinicalDataTrialSet.Path,
UploadRole = x.ClinicalDataTrialSet.UploadRole,
Path = x.ClinicalDataTrialSet.Path,
IsBlind = x.IsBlind,
IsComplete = x.IsComplete,
ClinicalFromList = x.Subject.ClinicalFormList.Where(y => y.ReadingId == x.ReadingId && y.ClinicalDataTrialSetId == x.ClinicalDataTrialSetId).Select(y => new ClinicalFromData()
@ -682,8 +684,8 @@ namespace IRaCIS.Core.Application.Service
ClinicalDataSetName = x.ClinicalDataSetName.LanguageName(x.ClinicalDataSetEnName, _userInfo.IsEn_Us),
ClinicalDataSetEnName = x.ClinicalDataSetEnName,
ClinicalUploadType = x.ClinicalUploadType,
FileName = x.FileName,
Path = x.Path,
FileName = _userInfo.IsEn_Us?x.EnFileName: x.FileName,
Path = _userInfo.IsEn_Us ? x.EnPath : x.Path,
Id = x.Id,
CriterionEnumList = x.CriterionEnumList,
}).ToListAsync();

View File

@ -66,6 +66,16 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// </summary>
public string Path { get; set; }
/// <summary>
/// 英文模板文件名称
/// </summary>
public string EnFileName { get; set; } = string.Empty;
/// <summary>
/// 英文文件路径
/// </summary>
public string EnPath { get; set; } = string.Empty;
public List<Guid> TrialCriterionIdList { get; set; }
@ -139,6 +149,17 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public string Path { get; set; }
/// <summary>
/// 英文模板文件名称
/// </summary>
public string EnFileName { get; set; } = string.Empty;
/// <summary>
/// 英文文件路径
/// </summary>
public string EnPath { get; set; } = string.Empty;
//public List<Guid> SystemCriterionIdList { get; set; }

View File

@ -11,7 +11,7 @@ namespace IRaCIS.Core.Application.Interfaces
Task<IResponseOutput> DeleteSiteCRC(Guid id, bool isDelete);
Task<IResponseOutput> DeleteTrialSite(Guid id);
Task<PageOutput<SiteStatDTO>> GetSiteCRCList(SiteCrcQueryDTO param);
Task<PageOutput<SiteStatSimpleDTO>> GetSiteCRCSimpleList(SiteCrcQueryDTO param);
Task<(PageOutput<SiteStatSimpleDTO>,object)> GetSiteCRCSimpleList(SiteCrcQueryDTO param);
Task<PageOutput<TrialSiteScreeningDTO>> GetTrialSiteScreeningList(TrialSiteQuery trialSiteQuery);
Task<IEnumerable<TrialSiteForSelect>> GetTrialSiteSelect(Guid trialId);
}

View File

@ -101,9 +101,10 @@ namespace IRaCIS.Core.Application.Services
/// <summary>[new] setting页面Site列表和getSiteCRCList对比 没有统计数据增加了一些site信息 </summary>
[HttpPost]
public async Task<PageOutput<SiteStatSimpleDTO>> GetSiteCRCSimpleList(SiteCrcQueryDTO inQuery)
public async Task<(PageOutput<SiteStatSimpleDTO>,object)> GetSiteCRCSimpleList(SiteCrcQueryDTO inQuery)
{
var trialinfo = await _trialRepository.Where(x => x.Id == inQuery.TrialId).FirstNotNullAsync();
var siteStatQuery = _trialSiteRepository.Where(t => t.TrialId == inQuery.TrialId).IgnoreQueryFilters()
.WhereIf(inQuery.IsDeleted != null, t => t.IsDeleted == inQuery.IsDeleted)
.WhereIf(!string.IsNullOrWhiteSpace(inQuery.SiteName), t => t.TrialSiteName.Contains(inQuery.SiteName) || t.TrialSiteAliasName.Contains(inQuery.TrialSiteAliasName))
@ -118,7 +119,9 @@ namespace IRaCIS.Core.Application.Services
var result = await siteStatQuery.ToPagedListAsync(inQuery);
return result;
return (result,new {
IsPACSConnect= trialinfo.IsPACSConnect,
});
}

View File

@ -39,5 +39,15 @@ public class ClinicalDataSystemSet : BaseAddAuditEntity
[StringLength(1000)]
public string Path { get; set; } = null!;
/// <summary>
/// 英文模板文件名称
/// </summary>
public string EnFileName { get; set; } = string.Empty;
/// <summary>
/// 英文文件路径
/// </summary>
public string EnPath { get; set; } = string.Empty;
public UploadRole UploadRole { get; set; }
}

View File

@ -51,6 +51,16 @@ public class ClinicalDataTrialSet : BaseAddAuditEntity
[StringLength(1000)]
public string Path { get; set; } = null!;
/// <summary>
/// 英文模板文件名称
/// </summary>
public string EnFileName { get; set; } = string.Empty;
/// <summary>
/// 英文文件路径
/// </summary>
public string EnPath { get; set; } = string.Empty;
public Guid? SystemClinicalDataSetId { get; set; }
public Guid TrialId { get; set; }

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,113 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace IRaCIS.Core.Infra.EFCore.Migrations
{
/// <inheritdoc />
public partial class clidata : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AlterColumn<decimal>(
name: "VisitTaskNum",
table: "VisitTask",
type: "decimal(18,2)",
precision: 18,
scale: 2,
nullable: false,
comment: "随访任务号 取访视的号 计划外是 访视+0.1 裁判任务在访视任务上+0.02 全局任务在截止访视号上+0.03 肿瘤0.06",
oldClrType: typeof(decimal),
oldType: "decimal(18,2)",
oldPrecision: 18,
oldScale: 2,
oldComment: "随访任务号 取访视的号 计划外是 访视+0.1 裁判任务在访视任务上+0.002 全局任务在截止访视号上+0.03 肿瘤待定");
migrationBuilder.AlterColumn<Guid>(
name: "UserId",
table: "TrialUser",
type: "uniqueidentifier",
nullable: false,
comment: "这里实际是UserRoleId",
oldClrType: typeof(Guid),
oldType: "uniqueidentifier");
migrationBuilder.AddColumn<string>(
name: "EnFileName",
table: "ClinicalDataTrialSet",
type: "nvarchar(400)",
maxLength: 400,
nullable: false,
defaultValue: "");
migrationBuilder.AddColumn<string>(
name: "EnPath",
table: "ClinicalDataTrialSet",
type: "nvarchar(400)",
maxLength: 400,
nullable: false,
defaultValue: "");
migrationBuilder.AddColumn<string>(
name: "EnFileName",
table: "ClinicalDataSystemSet",
type: "nvarchar(400)",
maxLength: 400,
nullable: false,
defaultValue: "");
migrationBuilder.AddColumn<string>(
name: "EnPath",
table: "ClinicalDataSystemSet",
type: "nvarchar(400)",
maxLength: 400,
nullable: false,
defaultValue: "");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "EnFileName",
table: "ClinicalDataTrialSet");
migrationBuilder.DropColumn(
name: "EnPath",
table: "ClinicalDataTrialSet");
migrationBuilder.DropColumn(
name: "EnFileName",
table: "ClinicalDataSystemSet");
migrationBuilder.DropColumn(
name: "EnPath",
table: "ClinicalDataSystemSet");
migrationBuilder.AlterColumn<decimal>(
name: "VisitTaskNum",
table: "VisitTask",
type: "decimal(18,2)",
precision: 18,
scale: 2,
nullable: false,
comment: "随访任务号 取访视的号 计划外是 访视+0.1 裁判任务在访视任务上+0.002 全局任务在截止访视号上+0.03 肿瘤待定",
oldClrType: typeof(decimal),
oldType: "decimal(18,2)",
oldPrecision: 18,
oldScale: 2,
oldComment: "随访任务号 取访视的号 计划外是 访视+0.1 裁判任务在访视任务上+0.02 全局任务在截止访视号上+0.03 肿瘤0.06");
migrationBuilder.AlterColumn<Guid>(
name: "UserId",
table: "TrialUser",
type: "uniqueidentifier",
nullable: false,
oldClrType: typeof(Guid),
oldType: "uniqueidentifier",
oldComment: "这里实际是UserRoleId");
}
}
}

View File

@ -247,6 +247,16 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
.HasMaxLength(1000)
.HasColumnType("nvarchar(1000)");
b.Property<string>("EnFileName")
.IsRequired()
.HasMaxLength(400)
.HasColumnType("nvarchar(400)");
b.Property<string>("EnPath")
.IsRequired()
.HasMaxLength(400)
.HasColumnType("nvarchar(400)");
b.Property<string>("FileName")
.IsRequired()
.HasMaxLength(400)
@ -311,6 +321,16 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
.HasMaxLength(1000)
.HasColumnType("nvarchar(1000)");
b.Property<string>("EnFileName")
.IsRequired()
.HasMaxLength(400)
.HasColumnType("nvarchar(400)");
b.Property<string>("EnPath")
.IsRequired()
.HasMaxLength(400)
.HasColumnType("nvarchar(400)");
b.Property<string>("FileName")
.IsRequired()
.HasMaxLength(400)
@ -12744,7 +12764,8 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
.HasColumnType("uniqueidentifier");
b.Property<Guid>("UserId")
.HasColumnType("uniqueidentifier");
.HasColumnType("uniqueidentifier")
.HasComment("这里实际是UserRoleId");
b.HasKey("Id");
@ -13825,7 +13846,7 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
b.Property<decimal>("VisitTaskNum")
.HasPrecision(18, 2)
.HasColumnType("decimal(18,2)")
.HasComment("随访任务号 取访视的号 计划外是 访视+0.1 裁判任务在访视任务上+0.002 全局任务在截止访视号上+0.03 肿瘤待定");
.HasComment("随访任务号 取访视的号 计划外是 访视+0.1 裁判任务在访视任务上+0.02 全局任务在截止访视号上+0.03 肿瘤0.06");
b.HasKey("Id");