CostCalculationItem/IRaCIS.Core.Application/ViewModels/Doctor/DoctorViewModel.cs

441 lines
14 KiB
C#

using IRaCIS.Common.Model;
using System;
using System.Collections.Generic;
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? 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<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; }// 是否接受新的读片任务
}
/// <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 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 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 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<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; } = Guid.Empty;
}
public class DoctorPaymentInfoQueryDTO : PageInput
{
public string SearchName { get; set; }
public Guid? HospitalId { get; set; } = Guid.Empty;
}
}