@@ -3888,6 +3888,24 @@ namespace IRaCIS.Core.Application.Service
|
||||
private async Task SubmitTaskChangeState(Guid visitTaskId)
|
||||
{
|
||||
await VerifyTaskIsSign(visitTaskId);
|
||||
|
||||
var taskInfo=await _visitTaskRepository.Where(x => x.Id == visitTaskId).Include(x=>x.TrialReadingCriterion).FirstNotNullAsync();
|
||||
// 如果是PCGW标准 则把中间答案赋值给正式答案
|
||||
if (taskInfo.TrialReadingCriterion.CriterionType == CriterionType.PCWG3)
|
||||
{
|
||||
var answerList = await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTask.TaskState==TaskState.Effect&& x.VisitTask.SubjectId == taskInfo.SubjectId && x.VisitTask.ArmEnum == taskInfo.ArmEnum && x.PCWGInterimAnswer != null).ToListAsync();
|
||||
|
||||
foreach (var item in answerList)
|
||||
{
|
||||
await _readingTaskQuestionAnswerRepository.BatchUpdateNoTrackingAsync(x=>x.Id==item.Id, x => new ReadingTaskQuestionAnswer()
|
||||
{
|
||||
//这里已经筛选过 不为null了
|
||||
Answer = item.PCWGInterimAnswer,
|
||||
PCWGInterimAnswer = null,
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
await _visitTaskRepository.UpdatePartialFromQueryAsync(visitTaskId, x => new VisitTask()
|
||||
{
|
||||
ReadingTaskState = ReadingTaskState.HaveSigned,
|
||||
|
||||
Reference in New Issue
Block a user