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))