package com.jwipc.finance.dto;

import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 *     对账模块-创建或编辑时预付款申请单明细实体类
 * </p>
 *
 * @author wt
 * @version 1.0
 * @since 2020/10/12
 */
@Data
public class CreatePaaDetailDto implements Serializable {
    /**
     * 明细记录ID
     */
    private Long id;

    private Long appId;
    /**
     * 采购订单主键 格式:采购订单号_订单行号
     */
    private String poKey;
    /**
     * 采购订单号
     */
    private String poCode;
    /**
     * 采购订单行号
     */
    private String poItemNo;
    /**
     * 订单数量
     */
    private BigDecimal poNum;
    /**
     * 物料编码
     */
    private String materialCode;
    private String deliveryOrderCode;
    /**
     * 物料描述
     */
    private String materialDesc;
    /**
     * 单位
     */
    private String materialUnit;
    /**
     * 询源采购组编码
     */
    private String seekPgCode;
    /**
     * 询源采购组名称
     */
    private String seekPgName;
    /**
     * 订单行工厂编码
     */
    private String factoryCode;
    /**
     * 税率值(0.13)
     */
    private BigDecimal taxValue;
    /**
     * 税率编码
     */
    private String taxCode;
    /**
     * 税率描述
     */
    private String taxDesc;
    /**
     * 税率编码及描述 如:(J5)13% 进项税专用发票
     */
    private String taxCodeDesc;
    /**
     * 未税单价
     */
    private BigDecimal ntPrice;
    /**
     * 未税金额
     */
    private BigDecimal ntAmount;
    /**
     * 税额
     */
    private BigDecimal dtAmount;
    /**
     * 含税单价
     */
    private BigDecimal itPrice;
    /**
     * 含税金额
     */
    private BigDecimal itAmount;
    /**
     * 可申请预付金额
     */
    private BigDecimal applyAmount;
    /**
     * 本次申请预付金额
     */
    private BigDecimal budInnerMoney;

    private BigDecimal budOutMoney;
    /**
     * 预付款冲账金额
     */
    private BigDecimal reversalMoney;
    private BigDecimal poReversalMoney;
    private BigDecimal storeAmount;
    /**
     * 已预付金额
     */
    private BigDecimal alreadyAdvanceAmount;
    /**
     * 已申请金额
     */
    private BigDecimal alreadyApplyAmount;
    private BigDecimal actualityPayMoney;
    /**
     * 付款方式代码
     */
    private String paymentWayCode;
    /**
     * 付款方式名称
     */
    private String paymentWayDesc;
    /**
     * 付款方式编码及名称 格式:(A006)六个月银行承兑汇票
     */
    private String pwCodeDesc;
    /**
     * 付款条件代码
     */
    private String paymentConditionCode;
    /**
     * 付款条件名称
     */
    private String paymentConditionName;
    private String paymentConditionDesc;
    /**
     * 付款条件编码及名称 格式:(R304)货到月结90天支付
     */
    private String pcCodeName;
    /**
     * 摘要(当表头选择的付款条件期限与明细不符时该字段必填)
     */
    private String itemRemark;
    /**
     * 科目类别
     */
    private String subjectTypeName;
    /**
     * 物料容差
     */
    private String quantityRange;
    /**
     * 合同编码
     */
    private String contractNo;
    /**
     * 合同名称
     */
    private String contractName;
    /**
     * 合同主表ID
     */
    private Long contractId;
    /**
     * 合同主表中合同系统UUID
     */
    private String htUuid;
    /**
     * 采购员
     */
    private String buyer;

    /**
     * 数据状态 1:暂存 2:待推送OA 3:OA审批中 4:OA审批拒绝 5:付款完成(OA审批通过)
     */
    private Integer status;

    /**
     * 货到付款消费标识 0：未消费 1；已消费
     */
    private Integer codFlag;

    /**
     * 报关公司编码
     */
    private String supplierCode2;

    /**
     * 报关公司名称
     */
    private String supplierName2;
    private String supplierCode1;
    private String supplierName1;
    private BigDecimal discountMoney;
    private BigDecimal alreadyAccountAmount;
    private BigDecimal alreadyOutAmount;
    private BigDecimal alreadyIntoAmount;

    /**
     * 付款到期日
     */
    private LocalDateTime paymentExpireDate;
    private LocalDateTime expectationPaymentDate;

}
