diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs index 5c851af25..a85d8b4b3 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs @@ -545,7 +545,7 @@ namespace IRaCIS.Application.Services {ClinicalLevel.Subject,4 }, }; - result.OrderBy(x => keys[x.ClinicalDataLevel]).ToList(); + result = result.OrderBy(x => keys[x.ClinicalDataLevel]).ToList(); return (result, new { diff --git a/IRaCIS.Core.Application/_MediatR/CommandAndQueries/ConsistencyVerificationRequest.cs b/IRaCIS.Core.Application/_MediatR/CommandAndQueries/ConsistencyVerificationRequest.cs index f7400d363..561694bd3 100644 --- a/IRaCIS.Core.Application/_MediatR/CommandAndQueries/ConsistencyVerificationRequest.cs +++ b/IRaCIS.Core.Application/_MediatR/CommandAndQueries/ConsistencyVerificationRequest.cs @@ -54,6 +54,18 @@ namespace IRaCIS.Core.Application.MediatR.CommandAndQueries } + public class ParamInfoDto + { + public string Modality { get; set; } + + public string StudyDate { get; set; } + + //public int ErrorType { get; set; } + + + + } + [ExcelImporter(/*ImportResultFilter = typeof(ImportResultFilteTest),*/ IsLabelingError = true)] diff --git a/IRaCIS.Core.Application/_MediatR/Handlers/ConsistencyVerificationHandler.cs b/IRaCIS.Core.Application/_MediatR/Handlers/ConsistencyVerificationHandler.cs index 56c2464c4..23cf94d5c 100644 --- a/IRaCIS.Core.Application/_MediatR/Handlers/ConsistencyVerificationHandler.cs +++ b/IRaCIS.Core.Application/_MediatR/Handlers/ConsistencyVerificationHandler.cs @@ -1,7 +1,7 @@ using AutoMapper; using IRaCIS.Core.Application.MediatR.CommandAndQueries; using IRaCIS.Core.Domain.Share; - +using Newtonsoft.Json; using MediatR; using System.Linq.Expressions; using System.Text; @@ -104,10 +104,16 @@ namespace IRaCIS.Core.Application.MediatR.Handlers StringBuilder dialogMsg = new StringBuilder(); dialogMsg.Append("您好,根据本系统自动识别,该受试者当前访视在IRC系统中已提交的影像检查情况如下:"); var num = 0; + List paramInfoList = new List(); foreach (var item in sv.StudyList) { num++; dialogMsg.AppendLine($"
{num}.{item.StudyDate}的{item.Modality}影像检查"); + paramInfoList.Add(new ParamInfoDto() + { + Modality= item.Modality, + StudyDate= item.StudyDate, + }); } var dbSV = (await _subjectVisitRepository.FirstOrDefaultAsync(t => t.Id == sv.SubjectVisitId)).IfNullThrowException(); @@ -135,7 +141,9 @@ namespace IRaCIS.Core.Application.MediatR.Handlers dbSV.CheckChallengeDialogList.Add(new CheckChallengeDialog() { SubjectVisitId = sv.SubjectVisitId, IsCRCNeedReply= true, - TalkContent = dialogMsg.ToString(), UserTypeEnum = (UserTypeEnum)_userInfo.UserTypeEnumInt,CreateTime=DateTime.Now }); + TalkContent = dialogMsg.ToString(), + ParamInfo= JsonConvert.SerializeObject(paramInfoList), + UserTypeEnum = (UserTypeEnum)_userInfo.UserTypeEnumInt,CreateTime=DateTime.Now }); } else { @@ -165,7 +173,9 @@ namespace IRaCIS.Core.Application.MediatR.Handlers dbSV.ReadingStatus = ReadingStatusEnum.TaskAllocate; dbSV.RequestBackState = dbSV.RequestBackState== RequestBackStateEnum.CRC_RequestBack? RequestBackStateEnum.PM_NotAgree: RequestBackStateEnum.NotRequest; - dbSV.CheckChallengeDialogList.Add(new CheckChallengeDialog() { SubjectVisitId = sv.SubjectVisitId, TalkContent = dialogMsg.ToString(), UserTypeEnum = (UserTypeEnum)_userInfo.UserTypeEnumInt, CreateTime = DateTime.Now }); + dbSV.CheckChallengeDialogList.Add(new CheckChallengeDialog() { SubjectVisitId = sv.SubjectVisitId, + ParamInfo = JsonConvert.SerializeObject(paramInfoList), + TalkContent = dialogMsg.ToString(), UserTypeEnum = (UserTypeEnum)_userInfo.UserTypeEnumInt, CreateTime = DateTime.Now }); } // ETC 和系统的有区别 else @@ -198,7 +208,9 @@ namespace IRaCIS.Core.Application.MediatR.Handlers dbSV.CheckChallengeState = CheckChanllengeTypeEnum.PMWaitCRCReply; //讲核查结果发送消息给CRC - dbSV.CheckChallengeDialogList.Add(new CheckChallengeDialog() { SubjectVisitId = sv.SubjectVisitId, IsCRCNeedReply = true, TalkContent = dialogMsg.ToString(), UserTypeEnum = (UserTypeEnum)_userInfo.UserTypeEnumInt, CreateTime = DateTime.Now }); + dbSV.CheckChallengeDialogList.Add(new CheckChallengeDialog() { SubjectVisitId = sv.SubjectVisitId, IsCRCNeedReply = true, TalkContent = dialogMsg.ToString(), + ParamInfo = JsonConvert.SerializeObject(paramInfoList), + UserTypeEnum = (UserTypeEnum)_userInfo.UserTypeEnumInt, CreateTime = DateTime.Now }); } } diff --git a/IRaCIS.Core.Domain/QC/CheckChallengeDialog.cs b/IRaCIS.Core.Domain/QC/CheckChallengeDialog.cs index db7815e24..865b43c2f 100644 --- a/IRaCIS.Core.Domain/QC/CheckChallengeDialog.cs +++ b/IRaCIS.Core.Domain/QC/CheckChallengeDialog.cs @@ -23,5 +23,7 @@ namespace IRaCIS.Core.Domain.Models // public bool? IsCRCNeedReply { get; set; } + + public string ParamInfo { get; set; } } }