Merge branch 'Test.IRC' of http://192.168.3.68:2000/XCKJ/irc-netcore-api into Test.IRC
continuous-integration/drone/push Build is passing Details

IRC_NewDev
hang 2023-12-11 13:24:44 +08:00
commit fd79df810c
6 changed files with 29 additions and 6 deletions

View File

@ -64,6 +64,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
[NotDefault] [NotDefault]
public Guid TrialReadingCriterionId { get; set; } public Guid TrialReadingCriterionId { get; set; }
/// <summary>
/// 阅片配置的类型
/// </summary>
public ReadingSetType ReadingSetType { get; set; }
public Guid Id { get; set; } public Guid Id { get; set; }
} }

View File

@ -384,13 +384,16 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public string ReadingUser { get; set; } public string ReadingUser { get; set; }
public Guid SubjectId { get; set; }
public bool IsReadingTaskViewInOrder { get; set; } public bool IsReadingTaskViewInOrder { get; set; }
public Guid VisitTaskId { get; set; } public Guid VisitTaskId { get; set; }
public Arm ArmEnum { get; set; } public Arm ArmEnum { get; set; }
public bool IsExistsClinicalData { get; set; }
public MedicalReviewAuditState AuditState { get; set; } public MedicalReviewAuditState AuditState { get; set; }

View File

@ -33,6 +33,7 @@ namespace IRaCIS.Core.Application.Service
private readonly IReadingImageTaskService _iReadingImageTaskService; private readonly IReadingImageTaskService _iReadingImageTaskService;
private readonly IRepository<User> _userTaskRepository; private readonly IRepository<User> _userTaskRepository;
private readonly IVisitTaskService _visitTaskService; private readonly IVisitTaskService _visitTaskService;
private readonly IReadingClinicalDataService _readingClinicalDataService;
private readonly IRepository<TaskMedicalReview> _taskMedicalReviewRepository; private readonly IRepository<TaskMedicalReview> _taskMedicalReviewRepository;
private readonly IRepository<ReadingMedicalReviewDialog> _readingMedicalReviewDialogRepository; private readonly IRepository<ReadingMedicalReviewDialog> _readingMedicalReviewDialogRepository;
private readonly IRepository<ReadingQuestionCriterionTrial> _readingQuestionCriterionTrial; private readonly IRepository<ReadingQuestionCriterionTrial> _readingQuestionCriterionTrial;
@ -52,6 +53,7 @@ namespace IRaCIS.Core.Application.Service
IRepository<ReadingSystemCriterionDictionary> readingCriterionDictionaryRepository, IRepository<ReadingSystemCriterionDictionary> readingCriterionDictionaryRepository,
IRepository<User> userTaskRepository, IRepository<User> userTaskRepository,
IVisitTaskService visitTaskService, IVisitTaskService visitTaskService,
IReadingClinicalDataService readingClinicalDataService,
IRepository<TaskMedicalReview> taskMedicalReviewRepository, IRepository<TaskMedicalReview> taskMedicalReviewRepository,
IRepository<ReadingMedicalReviewDialog> readingMedicalReviewDialogRepository, IRepository<ReadingMedicalReviewDialog> readingMedicalReviewDialogRepository,
IRepository<ReadingQuestionCriterionTrial> readingQuestionCriterionTrial, IRepository<ReadingQuestionCriterionTrial> readingQuestionCriterionTrial,
@ -71,6 +73,7 @@ namespace IRaCIS.Core.Application.Service
this._readingCriterionDictionaryRepository = readingCriterionDictionaryRepository; this._readingCriterionDictionaryRepository = readingCriterionDictionaryRepository;
this._userTaskRepository = userTaskRepository; this._userTaskRepository = userTaskRepository;
this._visitTaskService = visitTaskService; this._visitTaskService = visitTaskService;
this._readingClinicalDataService = readingClinicalDataService;
this._taskMedicalReviewRepository = taskMedicalReviewRepository; this._taskMedicalReviewRepository = taskMedicalReviewRepository;
this._readingMedicalReviewDialogRepository = readingMedicalReviewDialogRepository; this._readingMedicalReviewDialogRepository = readingMedicalReviewDialogRepository;
this._readingQuestionCriterionTrial = readingQuestionCriterionTrial; this._readingQuestionCriterionTrial = readingQuestionCriterionTrial;
@ -109,11 +112,22 @@ namespace IRaCIS.Core.Application.Service
medicalReviewInfo.VisitTaskId = taskInfo.Id; medicalReviewInfo.VisitTaskId = taskInfo.Id;
var clinicalDataList = await _readingClinicalDataService.GetClinicalDataList(new GetReadingOrTaskClinicalDataListInDto()
{
SubjectId = taskInfo.SubjectId,
TrialId = taskInfo.TrialId,
VisitTaskId = taskInfo.Id,
});
medicalReviewInfo.IsExistsClinicalData = clinicalDataList.Count > 0;
medicalReviewInfo.ArmEnum = taskInfo.ArmEnum; medicalReviewInfo.ArmEnum = taskInfo.ArmEnum;
medicalReviewInfo.SubjectCode = taskInfo.IsAnalysisCreate?taskInfo.BlindSubjectCode: taskInfo.Subject.Code; medicalReviewInfo.SubjectCode = taskInfo.IsAnalysisCreate?taskInfo.BlindSubjectCode: taskInfo.Subject.Code;
medicalReviewInfo.TaskBlindName = taskInfo.TaskBlindName; medicalReviewInfo.TaskBlindName = taskInfo.TaskBlindName;
medicalReviewInfo.ReadingUser = taskInfo.DoctorUser.FirstName + taskInfo.DoctorUser.LastName; medicalReviewInfo.ReadingUser = taskInfo.DoctorUser.FirstName + taskInfo.DoctorUser.LastName;
medicalReviewInfo.SubjectId = taskInfo.SubjectId;
medicalReviewInfo.IsClosedDialog = medicalReviewInfo.MedicalReviewInfo.IsClosedDialog; medicalReviewInfo.IsClosedDialog = medicalReviewInfo.MedicalReviewInfo.IsClosedDialog;
medicalReviewInfo.AuditState = medicalReviewInfo.MedicalReviewInfo.AuditState; medicalReviewInfo.AuditState = medicalReviewInfo.MedicalReviewInfo.AuditState;
medicalReviewInfo.IsSendMessage = medicalReviewInfo.MedicalReviewInfo.IsSendMessage; medicalReviewInfo.IsSendMessage = medicalReviewInfo.MedicalReviewInfo.IsSendMessage;

