修改获取下一个任务
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
e9bd228e09
commit
24a082c0f0
|
@ -17990,7 +17990,14 @@
|
|||
<param name="inDto"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Image.QA.QCOperationService.GetNextIQCQuality(IRaCIS.Core.Application.Contracts.GetNextIQCQualityInDto,System.Boolean)">
|
||||
<member name="M:IRaCIS.Core.Application.Image.QA.QCOperationService.GetNextIQCQuality(IRaCIS.Core.Application.Contracts.GetNextIQCQualityInDto)">
|
||||
<summary>
|
||||
因为不区分任务类型,按照同类型没找到,要自动切换到下一种类型,必须包一层
|
||||
</summary>
|
||||
<param name="inDto"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Image.QA.QCOperationService.GetNextIQCTask(IRaCIS.Core.Application.Contracts.GetNextIQCQualityInDto,System.Boolean)">
|
||||
<summary>
|
||||
获取下一个质控任务
|
||||
</summary>
|
||||
|
|
|
@ -1254,6 +1254,29 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
public async Task<GetNextIQCQualityOutDto> CollectNextIQCQuality(GetNextIQCQualityInDto inDto)
|
||||
{
|
||||
|
||||
var nextIQCQuality = await this.GetNextIQCQuality(inDto);
|
||||
|
||||
if (nextIQCQuality.VisitId != null && nextIQCQuality.IsReceived == false)
|
||||
{
|
||||
var visit = await _subjectVisitRepository.Where(x => x.Id == nextIQCQuality.VisitId).FirstNotNullAsync();
|
||||
if (!visit.IsTake)
|
||||
{
|
||||
await ObtainOrCancelQCTask(inDto.TrialId, nextIQCQuality.VisitId.Value, true);
|
||||
}
|
||||
}
|
||||
|
||||
return nextIQCQuality;
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 因为不区分任务类型,按照同类型没找到,要自动切换到下一种类型,必须包一层
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<GetNextIQCQualityOutDto> GetNextIQCQuality(GetNextIQCQualityInDto inDto)
|
||||
{
|
||||
var trialConfig = await _trialRepository
|
||||
.Select(t => new { TrialId = t.Id, t.IsIQCAutoNextTask, t.IsIQCAutoTaskDistinguishType })
|
||||
.FirstOrDefaultAsync(t => t.TrialId == inDto.TrialId)
|
||||
|
@ -1261,63 +1284,40 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
|
||||
var isDistinguishType = trialConfig.IsIQCAutoNextTask && trialConfig.IsIQCAutoTaskDistinguishType;
|
||||
|
||||
|
||||
if (isDistinguishType == false)
|
||||
{
|
||||
//不区分任务类型,也要按照当前任务类型给,没找到,按照默认规则给任务 无质疑 普通质控任务
|
||||
|
||||
var nextIQCQuality = await this.GetNextIQCQuality(inDto, true);
|
||||
var nextIQCQuality = await this.GetNextIQCTask(inDto, true);
|
||||
|
||||
|
||||
//没找到
|
||||
if (nextIQCQuality.VisitId == null)
|
||||
{
|
||||
nextIQCQuality = await this.GetNextIQCQuality(inDto, false);
|
||||
nextIQCQuality = await this.GetNextIQCTask(inDto, false);
|
||||
|
||||
if (nextIQCQuality.VisitId != null && nextIQCQuality.IsReceived == false)
|
||||
{
|
||||
var visit = await _subjectVisitRepository.Where(x => x.Id == nextIQCQuality.VisitId).FirstNotNullAsync();
|
||||
if (!visit.IsTake)
|
||||
{
|
||||
await ObtainOrCancelQCTask(inDto.TrialId, nextIQCQuality.VisitId.Value, true);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
return nextIQCQuality;
|
||||
|
||||
}
|
||||
return nextIQCQuality;
|
||||
}
|
||||
else
|
||||
{
|
||||
//区分任务类型,那么按照当前任务类型给,没找到就结束
|
||||
var nextIQCQuality = await this.GetNextIQCQuality(inDto, true);
|
||||
|
||||
if (nextIQCQuality.VisitId != null && nextIQCQuality.IsReceived == false)
|
||||
{
|
||||
var visit = await _subjectVisitRepository.Where(x => x.Id == nextIQCQuality.VisitId).FirstNotNullAsync();
|
||||
if (!visit.IsTake)
|
||||
{
|
||||
await ObtainOrCancelQCTask(inDto.TrialId, nextIQCQuality.VisitId.Value, true);
|
||||
}
|
||||
|
||||
}
|
||||
var nextIQCQuality = await this.GetNextIQCTask(inDto, true);
|
||||
|
||||
return nextIQCQuality;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取下一个质控任务
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<GetNextIQCQualityOutDto> GetNextIQCQuality(GetNextIQCQualityInDto inDto, bool isDistinguishType)
|
||||
public async Task<GetNextIQCQualityOutDto> GetNextIQCTask(GetNextIQCQualityInDto inDto, bool isDistinguishType)
|
||||
{
|
||||
var trialConfig = await _trialRepository
|
||||
.Select(t => new { TrialId = t.Id, t.QCProcessEnum, t.IsImageConsistencyVerification, t.IsIQCAutoNextTask, t.IsIQCAutoTaskDistinguishType })
|
||||
|
|
Loading…
Reference in New Issue