医生分配Arm

Uat_Study
hang 2022-06-13 17:28:03 +08:00
parent b9ec7227ea
commit 1bd1779c18
3 changed files with 20 additions and 5 deletions

View File

@ -148,7 +148,14 @@ namespace IRaCIS.Core.Application.ViewModel
public List<Guid> SubjectIdList { get; set; } public List<Guid> SubjectIdList { get; set; }
public List<Guid> DoctorUserIdList { get; set; } public List<DoctorArm> DoctorUserIdArmList { get; set; }
}
public class DoctorArm
{
public Guid DoctorUserId { get; set; }
public int ArmEnum { get; set; }
} }
public class CancelSubjectAssignCommand public class CancelSubjectAssignCommand

View File

@ -104,16 +104,22 @@ namespace IRaCIS.Core.Application.Service
[HttpPost] [HttpPost]
public async Task<IResponseOutput> AssignSubjectDoctor(AssginSubjectDoctorCommand assginSubjectDoctorCommand) public async Task<IResponseOutput> AssignSubjectDoctor(AssginSubjectDoctorCommand assginSubjectDoctorCommand)
{ {
var doctorUserIdList = assginSubjectDoctorCommand.DoctorUserIdArmList.Select(t => t.DoctorUserId).ToList();
if (assginSubjectDoctorCommand.IsReAssign) if (assginSubjectDoctorCommand.IsReAssign)
{ {
await _subjectUserRepository.BatchDeleteNoTrackingAsync(t => assginSubjectDoctorCommand.DoctorUserIdList.Contains(t.DoctorUserId) && assginSubjectDoctorCommand.SubjectIdList.Contains(t.SubjectId)); await _subjectUserRepository.BatchDeleteNoTrackingAsync(t => doctorUserIdList.Contains(t.DoctorUserId) && assginSubjectDoctorCommand.SubjectIdList.Contains(t.SubjectId));
} }
foreach (var subjectId in assginSubjectDoctorCommand.SubjectIdList) foreach (var subjectId in assginSubjectDoctorCommand.SubjectIdList)
{ {
foreach (var doctorUserId in assginSubjectDoctorCommand.DoctorUserIdList) foreach (var doctorUserId in doctorUserIdList)
{ {
await _subjectUserRepository.AddAsync(new SubjectUser() { TrialId = assginSubjectDoctorCommand.TrialId, SubjectId = subjectId, DoctorUserId = doctorUserId, AssignTime = DateTime.Now });
var armEnum = assginSubjectDoctorCommand.DoctorUserIdArmList.Where(t => t.DoctorUserId == doctorUserId).First().ArmEnum;
await _subjectUserRepository.AddAsync(new SubjectUser() { TrialId = assginSubjectDoctorCommand.TrialId, SubjectId = subjectId, DoctorUserId = doctorUserId, ArmEnum= armEnum, AssignTime = DateTime.Now });
} }
//await _subjectRepository.BatchUpdateNoTrackingAsync(t => t.Id == subjectId, u => new Subject() { IsAssignDoctorUser = true }); //await _subjectRepository.BatchUpdateNoTrackingAsync(t => t.Id == subjectId, u => new Subject() { IsAssignDoctorUser = true });

View File

@ -59,7 +59,9 @@ namespace IRaCIS.Core.Domain.Models
public User DoctorUser { get; set; } public User DoctorUser { get; set; }
public int ArmEnum { get; set; }
}
}
} }