阅片人入组

This commit is contained in:
2022-08-16 15:01:07 +08:00
parent 6c0317d93d
commit 481b232f23
16 changed files with 65 additions and 62 deletions
@@ -166,7 +166,7 @@ namespace IRaCIS.Application.Services
var doctorIntoGroupQueryable =
from intoGroup in _enrollRepository.Where(x => x.TrialId == trialId && x.EnrollStatus >= (int)EnrollStatus.ConfirmIntoGroup)
from intoGroup in _enrollRepository.Where(x => x.TrialId == trialId && x.EnrollStatus >= EnrollStatus.ConfirmIntoGroup)
join doctor in _doctorRepository.AsQueryable() on intoGroup.DoctorId equals doctor.Id
join attachmentItem in _attachmentRepository.AsQueryable() on intoGroup.AttachmentId equals attachmentItem.Id into cc
from attachment in cc.DefaultIfEmpty()
@@ -682,7 +682,7 @@ namespace IRaCIS.Application.Services
await _enrollRepository.BatchUpdateNoTrackingAsync(
t => t.DoctorId == workLoadAddOrUpdateModel.DoctorId && t.TrialId == workLoadAddOrUpdateModel.TrialId, u => new Enroll()
{
EnrollStatus = (int)EnrollStatus.DoctorReading,
EnrollStatus = EnrollStatus.DoctorReading,
});
var success = await _doctorWorkloadRepository.SaveChangesAsync();
@@ -163,14 +163,14 @@ namespace IRaCIS.Application.Services
{
DoctorId = doctorId,
TrialId = trialId,
EnrollStatus = (int)EnrollStatus.HasApplyDownloadResume,
EnrollStatus = EnrollStatus.HasApplyDownloadResume,
});
await _enrollDetailRepository.AddAsync(new EnrollDetail()
{
DoctorId = doctorId,
TrialId = trialId,
EnrollStatus = (int)EnrollStatus.HasApplyDownloadResume,
EnrollStatus = EnrollStatus.HasApplyDownloadResume,
OptUserType = (int)SystemUserType.AdminUser,
});
}
@@ -217,7 +217,7 @@ namespace IRaCIS.Application.Services
{
if (doctorIdArray.Contains(intoGroupItem.DoctorId))
{
intoGroupItem.EnrollStatus = (int)EnrollStatus.HasCommittedToCRO;
intoGroupItem.EnrollStatus = EnrollStatus.HasCommittedToCRO;
//_enrollRepository.Update(intoGroupItem);
await _enrollDetailRepository.AddAsync(new EnrollDetail()
@@ -225,7 +225,7 @@ namespace IRaCIS.Application.Services
TrialDetailId = trialDetail.Id,
DoctorId = intoGroupItem.DoctorId,
TrialId = trialId,
EnrollStatus = (int)EnrollStatus.HasCommittedToCRO,
EnrollStatus = EnrollStatus.HasCommittedToCRO,
OptUserType = (int)SystemUserType.AdminUser, //后台用户
});
}
@@ -242,14 +242,14 @@ namespace IRaCIS.Application.Services
{
if (doctorIdArray.Contains(intoGroupItem.DoctorId))
{
intoGroupItem.EnrollStatus = (int)EnrollStatus.HasApplyDownloadResume;
intoGroupItem.EnrollStatus = EnrollStatus.HasApplyDownloadResume;
//_enrollRepository.Update(intoGroupItem);
var deleteItem = await _enrollDetailRepository.FirstOrDefaultAsync(t =>
t.TrialId == trialId && t.DoctorId == intoGroupItem.DoctorId &&
t.EnrollStatus == (int)EnrollStatus.HasCommittedToCRO);
t.EnrollStatus == EnrollStatus.HasCommittedToCRO);
await _enrollDetailRepository.DeleteAsync(deleteItem);
}
@@ -305,14 +305,14 @@ namespace IRaCIS.Application.Services
{
if (doctorIdArray.Contains(intoGroupItem.DoctorId))
{
intoGroupItem.EnrollStatus = (int)EnrollStatus.InviteIntoGroup;
intoGroupItem.EnrollStatus = EnrollStatus.InviteIntoGroup;
//_enrollRepository.Update(intoGroupItem);
await _enrollDetailRepository.AddAsync(new EnrollDetail()
{
DoctorId = intoGroupItem.DoctorId,
TrialId = trialId,
EnrollStatus = (int)EnrollStatus.InviteIntoGroup,
EnrollStatus = EnrollStatus.InviteIntoGroup,
OptUserType = (int)SystemUserType.AdminUser, //后台用户
});
}
@@ -328,13 +328,13 @@ namespace IRaCIS.Application.Services
{
if (doctorIdArray.Contains(intoGroupItem.DoctorId))
{
intoGroupItem.EnrollStatus = (int)EnrollStatus.HasCommittedToCRO;
intoGroupItem.EnrollStatus = EnrollStatus.HasCommittedToCRO;
//_enrollRepository.Update(intoGroupItem);
var deleteItem = await _enrollDetailRepository.FirstOrDefaultAsync(t =>
t.TrialId == trialId && t.DoctorId == intoGroupItem.DoctorId &&
t.EnrollStatus == (int)EnrollStatus.InviteIntoGroup);
t.EnrollStatus == EnrollStatus.InviteIntoGroup);
await _enrollDetailRepository.DeleteAsync(deleteItem);
}
@@ -383,7 +383,7 @@ namespace IRaCIS.Application.Services
{
if (confirmReviewerCommand.DoctorIdArray.Contains(intoGroupItem.DoctorId))
{
intoGroupItem.EnrollStatus = (int)EnrollStatus.ConfirmIntoGroup;
intoGroupItem.EnrollStatus = EnrollStatus.ConfirmIntoGroup;
intoGroupItem.EnrollTime = DateTime.Now;
var userId= await _mailVerificationService.DoctorJoinTrialEmail(trialId, intoGroupItem.DoctorId, confirmReviewerCommand.BaseUrl, confirmReviewerCommand.RouteUrl);
@@ -402,7 +402,7 @@ namespace IRaCIS.Application.Services
{
DoctorId = intoGroupItem.DoctorId,
TrialId = trialId,
EnrollStatus = (int)EnrollStatus.ConfirmIntoGroup,
EnrollStatus = EnrollStatus.ConfirmIntoGroup,
OptUserType = (int)SystemUserType.AdminUser, //后台用户
});
}
@@ -415,13 +415,13 @@ namespace IRaCIS.Application.Services
{
if (confirmReviewerCommand.DoctorIdArray.Contains(intoGroupItem.DoctorId))
{
intoGroupItem.EnrollStatus = (int)EnrollStatus.InviteIntoGroup;
intoGroupItem.EnrollStatus = EnrollStatus.InviteIntoGroup;
intoGroupItem.EnrollTime = null;
var deleteItem = await _enrollDetailRepository.FirstOrDefaultAsync(t =>
t.TrialId == trialId && t.DoctorId == intoGroupItem.DoctorId &&
t.EnrollStatus == (int)EnrollStatus.ConfirmIntoGroup);
t.EnrollStatus == EnrollStatus.ConfirmIntoGroup);
await _enrollDetailRepository.DeleteAsync(deleteItem);
}
@@ -460,12 +460,12 @@ namespace IRaCIS.Application.Services
return ResponseOutput.NotOk("Reviewers with workload cannot go back");
}
intoGroupItem.EnrollStatus = (int)EnrollStatus.InviteIntoGroup;
intoGroupItem.EnrollStatus = EnrollStatus.InviteIntoGroup;
intoGroupItem.EnrollTime = null;
var deleteItem = await _enrollDetailRepository.FirstOrDefaultAsync(t =>
t.TrialId == trialId && t.DoctorId == intoGroupItem.DoctorId &&
t.EnrollStatus == (int)EnrollStatus.ConfirmIntoGroup);
t.EnrollStatus == EnrollStatus.ConfirmIntoGroup);
await _enrollDetailRepository.DeleteAsync(deleteItem);