From 4cdfb60fdfbd416653f38bb40ead079ab09af171 Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Mon, 10 Mar 2025 13:46:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=98=85=E7=89=87=E4=BA=BA?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IRaCIS.Core.Application.xml | 7 ++++ .../Service/Doctor/DTO/DoctorModel.cs | 10 +++++ .../Service/Doctor/DoctorListService.cs | 39 +++++++++++++++++++ .../Service/Doctor/_MapConfig.cs | 11 ++++++ 4 files changed, 67 insertions(+) diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index f0383b59c..750ddb141 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -1137,6 +1137,13 @@ 获取项目下医生入组状态列表[Confirmation] + + + 获取项目下医生列表 + + + + 添加/更新 医生基本信息 BasicInfo diff --git a/IRaCIS.Core.Application/Service/Doctor/DTO/DoctorModel.cs b/IRaCIS.Core.Application/Service/Doctor/DTO/DoctorModel.cs index 938115682..7e3f43e74 100644 --- a/IRaCIS.Core.Application/Service/Doctor/DTO/DoctorModel.cs +++ b/IRaCIS.Core.Application/Service/Doctor/DTO/DoctorModel.cs @@ -198,6 +198,16 @@ namespace IRaCIS.Application.Contracts } + public class TrialDoctorInfo : ConfirmationReviewerDTO + { + + + + public List SubspecialityList => DictionaryList.Where(t => t.ParentCode == StaticData.Subspeciality).OrderBy(t => t.ShowOrder).Select(t => t.Value).ToList(); + + public List SubspecialityCNList => DictionaryList.Where(t => t.ParentCode == StaticData.Subspeciality).OrderBy(t => t.ShowOrder).Select(t => t.ValueCN).ToList(); + } + public class ConfirmationReviewerDTO : DoctorOptDTO { public int DoctorTrialState { get; set; } diff --git a/IRaCIS.Core.Application/Service/Doctor/DoctorListService.cs b/IRaCIS.Core.Application/Service/Doctor/DoctorListService.cs index 1f76ff680..e19aa593c 100644 --- a/IRaCIS.Core.Application/Service/Doctor/DoctorListService.cs +++ b/IRaCIS.Core.Application/Service/Doctor/DoctorListService.cs @@ -271,6 +271,45 @@ namespace IRaCIS.Core.Application.Service + /// + /// 获取项目下医生列表 + /// + /// + /// + [HttpPost] + public async Task> GetTrialDoctorList( + ReviewerConfirmationQueryDTO inQuery) + { + + + var doctorQuery = _enrollRepository.Where(x => x.TrialId == inQuery.TrialId && x.EnrollStatus == EnrollStatus.ConfirmIntoGroup) + .ProjectTo(_mapper.ConfigurationProvider); + + var doctorPageList = await doctorQuery.ToPagedListAsync(inQuery); + + var enrollStateList = await _enrollDetailRepository.Where(x => x.TrialId == inQuery.TrialId && x.EnrollStatus > EnrollStatus.InviteIntoGroup) + .ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); + + + + doctorPageList.CurrentPageData.ToList().ForEach(u => + { + u.DoctorTrialState = (int)EnrollStatus.InviteIntoGroup; + var opt = enrollStateList.FirstOrDefault(t => t.DoctorId == u.Id); + if (opt != null) + { + u.DoctorTrialState = opt.IntoGroupState; + u.OptTime = opt.OptTime; + u.OptUserName = opt.OptUserName; + } + }); + + return doctorPageList; + + } + + + #endregion diff --git a/IRaCIS.Core.Application/Service/Doctor/_MapConfig.cs b/IRaCIS.Core.Application/Service/Doctor/_MapConfig.cs index 557a00058..a86f3f864 100644 --- a/IRaCIS.Core.Application/Service/Doctor/_MapConfig.cs +++ b/IRaCIS.Core.Application/Service/Doctor/_MapConfig.cs @@ -182,6 +182,17 @@ namespace IRaCIS.Core.Application.Service .ForMember(d => d.OptTime, u => u.MapFrom(s => s.CreateTime)) .ForMember(d => d.OptUserName, u => u.MapFrom(s => s.CreateUserRole.IdentityUser.UserName)); + + CreateMap().IncludeMembers(t => t.Doctor, t => t.Doctor.Hospital) + .ForMember(o => o.DictionaryList, t => t.MapFrom(u => u.Doctor.DoctorDicRelationList.Where(t => t.KeyName == StaticData.ReadingType || t.KeyName == StaticData.Subspeciality).Select(t => t.Dictionary).OrderBy(t => t.ShowOrder))) + .ForMember(d => d.Speciality, u => u.MapFrom(s => s.Doctor.Speciality.Value)) + .ForMember(d => d.SpecialityCN, u => u.MapFrom(s => s.Doctor.Speciality.ValueCN)) + .ForMember(d => d.Id, u => u.MapFrom(s => s.Doctor.Id)) + .ForMember(d => d.Code, u => u.MapFrom(s => s.DoctorUser.UserName)); + + CreateMap(); + CreateMap(); + CreateMap().IncludeMembers(t => t.Doctor, t => t.Doctor.Hospital) .ForMember(o => o.DictionaryList, t => t.MapFrom(u => u.Doctor.DoctorDicRelationList.Where(t => t.KeyName == StaticData.ReadingType || t.KeyName == StaticData.Subspeciality).Select(t => t.Dictionary).OrderBy(t => t.ShowOrder))) .ForMember(d => d.Speciality, u => u.MapFrom(s => s.Doctor.Speciality.Value))