修改
This commit is contained in:
@@ -24,7 +24,11 @@ namespace IRaCIS.Core.Application.Service
|
||||
var doctor = await _doctorRepository.Where(o => o.Id == indto.DoctorId)
|
||||
.ProjectTo<TrialExperienceModel>(_mapper.ConfigurationProvider).FirstOrDefaultAsync();
|
||||
|
||||
trialExperience.ClinicalTrialExperienceList = await GetTrialExperienceList(indto.DoctorId);
|
||||
trialExperience.ClinicalTrialExperienceList = await GetTrialExperienceList(new GetTrialExperienceListInDto()
|
||||
{
|
||||
DoctorId = indto.DoctorId,
|
||||
TrialId = indto.TrialId,
|
||||
});
|
||||
|
||||
if (doctor != null)
|
||||
{
|
||||
@@ -90,12 +94,41 @@ namespace IRaCIS.Core.Application.Service
|
||||
return doctorInfo;
|
||||
}
|
||||
|
||||
private async Task<List<TrialExperienceListDTO>> GetTrialExperienceList(Guid doctorId)
|
||||
private async Task<List<TrialExperienceListDTO>> GetTrialExperienceList(GetTrialExperienceListInDto inDto)
|
||||
{
|
||||
var doctorClinicalTrialExperienceList = await _trialExperienceRepository.Where(o => o.DoctorId == doctorId).OrderBy(t => t.CreateTime)
|
||||
.ProjectTo<TrialExperienceListDTO>(_mapper.ConfigurationProvider).ToListAsync();
|
||||
if (inDto.TrialId == null)
|
||||
{
|
||||
var doctorClinicalTrialExperienceList = await _trialExperienceRepository
|
||||
.Where(o => o.DoctorId == inDto.DoctorId)
|
||||
.Where(x => x.ExperienceDataType == ExperienceDataType.System)
|
||||
.OrderBy(t => t.CreateTime)
|
||||
.ProjectTo<TrialExperienceListDTO>(_mapper.ConfigurationProvider).ToListAsync();
|
||||
return doctorClinicalTrialExperienceList;
|
||||
}
|
||||
else
|
||||
{
|
||||
// 当前项目没有则复制
|
||||
if (!(await _trialExperienceRepository.AnyAsync(x => x.TrialId == inDto.TrialId)))
|
||||
{
|
||||
var trialExperienceList = await _trialExperienceRepository.Where(o => o.DoctorId == inDto.DoctorId)
|
||||
.Where(x => x.ExperienceDataType == ExperienceDataType.System || x.ExperienceDataType == ExperienceDataType.SystemAuto).ToListAsync();
|
||||
foreach (var item in trialExperienceList)
|
||||
{
|
||||
item.Trial = null;
|
||||
item.TrialId = inDto.TrialId;
|
||||
item.ExperienceDataType = ExperienceDataType.Trial;
|
||||
}
|
||||
}
|
||||
|
||||
return doctorClinicalTrialExperienceList;
|
||||
var doctorClinicalTrialExperienceList = await _trialExperienceRepository
|
||||
.Where(o => o.DoctorId == inDto.DoctorId)
|
||||
.Where(x => x.ExperienceDataType == ExperienceDataType.Trial|| x.ExperienceDataType == ExperienceDataType.TrialAuto)
|
||||
.Where(x => x.TrialId == inDto.TrialId.Value)
|
||||
.OrderBy(t => t.CreateTime)
|
||||
.ProjectTo<TrialExperienceListDTO>(_mapper.ConfigurationProvider).ToListAsync();
|
||||
return doctorClinicalTrialExperienceList;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
/// <summary> 添加或更新医生临床经验列表项</summary>
|
||||
|
||||
Reference in New Issue
Block a user