Compare commits
No commits in common. "72e8106516eed0ed9bf7b0097663b160d85124a2" and "1aad2c6a3f374e521fc8619ef643a0d954f16df8" have entirely different histories.
72e8106516
...
1aad2c6a3f
|
|
@ -1369,12 +1369,6 @@ 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("当前访视已被领取,不允许领取");
|
||||
|
|
@ -1406,69 +1400,65 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
// return ResponseOutput.NotOk("您已经领取了其他受试者,完成后才允许领取新的受试者");
|
||||
//}
|
||||
|
||||
if (dbSubjectVisit.SecondReviewState == SecondReviewState.None)
|
||||
#region 处理验证
|
||||
|
||||
if (trialConfig.QCProcessEnum == TrialQCProcess.NotAudit)
|
||||
{
|
||||
#region 处理验证
|
||||
|
||||
if (trialConfig.QCProcessEnum == TrialQCProcess.NotAudit)
|
||||
//---项目配置为不审,没有领取QC Task
|
||||
return ResponseOutput.NotOk(_localizer["QCOperation_NoQC"]);
|
||||
}
|
||||
else if (trialConfig.QCProcessEnum == TrialQCProcess.SingleAudit)
|
||||
{
|
||||
if (dbSubjectVisit.PreliminaryAuditUserId == _userInfo.UserRoleId)
|
||||
{
|
||||
//---项目配置为不审,没有领取QC Task
|
||||
return ResponseOutput.NotOk(_localizer["QCOperation_NoQC"]);
|
||||
}
|
||||
else if (trialConfig.QCProcessEnum == TrialQCProcess.SingleAudit)
|
||||
{
|
||||
if (dbSubjectVisit.PreliminaryAuditUserId == _userInfo.UserRoleId)
|
||||
{
|
||||
//---初审已通过,不能继续领取
|
||||
return ResponseOutput.NotOk(_localizer["QCOperation_InitialAuditPassed"]);
|
||||
}
|
||||
|
||||
if (dbSubjectVisit.SubmitState == SubmitStateEnum.Submitted && dbSubjectVisit.AuditState == AuditStateEnum.ToAudit)
|
||||
{
|
||||
dbSubjectVisit.AuditState = AuditStateEnum.InPrimaryQC;
|
||||
}
|
||||
if (dbSubjectVisit.SubmitState == SubmitStateEnum.Submitted && dbSubjectVisit.AuditState == AuditStateEnum.InPrimaryQC)
|
||||
{
|
||||
//单审QC 释放后 也是可以领取的
|
||||
}
|
||||
else
|
||||
{
|
||||
// ---项目配置为单审,不满足Submmit State:已提交 或者 Audit State:待审核/审核中, 不允许领取,请刷新界面
|
||||
return ResponseOutput.NotOk(_localizer["QCOperation_NoSingleAudit"]);
|
||||
}
|
||||
}
|
||||
else if (trialConfig.QCProcessEnum == TrialQCProcess.DoubleAudit)
|
||||
{
|
||||
if (dbSubjectVisit.PreliminaryAuditUserId == _userInfo.UserRoleId)
|
||||
{
|
||||
//---复审不能和初审是同一个人
|
||||
return ResponseOutput.NotOk(_localizer["QCOperation_NoSameReviewer"]);
|
||||
}
|
||||
|
||||
//提交 并且初审通过 那么领取后进入 复审中
|
||||
if (dbSubjectVisit.SubmitState == SubmitStateEnum.Submitted && dbSubjectVisit.AuditState == AuditStateEnum.PrimaryQCPassed)
|
||||
{
|
||||
dbSubjectVisit.AuditState = AuditStateEnum.InSecondaryQC;
|
||||
|
||||
}
|
||||
else if (dbSubjectVisit.SubmitState == SubmitStateEnum.Submitted && dbSubjectVisit.AuditState == AuditStateEnum.ToAudit)
|
||||
{
|
||||
dbSubjectVisit.AuditState = AuditStateEnum.InPrimaryQC;
|
||||
}
|
||||
else if (dbSubjectVisit.SubmitState == SubmitStateEnum.Submitted && (dbSubjectVisit.AuditState == AuditStateEnum.InPrimaryQC || dbSubjectVisit.AuditState == AuditStateEnum.InSecondaryQC))
|
||||
{
|
||||
//初审中 复审中 领取也是ok的 其他人接着做
|
||||
}
|
||||
else
|
||||
{
|
||||
//---项目配置为复审,不满足提交状态:已提交 或者 审核状态:待审核/QC中, 不允许领取,请刷新界面
|
||||
return ResponseOutput.NotOk(_localizer["QCOperation_NoSecondaryAudit"]);
|
||||
}
|
||||
//---初审已通过,不能继续领取
|
||||
return ResponseOutput.NotOk(_localizer["QCOperation_InitialAuditPassed"]);
|
||||
}
|
||||
|
||||
#endregion
|
||||
if (dbSubjectVisit.SubmitState == SubmitStateEnum.Submitted && dbSubjectVisit.AuditState == AuditStateEnum.ToAudit)
|
||||
{
|
||||
dbSubjectVisit.AuditState = AuditStateEnum.InPrimaryQC;
|
||||
}
|
||||
if (dbSubjectVisit.SubmitState == SubmitStateEnum.Submitted && dbSubjectVisit.AuditState == AuditStateEnum.InPrimaryQC)
|
||||
{
|
||||
//单审QC 释放后 也是可以领取的
|
||||
}
|
||||
else
|
||||
{
|
||||
// ---项目配置为单审,不满足Submmit State:已提交 或者 Audit State:待审核/审核中, 不允许领取,请刷新界面
|
||||
return ResponseOutput.NotOk(_localizer["QCOperation_NoSingleAudit"]);
|
||||
}
|
||||
}
|
||||
else if (trialConfig.QCProcessEnum == TrialQCProcess.DoubleAudit)
|
||||
{
|
||||
if (dbSubjectVisit.PreliminaryAuditUserId == _userInfo.UserRoleId)
|
||||
{
|
||||
//---复审不能和初审是同一个人
|
||||
return ResponseOutput.NotOk(_localizer["QCOperation_NoSameReviewer"]);
|
||||
}
|
||||
|
||||
//提交 并且初审通过 那么领取后进入 复审中
|
||||
if (dbSubjectVisit.SubmitState == SubmitStateEnum.Submitted && dbSubjectVisit.AuditState == AuditStateEnum.PrimaryQCPassed)
|
||||
{
|
||||
dbSubjectVisit.AuditState = AuditStateEnum.InSecondaryQC;
|
||||
|
||||
}
|
||||
else if (dbSubjectVisit.SubmitState == SubmitStateEnum.Submitted && dbSubjectVisit.AuditState == AuditStateEnum.ToAudit)
|
||||
{
|
||||
dbSubjectVisit.AuditState = AuditStateEnum.InPrimaryQC;
|
||||
}
|
||||
else if (dbSubjectVisit.SubmitState == SubmitStateEnum.Submitted && (dbSubjectVisit.AuditState == AuditStateEnum.InPrimaryQC || dbSubjectVisit.AuditState == AuditStateEnum.InSecondaryQC))
|
||||
{
|
||||
//初审中 复审中 领取也是ok的 其他人接着做
|
||||
}
|
||||
else
|
||||
{
|
||||
//---项目配置为复审,不满足提交状态:已提交 或者 审核状态:待审核/QC中, 不允许领取,请刷新界面
|
||||
return ResponseOutput.NotOk(_localizer["QCOperation_NoSecondaryAudit"]);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
dbSubjectVisit.IsTake = true;
|
||||
|
||||
|
|
|
|||
|
|
@ -6,11 +6,9 @@ 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
|
||||
|
|
@ -317,16 +315,12 @@ namespace IRaCIS.Core.Application.Service
|
|||
}
|
||||
|
||||
|
||||
public async Task<List<TrialSelectUserBasicInfo>> GetTrialUserRoleList(Guid trialId, Guid? subjectVisitId, UserTypeEnum? userTypeEnum)
|
||||
public async Task<List<TrialSelectUserBasicInfo>> GetTrialUserRoleList(Guid trialId, 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,
|
||||
|
|
|
|||
Loading…
Reference in New Issue