View File

@ -98,7 +98,8 @@ namespace IRaCIS.Application.Services
var resultlist = await visitQuery.WhereIf(finalVisitNum != null && finalVisitNum != 0, x => x.VisitNum <= finalVisitNum) var resultlist = await visitQuery.WhereIf(finalVisitNum != null && finalVisitNum != 0, x => x.VisitNum <= finalVisitNum)
.Where(x => x.VisitNum > mixReadVisitNum) .Where(x => x.VisitNum > mixReadVisitNum)
.Where(x => !x.IsBaseLine) // 排除基线 .Where(x => !x.IsBaseLine) // 排除基线
.Where(x => readModulequery.Where(y => y.Id != inDto.Id && y.SubjectVisitId == x.Id && y.TrialReadingCriterionId == inDto.TrialReadingCriterionId && y.ReadingSetType == ReadingSetType.ImageReading).Count() == 0) .WhereIf(inDto.ReadingSetType == ReadingSetType.TumorReading, x => readModulequery.Where(y => y.SubjectVisitId == x.Id && y.TrialReadingCriterionId == inDto.TrialReadingCriterionId && y.ReadingSetType == ReadingSetType.ImageReading).Count() > 0)
.WhereIf(inDto.ReadingSetType == ReadingSetType.ImageReading, x => readModulequery.Where(y => y.Id != inDto.Id && y.SubjectVisitId == x.Id && y.TrialReadingCriterionId == inDto.TrialReadingCriterionId && y.ReadingSetType == ReadingSetType.ImageReading).Count() == 0)
.Select(x => new GetSubjectReadVisitsOutDto() .Select(x => new GetSubjectReadVisitsOutDto()
{ {
SubjectVisitId = x.Id, SubjectVisitId = x.Id,

View File

@ -2210,7 +2210,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
}).OrderByDescending(x=>x.Answer).FirstOrDefault(); }).OrderByDescending(x=>x.Answer).FirstOrDefault();
if (maxSuv == null) if (maxSuv == null|| maxSuv .Answer == 0m)
{ {
return string.Empty; return string.Empty;
} }
@ -2258,7 +2258,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
VisitTaskId=inDto.VisitTaskId, VisitTaskId=inDto.VisitTaskId,
}); });
return studyList.Any(x => x.Modalities.Contains("PET")) ? ReadingYesOrNo.Yes.GetEnumInt() : ReadingYesOrNo.No.GetEnumInt(); return studyList.Any(x => x.Modalities.Contains("PT")) ? ReadingYesOrNo.Yes.GetEnumInt() : ReadingYesOrNo.No.GetEnumInt();
} }
#region 影像学整体肿瘤评估 #region 影像学整体肿瘤评估

View File

@ -91,7 +91,7 @@ namespace IRaCIS.Core.Domain.Models
/// <summary> /// <summary>
/// 评估原因 /// 评估原因
/// </summary> /// </summary>
public string EvaluationReason { get; set; } = "肿瘤学阅片评估原因请依据临床数据填写,在与影像学结果不一致时必填。"; public string EvaluationReason { get; set; } = StaticData.International("CriterionTrial_EvaluationReason");
/// <summary> /// <summary>