修改
continuous-integration/drone/push Build is passing Details

Test_IRC_Net8
he 2025-05-19 17:15:15 +08:00
parent 1dadf7b8b6
commit c498ffb21b
7 changed files with 19549 additions and 8 deletions

View File

@ -14427,6 +14427,12 @@
定时提醒 定时提醒
</summary> </summary>
</member> </member>
<member name="P:IRaCIS.Core.Application.MassTransit.Consumer.SystemDocumentPublishEvent.NewUserTypeIds">
<summary>
新增的需要发送邮件的用户角色ID列表
如果为null或空则发送给所有相关角色
</summary>
</member>
<member name="T:IRaCIS.Core.Application.MassTransit.Consumer.QCImageQuestionRecurringSchedule"> <member name="T:IRaCIS.Core.Application.MassTransit.Consumer.QCImageQuestionRecurringSchedule">
<summary> <summary>
QC 影像质疑待处理 QC 影像质疑待处理
@ -16270,6 +16276,16 @@
组件一致性和原Arm2是否有差异 组件一致性和原Arm2是否有差异
</summary> </summary>
</member> </member>
<member name="P:IRaCIS.Core.Application.Contracts.ImageBackViewModel.ApplyReason">
<summary>
申请原因
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Contracts.ImageBackViewModel.ResultRemark">
<summary>
结果备注
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Contracts.GetNextCRCChallengeInDto.QCChallengeId"> <member name="P:IRaCIS.Core.Application.Contracts.GetNextCRCChallengeInDto.QCChallengeId">
<summary> <summary>
QCChallengeId QCChallengeId
@ -17109,12 +17125,12 @@
<member name="T:IRaCIS.Core.Application.Services.SystemDocumentService"> <member name="T:IRaCIS.Core.Application.Services.SystemDocumentService">
<summary> <summary>
SystemDocumentService SystemDocumentService
</summary> </summary>
</member> </member>
<member name="M:IRaCIS.Core.Application.Services.SystemDocumentService.#ctor(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SystemDocument},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.UserRole},MassTransit.Mediator.IScopedMediator,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SystemDocumentAttachment},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.IdentityUser},Microsoft.Extensions.DependencyInjection.IServiceScopeFactory,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SystemDocConfirmedIdentityUser},AutoMapper.IMapper,IRaCIS.Core.Domain.Share.IUserInfo,Microsoft.Extensions.Localization.IStringLocalizer)"> <member name="M:IRaCIS.Core.Application.Services.SystemDocumentService.#ctor(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SystemDocument},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.UserRole},MassTransit.Mediator.IScopedMediator,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SystemDocumentAttachment},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.IdentityUser},Microsoft.Extensions.DependencyInjection.IServiceScopeFactory,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SystemDocConfirmedIdentityUser},AutoMapper.IMapper,IRaCIS.Core.Domain.Share.IUserInfo,Microsoft.Extensions.Localization.IStringLocalizer)">
<summary> <summary>
SystemDocumentService SystemDocumentService
</summary> </summary>
</member> </member>
<member name="M:IRaCIS.Core.Application.Services.SystemDocumentService.GetSystemDocumentAttachmentList(IRaCIS.Core.Application.Contracts.SystemDocumentAttachmentQuery)"> <member name="M:IRaCIS.Core.Application.Services.SystemDocumentService.GetSystemDocumentAttachmentList(IRaCIS.Core.Application.Contracts.SystemDocumentAttachmentQuery)">
<summary> <summary>
@ -17558,20 +17574,22 @@
<param name="qaDialogCommand"></param> <param name="qaDialogCommand"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:IRaCIS.Core.Application.Image.QA.QCOperationService.RequestImageBack(System.Guid)"> <member name="M:IRaCIS.Core.Application.Image.QA.QCOperationService.RequestImageBack(System.Guid,System.String)">
<summary> <summary>
CRC IQC 申请影像回退 CRC IQC 申请影像回退
</summary> </summary>
<param name="subjectVisitId"></param> <param name="subjectVisitId"></param>
<param name="ApplyReason"></param>
<returns></returns> <returns></returns>
<exception cref="T:IRaCIS.Core.Infrastructure.BusinessValidationFailedException"></exception> <exception cref="T:IRaCIS.Core.Infrastructure.BusinessValidationFailedException"></exception>
</member> </member>
<member name="M:IRaCIS.Core.Application.Image.QA.QCOperationService.AuditImageBack(System.Guid,System.Boolean)"> <member name="M:IRaCIS.Core.Application.Image.QA.QCOperationService.AuditImageBack(System.Guid,System.Boolean,System.String)">
<summary> <summary>
PM 审核CRC IQC 申请影像回退 PM 审核CRC IQC 申请影像回退
</summary> </summary>
<param name="iamgeBackRecordId"></param> <param name="iamgeBackRecordId"></param>
<param name="isAgree"></param> <param name="isAgree"></param>
<param name="resultRemark"></param>
<returns></returns> <returns></returns>
<exception cref="T:IRaCIS.Core.Infrastructure.BusinessValidationFailedException"></exception> <exception cref="T:IRaCIS.Core.Infrastructure.BusinessValidationFailedException"></exception>
</member> </member>

View File

@ -1750,6 +1750,16 @@ namespace IRaCIS.Core.Application.Contracts
public string SubjectCode { get; set; } = String.Empty; public string SubjectCode { get; set; } = String.Empty;
public String TrialSiteCode { get; set; } = String.Empty; public String TrialSiteCode { get; set; } = String.Empty;
/// <summary>
/// 申请原因
/// </summary>
public string ApplyReason { get; set; } = string.Empty;
/// <summary>
/// 结果备注
/// </summary>
public string ResultRemark { get; set; } = string.Empty;
} }

