using IRaCIS.Common.Model; using System; using System.Collections.Generic; namespace IRaCIS.Application.ViewModels { #region 医生管理列表 public class DoctorDTO { public DoctorDTO() { TitleList = new List(); TitleIdList = new List(); ReadingTypeList = new List(); ReadingTypeIds = new List(); SubspecialityList = new List(); SubspecialityIds = new List(); } public Guid Id { get; set; } public DateTime? RegisterTime { get; set; } public string Code { get; set; }//GUID public string FirstName { get; set; } = string.Empty; public string LastName { get; set; } = string.Empty; public string ChineseName { get; set; } = string.Empty; public List TitleIdList { get; set; } public List TitleList { get; set; } public string Phone { get; set; } = string.Empty; public string Introduction { get; set; } = string.Empty; public string EMail { get; set; } = string.Empty; public string WeChat { get; set; } = string.Empty; //部门 public string Department { get; set; } = string.Empty; public Guid DepartmentId { get; set; } public string DepartmentOther { get; set; } //增加的 public Guid SpecialityId { get; set; } = Guid.Empty; public string Speciality { get; set; } = string.Empty; public string SpecialityOther { get; set; } = string.Empty; //职称 public string Rank { get; set; } = string.Empty; public Guid RankId { get; set; } public string RankOther { get; set; } //职位 public string Position { get; set; } = string.Empty; public Guid PositionId { get; set; } public string PositionOther { get; set; } //医院 public string HospitalName { get; set; } = string.Empty; public string HospitalOther { get; set; } public Guid HospitalId { get; set; } //临床实践中使用的模式 public List ReadingTypeList { get; set; } public List ReadingTypeIds { get; set; } public string ReadingTypeOther { get; set; } //第二专业 public List SubspecialityList { get; set; } public List SubspecialityIds { get; set; } public string SubspecialityOther { get; set; } public int GCP { get; set; } public Guid GCPId { get; set; } public string ResumePath { get; set; } = string.Empty; public bool HasResume { get; set; } public bool Reconfirmed { get; set; } public int CooperateStatus { get; set; } public int ResumeStatus { get; set; } public bool AcceptingNewTrial { get; set; } = false; public bool ActivelyReading { get; set; } = false; public string City { get; set; } public string Country { get; set; } public int Reading { get; set; } public int Approved { get; set; } public int Submitted { get; set; } } /// /// Reviewer 列表查询参数 /// public class DoctorSearchDTO : PageInput { public DoctorSearchDTO() { ReadingTypeIdList = new List(); SubspecialityIdList = new List(); TitleIdList = new List(); } public string Name { get; set; } public List ReadingTypeIdList { get; set; } public List SubspecialityIdList { get; set; } public List TitleIdList { get; set; } public Guid? DepartmentId { get; set; } = Guid.Empty; public Guid? SpecialityId { get; set; } = Guid.Empty; public Guid? PositionId { get; set; } = Guid.Empty; public Guid? RankId { get; set; } = Guid.Empty; public Guid? HospitalId { get; set; } = Guid.Empty; //合作状态 public int? ContractorStatus { get; set; } // 简历审核状态 public int? InformationConfirmed { get; set; } public int? EnrollStatus { get; set; } //入组状态 public bool? AcceptingNewTrial { get; set; }//是否接受新的项目 public bool? ActivelyReading { get; set; }// 是否接受新的读片任务 } /// /// 入组 Selection 列表查询参数 /// public class ReviewerSelectionQueryDTO : DoctorSearchDTO { public Guid TrialId { get; set; } = Guid.Empty; } public class ReviewerSubmissionQueryDTO : PageInput { public Guid TrialId { get; set; } = Guid.Empty; public int IntoGroupSearchState { get; set; } } public class ReviewerConfirmationQueryDTO : PageInput { public Guid TrialId { get; set; } = Guid.Empty; } public class SelectionReviewerDTO : DoctorDTO { public int DoctorTrialState { get; set; } public string OptUserName { get; set; } = string.Empty; public DateTime? OptTime { get; set; } public string OptTimeStr => OptTime?.ToString("yyyy-MM-dd HH:mm:ss"); } public class DoctorOptDTO { public Guid Id { get; set; } public string Code { get; set; }//GUID public string FirstName { get; set; } = string.Empty; public string LastName { get; set; } = string.Empty; public string ChineseName { get; set; } = string.Empty; public string City { get; set; } = string.Empty; public string HospitalName { get; set; } = string.Empty; public string Country { get; set; } = string.Empty; } public class ConfirmationReviewerDTO : DoctorOptDTO { public int DoctorTrialState { get; set; } public string OptUserName { get; set; } = string.Empty; public DateTime? OptTime { get; set; } public string OptTimeStr => OptTime?.ToString("yyyy-MM-dd HH:mm:ss"); } public class DoctorStateModelDTO { public Guid DoctorId { get; set; } public int IntoGroupState { get; set; } public string OptUserName { get; set; } public DateTime? OptTime { get; set; } } #endregion public class DoctorDetailDTO { public DoctorBasicInfoDTO BasicInfoView { get; set; } public EmploymentDTO EmploymentView { get; set; } public SpecialtyDTO SpecialtyView { get; set; } public IEnumerable EducationList { get; set; } public IEnumerable PostgraduateList { get; set; } public ResearchPublicationDTO ResearchPublicationView { get; set; } public TrialExperienceViewModel TrialExperienceView { get; set; } public ResumeConfirmDTO AuditView { get; set; } public IEnumerable AttachmentList { get; set; } public List SowList { get; set; } public List AckSowList { get; set; } public DoctorEnrollInfoDTO IntoGroupInfo { get; set; } public bool InHoliday { get; set; } public DoctorDetailDTO() { BasicInfoView = new DoctorBasicInfoDTO(); EmploymentView = new EmploymentDTO(); SpecialtyView = new SpecialtyDTO(); EducationList = new List(); PostgraduateList = new List(); ResearchPublicationView = new ResearchPublicationDTO(); TrialExperienceView = new TrialExperienceViewModel(); AuditView = new ResumeConfirmDTO(); AttachmentList = new List(); IntoGroupInfo = new DoctorEnrollInfoDTO(); SowList = new List(); AckSowList = new List(); } } public class DoctorEnrollInfoDTO { public Guid DoctorId { get; set; } public int Submitted { get; set; } public int Approved { get; set; } public int Reading { get; set; } } #region 基本信息模型 public class DoctorBasicInfo { public Guid? Id { get; set; } public string Code { get; set; } = string.Empty; public string FirstName { get; set; } public string LastName { get; set; } public string ChineseName { get; set; } public int Sex { get; set; } public string Phone { get; set; } public string Introduction { get; set; } public string EMail { get; set; } public string WeChat { get; set; } } public class DoctorBasicInfoCommand: DoctorBasicInfo { public DoctorBasicInfoCommand() { TitleIds = new List(); } //职称 public List TitleIds { get; set; } } public class DoctorBasicInfoDTO : DoctorBasicInfo { //public Guid DoctorId { get; set; } public DoctorBasicInfoDTO() { TitleList = new List(); TitleIds = new List(); } //职称 public List TitleIds { get; set; } public List TitleList { get; set; } } public class SowDTO { public string FileName { get; set; } public string TrialCode { get; set; } public string FilePath { get; set; } public string FullPath { get { return WebAppConfig.RootUrl + FilePath; } } public DateTime? UpdateTime { get; set; } } #endregion #region 工作信息模型 public class EmploymentDTO : EmploymentInfo { public string Department { get; set; } public string Rank { get; set; } public string Position { get; set; } #region 医院信息 public string HospitalName { get; set; } public string UniversityAffiliated { get; set; } public string Country { get; set; } public string Province { get; set; } public string City { get; set; } #endregion } public class EmploymentCommand : EmploymentInfo { } public class EmploymentInfo { public Guid Id { get; set; } //部门 public Guid DepartmentId { get; set; } = Guid.Empty; public string DepartmentOther { get; set; } //职称 public Guid RankId { get; set; } = Guid.Empty; public string RankOther { get; set; } //职位 主席 副主席 public Guid PositionId { get; set; } = Guid.Empty; public string PositionOther { get; set; } public Guid HospitalId { get; set; } = Guid.Empty; } #endregion #region Specialty模型 public class SpecialtyDTO : SpecialtyCommand { public SpecialtyDTO() { ReadingTypeList = new List(); SubspecialityList = new List(); } public List ReadingTypeList { get; set; } public List SubspecialityList { get; set; } } public class SpecialtyCommand { public SpecialtyCommand() { ReadingTypeIds = new List(); SubspecialityIds = new List(); } public Guid Id { get; set; } public string OtherSkills { get; set; } = string.Empty; //临床实践中使用的模式 public List ReadingTypeIds { get; set; } public string ReadingTypeOther { get; set; } = string.Empty; //亚专科 public List SubspecialityIds { get; set; } public string SubspecialityOther { get; set; } = string.Empty; public Guid SpecialityId { get; set; } = Guid.Empty; public string Speciality { get; set; } = string.Empty; public string SpecialityOther { get; set; } = string.Empty; //public Guid DepartmentId { get; set; } = Guid.Empty; //public string DepartmentName { get; set; } = string.Empty; //public string DepartmentOther { get; set; } = string.Empty; } #endregion #region 医生账户 public class DoctorAccountLoginDTO { public string Phone { get; set; } public string Password { get; set; } } public class DoctorAccountDTO { public Guid Id { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public string Phone { get; set; } public string PhotoPath { get; set; } } public class DoctorAccountUpdatePasswordCommand { public string Phone { get; set; } public string OldPassword { get; set; } public string NewPassword { get; set; } } #endregion #region 审核模型 public class ResumeConfirmCommand { //int userId, int doctorId, int status, string memo //public Guid FromUserId { get; set; } public Guid Id { get; set; } public int ResumeStatus { get; set; } public int ReviewStatus { get; set; } public bool AcceptingNewTrial { get; set; } = false; public bool ActivelyReading { get; set; } = false; public string AdminComment { get; set; } public string MessageContent { get; set; } public int CooperateStatus { get; set; } } public class ResumeConfirmDTO { public Guid Id { get; set; } public int CooperateStatus { get; set; } public int ResumeStatus { get; set; } public int ReviewStatus { get; set; } //复审状态 public bool AcceptingNewTrial { get; set; } public bool ActivelyReading { get; set; } public string AdminComment { get; set; } public bool InHoliday { get; set; } } #endregion public class TrialPaymentPriceQueryDTO : PageInput { public string KeyWord { get; set; } public Guid CroId { get; set; } = Guid.Empty; } public class DoctorPaymentInfoQueryDTO : PageInput { public string SearchName { get; set; } public Guid? HospitalId { get; set; } = Guid.Empty; } }