修复质疑关闭状态验证
parent
fafe6a76a0
commit
6e48327906
|
@ -196,9 +196,6 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 删除QC质疑记录
|
/// 删除QC质疑记录
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -311,11 +308,14 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||||
|
|
||||||
var sv = (await _subjectVisitRepository.FirstOrDefaultAsync(t => t.Id == input.subjectVisitId)).IfNullThrowException();
|
var sv = (await _subjectVisitRepository.FirstOrDefaultAsync(t => t.Id == input.subjectVisitId)).IfNullThrowException();
|
||||||
|
|
||||||
if (sv.RequestBackState == RequestBackStateEnum.PM_AgressBack)
|
if ( sv.RequestBackState == RequestBackStateEnum.CRC_RequestBack)
|
||||||
{
|
{
|
||||||
ResponseOutput.NotOk("执行一致性核查的访视 不允许关闭质疑!");
|
ResponseOutput.NotOk("CRC申请回退状态时, 不允许关闭质疑!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
sv.CloseTheReason = input.CloseCheckChallenge;
|
sv.CloseTheReason = input.CloseCheckChallenge;
|
||||||
|
|
||||||
sv.CheckChallengeState = CheckChanllengeTypeEnum.Closed;
|
sv.CheckChallengeState = CheckChanllengeTypeEnum.Closed;
|
||||||
await _checkChallengeDialogrepository.AddAsync(new CheckChallengeDialog()
|
await _checkChallengeDialogrepository.AddAsync(new CheckChallengeDialog()
|
||||||
{
|
{
|
||||||
|
@ -353,7 +353,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||||
|
|
||||||
if (sv.CheckChallengeState != CheckChanllengeTypeEnum.Closed && sv.AuditState == AuditStateEnum.QCPassed)
|
if (sv.CheckChallengeState != CheckChanllengeTypeEnum.Closed && sv.AuditState == AuditStateEnum.QCPassed)
|
||||||
{
|
{
|
||||||
ResponseOutput.NotOk("一致性核查质疑未关闭/审核状态不是通过,不允许设置一致性核查通过");
|
ResponseOutput.NotOk("一致性核查质疑未关闭|审核状态不是通过,不允许设置一致性核查通过");
|
||||||
}
|
}
|
||||||
|
|
||||||
sv.CheckState = CheckStateEnum.CVPassed;
|
sv.CheckState = CheckStateEnum.CVPassed;
|
||||||
|
@ -378,7 +378,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||||
[TypeFilter(typeof(TrialResourceFilter))]
|
[TypeFilter(typeof(TrialResourceFilter))]
|
||||||
public async Task<IResponseOutput> CRCRequstCheckBack(Guid subjectVisitId)
|
public async Task<IResponseOutput> CRCRequstCheckBack(Guid subjectVisitId)
|
||||||
{
|
{
|
||||||
var sv = (await _subjectVisitRepository.FirstOrDefaultNoTrackingAsync(t => t.Id == subjectVisitId)).IfNullThrowException();
|
var sv = (await _subjectVisitRepository.FirstOrDefaultAsync(t => t.Id == subjectVisitId)).IfNullThrowException();
|
||||||
|
|
||||||
|
|
||||||
if (sv.CheckState == CheckStateEnum.CVPassed)
|
if (sv.CheckState == CheckStateEnum.CVPassed)
|
||||||
|
@ -396,12 +396,49 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
await _subjectVisitRepository.UpdatePartialFromQueryAsync(subjectVisitId, u => new SubjectVisit() { RequestBackState = RequestBackStateEnum.CRC_RequestBack }, true);
|
if (sv.RequestBackState == RequestBackStateEnum.NotRequest || sv.RequestBackState == RequestBackStateEnum.PM_NotAgree)
|
||||||
|
{
|
||||||
|
sv.RequestBackState = RequestBackStateEnum.CRC_RequestBack;
|
||||||
|
|
||||||
|
await _subjectVisitRepository.SaveChangesAsync();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return ResponseOutput.NotOk("其他CRC已申请处理,请刷新页面");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return ResponseOutput.Ok();
|
return ResponseOutput.Ok();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HttpPut("{trialId:guid}/{subjectVisitId:guid}")]
|
||||||
|
public async Task<IResponseOutput> RejectCheckBack(Guid subjectVisitId)
|
||||||
|
{
|
||||||
|
if (_userInfo.UserTypeEnumInt != (int)UserTypeEnum.ProjectManager)
|
||||||
|
{
|
||||||
|
return ResponseOutput.NotOk(" 只允许PM 操作!");
|
||||||
|
}
|
||||||
|
|
||||||
|
var sv = (await _subjectVisitRepository.FirstOrDefaultAsync(t => t.Id == subjectVisitId)).IfNullThrowException();
|
||||||
|
|
||||||
|
if (sv.RequestBackState == RequestBackStateEnum.CRC_RequestBack)
|
||||||
|
{
|
||||||
|
sv.RequestBackState = RequestBackStateEnum.PM_NotAgree;
|
||||||
|
|
||||||
|
await _repository.AddAsync(new CheckChallengeDialog() { SubjectVisitId = subjectVisitId, TalkContent = "PM拒绝一致性核查回退", UserTypeEnum = (UserTypeEnum)_userInfo.UserTypeEnumInt });
|
||||||
|
|
||||||
|
await _subjectVisitRepository.SaveChangesAsync();
|
||||||
|
|
||||||
|
return ResponseOutput.Ok();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return ResponseOutput.NotOk(" 只允许PM 操作!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 一致性核查 回退 对话记录不清除 只允许PM回退 [签名 不需要对]
|
/// 一致性核查 回退 对话记录不清除 只允许PM回退 [签名 不需要对]
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -126,6 +126,7 @@ namespace IRaCIS.Core.Application.MediatR.Handlers
|
||||||
dbSV.CheckPassedTime = DateTime.Now;
|
dbSV.CheckPassedTime = DateTime.Now;
|
||||||
dbSV.CheckResult = "核对EDC数据,完全一致";
|
dbSV.CheckResult = "核对EDC数据,完全一致";
|
||||||
dbSV.ManualPassReason = "自动核查通过";
|
dbSV.ManualPassReason = "自动核查通过";
|
||||||
|
dbSV.RequestBackState = dbSV.RequestBackState== RequestBackStateEnum.CRC_RequestBack? RequestBackStateEnum.PM_NotAgree: RequestBackStateEnum.NotRequest;
|
||||||
dbSV.CheckChallengeDialogList.Add(new CheckChallengeDialog() { SubjectVisitId = sv.SubjectVisitId, TalkContent = dbSV.CheckResult, UserTypeEnum = (UserTypeEnum)_userInfo.UserTypeEnumInt });
|
dbSV.CheckChallengeDialogList.Add(new CheckChallengeDialog() { SubjectVisitId = sv.SubjectVisitId, TalkContent = dbSV.CheckResult, UserTypeEnum = (UserTypeEnum)_userInfo.UserTypeEnumInt });
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -14,7 +14,9 @@ namespace IRaCIS.Core.Domain.Share
|
||||||
CRC_RequestBack = 1,
|
CRC_RequestBack = 1,
|
||||||
|
|
||||||
//PM 已同意 CRC
|
//PM 已同意 CRC
|
||||||
PM_AgressBack = 2
|
PM_AgressBack = 2,
|
||||||
|
|
||||||
|
PM_NotAgree=3,
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue