You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

635 lines
15 KiB
C#

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