CostCalculationItem/IRaCIS.Core.Application/ViewModels/Pay/PaymentDetailViewModel.cs

190 lines
5.8 KiB
C#

using System;
using System.Collections.Generic;
using IRaCIS.Common.Model;
namespace IRaCIS.Application.ViewModels.Pay
{
public class PaymentDetailDTO
{
public Guid Id { get; set; }
public Guid PaymentId { get; set; }
public string YearMonth { get; set; }
public Guid DoctorId { get; set; }
public Guid TrialId { get; set; }
public string TrialCode { get; set; }
public string PaymentType { get; set; }
public int Count { get; set; }
public double BasePrice { get; set; }
public double PersonalAdditional { get; set; }
public double TrialAdditional { get; set; }
public int ShowTypeOrder { get; set; }
public int ShowCodeOrder { get; set; }
public double ExchangeRate { get; set; }
public double PaymentUSD { get; set; }
public double PaymentCNY { get; set; }
public double TotalUnitPrice => Math.Round(BasePrice + PersonalAdditional + TrialAdditional, 2, MidpointRounding.AwayFromZero);
public AdjustmentDTO AdjustmentView { get; set; }
}
public class AdjustmentDTO
{
public double AdjustPaymentUSD { get; set; }
public double AdjustPaymentCNY { get; set; }
public DateTime? ErrorYearMonth { get; set; }
public string AdjustType
{
get
{
if (AdjustPaymentUSD > 0)
{
return "+";
}
else if (AdjustPaymentUSD < 0)
{
return "-";
}
else { return string.Empty; }
}
}
public string Note { get; set; }
}
public class PaymentDetailCommand : PaymentDetailDTO
{
}
public class PayDetailDTO
{
public IEnumerable<PaymentDetailDTO> DetailList = new List<PaymentDetailDTO>();
public DoctorPayInfo DoctorInfo { get; set; } = new DoctorPayInfo();
}
public class LockPaymentDTO
{
public List<Guid> ReviewerIdList { get; set; }
public DateTime Month { get; set; }
}
public class DoctorPayInfo
{
public Guid DoctorId { get; set; }
public string DoctorChineseName { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Phone { get; set; }
public string PayTitle { get; set; }
public string Code { get; set; }
}
public class ReviewerPaymentUSD
{
public Guid RecordId { get; set; }
public Guid DoctorId { get; set; }
public double PaymentUSD { get; set; }
}
public class PaymentQueryDTO : PageInput
{
public string Reviewer { get; set; }
public DateTime BeginMonth { get; set; }
public DateTime EndMonth { get; set; }
}
public class MonthlyPaymentDTO
{
public Guid ReviewerId { get; set; }
public string ReviewerCode { get; set; }
public string ChineseName { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public double AdjustmentUSD { get; set; }
public double AdjustmentCNY { get; set; }
public double PaymentUSD { get; set; }
public double PaymentCNY { get; set; }
public double TotalUSD => AdjustmentUSD + PaymentUSD;
public double TotalCNY => AdjustmentCNY + PaymentCNY;
}
public class VolumeStatisticsDTO
{
public Guid StatisticsId { get; set; }
public string Month { get; set; }
public double VolumeReward { get; set; }
public double ExchangeRate { get; set; }
public double AdjustmentUSD { get; set; }
public double AdjustmentCNY { get; set; }
public double PaymentUSD { get; set; }
public double PaymentCNY { get; set; }
public double TotalCNY => AdjustmentCNY + PaymentCNY;
public double TotalUSD => AdjustmentUSD + PaymentUSD;
public List<TrialPaymentDTO> TrialPaymentList = new List<TrialPaymentDTO>();
}
public class TrialPaymentDTO
{
public Guid TrialId { get; set; }
public string TrialCode { get; set; }
public double TrialPayment { get; set; }
}
public class VolumeQueryDTO
{
public DateTime BeginMonth { get; set; }
public DateTime EndMonth { get; set; }
public Guid ReviewerId { get; set; }
}
public class RevenuesDTO
{
public List<string> MissingTrialCodes = new List<string>();
public Guid Id { get; set; }
public string TrialCode { get; set; }
public Guid TrialId { get; set; }
public string Indication { get; set; }
public Guid CroId { get; set; }
public string Cro { get; set; } = string.Empty;
public int Expedited { get; set; }
public string ChineseName { get; set; } = string.Empty;
public string FirstName { get; set; } = string.Empty;
public string LastName { get; set; } = string.Empty;
public string ReviewerCode { get; set; } = string.Empty;
public double Training { get; set; }
public double Downtime { get; set; }
public double Timepoint { get; set; }
public double TimepointIn24H { get; set; }
public double TimepointIn48H { get; set; }
public double Adjudication { get; set; }
public double AdjudicationIn24H { get; set; }
public double AdjudicationIn48H { get; set; }
public double Global { get; set; }
public double Total
{
get
{
return Training + Downtime + Timepoint + TimepointIn24H +
TimepointIn48H + Adjudication + AdjudicationIn24H + AdjudicationIn48H
+ Global;
}
}
public string YearMonth { get; set; }
}
}