From 481b232f23f8725aa6c52c964bcd460769c50a02 Mon Sep 17 00:00:00 2001
From: hang <872297557@qq.com>
Date: Tue, 16 Aug 2022 15:01:07 +0800
Subject: [PATCH] =?UTF-8?q?=E9=98=85=E7=89=87=E4=BA=BA=E5=85=A5=E7=BB=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../IRaCIS.Core.Application.xml | 2 +-
.../Allocation/TaskAllocationRuleService.cs | 2 +-
.../Service/Doctor/DoctorListService.cs | 20 ++++++------
.../Service/Doctor/DoctorService.cs | 8 ++---
.../Service/Doctor/_MapConfig.cs | 8 ++---
.../Service/Inspection/InspectionService.cs | 2 +-
.../Service/Stat/StatisticsService.cs | 18 +++++------
.../TrialSiteUser/DTO/TrialViewModel.cs | 2 +-
.../TrialSiteUser/Interface/ITrialService.cs | 3 +-
.../TrialSiteUser/TrialConfigService.cs | 2 +-
.../Service/TrialSiteUser/TrialService.cs | 14 ++++----
.../Service/WorkLoad/DoctorWorkloadService.cs | 4 +--
.../Service/WorkLoad/EnrollService.cs | 32 +++++++++----------
IRaCIS.Core.Domain/Trial/Enroll.cs | 5 ++-
IRaCIS.Core.Domain/Trial/EnrollDetail.cs | 3 +-
IRaCIS.Core.Domain/Trial/Trial.cs | 2 ++
16 files changed, 65 insertions(+), 62 deletions(-)
diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index f62caf44b..7a723c8da 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -7038,7 +7038,7 @@
分页获取医生参与的临床实验项目列表(查询条件)
-
+
医生确认入组或拒绝入组
diff --git a/IRaCIS.Core.Application/Service/Allocation/TaskAllocationRuleService.cs b/IRaCIS.Core.Application/Service/Allocation/TaskAllocationRuleService.cs
index 5ba9652dd..ee350d78a 100644
--- a/IRaCIS.Core.Application/Service/Allocation/TaskAllocationRuleService.cs
+++ b/IRaCIS.Core.Application/Service/Allocation/TaskAllocationRuleService.cs
@@ -158,7 +158,7 @@ namespace IRaCIS.Core.Application.Service
[HttpGet("{trialId:guid}")]
public async Task> GetDoctorUserSelectList(Guid trialId, [FromServices] IRepository _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()
{
diff --git a/IRaCIS.Core.Application/Service/Doctor/DoctorListService.cs b/IRaCIS.Core.Application/Service/Doctor/DoctorListService.cs
index ed4c34311..9ca8c0232 100644
--- a/IRaCIS.Core.Application/Service/Doctor/DoctorListService.cs
+++ b/IRaCIS.Core.Application/Service/Doctor/DoctorListService.cs
@@ -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(_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(_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(x => x.TrialId == selectionQuery.TrialId && x.EnrollStatus == (int)EnrollStatus.HasApplyDownloadResume)
+ var doctorStateList = await _repository.Where(x => x.TrialId == selectionQuery.TrialId && x.EnrollStatus == EnrollStatus.HasApplyDownloadResume)
.ProjectTo(_mapper.ConfigurationProvider).ToListAsync();
result.CurrentPageData.ToList().ForEach(doctor =>
@@ -133,9 +133,9 @@ namespace IRaCIS.Application.Services
var doctorQuery = _repository.Where(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(_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(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(_mapper.ConfigurationProvider).ToListAsync();
@@ -167,7 +167,7 @@ namespace IRaCIS.Application.Services
//SPM 要看到提交的时间 提交人
var enrollCommitList = await _repository.Where(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(_mapper.ConfigurationProvider).ToListAsync();
@@ -235,12 +235,12 @@ namespace IRaCIS.Application.Services
{
- var doctorQuery = _repository.Where(x => x.TrialId == param.TrialId && x.EnrollStatus >= (int)EnrollStatus.InviteIntoGroup)
+ var doctorQuery = _repository.Where(x => x.TrialId == param.TrialId && x.EnrollStatus >= EnrollStatus.InviteIntoGroup)
.ProjectTo(_mapper.ConfigurationProvider);
var doctorPageList = await doctorQuery.ToPagedListAsync(param.PageIndex, param.PageSize, param.SortField == "" ? "Code" : param.SortField, param.Asc);
- var enrollStateList = await _repository.Where(x => x.TrialId == param.TrialId && x.EnrollStatus > (int)EnrollStatus.InviteIntoGroup)
+ var enrollStateList = await _repository.Where(x => x.TrialId == param.TrialId && x.EnrollStatus > EnrollStatus.InviteIntoGroup)
.ProjectTo(_mapper.ConfigurationProvider).ToListAsync();
diff --git a/IRaCIS.Core.Application/Service/Doctor/DoctorService.cs b/IRaCIS.Core.Application/Service/Doctor/DoctorService.cs
index 48351bd5a..d7ae7450f 100644
--- a/IRaCIS.Core.Application/Service/Doctor/DoctorService.cs
+++ b/IRaCIS.Core.Application/Service/Doctor/DoctorService.cs
@@ -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 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
diff --git a/IRaCIS.Core.Application/Service/Doctor/_MapConfig.cs b/IRaCIS.Core.Application/Service/Doctor/_MapConfig.cs
index ab87ae8e5..610451c85 100644
--- a/IRaCIS.Core.Application/Service/Doctor/_MapConfig.cs
+++ b/IRaCIS.Core.Application/Service/Doctor/_MapConfig.cs
@@ -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();
diff --git a/IRaCIS.Core.Application/Service/Inspection/InspectionService.cs b/IRaCIS.Core.Application/Service/Inspection/InspectionService.cs
index 8bae5cffc..28689d15f 100644
--- a/IRaCIS.Core.Application/Service/Inspection/InspectionService.cs
+++ b/IRaCIS.Core.Application/Service/Inspection/InspectionService.cs
@@ -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().Where(x => (x.TrialId == dto.TrialId)||(x.TrialId==null&&x.CreateTime> trialData.CreateTime&&x.CreateTime < trialData.TrialFinishTime))
+ var query = from data in _repository.GetQueryable().Where(x => (x.TrialId == dto.TrialId)||(x.TrialId==null&&x.CreateTime>= trialData.CreateTime && x.CreateTime <= trialData.TrialFinishTime))
join trial in _repository.GetQueryable().IgnoreQueryFilters() on data.TrialId equals trial.Id into trialtemp
from leftrial in trialtemp.DefaultIfEmpty()
diff --git a/IRaCIS.Core.Application/Service/Stat/StatisticsService.cs b/IRaCIS.Core.Application/Service/Stat/StatisticsService.cs
index 0c555f442..c13ae8372 100644
--- a/IRaCIS.Core.Application/Service/Stat/StatisticsService.cs
+++ b/IRaCIS.Core.Application/Service/Stat/StatisticsService.cs
@@ -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 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
diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialViewModel.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialViewModel.cs
index 36a1953ef..6985b8b8d 100644
--- a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialViewModel.cs
+++ b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialViewModel.cs
@@ -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; }
}
diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/Interface/ITrialService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/Interface/ITrialService.cs
index 5c9c1376e..ff2193eb0 100644
--- a/IRaCIS.Core.Application/Service/TrialSiteUser/Interface/ITrialService.cs
+++ b/IRaCIS.Core.Application/Service/TrialSiteUser/Interface/ITrialService.cs
@@ -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> GetTrialList(TrialQueryDTO searchParam);
Task> GetTrialListByReviewer(ReviewerTrialQueryDTO searchModel);
Task GetTrialMaxState(Guid trialId);
- Task UpdateEnrollStatus(Guid trialId, int status);
+ Task UpdateEnrollStatus(Guid trialId, EnrollStatus status);
}
}
\ No newline at end of file
diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs
index d030ed193..095ed7f2a 100644
--- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs
+++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs
@@ -546,7 +546,7 @@ namespace IRaCIS.Core.Application
{
await _repository.BatchUpdateAsync(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) });
diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs
index 7c3d546b9..7471fd1fa 100644
--- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs
+++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs
@@ -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(_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> GetTrialEnrollmentReviewerIds(Guid trialId)
{
return await _repository.Where(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 UpdateEnrollStatus(Guid trialId, int status)
+ public async Task UpdateEnrollStatus(Guid trialId, EnrollStatus status)
{
await _repository.AddAsync(new EnrollDetail()
{
diff --git a/IRaCIS.Core.Application/Service/WorkLoad/DoctorWorkloadService.cs b/IRaCIS.Core.Application/Service/WorkLoad/DoctorWorkloadService.cs
index 22a65a679..09623eb25 100644
--- a/IRaCIS.Core.Application/Service/WorkLoad/DoctorWorkloadService.cs
+++ b/IRaCIS.Core.Application/Service/WorkLoad/DoctorWorkloadService.cs
@@ -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();
diff --git a/IRaCIS.Core.Application/Service/WorkLoad/EnrollService.cs b/IRaCIS.Core.Application/Service/WorkLoad/EnrollService.cs
index 1ef42a4b5..f8ca5591d 100644
--- a/IRaCIS.Core.Application/Service/WorkLoad/EnrollService.cs
+++ b/IRaCIS.Core.Application/Service/WorkLoad/EnrollService.cs
@@ -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);
diff --git a/IRaCIS.Core.Domain/Trial/Enroll.cs b/IRaCIS.Core.Domain/Trial/Enroll.cs
index 8a653ce73..63b383223 100644
--- a/IRaCIS.Core.Domain/Trial/Enroll.cs
+++ b/IRaCIS.Core.Domain/Trial/Enroll.cs
@@ -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; }
-
///
/// ˺ 뵽Ŀк ֵ
diff --git a/IRaCIS.Core.Domain/Trial/EnrollDetail.cs b/IRaCIS.Core.Domain/Trial/EnrollDetail.cs
index f866242c2..6db35bb24 100644
--- a/IRaCIS.Core.Domain/Trial/EnrollDetail.cs
+++ b/IRaCIS.Core.Domain/Trial/EnrollDetail.cs
@@ -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; }
diff --git a/IRaCIS.Core.Domain/Trial/Trial.cs b/IRaCIS.Core.Domain/Trial/Trial.cs
index ac1b2a340..6bb8a5fe5 100644
--- a/IRaCIS.Core.Domain/Trial/Trial.cs
+++ b/IRaCIS.Core.Domain/Trial/Trial.cs
@@ -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();
}
+
public List TaskConsistentRuleList { get; set; }
public List SubjectDoctorUserList { get; set; } = new List();