From 99cb6fd6d89145f96939d4b77818b138f6460adf Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Wed, 3 Aug 2022 15:14:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8C=BB=E7=94=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Common/MailService.cs | 6 ++--- .../Service/Doctor/DTO/DoctorModel.cs | 6 ++++- .../Service/Doctor/DoctorListService.cs | 8 ++++--- .../Service/Doctor/DoctorService.cs | 2 ++ .../Service/Doctor/_MapConfig.cs | 2 +- .../Service/Financial/DTO/PaymentModel.cs | 3 ++- .../Service/Institution/CROService.cs | 4 +++- .../Institution/DTO/CROCompanyModel.cs | 6 +++++ .../Service/Institution/DTO/SponsorModel.cs | 7 ++++++ .../Service/Institution/SponsorService.cs | 3 ++- .../Service/Management/UserService.cs | 12 ++++++++-- .../Service/Stat/DTO/StatisticsViewModel.cs | 3 ++- .../TrialSiteUser/DTO/TrialViewModel.cs | 4 ++-- .../Service/TrialSiteUser/TrialService.cs | 6 +++-- .../Doctor/DoctorStatus.cs | 14 ++++++----- .../Management/SystemNotice.cs | 4 ++++ .../Trial/TrialExpedited.cs | 24 +++++++++++++++++++ IRaCIS.Core.Domain/Dcotor/Doctor.cs | 6 ++++- IRaCIS.Core.Domain/Institution/CRO.cs | 1 + IRaCIS.Core.Domain/Institution/Sponsor.cs | 3 +++ IRaCIS.Core.Domain/Trial/Trial.cs | 6 ++--- 21 files changed, 102 insertions(+), 28 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Common/MailService.cs b/IRaCIS.Core.Application/Service/Common/MailService.cs index 1550294a..f6bdd589 100644 --- a/IRaCIS.Core.Application/Service/Common/MailService.cs +++ b/IRaCIS.Core.Application/Service/Common/MailService.cs @@ -21,7 +21,7 @@ namespace IRaCIS.Application.Services Task AddUserSendEmailAsync(Guid userId, string baseUrl, string routeUrl); - Task AdminResetPwdSendEmailAsync(Guid userId); + Task AdminResetPwdSendEmailAsync(Guid userId,string pwdNotMd5="123456"); Task SiteSurveyUserJoinEmail(Guid trialId, Guid userId, string baseUrl, string rootUrl); @@ -322,7 +322,7 @@ namespace IRaCIS.Application.Services } //管理员重置密码发送邮件 - public async Task AdminResetPwdSendEmailAsync(Guid userId) + public async Task AdminResetPwdSendEmailAsync(Guid userId, string pwdNotMd5= "123456") { var sysUserInfo = (await _userRepository.Where(t => t.Id == userId).Include(t => t.UserTypeRole).FirstOrDefaultAsync()).IfNullThrowException(); @@ -354,7 +354,7 @@ namespace IRaCIS.Application.Services sysUserInfo.FullName, sysUserInfo.UserName, sysUserInfo.UserTypeRole.UserTypeShortName, - AppSettings.DefaultPassword + pwdNotMd5 ); } diff --git a/IRaCIS.Core.Application/Service/Doctor/DTO/DoctorModel.cs b/IRaCIS.Core.Application/Service/Doctor/DTO/DoctorModel.cs index 9f9e771f..380468ea 100644 --- a/IRaCIS.Core.Application/Service/Doctor/DTO/DoctorModel.cs +++ b/IRaCIS.Core.Application/Service/Doctor/DTO/DoctorModel.cs @@ -626,12 +626,16 @@ namespace IRaCIS.Application.Contracts //public Guid FromUserId { get; set; } public Guid Id { get; set; } public ResumeStatusEnum ResumeStatus { get; set; } - public int ReviewStatus { get; set; } + public ReviewerInformationConfirmStatus ReviewStatus { get; set; } public bool AcceptingNewTrial { get; set; } = false; public bool ActivelyReading { get; set; } = false; public string AdminComment { get; set; } = String.Empty; public string MessageContent { get; set; } = String.Empty; public ContractorStatusEnum CooperateStatus { get; set; } + + public bool IsVirtual { get; set; } + + public string BlindName { get; set; } = String.Empty; } public class ResumeConfirmDTO diff --git a/IRaCIS.Core.Application/Service/Doctor/DoctorListService.cs b/IRaCIS.Core.Application/Service/Doctor/DoctorListService.cs index bec38a1a..377e8287 100644 --- a/IRaCIS.Core.Application/Service/Doctor/DoctorListService.cs +++ b/IRaCIS.Core.Application/Service/Doctor/DoctorListService.cs @@ -67,8 +67,9 @@ namespace IRaCIS.Application.Services ReviewerSelectionQueryDTO selectionQuery) { //项目配置需要的医生过滤 2表示混合 - var nation = await _repository.Where(s => s.Id == selectionQuery.TrialId).Select(t=>t.AttendedReviewerType).FirstOrDefaultAsync().IfNullThrowException(); + var trialConfig = await _repository.Where(s => s.Id == selectionQuery.TrialId).Select(t=>new { t.AttendedReviewerType ,t.TrialType} ).FirstOrDefaultAsync().IfNullThrowException(); + var nation = trialConfig.AttendedReviewerType; // 临床项目经验 多选 var evaluationCriteriaCount = selectionQuery.EvaluationCriteriaIdList.Count(); @@ -77,9 +78,10 @@ namespace IRaCIS.Application.Services var guidList = selectionQuery.ReadingTypeIdList.Concat(selectionQuery.SubspecialityIdList).Concat(selectionQuery.TitleIdList); - var query = _doctorRepository.WhereIf(nation != 2, t => t.Nation == nation) + var query = _doctorRepository.WhereIf(nation != AttendedReviewerType.USAndCN, t => t.Nation ==(int) nation) .WhereIf(selectionQuery.DepartmentId != null, t => t.DepartmentId == selectionQuery.DepartmentId) - .WhereIf(selectionQuery.SpecialityId != null, t => t.SpecialityId == selectionQuery.SpecialityId) + .WhereIf(selectionQuery.SpecialityId != null, t => t.SpecialityId == selectionQuery.SpecialityId) + .WhereIf(trialConfig.TrialType == TrialType.NoneOfficial, t => t.IsVirtual ==true) .WhereIf(selectionQuery.HospitalId != null, t => t.HospitalId == selectionQuery.HospitalId) .WhereIf(selectionQuery.PositionId != null, t => t.PositionId == selectionQuery.PositionId) .WhereIf(selectionQuery.RankId != null, t => t.RankId == selectionQuery.RankId) diff --git a/IRaCIS.Core.Application/Service/Doctor/DoctorService.cs b/IRaCIS.Core.Application/Service/Doctor/DoctorService.cs index 70c4b7c5..f79e50dc 100644 --- a/IRaCIS.Core.Application/Service/Doctor/DoctorService.cs +++ b/IRaCIS.Core.Application/Service/Doctor/DoctorService.cs @@ -438,6 +438,8 @@ namespace IRaCIS.Application.Services ReviewStatus = auditResumeParam.ReviewStatus, AcceptingNewTrial = auditResumeParam.AcceptingNewTrial, ActivelyReading = auditResumeParam.ActivelyReading, + IsVirtual=auditResumeParam.IsVirtual, + BlindName=auditResumeParam.BlindName, AuditTime = DateTime.Now, AuditUserId = userId }); diff --git a/IRaCIS.Core.Application/Service/Doctor/_MapConfig.cs b/IRaCIS.Core.Application/Service/Doctor/_MapConfig.cs index 1f8c11ff..c2c691b4 100644 --- a/IRaCIS.Core.Application/Service/Doctor/_MapConfig.cs +++ b/IRaCIS.Core.Application/Service/Doctor/_MapConfig.cs @@ -94,7 +94,7 @@ namespace IRaCIS.Core.Application.Service .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.Reconfirmed, u => u.MapFrom(s => s.ReviewStatus == 1)) + .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/Financial/DTO/PaymentModel.cs b/IRaCIS.Core.Application/Service/Financial/DTO/PaymentModel.cs index 77480739..af364891 100644 --- a/IRaCIS.Core.Application/Service/Financial/DTO/PaymentModel.cs +++ b/IRaCIS.Core.Application/Service/Financial/DTO/PaymentModel.cs @@ -1,4 +1,5 @@ using System; +using IRaCIS.Core.Domain.Share; using IRaCIS.Core.Infrastructure.Extention; namespace IRaCIS.Application.Contracts @@ -173,6 +174,6 @@ namespace IRaCIS.Application.Contracts public DateTime BeginDate { get; set; } public DateTime EndDate { get; set; } - public int? AttendedReviewerType { get; set; } + public AttendedReviewerType? AttendedReviewerType { get; set; } } } \ No newline at end of file diff --git a/IRaCIS.Core.Application/Service/Institution/CROService.cs b/IRaCIS.Core.Application/Service/Institution/CROService.cs index 8f636e16..949e6e29 100644 --- a/IRaCIS.Core.Application/Service/Institution/CROService.cs +++ b/IRaCIS.Core.Application/Service/Institution/CROService.cs @@ -21,7 +21,9 @@ namespace IRaCIS.Application.Services [HttpPost] public async Task> GetCroList(CROCompanyQueryDTO croCompanySearchModel) { - var croQueryable = _croRepository.WhereIf(!string.IsNullOrEmpty(croCompanySearchModel.CROName), t => t.CROName.Contains(croCompanySearchModel.CROName)) + var croQueryable = _croRepository + .WhereIf(!string.IsNullOrEmpty(croCompanySearchModel.CROName), t => t.CROName.Contains(croCompanySearchModel.CROName) || t.CRONameCN.Contains(croCompanySearchModel.CROName)) + .WhereIf(!string.IsNullOrEmpty(croCompanySearchModel.CROCode), t => t.CROCode.Contains(croCompanySearchModel.CROCode) ) .ProjectTo(_mapper.ConfigurationProvider); return await croQueryable.ToPagedListAsync(croCompanySearchModel.PageIndex, croCompanySearchModel.PageSize, diff --git a/IRaCIS.Core.Application/Service/Institution/DTO/CROCompanyModel.cs b/IRaCIS.Core.Application/Service/Institution/DTO/CROCompanyModel.cs index f4745f49..da90775b 100644 --- a/IRaCIS.Core.Application/Service/Institution/DTO/CROCompanyModel.cs +++ b/IRaCIS.Core.Application/Service/Institution/DTO/CROCompanyModel.cs @@ -8,6 +8,9 @@ namespace IRaCIS.Application.Contracts public Guid? Id { get; set; } public string CROName { get; set; } = string.Empty; public string CROCode { get; set; } = string.Empty; + + public string CRONameCN { get; set; } = string.Empty; + } public class CroSelectDTO @@ -15,10 +18,13 @@ namespace IRaCIS.Application.Contracts public Guid Id { get; set; } public string CROName { get; set; } = string.Empty; public string CROCode { get; set; } = string.Empty; + + public string CRONameCN { get; set; } = string.Empty; } public class CROCompanyQueryDTO : PageInput { + public string CROCode { get; set; } = string.Empty; public string CROName { get; set; } = string.Empty; } diff --git a/IRaCIS.Core.Application/Service/Institution/DTO/SponsorModel.cs b/IRaCIS.Core.Application/Service/Institution/DTO/SponsorModel.cs index 78a67fbf..b81e4262 100644 --- a/IRaCIS.Core.Application/Service/Institution/DTO/SponsorModel.cs +++ b/IRaCIS.Core.Application/Service/Institution/DTO/SponsorModel.cs @@ -13,11 +13,18 @@ namespace IRaCIS.Application.Contracts { public Guid? Id { get; set; } public string SponsorName { get; set; } = string.Empty; + + public string SponsorNameCN { get; set; } = String.Empty; + + public string SponsorCode { get; set; } = String.Empty; + } public class SponsorQueryDTO : PageInput { public string SponsorName { get; set; } = string.Empty; + + public string SponsorCode { get; set; } = String.Empty; } public class SponsorSelectDTO diff --git a/IRaCIS.Core.Application/Service/Institution/SponsorService.cs b/IRaCIS.Core.Application/Service/Institution/SponsorService.cs index 0811c667..9381753d 100644 --- a/IRaCIS.Core.Application/Service/Institution/SponsorService.cs +++ b/IRaCIS.Core.Application/Service/Institution/SponsorService.cs @@ -23,7 +23,8 @@ namespace IRaCIS.Application.Services { var sponsorQueryable = _sponsorRepository - .WhereIf(!string.IsNullOrWhiteSpace(sponsorSearchModel.SponsorName),t => t.SponsorName.Contains(sponsorSearchModel.SponsorName)) + .WhereIf(!string.IsNullOrWhiteSpace(sponsorSearchModel.SponsorName),t => t.SponsorName.Contains(sponsorSearchModel.SponsorName)|| t.SponsorNameCN.Contains(sponsorSearchModel.SponsorName)) + .WhereIf(!string.IsNullOrEmpty(sponsorSearchModel.SponsorCode), t => t.SponsorCode.Contains(sponsorSearchModel.SponsorCode)) .ProjectTo(_mapper.ConfigurationProvider); return await sponsorQueryable.ToPagedListAsync(sponsorSearchModel.PageIndex, diff --git a/IRaCIS.Core.Application/Service/Management/UserService.cs b/IRaCIS.Core.Application/Service/Management/UserService.cs index fccdd362..558fd174 100644 --- a/IRaCIS.Core.Application/Service/Management/UserService.cs +++ b/IRaCIS.Core.Application/Service/Management/UserService.cs @@ -248,11 +248,19 @@ namespace IRaCIS.Application.Services public async Task ResetPassword(Guid userId) { - await _mailVerificationService.AdminResetPwdSendEmailAsync(userId); + var pwd = "123456"; + + if (_hostEnvironment.EnvironmentName != "Development") + { + pwd = "Extimaging." + new Random().Next(100, 1000); + + } + + await _mailVerificationService.AdminResetPwdSendEmailAsync(userId, pwd); await _userRepository.UpdatePartialNowNoQueryAsync(userId, u => new User() { - Password = MD5Helper.Md5(AppSettings.DefaultPassword), + Password = MD5Helper.Md5(pwd), IsFirstAdd = true }); diff --git a/IRaCIS.Core.Application/Service/Stat/DTO/StatisticsViewModel.cs b/IRaCIS.Core.Application/Service/Stat/DTO/StatisticsViewModel.cs index 126b2426..a08ddc96 100644 --- a/IRaCIS.Core.Application/Service/Stat/DTO/StatisticsViewModel.cs +++ b/IRaCIS.Core.Application/Service/Stat/DTO/StatisticsViewModel.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using IRaCIS.Core.Domain.Share; using IRaCIS.Core.Infrastructure.Extention; namespace IRaCIS.Application.Contracts @@ -147,7 +148,7 @@ namespace IRaCIS.Application.Contracts //医生付费类型 CN US public int? Nation { get; set; } - public int? AttendedReviewerType { get; set; } + public AttendedReviewerType? AttendedReviewerType { get; set; } } public class StatisticsWorkloadQueryParam : PageInput diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialViewModel.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialViewModel.cs index 96ed040f..36a1953e 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialViewModel.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialViewModel.cs @@ -10,7 +10,7 @@ namespace IRaCIS.Application.Contracts { public int? PlanSiteCount { get; set; } public int? PlanVisitCount { get; set; } - public int TrialType { get; set; } + public TrialType TrialType { get; set; } public Guid? Id { get; set; } public string TrialCode { get; set; } = string.Empty; public string Indication { get; set; } = string.Empty; @@ -195,7 +195,7 @@ namespace IRaCIS.Application.Contracts public DateTime? BeginDate { get; set; } public DateTime? EndDate { get; set; } public int? Expedited { get; set; } - public int? AttendedReviewerType { get; set; } + public AttendedReviewerType? AttendedReviewerType { get; set; } } public class ReviewerTrialQueryDTO : PageInput diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs index 5f181bfb..7c3d546b 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs @@ -156,7 +156,7 @@ namespace IRaCIS.Application.Services var yearStr = DateTime.Now.Year.ToString(); trial.Code = currentYearMaxCodeNext; - trial.TrialCode = (trial.TrialType == 1 ? yearStr.Substring(yearStr.Length - 2) : "T0") + trial.TrialCode + currentYearMaxCodeNext.ToString("D3"); + trial.TrialCode = (trial.TrialType == TrialType.NoneOfficial ? yearStr.Substring(yearStr.Length - 2) : "T0") + trial.TrialCode + currentYearMaxCodeNext.ToString("D3"); //多选信息 @@ -497,7 +497,9 @@ namespace IRaCIS.Application.Services public async Task> GetTrialListByReviewer(ReviewerTrialQueryDTO searchModel) { 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 == searchModel.EnrollStatus && o.DoctorId == _userInfo.Id)) + .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 == 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)) .WhereIf(!string.IsNullOrWhiteSpace(searchModel.Indication), o => o.Indication.Contains(searchModel.Indication)) diff --git a/IRaCIS.Core.Domain.Share/Doctor/DoctorStatus.cs b/IRaCIS.Core.Domain.Share/Doctor/DoctorStatus.cs index d6867c26..f938f37f 100644 --- a/IRaCIS.Core.Domain.Share/Doctor/DoctorStatus.cs +++ b/IRaCIS.Core.Domain.Share/Doctor/DoctorStatus.cs @@ -14,12 +14,6 @@ ConfirmRefuse = 2 } - - public enum ReviewerEnrollStatus - { - Yes = 1, - No = 0 - } public enum ResumeStatusEnum { None = 0, @@ -30,6 +24,14 @@ } + + public enum ReviewerEnrollStatus + { + Yes = 1, + No = 0 + } + + } \ No newline at end of file diff --git a/IRaCIS.Core.Domain.Share/Management/SystemNotice.cs b/IRaCIS.Core.Domain.Share/Management/SystemNotice.cs index ce875843..58a4017a 100644 --- a/IRaCIS.Core.Domain.Share/Management/SystemNotice.cs +++ b/IRaCIS.Core.Domain.Share/Management/SystemNotice.cs @@ -42,7 +42,11 @@ NoneOfficial = 1, + Training = 3, + All = 2, + + } } \ No newline at end of file diff --git a/IRaCIS.Core.Domain.Share/Trial/TrialExpedited.cs b/IRaCIS.Core.Domain.Share/Trial/TrialExpedited.cs index 808fc08d..5dfb48b6 100644 --- a/IRaCIS.Core.Domain.Share/Trial/TrialExpedited.cs +++ b/IRaCIS.Core.Domain.Share/Trial/TrialExpedited.cs @@ -11,4 +11,28 @@ ExpeditedIn48H = 2 } + + public enum TrialType + { + + //非正式项目 + OfficialTrial = 0, + + NoneOfficial = 1, + + Training = 2 + + + } + + public enum AttendedReviewerType + { + //0全部中国医生 1美国医生 2既有中国医生,也有美国医生 + + CN=0, + + US=1, + + USAndCN + } } \ No newline at end of file diff --git a/IRaCIS.Core.Domain/Dcotor/Doctor.cs b/IRaCIS.Core.Domain/Dcotor/Doctor.cs index 51751ab2..1494760f 100644 --- a/IRaCIS.Core.Domain/Dcotor/Doctor.cs +++ b/IRaCIS.Core.Domain/Dcotor/Doctor.cs @@ -135,7 +135,7 @@ namespace IRaCIS.Core.Domain.Models public string AdminComment { get; set; } = string.Empty; - public int ReviewStatus { get; set; } = 2; + public ReviewerInformationConfirmStatus ReviewStatus { get; set; } = ReviewerInformationConfirmStatus.ConfirmRefuse; public bool AcceptingNewTrial { get; set; } = false; public bool ActivelyReading { get; set; } = false; @@ -182,5 +182,9 @@ namespace IRaCIS.Core.Domain.Models public virtual Dictionary Position { get; set; } public List AttachmentList { get; set; } + + public bool IsVirtual { get; set; } + + public string BlindName { get; set; } } } diff --git a/IRaCIS.Core.Domain/Institution/CRO.cs b/IRaCIS.Core.Domain/Institution/CRO.cs index 654b29fe..62936493 100644 --- a/IRaCIS.Core.Domain/Institution/CRO.cs +++ b/IRaCIS.Core.Domain/Institution/CRO.cs @@ -7,6 +7,7 @@ namespace IRaCIS.Core.Domain.Models public partial class CRO : Entity, IAuditUpdate, IAuditAdd { public string CROName { get; set; } = string.Empty; + public string CRONameCN { get; set; } = string.Empty; public string CROCode { get; set; } public DateTime CreateTime { get; set; } diff --git a/IRaCIS.Core.Domain/Institution/Sponsor.cs b/IRaCIS.Core.Domain/Institution/Sponsor.cs index c91cdb35..9d6eb907 100644 --- a/IRaCIS.Core.Domain/Institution/Sponsor.cs +++ b/IRaCIS.Core.Domain/Institution/Sponsor.cs @@ -7,6 +7,9 @@ namespace IRaCIS.Core.Domain.Models public partial class Sponsor : Entity, IAuditUpdate, IAuditAdd { public string SponsorName { get; set; } = String.Empty; + public string SponsorNameCN { get; set; } = String.Empty; + + public string SponsorCode { get; set; } = String.Empty; public DateTime CreateTime { get; set; } = DateTime.Now; public Guid CreateUserId { get; set; } = Guid.Empty; diff --git a/IRaCIS.Core.Domain/Trial/Trial.cs b/IRaCIS.Core.Domain/Trial/Trial.cs index 1dffad4f..ac1b2a34 100644 --- a/IRaCIS.Core.Domain/Trial/Trial.cs +++ b/IRaCIS.Core.Domain/Trial/Trial.cs @@ -131,7 +131,7 @@ namespace IRaCIS.Core.Domain.Models public DateTime UpdateTime { get; set; } public Guid UpdateUserId { get; set; } - public int AttendedReviewerType { get; set; } = 0;//0ȫйҽ 1ҽ 2йҽҲҽ + public AttendedReviewerType AttendedReviewerType { get; set; } = AttendedReviewerType.CN;//0ȫйҽ 1ҽ 2йҽҲҽ public bool VisitPlanConfirmed { get; set; } @@ -277,9 +277,9 @@ namespace IRaCIS.Core.Domain.Models public bool IsUrgent { get; set; } /// - /// Ŀ 1 ʽĿ0 ʽĿ + /// Ŀ 1 ʽĿ0 ʽĿ 2ѵĿ /// time - public int TrialType { get; set; } + public TrialType TrialType { get; set; } //public string TempCode { get; set; }