一致性分析规则修改
parent
8a31a771ed
commit
b192b311eb
|
@ -130,7 +130,8 @@ namespace IRaCIS.Core.Application.ViewModel
|
||||||
|
|
||||||
public Guid TrialReadingCriterionId { get; set; }
|
public Guid TrialReadingCriterionId { get; set; }
|
||||||
|
|
||||||
|
public string BlindSubjectCode { get; set; } = string.Empty;
|
||||||
|
public string BlindTrialSiteCode { get; set; } = string.Empty;
|
||||||
}
|
}
|
||||||
|
|
||||||
public class VisitTaskSimpleDTO :VisitTaskGroupSimpleDTO
|
public class VisitTaskSimpleDTO :VisitTaskGroupSimpleDTO
|
||||||
|
@ -148,8 +149,7 @@ namespace IRaCIS.Core.Application.ViewModel
|
||||||
public bool IsHaveGeneratedTask { get; set; }
|
public bool IsHaveGeneratedTask { get; set; }
|
||||||
|
|
||||||
|
|
||||||
public string BlindSubjectCode { get; set; } = string.Empty;
|
|
||||||
public string BlindTrialSiteCode { get; set; } = string.Empty;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -149,14 +149,14 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
var blindSubjectCode = string.Empty;
|
var blindSubjectCode = string.Empty;
|
||||||
|
|
||||||
var subjectTask = _visitTaskRepository.Where(t => t.SubjectId == subject.SubjectId && t.TrialReadingCriterionId==trialReadingCriterionId).OrderByDescending(t => t.BlindSubjectCode).FirstOrDefault().IfNullThrowException();
|
var subjectTask = _visitTaskRepository.Where(t => t.SubjectId == subject.SubjectId && t.TrialReadingCriterionId==trialReadingCriterionId && t.IsSelfAnalysis == true).OrderByDescending(t => t.BlindSubjectCode).FirstOrDefault().IfNullThrowException();
|
||||||
if (subjectTask.BlindSubjectCode != String.Empty)
|
if (subjectTask.BlindSubjectCode != String.Empty)
|
||||||
{
|
{
|
||||||
blindSubjectCode = subjectTask.BlindSubjectCode;
|
blindSubjectCode = subjectTask.BlindSubjectCode;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var maxCodeStr = _visitTaskRepository.Where(t => t.TrialId == subject.TrialId && t.TrialReadingCriterionId == trialReadingCriterionId).OrderByDescending(t => t.BlindSubjectCode).Select(t => t.BlindSubjectCode).FirstOrDefault();
|
var maxCodeStr = _visitTaskRepository.Where(t => t.TrialId == subject.TrialId && t.TrialReadingCriterionId == trialReadingCriterionId && t.IsSelfAnalysis == true).OrderByDescending(t => t.BlindSubjectCode).Select(t => t.BlindSubjectCode).FirstOrDefault();
|
||||||
|
|
||||||
if ( !string.IsNullOrEmpty(maxCodeStr))
|
if ( !string.IsNullOrEmpty(maxCodeStr))
|
||||||
{
|
{
|
||||||
|
@ -287,12 +287,35 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
var configDoctorUserIdList = await doctorUserIdQuery.ToListAsync();
|
var configDoctorUserIdList = await doctorUserIdQuery.ToListAsync();
|
||||||
|
|
||||||
|
using (await _mutex.LockAsync())
|
||||||
|
{
|
||||||
|
int maxCodeInt = 0;
|
||||||
|
|
||||||
foreach (var subject in subjectList.Where(t => t.IsHaveGeneratedTask == false))
|
foreach (var subject in subjectList.Where(t => t.IsHaveGeneratedTask == false))
|
||||||
{
|
{
|
||||||
|
|
||||||
//组间一致性分析 也用盲态SubjectCode
|
//组间一致性分析 也用盲态SubjectCode
|
||||||
|
//处理 Subject 编号
|
||||||
|
|
||||||
|
var blindSubjectCode = string.Empty;
|
||||||
|
|
||||||
|
var subjectTask = _visitTaskRepository.Where(t => t.SubjectId == subject.SubjectId && t.TrialReadingCriterionId == trialReadingCriterionId && t.IsSelfAnalysis==false).OrderByDescending(t => t.BlindSubjectCode).FirstOrDefault().IfNullThrowException();
|
||||||
|
if (subjectTask.BlindSubjectCode != String.Empty)
|
||||||
|
{
|
||||||
|
blindSubjectCode = subjectTask.BlindSubjectCode;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var maxCodeStr = _visitTaskRepository.Where(t => t.TrialId == subject.TrialId && t.TrialReadingCriterionId == trialReadingCriterionId && t.IsSelfAnalysis == false).OrderByDescending(t => t.BlindSubjectCode).Select(t => t.BlindSubjectCode).FirstOrDefault();
|
||||||
|
|
||||||
|
if (!string.IsNullOrEmpty(maxCodeStr))
|
||||||
|
{
|
||||||
|
int.TryParse(maxCodeStr.Substring(maxCodeStr.Length - filterObj.BlindSubjectNumberOfPlaces), out maxCodeInt);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
blindSubjectCode = filterObj.BlindTrialSiteCode + (maxCodeInt + 1).ToString($"D{filterObj.BlindSubjectNumberOfPlaces}");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -334,7 +357,12 @@ namespace IRaCIS.Core.Application.Service
|
||||||
SouceReadModuleId = task.SouceReadModuleId,
|
SouceReadModuleId = task.SouceReadModuleId,
|
||||||
SourceSubjectVisitId = task.SourceSubjectVisitId,
|
SourceSubjectVisitId = task.SourceSubjectVisitId,
|
||||||
|
|
||||||
TrialReadingCriterionId=task.TrialReadingCriterionId,
|
TrialReadingCriterionId = task.TrialReadingCriterionId,
|
||||||
|
|
||||||
|
BlindSubjectCode=blindSubjectCode,
|
||||||
|
BlindTrialSiteCode=filterObj.BlindTrialSiteCode
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -346,7 +374,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
var lastTask = (subjectAddTaskList.Take(filterObj.PlanVisitCount).Last()).Clone();
|
var lastTask = (subjectAddTaskList.Take(filterObj.PlanVisitCount).Last()).Clone();
|
||||||
|
|
||||||
|
|
||||||
var existGlobal = _visitTaskRepository.Where(t => t.SubjectId == lastTask.SubjectId && t.TrialReadingCriterionId==trialReadingCriterionId && t.TaskState == TaskState.Effect && t.ReadingCategory == ReadingCategory.Global && t.VisitTaskNum == lastTask.VisitTaskNum + ReadingCommon.TaskNumDic[ReadingCategory.Global]).ProjectTo<VisitTaskGroupSimpleDTO>(_mapper.ConfigurationProvider).FirstOrDefault();
|
var existGlobal = _visitTaskRepository.Where(t => t.SubjectId == lastTask.SubjectId && t.TrialReadingCriterionId == trialReadingCriterionId && t.TaskState == TaskState.Effect && t.ReadingCategory == ReadingCategory.Global && t.VisitTaskNum == lastTask.VisitTaskNum + ReadingCommon.TaskNumDic[ReadingCategory.Global]).ProjectTo<VisitTaskGroupSimpleDTO>(_mapper.ConfigurationProvider).FirstOrDefault();
|
||||||
|
|
||||||
|
|
||||||
if (existGlobal == null)
|
if (existGlobal == null)
|
||||||
|
@ -359,7 +387,10 @@ namespace IRaCIS.Core.Application.Service
|
||||||
TaskName = lastTask.TaskName + "_Global",
|
TaskName = lastTask.TaskName + "_Global",
|
||||||
TaskBlindName = lastTask.TaskBlindName + "_Global",
|
TaskBlindName = lastTask.TaskBlindName + "_Global",
|
||||||
|
|
||||||
TrialReadingCriterionId =trialReadingCriterionId,
|
TrialReadingCriterionId = trialReadingCriterionId,
|
||||||
|
|
||||||
|
BlindSubjectCode = blindSubjectCode,
|
||||||
|
BlindTrialSiteCode = filterObj.BlindTrialSiteCode
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -389,6 +420,9 @@ namespace IRaCIS.Core.Application.Service
|
||||||
await _taskConsistentRuleRepository.SaveChangesAsync();
|
await _taskConsistentRuleRepository.SaveChangesAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return ResponseOutput.Ok();
|
return ResponseOutput.Ok();
|
||||||
|
|
||||||
|
|
|
@ -1103,8 +1103,8 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||||
.Select(t => new { TrialId = t.Id, t.QCProcessEnum, t.IsImageConsistencyVerification, t.IsUrgent, t.IsHaveFirstGiveMedicineDate, t.ClinicalInformationTransmissionEnum })
|
.Select(t => new { TrialId = t.Id, t.QCProcessEnum, t.IsImageConsistencyVerification, t.IsUrgent, t.IsHaveFirstGiveMedicineDate, t.ClinicalInformationTransmissionEnum })
|
||||||
.FirstOrDefaultAsync(t => t.TrialId == cRCRequestToQCCommand.TrialId)).IfNullThrowException();
|
.FirstOrDefaultAsync(t => t.TrialId == cRCRequestToQCCommand.TrialId)).IfNullThrowException();
|
||||||
|
|
||||||
//找到符合配置的标准 确认的、双重,有序,阅片期仲裁
|
//找到符合配置的标准 确认的并且签名的、双重,有序,阅片期仲裁
|
||||||
var trialReadingCriterionIdList = _repository.Where<ReadingQuestionCriterionTrial>(t => t.TrialId == cRCRequestToQCCommand.TrialId && t.IsConfirm && t.ReadingType == ReadingMethod.Double && t.ArbitrationRule == ArbitrationRule.Reading && t.IsReadingTaskViewInOrder).Select(t => t.Id).ToList();
|
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).Select(t => t.Id).ToList();
|
||||||
|
|
||||||
|
|
||||||
var dbSubjectVisitList = await _subjectVisitRepository.Where(t => cRCRequestToQCCommand.SubjectVisitIds.Contains(t.Id), true).Include(t => t.Subject).ToListAsync();
|
var dbSubjectVisitList = await _subjectVisitRepository.Where(t => cRCRequestToQCCommand.SubjectVisitIds.Contains(t.Id), true).Include(t => t.Subject).ToListAsync();
|
||||||
|
|
Loading…
Reference in New Issue