无序修改字段类型
continuous-integration/drone/push Build is passing Details

IRC_NewDev
hang 2024-05-16 14:54:34 +08:00
parent 4552a24caa
commit a93bbebb61
22 changed files with 46 additions and 52 deletions

View File

@ -53,7 +53,6 @@ namespace IRaCIS.Core.Application.ViewModel
//开始读片时间
public DateTime? FirstReadingTime { get; set; }
public string MedicalNo { get; set; } = string.Empty;
//读片时间差
public TimeSpan? ReadingDurationTimeSpan { get; set; }

View File

@ -92,7 +92,7 @@ namespace IRaCIS.Core.Application.ViewModel
/// <summary>
/// 任务展示访视 读片任务显示是否顺序
/// </summary>
public bool IsReadingTaskViewInOrder { get; set; } = true;
public ReadingOrder IsReadingTaskViewInOrder { get; set; }
/// <summary>

View File

@ -208,7 +208,7 @@ namespace IRaCIS.Core.Application.Service
}
else
{
if (trialReadingCriterionConfig.IsReadingTaskViewInOrder)
if (trialReadingCriterionConfig.IsReadingTaskViewInOrder == ReadingOrder.InOrder)
{
blindTaskName = visitBlindConfig.BlindFollowUpPrefix + " " + visitNumList.IndexOf(subjectVisit.VisitNum);
}
@ -675,7 +675,7 @@ namespace IRaCIS.Core.Application.Service
}
else
{
if (trialReadingCriterionConfig.IsReadingTaskViewInOrder)
if (trialReadingCriterionConfig.IsReadingTaskViewInOrder == ReadingOrder.InOrder)
{
blindTaskName = visitBlindConfig.BlindFollowUpPrefix + " " + visitNumList.IndexOf(subjectVisit.VisitNum);
}
@ -785,7 +785,7 @@ namespace IRaCIS.Core.Application.Service
#region 后续访视 未分配的进行再次分配,重置的或者失效的 需要重新生成新的任务 (PM 有序退回 或者PM 有序 申请重阅)
if (trialReadingCriterionConfig.IsReadingTaskViewInOrder)
if (trialReadingCriterionConfig.IsReadingTaskViewInOrder == ReadingOrder.InOrder)
{
//之前有回退到影像上传的访视 那么当前访视一致性核查通过的时候,当前访视生成但是不分配出去(排除失访的)
@ -1115,7 +1115,7 @@ namespace IRaCIS.Core.Application.Service
#region 重阅/退回的时候,需要将取消分配的访视类型的 任务重新分配
if (trialReadingCriterionConfig.IsReadingTaskViewInOrder)
if (trialReadingCriterionConfig.IsReadingTaskViewInOrder == ReadingOrder.InOrder)
{
//之前有回退到影像上传的访视 那么当前访视一致性核查通过的时候,当前访视生成但是不分配出去(排除失访的)
var beforeBackVisitTask = await _visitTaskRepository.Where(t => t.TrialId == trialId && t.SubjectId == subjectVisit.SubjectId && t.TrialReadingCriterionId == trialReadingCriterionId && t.VisitTaskNum < subjectVisit.VisitNum && t.ReadingCategory == ReadingCategory.Visit && t.SourceSubjectVisit.CheckState != CheckStateEnum.CVPassed && t.SourceSubjectVisit.IsLostVisit == false).OrderBy(t => t.VisitTaskNum).FirstOrDefaultAsync();

View File

@ -941,7 +941,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
var isReadingTaskViewInOrder = criterionConfig.IsReadingTaskViewInOrder;
#region 按照Subject 维度
if (isReadingTaskViewInOrder)
if (isReadingTaskViewInOrder == ReadingOrder.InOrder)
{
@ -1371,7 +1371,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
// 有序 一个受试者访视重阅未处理完,不能申请其他的
if (criterionConfig.IsReadingTaskViewInOrder)
if (criterionConfig.IsReadingTaskViewInOrder == ReadingOrder.InOrder)
{
if (await _visitTaskReReadingRepository.AnyAsync(t => t.OriginalReReadingTask.TrialId == task.TrialId && t.OriginalReReadingTask.SubjectId == task.SubjectId && t.OriginalReReadingTask.TaskState == TaskState.Effect
&& t.OriginalReReadingTask.TrialReadingCriterionId == task.TrialReadingCriterionId
@ -1392,7 +1392,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
task.ReReadingApplyState = ReReadingApplyState.DocotorHaveApplyed;
// 有序
if (criterionConfig.IsReadingTaskViewInOrder)
if (criterionConfig.IsReadingTaskViewInOrder == ReadingOrder.InOrder)
{
// 针对同一个subject 不同阅片人 针对同一个访视申请重阅是允许的所以同一阅片人针对同一suject 有访视申请重阅还未处理,不允许申请重阅
if (await _visitTaskReReadingRepository.AnyAsync(t => t.OriginalReReadingTask.TrialId == task.TrialId && t.OriginalReReadingTask.SubjectId == task.SubjectId && t.OriginalReReadingTask.TaskState == TaskState.Effect
@ -1658,7 +1658,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
}
//有序阅片
if (criterionConfig.IsReadingTaskViewInOrder)
if (criterionConfig.IsReadingTaskViewInOrder == ReadingOrder.InOrder)
{
@ -1767,7 +1767,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
//有序阅片
if (criterionConfig.IsReadingTaskViewInOrder)
if (criterionConfig.IsReadingTaskViewInOrder == ReadingOrder.InOrder)
{
#region 有序 IR 申请 重阅 影响的其他访视查询
@ -2280,7 +2280,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
//有序
if (criterionConfig.IsReadingTaskViewInOrder)
if (criterionConfig.IsReadingTaskViewInOrder == ReadingOrder.InOrder)
{
//Expression<Func<VisitTask, bool>> filterExpression = t => t.TrialId == trialId && t.SubjectId == task.SubjectId && t.TaskState == TaskState.Effect && t.IsAnalysisCreate == false && t.TaskAllocationState == TaskAllocationState.Allocated;
@ -2612,7 +2612,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
//当前任务及其之后的所有访视任务、全局任务、裁判任务、肿瘤学阅片任务
//有序
if (criterionConfig.IsReadingTaskViewInOrder)
if (criterionConfig.IsReadingTaskViewInOrder == ReadingOrder.InOrder)
{
switch (filterObj.ReadingCategory)
@ -2731,7 +2731,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
//有序
if (criterionConfig.IsReadingTaskViewInOrder)
if (criterionConfig.IsReadingTaskViewInOrder == ReadingOrder.InOrder)
{
switch (filterObj.ReadingCategory)
{
@ -2790,7 +2790,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
if (filterObj.ReadingCategory == ReadingCategory.Visit && _userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager)
{
//有序
if (criterionConfig.IsReadingTaskViewInOrder)
if (criterionConfig.IsReadingTaskViewInOrder == ReadingOrder.InOrder)
{
// 当前任务及其之后的所有访视任务 两个阅片人的

View File

@ -382,7 +382,7 @@ namespace IRaCIS.Core.Application.Service
//有序
if (taskInfo.IsReadingTaskViewInOrder)
if (taskInfo.IsReadingTaskViewInOrder==ReadingOrder.InOrder)
{
@ -889,7 +889,7 @@ namespace IRaCIS.Core.Application.Service
{ TrialReadingCriterionId = t.Id, t.ReadingType, t.IsReadingTaskViewInOrder, t.CriterionType, t.ArbitrationRule }).FirstNotNullAsync();
// 项目双重
if (trialReadingCriterionConfig.ReadingType == ReadingMethod.Double && trialReadingCriterionConfig.IsReadingTaskViewInOrder)
if (trialReadingCriterionConfig.ReadingType == ReadingMethod.Double && trialReadingCriterionConfig.IsReadingTaskViewInOrder == ReadingOrder.InOrder)
{
//仲裁在访视上面
if (trialReadingCriterionConfig.ArbitrationRule == ArbitrationRule.Visit)

View File

@ -353,10 +353,6 @@ namespace IRaCIS.Core.Application.Contracts
public ReadingMethod ReadingType { get; set; }
///// <summary>
///// 任务展示访视 读片任务显示是否顺序
///// </summary>
//public bool IsReadingTaskViewInOrder { get; set; } = true;
}
public class ReadingPeriodOrVisitInfo

View File

@ -1273,11 +1273,11 @@ namespace IRaCIS.Core.Application.Image.QA
//找到符合配置的标准 确认的并且签名的、双重,有序,阅片期仲裁
var trialReadingCriterionIdList = _repository.Where<ReadingQuestionCriterionTrial>(t => t.TrialId == cRCRequestToQCCommand.TrialId && t.IsConfirm && t.ReadingInfoSignTime != null
//&& t.ReadingType == ReadingMethod.Double && t.ArbitrationRule == ArbitrationRule.Reading
&& t.IsReadingTaskViewInOrder && t.IsReadingPeriod).Select(t => t.Id).ToList();
&& t.IsReadingTaskViewInOrder == ReadingOrder.InOrder && t.IsReadingPeriod).Select(t => t.Id).ToList();
var trialInOrderCriterionIdList = _repository.Where<ReadingQuestionCriterionTrial>(t => t.TrialId == cRCRequestToQCCommand.TrialId && t.IsConfirm && t.ReadingInfoSignTime != null
//&& t.ReadingType == ReadingMethod.Double && t.ArbitrationRule == ArbitrationRule.Reading
&& t.IsReadingTaskViewInOrder).Select(t => t.Id).ToList();
&& t.IsReadingTaskViewInOrder == ReadingOrder.InOrder).Select(t => t.Id).ToList();
var dbSubjectVisitList = await _subjectVisitRepository.Where(t => cRCRequestToQCCommand.SubjectVisitIds.Contains(t.Id), true).Include(t => t.Subject).ToListAsync();

View File

@ -691,7 +691,7 @@ namespace IRaCIS.Core.Application.Service
&& t.TrialReadingCriterionId == command.TrialReadingCriterionId;
//有序
if (criterionConfig.IsReadingTaskViewInOrder)
if (criterionConfig.IsReadingTaskViewInOrder == ReadingOrder.InOrder)
{
filterExpression = filterExpression.And(t => t.VisitTaskNum >= subjectVisit.VisitNum);
}

View File

@ -481,7 +481,7 @@ namespace IRaCIS.Application.Services
}
//有序阅片才维护 IsFrontTaskNeedSignButNotSign 这个状态
if (_readingQuestionCriterionTrialRepository.Any(t=>t.Id==trialReadingCritrialId && t.IsReadingTaskViewInOrder == true))
if (_readingQuestionCriterionTrialRepository.Any(t=>t.Id==trialReadingCritrialId && t.IsReadingTaskViewInOrder == ReadingOrder.InOrder))
{

View File

@ -1755,7 +1755,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// <summary>
/// 任务展示访视 读片任务显示是否顺序
/// </summary>
public bool IsReadingTaskViewInOrder { get; set; } = true;
public ReadingOrder IsReadingTaskViewInOrder { get; set; }
public Guid TrialReadingCriterionId { get; set; }

View File

@ -159,7 +159,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// <summary>
/// 任务展示访视 读片任务显示是否顺序
/// </summary>
public bool IsReadingTaskViewInOrder { get; set; } = true;
public ReadingOrder IsReadingTaskViewInOrder { get; set; }
/// <summary>
@ -385,7 +385,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public string ReadingUser { get; set; }
public Guid SubjectId { get; set; }
public bool IsReadingTaskViewInOrder { get; set; }
public ReadingOrder IsReadingTaskViewInOrder { get; set; }
public Guid VisitTaskId { get; set; }

View File

@ -586,7 +586,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
{
public Guid TrialId { get; set; }
public bool IsReadingTaskViewInOrder { get; set; }
public ReadingOrder IsReadingTaskViewInOrder { get; set; }
/// <summary>
/// 仲裁阅片

View File

@ -165,7 +165,7 @@ namespace IRaCIS.Core.Application.Service
break;
case ReadingCategory.Visit:
// 有序
if (medicalReviewInfo.IsReadingTaskViewInOrder)
if (medicalReviewInfo.IsReadingTaskViewInOrder == ReadingOrder.InOrder)
{
medicalReviewInfo.TaskList = await _visitTaskRepository

View File

@ -608,7 +608,7 @@ namespace IRaCIS.Application.Services
}).ToListAsync();
if (!taskInfo.TrialReadingCriterion.IsReadingTaskViewInOrder)
if (taskInfo.TrialReadingCriterion.IsReadingTaskViewInOrder != ReadingOrder.InOrder)
{
result = result.Where(x => x.VisitTaskId == inDto.VisitTaskId).ToList();
}
@ -1248,7 +1248,7 @@ namespace IRaCIS.Application.Services
&& x.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId
&& x.ReadingCategory == ReadingCategory.Visit)||x.Id==taskInfo.BeforeConvertedTaskId
).OrderByDescending(x=>x.VisitTaskNum).Select(x => x.Id).FirstOrDefaultAsync();
if (!criterionInfo.IsReadingTaskViewInOrder)
if (criterionInfo.IsReadingTaskViewInOrder != ReadingOrder.InOrder)
{
// 无序的话 不要查
laskTaskId = Guid.NewGuid();
@ -2739,7 +2739,7 @@ namespace IRaCIS.Application.Services
trialReadingCriterionId = task.TrialReadingCriterionId;
}
else if (inDto.SubjectId != null && trialReadingCriterion.IsReadingTaskViewInOrder)
else if (inDto.SubjectId != null && trialReadingCriterion.IsReadingTaskViewInOrder == ReadingOrder.InOrder)
{
var subjectTaskList = (await _visitTaskService.GetOrderReadingIQueryable(new GetOrderReadingIQueryableInDto()
{
@ -3089,7 +3089,7 @@ namespace IRaCIS.Application.Services
List<Guid> reportRelatedTaskIdList = new List<Guid>();
if (isReadingTaskViewInOrder)
if (isReadingTaskViewInOrder == ReadingOrder.InOrder)
{

View File

@ -374,7 +374,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
{
taskquery = _visitTaskRepository.Where(x => visitTaskInfo.ReportRelatedTaskIdList.Contains(x.Id)||x.Id==visitTaskInfo.Id);
}
if (!visitTaskInfo.TrialReadingCriterion.IsReadingTaskViewInOrder)
if (visitTaskInfo.TrialReadingCriterion.IsReadingTaskViewInOrder != ReadingOrder.InOrder)
{
taskquery = _visitTaskRepository.Where(x => x.Id == visitTaskInfo.Id);
}

View File

@ -394,7 +394,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
var baseLineVisitId = await _subjectVisitRepository.Where(x => x.SubjectId == taskinfo.SubjectId && x.IsBaseLine).Select(x => x.Id).FirstOrDefaultAsync();
// 判断当前任务是否是基线
if (taskinfo.SourceSubjectVisitId != baseLineVisitId&& isReadingTaskViewInOrder)
if (taskinfo.SourceSubjectVisitId != baseLineVisitId&& isReadingTaskViewInOrder == ReadingOrder.InOrder)
{
// 判断当前任务是是否有表格问题答案
if (!(await _readingTableQuestionAnswerRepository.AnyAsync(x => x.VisitTaskId == visitTaskId)))

View File

@ -142,9 +142,6 @@ namespace IRaCIS.Core.Application.Contracts
// ////读片任务显示是否顺序
//// public bool IsReadingTaskViewInOrder { get; set; } = false;
/// <summary>
/// 仲裁规则
@ -233,7 +230,7 @@ namespace IRaCIS.Core.Application.Contracts
{
public ReadingTaskViewMethod ReadingTaskViewEnum { get; set; }
public bool IsReadingTaskViewInOrder { get; set; } = true;
public ReadingOrder IsReadingTaskViewInOrder { get; set; }
//public ReadingMethod ReadingType { get; set; }
@ -269,7 +266,7 @@ namespace IRaCIS.Core.Application.Contracts
public ReadingTaskViewMethod ReadingTaskViewEnum { get; set; }
public bool IsReadingTaskViewInOrder { get; set; } = true;
public ReadingOrder IsReadingTaskViewInOrder { get; set; }
/// <summary>
/// 阅片是否显示受试者信息
@ -418,7 +415,7 @@ namespace IRaCIS.Core.Application.Contracts
public bool IsReadingShowPreviousResults { get; set; }
//读片任务显示是否顺序
public bool IsReadingTaskViewInOrder { get; set; } = true;
public ReadingOrder IsReadingTaskViewInOrder { get; set; }
public List<Guid> GlobalAssessTypeIds { get; set; }
@ -918,7 +915,7 @@ namespace IRaCIS.Core.Application.Contracts
public bool IsImageIabeled { get; set; }
//读片任务显示是否顺序
public bool IsReadingTaskViewInOrder { get; set; } = true;
public ReadingOrder IsReadingTaskViewInOrder { get; set; }
/// <summary>
/// IR阅片是否显示受试者信息
@ -1061,9 +1058,6 @@ namespace IRaCIS.Core.Application.Contracts
////阅片类型
//public int ReadingType { get; set; }
//读片任务显示是否顺序
//public bool IsReadingTaskViewInOrder { get; set; }
//public string DocumentConfirmSignText { get; set; } = string.Empty;

View File

@ -128,7 +128,7 @@ namespace IRaCIS.Core.Application.Services
throw new BusinessValidationFailedException(_localizer["Visit_NoExtraVisitAfterLast"]);
}
if (await _repository.AnyAsync<VisitTask>(t => t.SubjectId == svCommand.SubjectId && t.TaskState == TaskState.Effect && t.VisitTaskNum > svCommand.VisitNum && t.SignTime != null && t.TrialReadingCriterion.IsReadingTaskViewInOrder))
if (await _repository.AnyAsync<VisitTask>(t => t.SubjectId == svCommand.SubjectId && t.TaskState == TaskState.Effect && t.VisitTaskNum > svCommand.VisitNum && t.SignTime != null && t.TrialReadingCriterion.IsReadingTaskViewInOrder == ReadingOrder.InOrder))
{
//---该受试者后续访视已有任务完成阅片(有序阅片标准),不允许在此添加,如果确实需要,请回退
throw new BusinessValidationFailedException(_localizer["Visit_FinishedTasksNoAdd"]);

View File

@ -117,7 +117,7 @@ namespace IRaCIS.Core.Application.Triggers
if (!subjectVisit.IsBaseLine && subjectVisit.SubmitState == SubmitStateEnum.Submitted)
{
var criterionList = await _repository.Where<ReadingQuestionCriterionTrial>(x => x.TrialId == trialId && x.ReadingInfoSignTime != null && x.IsConfirm && x.IsReadingPeriod && x.IsReadingTaskViewInOrder).ToListAsync();
var criterionList = await _repository.Where<ReadingQuestionCriterionTrial>(x => x.TrialId == trialId && x.ReadingInfoSignTime != null && x.IsConfirm && x.IsReadingPeriod && x.IsReadingTaskViewInOrder == ReadingOrder.InOrder).ToListAsync();
foreach (var item in criterionList)
{

View File

@ -68,7 +68,7 @@ namespace IRaCIS.Core.Application.Triggers
{
//有序阅片 IsFrontTaskNeedSignButNotSign 维护才有意义
if (_trialReadingCriterionRepository.Any(t => t.Id == visitTask.TrialReadingCriterionId && t.IsReadingTaskViewInOrder == true))
if (_trialReadingCriterionRepository.Any(t => t.Id == visitTask.TrialReadingCriterionId && t.IsReadingTaskViewInOrder == ReadingOrder.InOrder))
{
var visitTaskIdQueryable = _visitTaskRepository.Where(visitTaskLambda) //该Subject 该标准的任务
//小于自己任务号的任务 存在需要签名 但是没签名

View File

@ -212,7 +212,7 @@ namespace IRaCIS.Core.Domain.Models
/// <summary>
/// 任务展示访视 读片任务显示是否顺序
/// </summary>
public bool IsReadingTaskViewInOrder { get; set; } = true;
public ReadingOrder IsReadingTaskViewInOrder { get; set; } = ReadingOrder.InOrder;
//任务分配对象
@ -278,7 +278,14 @@ namespace IRaCIS.Core.Domain.Models
public enum ReadingOrder
{
Random=0,
InOrder=1,
SubjectRandom=2,
}
}

View File

@ -452,8 +452,6 @@ namespace IRaCIS.Core.Domain.Models
//public ReadingTaskViewMethod ReadingTaskViewEnum { get; set; }
////读片任务显示是否顺序
//public bool IsReadingTaskViewInOrder { get; set; } = true;
///// <summary>
///// 阅片是否显示受试者信息