View File

@ -251,10 +251,11 @@ namespace IRaCIS.Core.Application.Image.QA
/// CRC IQC 申请影像回退 /// CRC IQC 申请影像回退
/// </summary> /// </summary>
/// <param name="subjectVisitId"></param> /// <param name="subjectVisitId"></param>
/// <param name="ApplyReason"></param>
/// <returns></returns> /// <returns></returns>
/// <exception cref="BusinessValidationFailedException"></exception> /// <exception cref="BusinessValidationFailedException"></exception>
[HttpPut] [HttpPut]
public async Task<IResponseOutput> RequestImageBack(Guid subjectVisitId) public async Task<IResponseOutput> RequestImageBack(Guid subjectVisitId,string ApplyReason)
{ {
if (_subjectVisitRepository.Any(t => t.Id == subjectVisitId && t.QCChallengeList.Any(t => t.IsClosed == false))) if (_subjectVisitRepository.Any(t => t.Id == subjectVisitId && t.QCChallengeList.Any(t => t.IsClosed == false)))
@ -290,7 +291,7 @@ namespace IRaCIS.Core.Application.Image.QA
throw new BusinessValidationFailedException(_localizer["QCOperation_SomeOneHaveApplyedImageBack"]); throw new BusinessValidationFailedException(_localizer["QCOperation_SomeOneHaveApplyedImageBack"]);
} }
var newRecord = new SubjectVisitImageBackRecord() { SubjectVisitId = subjectVisitId, SubmitTime = sv.SubmitTime, EarliestScanDate = sv.EarliestScanDate, LatestScanDate = sv.LatestScanDate }; var newRecord = new SubjectVisitImageBackRecord() { SubjectVisitId = subjectVisitId, ApplyReason=ApplyReason, SubmitTime = sv.SubmitTime, EarliestScanDate = sv.EarliestScanDate, LatestScanDate = sv.LatestScanDate };
if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ClinicalResearchCoordinator) if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ClinicalResearchCoordinator)
{ {
@ -314,10 +315,11 @@ namespace IRaCIS.Core.Application.Image.QA
/// </summary> /// </summary>
/// <param name="iamgeBackRecordId"></param> /// <param name="iamgeBackRecordId"></param>
/// <param name="isAgree"></param> /// <param name="isAgree"></param>
/// <param name="resultRemark"></param>
/// <returns></returns> /// <returns></returns>
/// <exception cref="BusinessValidationFailedException"></exception> /// <exception cref="BusinessValidationFailedException"></exception>
[HttpPut] [HttpPut]
public async Task<IResponseOutput> AuditImageBack(Guid iamgeBackRecordId, bool isAgree) public async Task<IResponseOutput> AuditImageBack(Guid iamgeBackRecordId, bool isAgree,string resultRemark)
{ {
var backRecord = (await _subjectVisitImageBackRecordReposiotry.FirstOrDefaultAsync(t => t.Id == iamgeBackRecordId)).IfNullThrowException(); var backRecord = (await _subjectVisitImageBackRecordReposiotry.FirstOrDefaultAsync(t => t.Id == iamgeBackRecordId)).IfNullThrowException();
@ -412,7 +414,7 @@ namespace IRaCIS.Core.Application.Image.QA
} }
backRecord.AuditTime = DateTime.Now; backRecord.AuditTime = DateTime.Now;
backRecord.ResultRemark = resultRemark;
await _subjectVisitRepository.SaveChangesAsync(); await _subjectVisitRepository.SaveChangesAsync();
return ResponseOutput.Ok(); return ResponseOutput.Ok();

View File

@ -214,4 +214,14 @@ public class SubjectVisitImageBackRecord : BaseFullAuditEntity
public DateTime? AuditTime { get; set; } public DateTime? AuditTime { get; set; }
/// <summary>
/// 申请原因
/// </summary>
public string ApplyReason { get; set; } = string.Empty;
/// <summary>
/// 结果备注
/// </summary>
public string ResultRemark { get; set; } = string.Empty;
} }

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,42 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace IRaCIS.Core.Infra.EFCore.Migrations
{
/// <inheritdoc />
public partial class ImageBack : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<string>(
name: "ApplyReason",
table: "SubjectVisitImageBackRecord",
type: "nvarchar(400)",
maxLength: 400,
nullable: false,
defaultValue: "");
migrationBuilder.AddColumn<string>(
name: "ResultRemark",
table: "SubjectVisitImageBackRecord",
type: "nvarchar(400)",
maxLength: 400,
nullable: false,
defaultValue: "");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "ApplyReason",
table: "SubjectVisitImageBackRecord");
migrationBuilder.DropColumn(
name: "ResultRemark",
table: "SubjectVisitImageBackRecord");
}
}
}

View File

@ -9073,6 +9073,11 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
b.Property<Guid>("Id") b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier"); .HasColumnType("uniqueidentifier");
b.Property<string>("ApplyReason")
.IsRequired()
.HasMaxLength(400)
.HasColumnType("nvarchar(400)");
b.Property<int>("ApplyUserRole") b.Property<int>("ApplyUserRole")
.HasColumnType("int"); .HasColumnType("int");
@ -9096,6 +9101,11 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
.HasColumnType("datetime2") .HasColumnType("datetime2")
.HasComment("最晚拍片日期"); .HasComment("最晚拍片日期");
b.Property<string>("ResultRemark")
.IsRequired()
.HasMaxLength(400)
.HasColumnType("nvarchar(400)");
b.Property<Guid>("SubjectVisitId") b.Property<Guid>("SubjectVisitId")
.HasColumnType("uniqueidentifier"); .HasColumnType("uniqueidentifier");