using System.Diagnostics;
using DS.Module.Core;
using DS.WMS.Core.Op.Entity;
using Masuit.Tools.Systems;
namespace DS.WMS.Core.Fee.Dtos
{
///
/// 按票审核查询结果
///
public class FeeAuditBusiness
{
///
/// 业务Id
///
public long Id { get; set; }
///
/// 业务类型
///
public BusinessType BusinessType { get; set; }
///
/// 业务类型描述
///
public string BusinessTypeText => BusinessType.GetDescription();
///
/// 应收费用状态
///
public BillFeeStatus? ARFeeStatus { get; set; }
///
/// 应收费用状态描述
///
public string ARFeeStatusText => ARFeeStatus?.GetDescription();
///
/// 应付费用状态
///
public BillFeeStatus? APFeeStatus { get; set; }
///
/// 应付费用状态描述
///
public string APFeeStatusText => APFeeStatus?.GetDescription();
///
/// 更改单
///
public string ChangeOrder { get; set; }
//[IgnoreDataMember]
public long? CustomerId { get; set; }
///
/// 委托单位
///
public string CustomerName { get; set; }
public long? FeeCustomerId { get; set; }
///
/// 结算对象
///
public string? FeeCustomerName { get; set; }
///
/// 主提单号
///
public string MBLNO { get; set; }
///
/// 分提单号
///
public string HBLNO { get; set; }
///
/// 开船日期
///
public DateTime? ETD { get; set; }
///
/// 业务状态
///
public string BusinessStatus { get; set; }
///
/// 业务锁定
///
public bool? IsBusinessLocking { get; set; }
///
/// 费用锁定
///
public bool? IsFeeLocking { get; set; }
///
/// 委托编号
///
public string CustomerNo { get; set; }
///
/// 报关单号
///
public string CustomNo { get; set; }
//[IgnoreDataMember]
public long? SaleId { get; set; }
///
/// 揽货人
///
public string SaleName { get; set; }
///
/// 集装箱
///
public string CntrTotal { get; set; }
///
/// 会计期间
///
public string? AccountDate { get; set; }
//[IgnoreDataMember]
public long? SourceId { get; set; }
///
/// 业务来源
///
public string SourceName { get; set; }
//[IgnoreDataMember]
public long? SourceDetailId { get; set; }
///
/// 来源明细
///
public string DetailName { get; set; }
///
/// 经营单位
///
public string BusinessUnit { get; set; }
///
/// 备注
///
public string Remark { get; set; }
///
/// 其他备注
///
public string Note { get; set; }
//[IgnoreDataMember]
public long CreateBy { get; set; }
///
/// 录入人
///
public string CreateByName { get; set; }
//[IgnoreDataMember]
public long? OperatorId { get; set; }
///
/// 操作员
///
public string Operator { get; set; }
///
/// 起运港
///
public string LoadPort { get; set; }
///
/// 卸货港
///
public string DischargePort { get; set; }
///
/// 船名
///
public string Vessel { get; set; }
///
/// 航次
///
public string Voyage { get; set; }
///
/// 报关项数
///
public int CustomsNum { get; set; }
///
/// 件数
///
public int? PKGS { get; set; }
///
/// 重量
///
public decimal? KGS { get; set; }
///
/// 尺码
///
public decimal? CBM { get; set; }
//[IgnoreDataMember]
public long? CustomerService { get; set; }
///
/// 客服员
///
public string CustomerServiceName { get; set; }
///
/// 贸易条款
///
public string TradeTerm { get; set; }
///
/// 更改单更改原因
///
public string ChangeReason { get; set; }
//[IgnoreDataMember]
public long Doc { get; set; }
///
/// 单证
///
public string DocName { get; set; }
///
/// 收货地
///
public string ReceiptPlace { get; set; }
///
/// 目的地
///
public string Destination { get; set; }
///
/// 发票号
///
public string InvoiceNo { get; set; }
///
/// 订单号
///
public string OrderNo { get; set; }
///
/// 运杂费比例
///
public decimal? FreightRatio { get; set; }
///
/// 品名
///
public string GoodsName { get; set; }
///
/// 付费方式
///
public string MBLFrt { get; set; }
///
/// 承运人
///
public string Carrier { get; set; }
///
/// 场站
///
public string Yard { get; set; }
///
/// 订舱公司
///
public string Forwarder { get; set; }
///
/// 签单方式
///
public string IssueType { get; set; }
///
/// 运费协议号
///
public string ContractNo { get; set; }
///
/// 运输条款
///
public string TransitTerms { get; set; }
//[IgnoreDataMember]
public long SaleDeptId { get; set; }
///
/// 所属部门
///
public string SaleDeptName { get; set; }
///
/// 装运方式
///
public string BLType { get; set; }
///
/// 货物标识
///
public string CargoId { get; set; }
///
/// 危险品等级
///
public string DangerClass { get; set; }
///
/// 运输类型
///
public string ShipmentType { get; set; }
///
/// 业务日期
///
public DateTime? BusinessDate { get; set; }
///
/// 国外代理ID
///
public long? AgentId { get; set; }
///
/// 费用名称ID
///
public long? FeeId { get; set; }
}
///
/// 待审核费用
///
public class PendingAuditFee
{
///
/// 业务类型
///
public BusinessType BusinessType { get; set; }
///
/// 业务类型描述
///
public string BusinessTypeText => BusinessType.GetDescription();
///
/// 委托编号
///
public string CustomerNo { get; set; }
///
/// 委托单位
///
public string CustomerName { get; set; }
///
/// 会计期间
///
public string? AccountDate { get; set; }
///
/// 船公司
///
public string Carrier { get; set; }
///
/// 主提单号
///
public string MBLNO { get; set; }
///
/// 开船日期
///
public DateTime? ETD { get; set; }
///
/// 预抵日期
///
public DateTime? ETA { get; set; }
///
/// 装货港
///
public string LoadPort { get; set; }
///
/// 卸货港
///
public string DischargePort { get; set; }
///
/// 船名
///
public string Vessel { get; set; }
///
/// 航次
///
public string Voyno { get; set; }
///
/// 待审核费用组
///
public List? ItemGroups { get; set; }
}
///
/// 待审核费用项分组
///
public class AuditItemGroup
{
///
/// 费用名称
///
public string FeeName { get; set; }
///
/// 待审核费用
///
public List Items { get; set; }
}
///
/// 待审核费用项
///
[DebuggerDisplay("FeeType={FeeType}, FeeName={FeeName}")]
public class AuditItem
{
///
/// 费用记录ID
///
public long Id { get; set; }
///
/// 业务ID
///
public long BusinessId { get; set; }
///
/// 收付类型(收、付) 1应收 2 应付
///
public FeeType FeeType { get; set; }
public string FeeTypeText { get { return FeeType.GetDescription(); } }
///
/// 费用名称
///
public string FeeName { get; set; }
///
/// 费用英文名称
///
public string FeeEnName { get; set; }
///
/// 结算对象
///
public string CustomerName { get; set; }
///
/// 结算对象全称
///
public string CustomerFullName { get; set; }
///
/// 客户类别
///
public string CustomerType { get; set; }
///
/// 费用标准
///
public string Unit { get; set; }
///
/// 单价
///
public decimal? UnitPrice { get; set; }
///
/// 数量
///
public decimal? Quantity { get; set; }
///
/// 金额
///
public decimal? Amount { get; set; }
///
/// 币别
///
public string Currency { get; set; }
public string CustomerTypeText { get; set; }
public string UnitText { get; set; }
public string CurrencyText { get; set; }
///
/// 汇率
///
public decimal? ExchangeRate { get; set; }
///
/// 驳回原因
///
public string Reason { get; set; }
///
/// 备注
///
public string Remark { get; set; }
///
/// Desc:佣金比率
///
public decimal? CommissionRate { get; set; }
///
/// Desc:结算金额
///
public decimal? SettlementAmount { get; set; }
///
/// Desc:开票金额
///
public decimal? InvoiceAmount { get; set; }
///
/// 未开票金额
///
public decimal? InvoiceAmountRest { get { return InvoiceAmount.HasValue ? Amount - InvoiceAmount.Value : null; } }
///
/// Desc:申请金额
///
public decimal? OrderAmount { get; set; }
///
/// Desc:申请开票金额
///
public decimal? OrderInvoiceAmount { get; set; }
///
/// 是否机密费用
///
public bool? IsOpen { get; set; }
///
/// 对帐编号
///
public string DebitNo { get; set; }
///
/// 是否对帐
///
public bool IsDebit { get; set; }
///
/// 是否垫付费用
///
public bool? IsAdvancedPay { get; set; }
///
/// 是否禁开发票
///
public bool? IsInvoice { get; set; }
///
/// 费用状态
///
public FeeStatus FeeStatus { get; set; }
public string FeeStatusText { get { return FeeStatus.GetDescription(); } }
///
/// 发票号
///
public string InvoiceNO { get; set; }
///
/// 税率
///
public decimal TaxRate { get; set; }
///
/// 不含税金额
///
public decimal NoTaxAmount { get; set; }
///
/// 财务税率 (销项税率)
///
public decimal AccTaxRate { get; set; }
///
/// 销项税额
///
public decimal AccTax { get { return Amount.GetValueOrDefault() * AccTaxRate; } }
///
/// 销项金额
///
public decimal AccTaxValue { get { return Amount.GetValueOrDefault() - AccTax; } }
///
/// 税额
///
public decimal Tax { get; set; }
///
/// 申请结算金额
///
public decimal OrderSettlementAmount { get; set; }
///
/// 含税单价
///
public decimal TaxUnitPrice { get; set; }
///
/// 申请发票开票金额
///
public decimal OrderInvSettlementAmount { get; set; }
///
/// 是否财务费用
///
public bool IsAcc { get; set; }
///
/// 核算单位
///
public string SaleOrg { get; set; }
///
/// 核算单位Id
///
public long SaleOrgId { get; set; }
///
/// 创建人
///
public long CreateBy { get; set; }
///
/// 创建人名字
///
public string CreateByName { get; set; }
///
/// 创建时间
///
public DateTime CreateTime { get; set; }
}
}