From fbf7fc6a70a074e635ad985b39325b328d73c854 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Wed, 23 Jul 2025 13:59:29 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E7=94=B3=E8=AF=B7=E5=9B=9E=E9=80=80?= =?UTF-8?q?=E8=AE=BF=E8=A7=86=E6=95=B0=E6=8D=AE=20=20=E7=A8=BD=E6=9F=A5?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs index d062cb454..3d0972130 100644 --- a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs +++ b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs @@ -1965,7 +1965,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common var isDistinctionInterface = true; - var reason = entity.ApplyReason; + var reason = type== AuditOpt.Add? entity.ApplyReason: entity.ResultRemark; #region 处理标识 From beb6f2fca8b958f2caf1e50a19a35511a0460594 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Wed, 23 Jul 2025 14:29:21 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=A8=BD=E6=9F=A52?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- IRaCIS.Core.Application/Service/Common/ExcelExportService.cs | 2 +- .../Service/Inspection/FrontAuditConfigService.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs b/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs index 637a651f7..dbf2c065a 100644 --- a/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs +++ b/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs @@ -3632,7 +3632,7 @@ namespace IRaCIS.Core.Application.Service.Common AuditTime = qa.CurrentQCEnum==CurrentQC.First?qa.SubjectVisit.PreliminaryAuditTime: (qa.CurrentQCEnum == CurrentQC.Second ? qa.SubjectVisit.ReviewAuditTime: qa.UpdateTime) , AuditUserName = qa.CurrentQCEnum == CurrentQC.First ? qa.SubjectVisit.PreliminaryAuditUser.UserName : (qa.CurrentQCEnum == CurrentQC.Second ? qa.SubjectVisit.ReviewAuditUser.UserName : u.UserName) , - AuditUserFullName = qa.CurrentQCEnum == CurrentQC.First ? qa.SubjectVisit.PreliminaryAuditUser.FullName : (qa.CurrentQCEnum == CurrentQC.Second ? qa.SubjectVisit.ReviewAuditUser.FullName : u.FullName),, + AuditUserFullName = qa.CurrentQCEnum == CurrentQC.First ? qa.SubjectVisit.PreliminaryAuditUser.FullName : (qa.CurrentQCEnum == CurrentQC.Second ? qa.SubjectVisit.ReviewAuditUser.FullName : u.FullName), QuestionId=qa.TrialQCQuestionConfigure.Id, QuesitonName = qa.TrialQCQuestionConfigure.QuestionName, diff --git a/IRaCIS.Core.Application/Service/Inspection/FrontAuditConfigService.cs b/IRaCIS.Core.Application/Service/Inspection/FrontAuditConfigService.cs index 366a6dff8..37318368f 100644 --- a/IRaCIS.Core.Application/Service/Inspection/FrontAuditConfigService.cs +++ b/IRaCIS.Core.Application/Service/Inspection/FrontAuditConfigService.cs @@ -400,7 +400,7 @@ namespace IRaCIS.Core.Application.Service //用户的数据稽查没有 临时处理 - var userObj = await _userRoleRepository.Where(t => t.Id == objectRelationParentId).Select(t => new { UserRealName = t.IdentityUser.FullName, t.IdentityUser.Phone, t.IdentityUser.UserName, UserType = t.UserTypeRole.UserTypeShortName, t.IdentityUser.EMail, t.IdentityUser.OrganizationName }).FirstOrDefaultAsync(); + var userObj = await _userRoleRepository.Where(t => t.Id == objectRelationParentId).Select(t => new { UserRealName = t.IdentityUser.FullName, t.IdentityUser.Phone, t.IdentityUser.UserName, UserType = t.UserTypeRole.UserTypeShortName,t.UserTypeEnum, t.IdentityUser.EMail, t.IdentityUser.OrganizationName }).FirstOrDefaultAsync(); if (userObj != null) { From 356384142ac9480a6baad0971c670f75612094cb Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Wed, 23 Jul 2025 15:00:25 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E4=B8=8B=E4=B8=80=E4=B8=AA=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E4=B8=8D=E4=BC=9A=E8=B7=B3=E5=A4=8D=E6=A0=B8=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- IRaCIS.Core.Application/Service/QC/QCOperationService.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs index 56a857b9e..4de34635b 100644 --- a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs +++ b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs @@ -1250,7 +1250,8 @@ namespace IRaCIS.Core.Application.Image.QA - var currentActionList = await _subjectVisitRepository.Where(x => x.TrialId == inDto.TrialId && x.CurrentActionUserId == _userInfo.UserRoleId).OrderByDescending(x => x.IsUrgent) + var currentActionList = await _subjectVisitRepository.Where(x => x.TrialId == inDto.TrialId && x.CurrentActionUserId == _userInfo.UserRoleId) + .Where(t => t.SecondReviewState == SecondReviewState.None).OrderByDescending(x => x.IsUrgent) .ThenBy(x => x.Subject.Code).ThenBy(x => x.VisitNum).ToListAsync(); if (currentActionList.Count() > 0) @@ -1273,8 +1274,9 @@ namespace IRaCIS.Core.Application.Image.QA break; case TrialQCProcess.SingleAudit: visitList = await _subjectVisitRepository + .Where(t=> t.SecondReviewState == SecondReviewState.None) .Where(x => !x.SubjectVisitImageBackRecordList.Any(t => t.ImageBackState == ImageBackStateEnum.None)) - .Where(x => x.SubmitState == SubmitStateEnum.Submitted + .Where(x => x.SubmitState == SubmitStateEnum.Submitted && x.SecondReviewState == SecondReviewState.None && x.TrialId == inDto.TrialId && x.PreliminaryAuditUserId != _userInfo.UserRoleId && (x.CurrentActionUserId == _userInfo.UserRoleId || (x.AuditState != AuditStateEnum.PrimaryQCPassed && !x.IsTake))) .Where(x => x.QCChallengeList.Count() == 0 || x.QCChallengeList.Where(y => !y.IsClosed).OrderByDescending(x => x.CreateTime).FirstOrDefault().CreateUserId != _userInfo.UserRoleId) .Include(x => x.Subject).ToListAsync(); @@ -1309,6 +1311,7 @@ namespace IRaCIS.Core.Application.Image.QA case TrialQCProcess.DoubleAudit: visitList = await _subjectVisitRepository + .Where(t => t.SecondReviewState == SecondReviewState.None) .Where(x => !x.SubjectVisitImageBackRecordList.Any(t => t.ImageBackState == ImageBackStateEnum.None)) .Where(x => x.SubmitState == SubmitStateEnum.Submitted && x.TrialId == inDto.TrialId && ((x.CurrentActionUserId == _userInfo.UserRoleId) || (!x.IsTake && x.AuditState != AuditStateEnum.QCPassed && (x.PreliminaryAuditUserId != _userInfo.UserRoleId))) From 27d15599c1f3a972415c9a2a4b93e30877dd0924 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Tue, 22 Jul 2025 15:29:09 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E5=A4=8D=E6=A0=B8=E6=8C=87=E6=B4=BEbug?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/TrialSiteUser/TrialMaintenanceService.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs index 33503de6f..ed7b3aca8 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs @@ -319,6 +319,7 @@ namespace IRaCIS.Core.Application.Service public async Task> GetTrialUserRoleList(Guid trialId, Guid? subjectVisitId, UserTypeEnum? userTypeEnum) { + var isSeconReview = await _subjectVisitRepository.Where(t => t.Id == subjectVisitId).AnyAsync(t => t.SecondReviewState == SecondReviewState.WaitAudit); //复审指派需要过滤初审的人 var firstUserId = await _subjectVisitRepository.Where(t => t.Id == subjectVisitId).Select(t => t.PreliminaryAuditUserId).FirstOrDefaultAsync(); @@ -326,7 +327,7 @@ namespace IRaCIS.Core.Application.Service .SelectMany(t => t.TrialUserRoleList) .WhereIf(userTypeEnum != null, t => t.UserRole.UserTypeEnum == userTypeEnum) .Where(t => t.UserRole.Id != _userInfo.UserRoleId)//iQC 指派过滤自己 - .WhereIf(firstUserId != null, t => t.UserRole.Id != firstUserId)//iQC 指派过滤自己 + .WhereIf(firstUserId != null && isSeconReview == false, t => t.UserRole.Id != firstUserId)//iQC 过滤初审的人,复核不过滤 .Select(t => new TrialSelectUserBasicInfo() { FullName = t.TrialUser.IdentityUser.FullName,