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

View File

@ -6,9 +6,11 @@ using IRaCIS.Core.Application.Contracts.DTO;
using IRaCIS.Core.Application.Filter; using IRaCIS.Core.Application.Filter;
using IRaCIS.Core.Domain.Models; using IRaCIS.Core.Domain.Models;
using IRaCIS.Core.Domain.Share; using IRaCIS.Core.Domain.Share;
using IRaCIS.Core.Infrastructure.Extention;
using MassTransit.Serialization; using MassTransit.Serialization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore.Storage.Json; using Microsoft.EntityFrameworkCore.Storage.Json;
using NPOI.SS.Formula.Functions;
using System; using System;
namespace IRaCIS.Core.Application.Service 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) var list = await _trialIdentityUserRepository.Where(t => t.TrialId == trialId)
.SelectMany(t => t.TrialUserRoleList) .SelectMany(t => t.TrialUserRoleList)
.WhereIf(userTypeEnum != null, t => t.UserRole.UserTypeEnum == userTypeEnum) .WhereIf(userTypeEnum != null, t => t.UserRole.UserTypeEnum == userTypeEnum)
.Where(t => t.UserRole.Id != _userInfo.UserRoleId)//iQC 指派过滤自己 .Where(t => t.UserRole.Id != _userInfo.UserRoleId)//iQC 指派过滤自己
.WhereIf(firstUserId != null, t => t.UserRole.Id != firstUserId)//iQC 指派过滤自己
.Select(t => new TrialSelectUserBasicInfo() .Select(t => new TrialSelectUserBasicInfo()
{ {
FullName = t.TrialUser.IdentityUser.FullName, FullName = t.TrialUser.IdentityUser.FullName,