525 lines
16 KiB
C#
525 lines
16 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using IRaCIS.Core.Application.Contracts.RequestAndResponse;
|
||
using IRaCIS.Core.Domain.Share;
|
||
|
||
namespace IRaCIS.Application.ViewModels
|
||
{
|
||
|
||
#region 医生管理列表
|
||
|
||
public class DoctorDTO
|
||
{
|
||
public DoctorDTO()
|
||
{
|
||
TitleList = new List<string>();
|
||
TitleIdList = new List<Guid>();
|
||
ReadingTypeList = new List<string>();
|
||
ReadingTypeIds = new List<Guid>();
|
||
SubspecialityList = new List<string>();
|
||
SubspecialityIds = new List<Guid>();
|
||
}
|
||
|
||
public Guid Id { get; set; }
|
||
public DateTime CreateTime { 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<Guid> TitleIdList { get; set; }
|
||
public List<string> 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<string> ReadingTypeList { get; set; }
|
||
|
||
public List<Guid> ReadingTypeIds { get; set; }
|
||
public string ReadingTypeOther { get; set; }
|
||
|
||
//第二专业
|
||
|
||
public List<string> SubspecialityList { get; set; }
|
||
public List<Guid> 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; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// Reviewer 列表查询参数
|
||
/// </summary>
|
||
|
||
public class DoctorSearchDTO : PageInput
|
||
{
|
||
public DoctorSearchDTO()
|
||
{
|
||
ReadingTypeIdList = new List<Guid>();
|
||
SubspecialityIdList = new List<Guid>();
|
||
TitleIdList = new List<Guid>();
|
||
}
|
||
public string Name { get; set; }
|
||
public List<Guid> ReadingTypeIdList { get; set; }
|
||
public List<Guid> SubspecialityIdList { get; set; }
|
||
public List<Guid> 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; }// 是否接受新的读片任务
|
||
public int? Nation { get; set; }// 0-中国医生,2-美国医生,3-全部
|
||
}
|
||
|
||
/// <summary>
|
||
/// 入组 Selection 列表查询参数
|
||
/// </summary>
|
||
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 EnrollGetQuery : PageInput
|
||
{
|
||
public Guid TrialId { get; set; }
|
||
|
||
}
|
||
|
||
public class EnrollCommand
|
||
{
|
||
public Guid Id { get; set; }
|
||
|
||
|
||
public decimal? Training { get; set; }
|
||
|
||
public decimal? RefresherTraining { get; set; }
|
||
|
||
public decimal? Timepoint { get; set; }
|
||
|
||
public decimal? Timepoint48H { get; set; }
|
||
|
||
public decimal? Timepoint24H { get; set; }
|
||
|
||
public decimal? Adjudication { get; set; }
|
||
|
||
public decimal? Adjudication48H { get; set; }
|
||
|
||
public decimal? Adjudication24H { get; set; }
|
||
|
||
public decimal? Global { get; set; }
|
||
|
||
|
||
public decimal? Downtime { get; set; }
|
||
|
||
|
||
}
|
||
|
||
public class EnrollViewModel
|
||
{
|
||
|
||
public string ChineseName { get; set; } = string.Empty;
|
||
|
||
|
||
public string FirstName { get; set; } = string.Empty;
|
||
|
||
|
||
|
||
public string LastName { get; set; } = string.Empty;
|
||
|
||
public decimal? AdjustmentMultiple { get; set; } = 0;
|
||
|
||
public Guid? DoctorId { get; set; }
|
||
|
||
public Guid? TrialId { get; set; }
|
||
|
||
public Guid? Id { get; set; }
|
||
|
||
public decimal? Training { get; set; }
|
||
|
||
public decimal? RefresherTraining { get; set; }
|
||
|
||
public int? Timepoint { get; set; }
|
||
|
||
public int? Timepoint48H { get; set; }
|
||
|
||
public int? Timepoint24H { get; set; }
|
||
|
||
public int? Adjudication { get; set; }
|
||
|
||
public int? Adjudication48H { get; set; }
|
||
|
||
public int? Adjudication24H { get; set; }
|
||
|
||
public int? Global { get; set; }
|
||
|
||
|
||
public decimal? Downtime { get; set; }
|
||
|
||
public string ReviewerCode { get; set; } = string.Empty;
|
||
|
||
public string Code { get; set; }
|
||
|
||
}
|
||
|
||
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<EducationInfoViewModel> EducationList { get; set; }
|
||
public IEnumerable<PostgraduateViewModel> PostgraduateList { get; set; }
|
||
public ResearchPublicationDTO ResearchPublicationView { get; set; }
|
||
public TrialExperienceViewModel TrialExperienceView { get; set; }
|
||
public ResumeConfirmDTO AuditView { get; set; }
|
||
public IEnumerable<AttachmentDTO> AttachmentList { get; set; }
|
||
|
||
public List<SowDTO> SowList { get; set; }
|
||
public List<SowDTO> 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<EducationInfoViewModel>();
|
||
PostgraduateList = new List<PostgraduateViewModel>();
|
||
ResearchPublicationView = new ResearchPublicationDTO();
|
||
TrialExperienceView = new TrialExperienceViewModel();
|
||
AuditView = new ResumeConfirmDTO();
|
||
AttachmentList = new List<AttachmentDTO>();
|
||
IntoGroupInfo = new DoctorEnrollInfoDTO();
|
||
SowList = new List<SowDTO>();
|
||
AckSowList = new List<SowDTO>();
|
||
}
|
||
}
|
||
|
||
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 int Nation { get; set; }
|
||
}
|
||
|
||
public class DoctorBasicInfoCommand: DoctorBasicInfo
|
||
{
|
||
public DoctorBasicInfoCommand()
|
||
{
|
||
TitleIds = new List<Guid>();
|
||
}
|
||
|
||
//职称
|
||
public List<Guid> TitleIds { get; set; }
|
||
}
|
||
|
||
public class DoctorBasicInfoDTO : DoctorBasicInfo
|
||
{
|
||
//public Guid DoctorId { get; set; }
|
||
public DoctorBasicInfoDTO()
|
||
{
|
||
TitleList = new List<string>();
|
||
TitleIds = new List<Guid>();
|
||
}
|
||
//职称
|
||
public List<Guid> TitleIds { get; set; }
|
||
public List<string> 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 SystemConfig.RootUrl + FilePath; } }
|
||
public DateTime CreateTime { 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<string>();
|
||
SubspecialityList = new List<string>();
|
||
}
|
||
|
||
public List<string> ReadingTypeList { get; set; }
|
||
public List<string> SubspecialityList { get; set; }
|
||
}
|
||
|
||
public class SpecialtyCommand
|
||
{
|
||
public SpecialtyCommand()
|
||
{
|
||
ReadingTypeIds = new List<Guid>();
|
||
SubspecialityIds = new List<Guid>();
|
||
}
|
||
|
||
public Guid Id { get; set; }
|
||
public string OtherSkills { get; set; } = string.Empty;
|
||
//临床实践中使用的模式
|
||
public List<Guid> ReadingTypeIds { get; set; }
|
||
public string ReadingTypeOther { get; set; } = string.Empty;
|
||
//亚专科
|
||
public List<Guid> 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; }
|
||
|
||
}
|
||
|
||
public class DoctorPaymentInfoQueryDTO : PageInput
|
||
{
|
||
public string SearchName { get; set; }
|
||
public Guid? HospitalId { get; set; } = Guid.Empty;
|
||
}
|
||
}
|