CostCalculationItem/IRaCIS.Core.Application.Con.../Doctor/DTO/DoctorViewModel.cs

525 lines
16 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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;
}
}