CostCalculationItem/IRaCIS.Core.Application.Con.../Trial/DTO/DoctorWorkLoadViewModel.cs

236 lines
6.7 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using IRaCIS.Core.Application.Contracts.RequestAndResponse;
using IRaCIS.Core.Domain.Share;
namespace IRaCIS.Application.ViewModels
{
/// <summary>
///后台 工作量审核视图模型
/// </summary>
public class WorkLoadDetailDTO : WorkloadDTO
{
public DateTime CreateTime { get; set; }
public string ChineseName { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Code { get; set; }
public string Indication { get; set; }
public int RowIntId { get; set; }
public Guid RowGuid { get; set; }
public string YearMonthStr { get; set; }
public string WorkTimeStr => YearMonthStr;
public bool IsLock { get; set; } = false;
}
public class WorkLoadDetailViewModel : WorkloadDTO
{
public DateTime CreateTime { get; set; }
public string ChineseName { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Code { get; set; }
public string Indication { get; set; }
public Guid RowGuid { get; set; }
public string YearMonthStr { get; set; }
public bool IsLock { get; set; } = false;
public string DeclareTimeStr => CreateTime.ToString("yyyy-MM-dd");
public string WorkTimeStr => WorkTime.ToString("yyyy-MM-dd");
}
public class CalculatePaymentDTO : WorkloadDTO
{
public string TrialCode { get; set; }
public decimal? TrialAdditional { get; set; }
public decimal AdjustmentMultiple { get; set; }
//public double RankPrice { get; set; }
public decimal PersonalAdditional { get; set; }
public decimal TimepointPrice { get; set; }
public decimal TimepointIn24HPrice { get; set; }
public decimal TimepointIn48HPrice { get; set; }
public decimal AdjudicationPrice { get; set; }
public decimal AdjudicationIn24HPrice { get; set; }
public decimal AdjudicationIn48HPrice { get; set; }
public decimal GlobalPrice { get; set; }
public decimal TrainingPrice { get; set; }
public bool IsNewTrial { get; set; }
public decimal DowntimePrice { get; set; }
public decimal RefresherTrainingPrice { get; set; }
}
/// <summary>
/// 工作量审核数据库查询模型
/// </summary>
public class WorkloadDTO
{
public Guid? Id { get; set; }
public Guid TrialId { get; set; }
public Guid DoctorId { get; set; }
public int DataFrom { get; set; }
public DateTime WorkTime { get; set; }
public decimal Training { get; set; }
public decimal Downtime { get; set; }
public int Timepoint { get; set; }
public int TimepointIn24H { get; set; }
public int TimepointIn48H { get; set; }
public int Adjudication { get; set; }
public int AdjudicationIn24H { get; set; }
public int AdjudicationIn48H { get; set; }
public int Global { get; set; }
public decimal RefresherTraining { get; set; }
}
/// <summary>
/// 工作量分页列表模型 医生端查询模型
/// </summary>
public class WorkLoadQueryDTO : PageInput
{
public Guid TrialId { get; set; }
public int WorkLoadFromStatus { get; set; } // 关联枚举
public DateTime? SearchBeginDateTime { get; set; }
public DateTime? SearchEndDateTime { get; set; }
}
/// <summary>
/// 后台查询模型
/// </summary>
public class WorkLoadStatsQueryDTO : PageInput
{
public Guid? TrialId { get; set; }
public Guid? DoctorId { get; set; } = Guid.Empty;
public List<int> WorkLoadFromStatus { get; set; } = new List<int>(); // 关联枚举
public DateTime? SearchBeginDateTime { get; set; }
public DateTime? SearchEndDateTime { get; set; }
}
public class WorkLoadDetailQueryDTO
{
public Guid TrialId { get; set; } = Guid.Empty;
public Guid DoctorId { get; set; } = Guid.Empty;
public string YearMonthStr { get; set; }
}
public class CalculateDoctorAndMonthDTO
{
[Required(ErrorMessage = "需要有效的时间")]
public DateTime CalculateMonth { get; set; }
[Required(ErrorMessage = "需要有效的医生列表")]
public List<Guid> NeedCalculateReviewers { get; set; }
}
public class WorkLoadDoctorQueryDTO : PageInput
{
public Guid TrialId { get; set; } = Guid.Empty;
}
public class WorkLoadCommand : WorkloadDTO
{
public Guid CreateUserId { get; set; }
public int CreateUserType { get; set; }
public Guid UpdateUserId { get; set; }
}
public class ExistWorkloadViewModel
{
public bool IsExist { get; set; }
public WorkloadDTO WorkLoad { get; set; }
}
public class WorkloadCommand : WorkloadDTO
{
}
public class WorkloadExistQueryDTO
{
public Guid TrialId { get; set; }
public Guid DoctorId { get; set; }
public DateTime WorkDate { get; set; }
}
public class WorkLoadAndTrainingDTO
{
public Guid DoctorId { get; set; }/*=Guid.Empty;*/
public string Code { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string ChineseName { get; set; }
public DateTime? EnrollTime { get; set; }
public int ReviewerReadingType { get; set; }
public string EnrollTimeStr => EnrollTime?.ToString("yyyy-MM-dd HH:mm:ss");
public DateTime? UpdateTime { get; set; }
public string UpdateTimeStr => UpdateTime?.ToString("yyyy-MM-dd HH:mm:ss");
public decimal TrainingTimes { get; set; }
public decimal Downtime { get; set; }
//读片点
public int Timepoint { get; set; }
public int TimepointIn24H { get; set; }
public int TimepointIn48H { get; set; }
//裁判阅片
public int Adjudication { get; set; }
public int AdjudicationIn24H { get; set; }
public int AdjudicationIn48H { get; set; }
//全局阅片
public int Global { get; set; }
public decimal RefresherTraining { get; set; }
}
public class WorkLoadAndAgreementDTO : WorkLoadAndTrainingDTO
{
public Guid AgreementId { get; set; }
public string AgreementPath { get; set; }
public string AgreementFileName => AgreementPath?.Split('/').Last();
public string AgreementFullPath => SystemConfig.RootUrl + AgreementPath;
}
}