阅片人入组

Test.EIImageViewer
hang 2022-08-16 15:01:07 +08:00
parent 6c0317d93d
commit 481b232f23
16 changed files with 65 additions and 62 deletions

View File

@ -7038,7 +7038,7 @@
<summary> 分页获取医生参与的临床实验项目列表(查询条件)</summary>
<returns></returns>
</member>
<member name="M:IRaCIS.Application.Services.TrialService.UpdateEnrollStatus(System.Guid,System.Int32)">
<member name="M:IRaCIS.Application.Services.TrialService.UpdateEnrollStatus(System.Guid,IRaCIS.Core.Domain.Share.EnrollStatus)">
<summary>
医生确认入组或拒绝入组
</summary>

View File

@ -158,7 +158,7 @@ namespace IRaCIS.Core.Application.Service
[HttpGet("{trialId:guid}")]
public async Task<List<TrialDoctorUserSelectView>> GetDoctorUserSelectList(Guid trialId, [FromServices] IRepository<Enroll> _enrollRepository)
{
var query = from enroll in _enrollRepository.Where(t => t.TrialId == trialId && t.EnrollStatus >= (int)EnrollStatus.ConfirmIntoGroup)
var query = from enroll in _enrollRepository.Where(t => t.TrialId == trialId && t.EnrollStatus >= EnrollStatus.ConfirmIntoGroup)
join user in _userRepository.AsQueryable() on enroll.DoctorId equals user.DoctorId
select new TrialDoctorUserSelectView()
{

View File

@ -48,7 +48,7 @@ namespace IRaCIS.Application.Services
//用户类型 看到简历的范围这里需要确认
.WhereIf(_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ReviewerCoordinator, t => t.UserList.Any(u => u.UserId == _userInfo.Id))
.WhereIf(count > 0, t => t.DoctorDicRelationList.Count(u => guidList.Contains(u.DictionaryId)) == count)
.WhereIf(doctorSearch.EnrollStatus != null && doctorSearch.EnrollStatus == (int)ReviewerEnrollStatus.Yes, t => t.EnrollList.Any(u => u.EnrollStatus == (int)EnrollStatus.DoctorReading))
.WhereIf(doctorSearch.EnrollStatus != null && doctorSearch.EnrollStatus == (int)ReviewerEnrollStatus.Yes, t => t.EnrollList.Any(u => u.EnrollStatus == EnrollStatus.DoctorReading))
.ProjectTo<DoctorDTO>(_mapper.ConfigurationProvider);
@ -93,14 +93,14 @@ namespace IRaCIS.Application.Services
//用户类型 看到简历的范围这里需要确认
.WhereIf(_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ReviewerCoordinator, t => t.UserList.Any(u => u.UserId == _userInfo.Id))
.WhereIf(count > 0, t => t.DoctorDicRelationList.Count(u => guidList.Contains(u.DictionaryId)) == count)
.WhereIf(selectionQuery.EnrollStatus != null && selectionQuery.EnrollStatus == (int)ReviewerEnrollStatus.Yes, t => t.EnrollList.Any(u => u.EnrollStatus == (int)EnrollStatus.DoctorReading))
.WhereIf(selectionQuery.EnrollStatus != null && selectionQuery.EnrollStatus == (int)ReviewerEnrollStatus.Yes, t => t.EnrollList.Any(u => u.EnrollStatus == EnrollStatus.DoctorReading))
.ProjectTo<SelectionReviewerDTO>(_mapper.ConfigurationProvider);
var result = await query.ToPagedListAsync(selectionQuery.PageIndex, selectionQuery.PageSize, selectionQuery.SortField == string.Empty ? "ReviewerCode" : selectionQuery.SortField, selectionQuery.Asc);
//是否已申请 申请时间 申请人
var doctorStateList = await _repository.Where<EnrollDetail>(x => x.TrialId == selectionQuery.TrialId && x.EnrollStatus == (int)EnrollStatus.HasApplyDownloadResume)
var doctorStateList = await _repository.Where<EnrollDetail>(x => x.TrialId == selectionQuery.TrialId && x.EnrollStatus == EnrollStatus.HasApplyDownloadResume)
.ProjectTo<DoctorStateModelDTO>(_mapper.ConfigurationProvider).ToListAsync();
result.CurrentPageData.ToList().ForEach(doctor =>
@ -133,9 +133,9 @@ namespace IRaCIS.Application.Services
var doctorQuery = _repository.Where<Enroll>(x => x.TrialId == param.TrialId)
//提交CRO 以及下载简历列表
.WhereIf(param.IntoGroupSearchState == 1, t => t.EnrollStatus >= (int)EnrollStatus.HasApplyDownloadResume)
.WhereIf(param.IntoGroupSearchState == 1, t => t.EnrollStatus >= EnrollStatus.HasApplyDownloadResume)
//CRO确认列表 状态为 已提交CRO
.WhereIf(param.IntoGroupSearchState == 4, t => t.EnrollStatus >= (int)EnrollStatus.HasCommittedToCRO)
.WhereIf(param.IntoGroupSearchState == 4, t => t.EnrollStatus >= EnrollStatus.HasCommittedToCRO)
.ProjectTo<ConfirmationReviewerDTO>(_mapper.ConfigurationProvider);
var doctorPageList = await doctorQuery.ToPagedListAsync(param.PageIndex, param.PageSize, param.SortField == "" ? "Code" : param.SortField, param.Asc);
@ -143,9 +143,9 @@ namespace IRaCIS.Application.Services
var enrollStateList = await _repository.Where<EnrollDetail>(x => x.TrialId == param.TrialId)
//提交CRO 以及下载简历列表
.WhereIf(param.IntoGroupSearchState == 1, t => t.EnrollStatus == (int)EnrollStatus.HasCommittedToCRO)
.WhereIf(param.IntoGroupSearchState == 1, t => t.EnrollStatus == EnrollStatus.HasCommittedToCRO)
//CRO确认列表 状态为 已提交CRO
.WhereIf(param.IntoGroupSearchState == 4, t => t.EnrollStatus == (int)EnrollStatus.InviteIntoGroup)
.WhereIf(param.IntoGroupSearchState == 4, t => t.EnrollStatus == EnrollStatus.InviteIntoGroup)
.ProjectTo<DoctorStateModelDTO>(_mapper.ConfigurationProvider).ToListAsync();
@ -167,7 +167,7 @@ namespace IRaCIS.Application.Services
//SPM 要看到提交的时间 提交人
var enrollCommitList = await _repository.Where<EnrollDetail>(x => x.TrialId == param.TrialId)
//提交CRO 以及下载简历列表
.WhereIf(param.IntoGroupSearchState == 4, t => t.EnrollStatus == (int)EnrollStatus.HasCommittedToCRO)
.WhereIf(param.IntoGroupSearchState == 4, t => t.EnrollStatus == EnrollStatus.HasCommittedToCRO)
.ProjectTo<DoctorStateModelDTO>(_mapper.ConfigurationProvider).ToListAsync();
@ -235,12 +235,12 @@ namespace IRaCIS.Application.Services
{
var doctorQuery = _repository.Where<Enroll>(x => x.TrialId == param.TrialId && x.EnrollStatus >= (int)EnrollStatus.InviteIntoGroup)
var doctorQuery = _repository.Where<Enroll>(x => x.TrialId == param.TrialId && x.EnrollStatus >= EnrollStatus.InviteIntoGroup)
.ProjectTo<ConfirmationReviewerDTO>(_mapper.ConfigurationProvider);
var doctorPageList = await doctorQuery.ToPagedListAsync(param.PageIndex, param.PageSize, param.SortField == "" ? "Code" : param.SortField, param.Asc);
var enrollStateList = await _repository.Where<EnrollDetail>(x => x.TrialId == param.TrialId && x.EnrollStatus > (int)EnrollStatus.InviteIntoGroup)
var enrollStateList = await _repository.Where<EnrollDetail>(x => x.TrialId == param.TrialId && x.EnrollStatus > EnrollStatus.InviteIntoGroup)
.ProjectTo<DoctorStateModelDTO>(_mapper.ConfigurationProvider).ToListAsync();

View File

@ -505,11 +505,11 @@ namespace IRaCIS.Application.Services
// t.EnrollStatus == (int)EnrollStatus.DoctorReading ? 1 : 0)
Submitted = g.Count(t =>
t.EnrollStatus == (int)EnrollStatus.HasCommittedToCRO),
t.EnrollStatus == EnrollStatus.HasCommittedToCRO),
Approved = g.Count(t =>
t.EnrollStatus == (int)EnrollStatus.InviteIntoGroup),
t.EnrollStatus == EnrollStatus.InviteIntoGroup),
Reading = g.Count(t =>
t.EnrollStatus == (int)EnrollStatus.DoctorReading)
t.EnrollStatus == EnrollStatus.DoctorReading)
};
return doctorQueryable.FirstOrDefault().IfNullThrowException();
@ -522,7 +522,7 @@ namespace IRaCIS.Application.Services
[HttpGet("{doctorId:guid}")]
public List<SowDTO> GetDoctorSowList(Guid doctorId)
{
var query = from enroll in _enrollRepository.Where(u => u.DoctorId == doctorId && u.EnrollStatus >= 10)
var query = from enroll in _enrollRepository.Where(u => u.DoctorId == doctorId && u.EnrollStatus >= EnrollStatus.ConfirmIntoGroup)
join trialExt in _trialExtRepository.AsQueryable() on enroll.TrialId equals trialExt.TrialId
join trial in _trialRepository.AsQueryable() on enroll.TrialId equals trial.Id
select new SowDTO

View File

@ -90,10 +90,10 @@ namespace IRaCIS.Core.Application.Service
.ForMember(d => d.Speciality, u => u.MapFrom(s => s.Speciality.Value))
.ForMember(d => d.SpecialityCN, u => u.MapFrom(s => s.Speciality.ValueCN))
.ForMember(d => d.HasResume, u => u.MapFrom(s => s.AttachmentList.Any(u => u.Type == "Resume" && u.IsOfficial)))
.ForMember(d => d.Submitted, u => u.MapFrom(s => s.EnrollList.Count(t => t.EnrollStatus == (int)EnrollStatus.HasCommittedToCRO)))
.ForMember(d => d.Approved, u => u.MapFrom(s => s.EnrollList.Count(t => t.EnrollStatus == (int)EnrollStatus.InviteIntoGroup)))
.ForMember(d => d.Reading, u => u.MapFrom(s => s.EnrollList.Count(t => t.EnrollStatus == (int)EnrollStatus.DoctorReading)))
.ForMember(d => d.Finished, u => u.MapFrom(s => s.EnrollList.Count(t => t.EnrollStatus == (int)EnrollStatus.Finished)))
.ForMember(d => d.Submitted, u => u.MapFrom(s => s.EnrollList.Count(t => t.EnrollStatus == EnrollStatus.HasCommittedToCRO)))
.ForMember(d => d.Approved, u => u.MapFrom(s => s.EnrollList.Count(t => t.EnrollStatus == EnrollStatus.InviteIntoGroup)))
.ForMember(d => d.Reading, u => u.MapFrom(s => s.EnrollList.Count(t => t.EnrollStatus == EnrollStatus.DoctorReading)))
.ForMember(d => d.Finished, u => u.MapFrom(s => s.EnrollList.Count(t => t.EnrollStatus == EnrollStatus.Finished)))
.ForMember(d => d.Reconfirmed, u => u.MapFrom(s => s.ReviewStatus == ReviewerInformationConfirmStatus.ConfirmPass))
.ForMember(o => o.DictionaryList, t => t.MapFrom(u => u.DoctorDicRelationList.Where(t => t.KeyName == StaticData.ReadingType || t.KeyName == StaticData.Subspeciality).Select(t => t.Dictionary).OrderBy(t => t.ShowOrder)));
CreateMap<Hospital, DoctorDTO>();

View File

@ -35,7 +35,7 @@ namespace IRaCIS.Core.Application.Service.Inspection
trialData.TrialFinishTime = trialData.TrialFinishTime == null ? DateTime.Now : trialData.TrialFinishTime;
#region 逻辑代码
var query = from data in _repository.GetQueryable<DataInspection>().Where(x => (x.TrialId == dto.TrialId)||(x.TrialId==null&&x.CreateTime> trialData.CreateTime&&x.CreateTime < trialData.TrialFinishTime))
var query = from data in _repository.GetQueryable<DataInspection>().Where(x => (x.TrialId == dto.TrialId)||(x.TrialId==null&&x.CreateTime>= trialData.CreateTime && x.CreateTime <= trialData.TrialFinishTime))
join trial in _repository.GetQueryable<Trial>().IgnoreQueryFilters() on data.TrialId equals trial.Id into trialtemp
from leftrial in trialtemp.DefaultIfEmpty()

View File

@ -217,13 +217,13 @@ namespace IRaCIS.Application.Services
{
DoctorId = g.Key.DoctorId,
Submitted = g.Sum(t =>
t.EnrollStatus == (int)EnrollStatus.HasCommittedToCRO ? 1 : 0),
t.EnrollStatus == EnrollStatus.HasCommittedToCRO ? 1 : 0),
Approved = g.Sum(t =>
t.EnrollStatus == (int)EnrollStatus.InviteIntoGroup ? 1 : 0),
t.EnrollStatus == EnrollStatus.InviteIntoGroup ? 1 : 0),
Reading = g.Sum(t =>
t.EnrollStatus == (int)EnrollStatus.DoctorReading ? 1 : 0),
t.EnrollStatus == EnrollStatus.DoctorReading ? 1 : 0),
Finished = g.Sum(t =>
t.EnrollStatus >= (int)EnrollStatus.Finished ? 1 : 0),
t.EnrollStatus >= EnrollStatus.Finished ? 1 : 0),
};
@ -318,7 +318,7 @@ namespace IRaCIS.Application.Services
#endregion
var trialEnrollStatQuery = _enrollRepository.AsQueryable()
.Where(t => t.EnrollStatus >= (int)EnrollStatus.ConfirmIntoGroup).GroupBy(t => t.TrialId).Select(g => new
.Where(t => t.EnrollStatus >= EnrollStatus.ConfirmIntoGroup).GroupBy(t => t.TrialId).Select(g => new
{
TrialId = g.Key,
EnrollCount = g.Count()
@ -356,7 +356,7 @@ namespace IRaCIS.Application.Services
var trialIds = trialList.Select(t => t.TrialId).ToList();
var enrollReviewerQuery = from enroll in _enrollRepository.AsQueryable()
.Where(t => t.EnrollStatus >= (int)EnrollStatus.ConfirmIntoGroup && trialIds.Contains(t.TrialId))
.Where(t => t.EnrollStatus >= EnrollStatus.ConfirmIntoGroup && trialIds.Contains(t.TrialId))
join reviewer in _doctorRepository.AsQueryable() on enroll.DoctorId equals reviewer.Id
select new
@ -662,7 +662,7 @@ namespace IRaCIS.Application.Services
var endMonth = DateTime.Now;
var querySql = from enrollDetail in _enrollDetailRepository.Where(t =>
t.CreateTime > beginMonth && t.CreateTime < endMonth &&
t.EnrollStatus == (int)EnrollStatus.ConfirmIntoGroup)
t.EnrollStatus == EnrollStatus.ConfirmIntoGroup)
select new
{
@ -726,7 +726,7 @@ namespace IRaCIS.Application.Services
var endMonth = DateTime.Now;
var querySql = from enrollDetail in _enrollDetailRepository.Where(t =>
t.CreateTime > beginMonth && t.CreateTime < endMonth &&
t.EnrollStatus == (int)EnrollStatus.ConfirmIntoGroup)
t.EnrollStatus == EnrollStatus.ConfirmIntoGroup)
select new
{
@ -786,7 +786,7 @@ namespace IRaCIS.Application.Services
public List<TrialDataRankDTO> GetTrialCountRank(int topCount)
{
var queryList = (from enrollDetail in _enrollDetailRepository.Where(t =>
t.EnrollStatus == (int)EnrollStatus.ConfirmIntoGroup)
t.EnrollStatus == EnrollStatus.ConfirmIntoGroup)
group enrollDetail by enrollDetail.DoctorId
into g
select new

View File

@ -202,7 +202,7 @@ namespace IRaCIS.Application.Contracts
{
public string Code { get; set; } = string.Empty;
public string Indication { get; set; } = string.Empty;
public int? EnrollStatus { get; set; }
public EnrollStatus? EnrollStatus { get; set; }
public int? Expedited { get; set; }
}

View File

@ -1,4 +1,5 @@
using IRaCIS.Application.Contracts;
using IRaCIS.Core.Domain.Share;
namespace IRaCIS.Application.Interfaces
{
@ -17,6 +18,6 @@ namespace IRaCIS.Application.Interfaces
Task<PageOutput<TrialDetailDTO>> GetTrialList(TrialQueryDTO searchParam);
Task<PageOutput<TrialDetailDTO>> GetTrialListByReviewer(ReviewerTrialQueryDTO searchModel);
Task<int> GetTrialMaxState(Guid trialId);
Task<IResponseOutput> UpdateEnrollStatus(Guid trialId, int status);
Task<IResponseOutput> UpdateEnrollStatus(Guid trialId, EnrollStatus status);
}
}

View File

@ -546,7 +546,7 @@ namespace IRaCIS.Core.Application
{
await _repository.BatchUpdateAsync<Enroll>(u => u.TrialId == trialId, e => new Enroll
{
EnrollStatus = (int)EnrollStatus.Finished
EnrollStatus = EnrollStatus.Finished
});
await _trialRepository.BatchUpdateNoTrackingAsync(u => u.Id == trialId, s => new Trial { TrialFinishedTime = DateTime.UtcNow.AddHours(8) });

View File

@ -465,10 +465,10 @@ namespace IRaCIS.Application.Services
{
var query = _trialRepository.AsQueryable()
.WhereIf(param.Status == 5, t => t.EnrollList.Any(u => u.EnrollStatus == (int)EnrollStatus.HasCommittedToCRO))
.WhereIf(param.Status == 8, t => t.EnrollList.Any(u => u.EnrollStatus == (int)EnrollStatus.InviteIntoGroup))
.WhereIf(param.Status == 10, t => t.EnrollList.Any(u => u.EnrollStatus == (int)EnrollStatus.DoctorReading))
.WhereIf(param.Status == 14, t => t.EnrollList.Any(u => u.EnrollStatus == (int)EnrollStatus.Finished))
.WhereIf(param.Status == 5, t => t.EnrollList.Any(u => u.EnrollStatus == EnrollStatus.HasCommittedToCRO))
.WhereIf(param.Status == 8, t => t.EnrollList.Any(u => u.EnrollStatus == EnrollStatus.InviteIntoGroup))
.WhereIf(param.Status == 10, t => t.EnrollList.Any(u => u.EnrollStatus == EnrollStatus.DoctorReading))
.WhereIf(param.Status == 14, t => t.EnrollList.Any(u => u.EnrollStatus == EnrollStatus.Finished))
.ProjectTo<TrialDetailDTO>(_mapper.ConfigurationProvider, new { userTypeEnumInt = _userInfo.UserTypeEnumInt, userId = _userInfo.Id });
return await query.ToPagedListAsync(param.PageIndex, param.PageSize, string.IsNullOrWhiteSpace(param.SortField) ? "CreateTime" : param.SortField, param.Asc);
@ -483,7 +483,7 @@ namespace IRaCIS.Application.Services
public async Task<List<Guid>> GetTrialEnrollmentReviewerIds(Guid trialId)
{
return await _repository.Where<Enroll>(u => u.TrialId == trialId &&
u.EnrollStatus >= (int)EnrollStatus.DoctorReading).Select(u => u.DoctorId).Distinct().ToListAsync();
u.EnrollStatus >= EnrollStatus.DoctorReading).Select(u => u.DoctorId).Distinct().ToListAsync();
}
@ -498,7 +498,7 @@ namespace IRaCIS.Application.Services
{
var query = _trialRepository
.WhereIf(searchModel.EnrollStatus != null, o => (int)searchModel.EnrollStatus! == 10 ?
o.EnrollList.Any(o => o.EnrollStatus >= 10 && o.EnrollStatus <= 13 && o.DoctorId == _userInfo.Id) :
o.EnrollList.Any(o => o.EnrollStatus >= EnrollStatus.ConfirmIntoGroup && o.EnrollStatus <= EnrollStatus.DoctorReading && o.DoctorId == _userInfo.Id) :
o.EnrollList.Any(o => o.EnrollStatus == searchModel.EnrollStatus && o.DoctorId == _userInfo.Id))
.WhereIf(searchModel.Expedited != null, o => o.Expedited == searchModel.Expedited)
.WhereIf(!string.IsNullOrEmpty(searchModel.Code), o => o.TrialCode.Contains(searchModel.Code))
@ -523,7 +523,7 @@ namespace IRaCIS.Application.Services
[HttpPost("{trialId:guid}/{status:int}")]
[TypeFilter(typeof(TrialResourceFilter))]
public async Task<IResponseOutput> UpdateEnrollStatus(Guid trialId, int status)
public async Task<IResponseOutput> UpdateEnrollStatus(Guid trialId, EnrollStatus status)
{
await _repository.AddAsync(new EnrollDetail()
{

View File

@ -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();

View File

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

View File

@ -1,3 +1,4 @@
using IRaCIS.Core.Domain.Share;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
@ -19,7 +20,7 @@ namespace IRaCIS.Core.Domain.Models
public Guid DoctorId { get; set; }
public Guid TrialId { get; set; }
public Guid AttachmentId { get; set; } = Guid.Empty;
public int EnrollStatus { get; set; }
public EnrollStatus EnrollStatus { get; set; }
public decimal? AdjustmentMultiple { get; set; }
public DateTime? EnrollTime { get; set; }
@ -56,8 +57,6 @@ namespace IRaCIS.Core.Domain.Models
public int? Downtime { get; set; }
public int DoctorTrialState { get; set; }
/// <summary>
/// 生成账号 加入到项目中后 赋值

View File

@ -1,3 +1,4 @@
using IRaCIS.Core.Domain.Share;
using System;
using System.ComponentModel.DataAnnotations.Schema;
@ -10,7 +11,7 @@ namespace IRaCIS.Core.Domain.Models
public Guid DoctorId { get; set; }
public Guid TrialId { get; set; }
public int EnrollStatus { get; set; }
public EnrollStatus EnrollStatus { get; set; }
public Guid? EnrollId { get; set; }
public string Memo { get; set; } = string.Empty;
public Guid CreateUserId { get; set; }

View File

@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using IRaCIS.Core.Domain.Share;
using Newtonsoft.Json;
namespace IRaCIS.Core.Domain.Models
{
@ -15,6 +16,7 @@ namespace IRaCIS.Core.Domain.Models
TrialDicList = new List<TrialDictionary>();
}
public List<TaskConsistentRule> TaskConsistentRuleList { get; set; }
public List<SubjectUser> SubjectDoctorUserList { get; set; } = new List<SubjectUser>();