修改访视计划 增加盲态名称设置,生成任务哪里也进行处理

Uat_Study
{872297557@qq.com} 2022-12-15 11:17:06 +08:00
parent d76c2e7512
commit cbb2d47e90
4 changed files with 43 additions and 7 deletions

View File

@ -89,6 +89,7 @@ namespace IRaCIS.Core.Application.Service
var trialReadingCriterionConfig = await _trialReadingCriterionRepository.Where(t => t.Id == confirmedTrialReadingCriterionId).Select(t => new { TrialReadingCriterionId = t.Id, t.ReadingTool, t.ReadingType, t.IsReadingTaskViewInOrder, t.IsFollowVisitAutoAssign, t.IsFollowGlobalVisitAutoAssign, t.FollowGlobalVisitAutoAssignDefaultState, t.FollowVisitAutoAssignDefaultState, t.TaskAllocateObjEnum }).FirstOrDefaultAsync();
var visitBlindConfig = _trialRepository.Where(t => t.Id == trialId).Select(t => new { t.BlindBaseLineName, t.BlindFollowUpPrefix }).FirstOrDefault();
var dbMaxCode = _visitTaskRepository.Where(t => t.TrialId == trialId).Select(t => t.Code).DefaultIfEmpty().Max();
@ -104,7 +105,7 @@ namespace IRaCIS.Core.Application.Service
var visitNumList = _subjectVisitRepository.Where(t => t.SubjectId == subjectGroup.SubjectId && t.IsLostVisit == false).Select(t=>t.VisitNum).ToList();
var visitNumList = _subjectVisitRepository.Where(t => t.SubjectId == subjectGroup.SubjectId && t.IsLostVisit == false ).Select(t=>t.VisitNum).ToList();
foreach (var subjectVisit in subjectGroup.SubjectVisitList)
{
@ -114,17 +115,17 @@ namespace IRaCIS.Core.Application.Service
if (visitNumList.IndexOf(subjectVisit.VisitNum) == 0)
{
blindTaskName = "Baseline";
blindTaskName = visitBlindConfig.BlindBaseLineName;
}
else
{
if (trialReadingCriterionConfig.IsReadingTaskViewInOrder)
{
blindTaskName = AppSettings.BlindTaskPrefix + visitNumList.IndexOf(subjectVisit.VisitNum);
blindTaskName = visitBlindConfig.BlindFollowUpPrefix+" " + visitNumList.IndexOf(subjectVisit.VisitNum);
}
else
{
blindTaskName = AppSettings.BlindTaskPrefix;
blindTaskName = visitBlindConfig.BlindFollowUpPrefix;
}
}
@ -259,6 +260,7 @@ namespace IRaCIS.Core.Application.Service
var trialReadingCriterionConfigList = _trialReadingCriterionRepository.Where(t => t.TrialId == trialId && t.ReadingInfoSignTime !=null).Select(t => new { TrialReadingCriterionId= t.Id ,t.ReadingTool,t.ReadingType, t.IsReadingTaskViewInOrder, t.IsFollowVisitAutoAssign, t.IsFollowGlobalVisitAutoAssign, t.FollowGlobalVisitAutoAssignDefaultState, t.FollowVisitAutoAssignDefaultState,t.TaskAllocateObjEnum } ).ToList();
var visitBlindConfig = _trialRepository.Where(t => t.Id == trialId).Select(t => new { t.BlindBaseLineName, t.BlindFollowUpPrefix }).FirstOrDefault();
var dbMaxCode = _visitTaskRepository.Where(t => t.TrialId == trialId).Select(t => t.Code).DefaultIfEmpty().Max();
@ -293,17 +295,17 @@ namespace IRaCIS.Core.Application.Service
if (visitNumList.IndexOf(subjectVisit.VisitNum) == 0)
{
blindTaskName = "Baseline";
blindTaskName = visitBlindConfig.BlindBaseLineName;
}
else
{
if (trialReadingCriterionConfig.IsReadingTaskViewInOrder)
{
blindTaskName = AppSettings.BlindTaskPrefix + visitNumList.IndexOf(subjectVisit.VisitNum);
blindTaskName = visitBlindConfig.BlindFollowUpPrefix+" " + visitNumList.IndexOf(subjectVisit.VisitNum);
}
else
{
blindTaskName = AppSettings.BlindTaskPrefix;
blindTaskName = visitBlindConfig.BlindFollowUpPrefix;
}
}

View File

@ -1,4 +1,5 @@
using IRaCIS.Core.Infrastructure.Extention;
using System.ComponentModel.DataAnnotations;
namespace IRaCIS.Application.Contracts
{
@ -37,9 +38,24 @@ namespace IRaCIS.Application.Contracts
public bool IsHaveFirstGiveMedicineDate { get; set; } = true;
public string BlindBaseLineName { get; set; }
public string BlindFollowUpPrefix { get; set; }
//public bool SubjectHasAdded { get; set; }
}
public class VisitBlindNameCommand
{
[NotDefault]
public Guid TrialId { get; set; }
public string BlindBaseLineName { get; set; }
public string BlindFollowUpPrefix { get; set; }
}
public class VisitPlanCommand
{
//public string BlindName => "B" + (VisitNum * 10).ToString("D3");

View File

@ -66,10 +66,23 @@ namespace IRaCIS.Application.Services
TimePointsPerPatient = trial.TimePointsPerPatient,
VisitPlanConfirmed = trial.VisitPlanConfirmed,
IsHaveFirstGiveMedicineDate = trial.IsHaveFirstGiveMedicineDate,
BlindBaseLineName=trial.BlindBaseLineName,
BlindFollowUpPrefix=trial.BlindFollowUpPrefix,
//SubjectHasAdded = _subjectVisitRepository.Any(t => t.TrialId == trialId)
};
}
public async Task<IResponseOutput> UpdateVisitBlindName(VisitBlindNameCommand command)
{
await _trialRepository.UpdatePartialFromQueryAsync(command.TrialId, t => new Trial() { BlindBaseLineName = command.BlindBaseLineName, BlindFollowUpPrefix = command.BlindFollowUpPrefix });
await _trialRepository.SaveChangesAsync();
return ResponseOutput.Ok();
}
/// <summary>
/// 获取访视计划下拉框列表
/// </summary>

View File

@ -320,6 +320,11 @@ namespace IRaCIS.Core.Domain.Models
/// </summary>
public DateTime? SyncClinicalDataTime { get; set; }
public string BlindBaseLineName { get; set; } = "Baseline";
public string BlindFollowUpPrefix { get; set; } = "Follow-up";
///// <summary>
///// 图像是否有标注
///// </summary>