Compare commits

..

3 Commits

Author SHA1 Message Date
hang 72e8106516 复核稽查修改011
continuous-integration/drone/push Build is passing Details
2025-07-18 16:24:28 +08:00
hang 85d58d3ca2 复核稽查修改010 2025-07-18 16:24:17 +08:00
hang 1c05010552 复核稽查修改009 2025-07-18 16:24:13 +08:00
2 changed files with 70 additions and 54 deletions

View File

@ -1369,6 +1369,12 @@ namespace IRaCIS.Core.Application.Image.QA
if (obtaionOrCancel)
{
//复核的时候,指派后,另外一个人进来的时候如果是自己,那么不进行后续流程
if (dbSubjectVisit.CurrentActionUserId == _userInfo.UserRoleId)
{
return ResponseOutput.Ok();
}
if (dbSubjectVisit.CurrentActionUserId != null && dbSubjectVisit.IsTake)
{
//throw new BusinessValidationFailedException("当前访视已被领取,不允许领取");
@ -1400,6 +1406,8 @@ namespace IRaCIS.Core.Application.Image.QA
// return ResponseOutput.NotOk("您已经领取了其他受试者,完成后才允许领取新的受试者");
//}
if (dbSubjectVisit.SecondReviewState == SecondReviewState.None)
{
#region 处理验证
if (trialConfig.QCProcessEnum == TrialQCProcess.NotAudit)
@ -1459,6 +1467,8 @@ namespace IRaCIS.Core.Application.Image.QA
}
#endregion
}
dbSubjectVisit.IsTake = true;

View File

@ -6,9 +6,11 @@ using IRaCIS.Core.Application.Contracts.DTO;
using IRaCIS.Core.Application.Filter;
using IRaCIS.Core.Domain.Models;
using IRaCIS.Core.Domain.Share;
using IRaCIS.Core.Infrastructure.Extention;
using MassTransit.Serialization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore.Storage.Json;
using NPOI.SS.Formula.Functions;
using System;
namespace IRaCIS.Core.Application.Service
@ -315,12 +317,16 @@ namespace IRaCIS.Core.Application.Service
}
public async Task<List<TrialSelectUserBasicInfo>> GetTrialUserRoleList(Guid trialId, UserTypeEnum? userTypeEnum)
public async Task<List<TrialSelectUserBasicInfo>> GetTrialUserRoleList(Guid trialId, Guid? subjectVisitId, UserTypeEnum? userTypeEnum)
{
//复审指派需要过滤初审的人
var firstUserId = await _subjectVisitRepository.Where(t => t.Id == subjectVisitId).Select(t => t.PreliminaryAuditUserId).FirstOrDefaultAsync();
var list = await _trialIdentityUserRepository.Where(t => t.TrialId == trialId)
.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 指派过滤自己
.Select(t => new TrialSelectUserBasicInfo()
{
FullName = t.TrialUser.IdentityUser.FullName,