裁判签名
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
26f049b31e
commit
f9c33e373a
|
|
@ -351,6 +351,23 @@ namespace IRaCIS.Core.API.Controllers
|
|||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 提交阅片裁判表单
|
||||
/// </summary>
|
||||
/// <param name="opt"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost, Route("Inspection/ReadingImageTask/SubmitJudgeForm")]
|
||||
[TrialGlobalLimit("AfterStopCannNotOpt")]
|
||||
|
||||
[UnitOfWork]
|
||||
|
||||
public async Task<IResponseOutput> SubmitJudgeForm(DataInspectionDto<SetJudgeFormInDto> opt)
|
||||
{
|
||||
var singid = await _inspectionService.RecordSing(opt.SignInfo);
|
||||
var result = await _iReadingImageTaskService.SubmitJudgeForm(opt.Data);
|
||||
await _inspectionService.CompletedSign(singid, result);
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 配置 基础逻辑信息并确认
|
||||
|
|
|
|||
|
|
@ -2512,6 +2512,10 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
|||
[NotDefault]
|
||||
public Guid VisitTaskId { get; set; }
|
||||
|
||||
public string JudgeResultRemark { get; set; } = string.Empty;
|
||||
|
||||
public List<string> JudgeResultImagePathList { get; set; } = new List<string>();
|
||||
|
||||
public List<JudgeFormAnswerDto> QuestionList { get; set; } = new List<JudgeFormAnswerDto>();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
Task TriggerJudgeQuestion(Guid visitTaskId);
|
||||
Task<IResponseOutput> SubmitVisitTaskQuestions(SubmitVisitTaskQuestionsInDto inDto);
|
||||
|
||||
Task<IResponseOutput> SubmitJudgeForm(SetJudgeFormInDto inDto);
|
||||
Task<IResponseOutput> SubmitJudgeVisitTaskResult(SaveJudgeVisitTaskResult inDto);
|
||||
|
||||
Task<GetOncologyReadingInfoOutDto> GetOncologyReadingInfo(GetOncologyReadingInfoInDto inDto);
|
||||
|
|
|
|||
|
|
@ -195,6 +195,21 @@ namespace IRaCIS.Core.Application.Service
|
|||
/// </summary>
|
||||
[HttpPost]
|
||||
public async Task<IResponseOutput> SetJudgeForm(SetJudgeFormInDto inDto)
|
||||
{
|
||||
|
||||
await SaveJudgeForm(inDto);
|
||||
await _visitTaskRepository.UpdatePartialFromQueryAsync(inDto.VisitTaskId, x => new VisitTask()
|
||||
{
|
||||
JudgeResultRemark = inDto.JudgeResultRemark,
|
||||
JudgeResultImagePath = string.Join(',', inDto.JudgeResultImagePathList),
|
||||
|
||||
});
|
||||
|
||||
return ResponseOutput.Result(await _readingTaskQuestionAnswerRepository.SaveChangesAsync());
|
||||
}
|
||||
|
||||
|
||||
private async Task SaveJudgeForm(SetJudgeFormInDto inDto)
|
||||
{
|
||||
var taskInfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync();
|
||||
var judgeRule = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == taskInfo.TrialReadingCriterionId).Select(x => x.JudgeRuleEnum).FirstNotNullAsync();
|
||||
|
|
@ -216,12 +231,38 @@ namespace IRaCIS.Core.Application.Service
|
|||
}).ToList());
|
||||
}
|
||||
|
||||
return ResponseOutput.Result(await _readingTaskQuestionAnswerRepository.SaveChangesAsync());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 提交裁判表单
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<IResponseOutput> SubmitJudgeForm(SetJudgeFormInDto inDto)
|
||||
{
|
||||
|
||||
await SaveJudgeForm(inDto);
|
||||
await _visitTaskRepository.UpdatePartialFromQueryAsync(inDto.VisitTaskId, x => new VisitTask()
|
||||
{
|
||||
JudgeResultRemark = inDto.JudgeResultRemark,
|
||||
ReadingTaskState = ReadingTaskState.HaveSigned,
|
||||
SignTime=DateTime.Now,
|
||||
JudgeResultImagePath = string.Join(',', inDto.JudgeResultImagePathList),
|
||||
|
||||
});
|
||||
await _readingTaskQuestionAnswerRepository.SaveChangesAsync();
|
||||
|
||||
await SignatureAfter(inDto.VisitTaskId);
|
||||
return ResponseOutput.Ok();
|
||||
}
|
||||
|
||||
|
||||
private async Task<List<ReadingQuestionTrial>> GetJudgeDisplayQuestions(Guid trialReadingCriterionId, decimal visitNum, JudgeRule judgeRule)
|
||||
{
|
||||
var questionList = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == trialReadingCriterionId && x.IsJudgeQuestion).OrderBy(x => x.ShowOrder).ToListAsync();
|
||||
var questionList = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == trialReadingCriterionId && x.IsJudgeQuestion)
|
||||
.Where(x=>x.ShowQuestion== ShowQuestion.Show)
|
||||
.OrderBy(x => x.ShowOrder).ToListAsync();
|
||||
var questionIds = questionList.Select(x => x.Id).ToList();
|
||||
var visitJudgeRules = judgeRule == JudgeRule.Difference
|
||||
? await _readingQuestionVisitJudgeRuleRepository.Where(x => questionIds.Contains(x.ReadingQuestionId) && (x.VisitNum == visitNum || x.VisitNum == -1)).ToListAsync()
|
||||
|
|
@ -620,8 +661,15 @@ namespace IRaCIS.Core.Application.Service
|
|||
});
|
||||
var result = await _visitTaskRepository.SaveChangesAsync();
|
||||
|
||||
await SignatureAfter(inDto.VisitTaskId);
|
||||
|
||||
return ResponseOutput.Ok(result);
|
||||
}
|
||||
|
||||
private async Task SignatureAfter(Guid visitTaskId)
|
||||
{
|
||||
// 需要判断是否添加肿瘤学任务
|
||||
var taskInfo = await _visitTaskRepository.Where(x => x.JudgeVisitTaskId == inDto.VisitTaskId).Include(x => x.TrialReadingCriterion).FirstNotNullAsync();
|
||||
var taskInfo = await _visitTaskRepository.Where(x => x.JudgeVisitTaskId == visitTaskId).Include(x => x.TrialReadingCriterion).FirstNotNullAsync();
|
||||
|
||||
if (taskInfo.ReadingCategory == ReadingCategory.Visit)
|
||||
{
|
||||
|
|
@ -658,11 +706,9 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
|
||||
// 创建任务关联关系
|
||||
await this.CreateTaskRelated(inDto.VisitTaskId);
|
||||
await this.CreateTaskRelated(visitTaskId);
|
||||
|
||||
await SafeMailHelper.Run(async () => await _trialEmailNoticeConfigService.BaseBusinessScenarioSendEmailAsync(inDto.VisitTaskId));
|
||||
|
||||
return ResponseOutput.Ok(result);
|
||||
await SafeMailHelper.Run(async () => await _trialEmailNoticeConfigService.BaseBusinessScenarioSendEmailAsync(visitTaskId));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
|||
Loading…
Reference in New Issue