调整验证接口
parent
c7236ebc95
commit
cade8350b7
|
@ -840,7 +840,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPut("{trialId:guid}/{subjectVisitId:guid}/{id:guid}/{type:int}")]
|
[HttpPut("{trialId:guid}/{subjectVisitId:guid}/{id:guid}/{type:int}")]
|
||||||
[TypeFilter(typeof(TrialResourceFilter))]
|
[TypeFilter(typeof(TrialResourceFilter))]
|
||||||
public async Task<IResponseOutput> UpdateModality(Guid id, Guid subjectVisitId, int type, [FromQuery] string modality, [FromQuery] string bodyPart)
|
public async Task<IResponseOutput> UpdateModality(Guid id, Guid subjectVisitId, int type, [FromQuery] string modality, [FromQuery] string bodyPart)
|
||||||
{
|
{
|
||||||
|
|
||||||
var DicomSeriesdata = await _repository.GetQueryable<DicomSeries>().Where(x => x.StudyId == id).ToListAsync();
|
var DicomSeriesdata = await _repository.GetQueryable<DicomSeries>().Where(x => x.StudyId == id).ToListAsync();
|
||||||
|
@ -1259,6 +1259,42 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[HttpGet("{subjectVisitId:guid}")]
|
||||||
|
public async Task<IResponseOutput> VerifyCRCRequestToQC(CRCRequestToQCCommand cRCRequestToQCCommand)
|
||||||
|
{
|
||||||
|
var dbSubjectVisitList = await _subjectVisitRepository.Where(t => cRCRequestToQCCommand.SubjectVisitIds.Contains(t.Id), true).ToListAsync();
|
||||||
|
|
||||||
|
//普通提交
|
||||||
|
if (dbSubjectVisitList.Count() == 1)
|
||||||
|
{
|
||||||
|
var sv = dbSubjectVisitList[0];
|
||||||
|
|
||||||
|
var existObj = await _subjectVisitRepository.FirstOrDefaultAsync(t => t.SubmitState != SubmitStateEnum.Submitted && t.VisitNum < sv.VisitNum);
|
||||||
|
|
||||||
|
if (sv.PDState == PDStateEnum.PDProgress)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (existObj != null)
|
||||||
|
{
|
||||||
|
return ResponseOutput.NotOk($"系统检测发现该受试者当前访视之前的访视:{existObj.VisitName},未提交,疾病进展确认对阅片时限要求很高,请将上述访视提交或标记失访后,再提交当前访视!", ApiResponseCodeEnum.BusinessValidationFailed);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (existObj != null)
|
||||||
|
{
|
||||||
|
|
||||||
|
return ResponseOutput.NotOk($"系统检测发现该受试者当前访视之前的访视:{existObj.VisitName},未提交。请尽快完成上述访视的影像上传和提交!", ApiResponseCodeEnum.NeedTips);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return ResponseOutput.Ok();
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// CRC RequestToQC 批量提交
|
/// CRC RequestToQC 批量提交
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -1267,11 +1303,10 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||||
[TypeFilter(typeof(TrialResourceFilter))]
|
[TypeFilter(typeof(TrialResourceFilter))]
|
||||||
public async Task<IResponseOutput> CRCRequestToQC(CRCRequestToQCCommand cRCRequestToQCCommand)
|
public async Task<IResponseOutput> CRCRequestToQC(CRCRequestToQCCommand cRCRequestToQCCommand)
|
||||||
{
|
{
|
||||||
var trialConfig = await _trialRepository
|
var trialConfig = (await _trialRepository
|
||||||
.Select(t => new { TrialId = t.Id, t.QCProcessEnum, t.IsImageConsistencyVerification, t.IsUrgent, t.IsHaveFirstGiveMedicineDate, t.ClinicalInformationTransmissionEnum })
|
.Select(t => new { TrialId = t.Id, t.QCProcessEnum, t.IsImageConsistencyVerification, t.IsUrgent, t.IsHaveFirstGiveMedicineDate, t.ClinicalInformationTransmissionEnum })
|
||||||
.FirstOrDefaultAsync(t => t.TrialId == cRCRequestToQCCommand.TrialId);
|
.FirstOrDefaultAsync(t => t.TrialId == cRCRequestToQCCommand.TrialId)).IfNullThrowException();
|
||||||
|
|
||||||
if (trialConfig == null) return Null404NotFound(trialConfig);
|
|
||||||
|
|
||||||
var dbSubjectVisitList = await _subjectVisitRepository.Where(t => cRCRequestToQCCommand.SubjectVisitIds.Contains(t.Id), true).Include(t => t.Subject).ToListAsync();
|
var dbSubjectVisitList = await _subjectVisitRepository.Where(t => cRCRequestToQCCommand.SubjectVisitIds.Contains(t.Id), true).Include(t => t.Subject).ToListAsync();
|
||||||
|
|
||||||
|
@ -1411,7 +1446,6 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="trialId"></param>
|
/// <param name="trialId"></param>
|
||||||
/// <param name="subjectVisitId"></param>
|
/// <param name="subjectVisitId"></param>
|
||||||
/// <param name="signId"></param>
|
|
||||||
/// <param name="auditState"></param>
|
/// <param name="auditState"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost("{trialId:guid}/{subjectVisitId:guid}/{auditState:int}")]
|
[HttpPost("{trialId:guid}/{subjectVisitId:guid}/{auditState:int}")]
|
||||||
|
@ -1944,24 +1978,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 验证QC是否可以操作 数据库查询判断当前QC执行人和登陆的用户是否一致
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="subjectVisitId"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
private async Task<IResponseOutput> VerifyQCCanOpt(Guid subjectVisitId)
|
|
||||||
{
|
|
||||||
var optUser = await _subjectVisitRepository.Where(t => t.Id == subjectVisitId).FirstOrDefaultAsync();
|
|
||||||
|
|
||||||
if (optUser == null) return Null404NotFound(optUser);
|
|
||||||
|
|
||||||
if (optUser.CurrentActionUserId != _userInfo.Id)
|
|
||||||
{
|
|
||||||
return ResponseOutput.NotOk("其他QC正在进行审核,当前操作不允许");
|
|
||||||
}
|
|
||||||
|
|
||||||
return ResponseOutput.Ok();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue