package com.jwipc.finance.model.po;

import lombok.Getter;
import lombok.Setter;

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

/**
 * <p>
 * 对账模块-费用对账单明细表
 * </p>
 *
 * @author shenyang.ou
 * @since 2025-11-03
 */
@Getter
@Setter
public class CompanyAccountStatementDetailPO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 数据主键
     */
    private Long id;

    /**
     * 行号
     */
    private String itemNo;

    /**
     * 对账单ID
     */
    private Long asId;

    /**
     * 对账单号
     */
    private String asNo;


    /**
     * 创建用户ID
     */
    private Long createUserId;

    /**
     * 创建用户编码
     */
    private String createUserCode;

    /**
     * 创建用户姓名
     */
    private String createUserName;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 最后更新用户ID
     */
    private Long updateUserId;

    /**
     * 最后更新用户编码
     */
    private String updateUserCode;

    /**
     * 最后更新用户姓名
     */
    private String updateUserName;

    /**
     * 最后更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 删除标识 0:未删除 1:已删除
     */
    private Integer deleteFlag;

    private String code;


    /**
     * 列表序号
     */
    private String rowNo;

    /**
     * 客户PO
     */
    private String customerPo;

    /**
     * 销售订单类型
     */
    private String salesOrderType;

    /**
     * 销售订单
     */
    private String salesOrder;

    /**
     * 销售订单行号
     */
    private String salesOrderRowNo;

    /**
     * 出货日期
     */
    private String shipmentDate;

    /**
     * 交货单
     */
    private String deliveryNote;

    /**
     * 交货单行号
     */
    private String deliveryNoteRowNo;

    /**
     * 物料编码
     */
    private String materialCode;

    /**
     * 物料组描述
     */
    private String materialGroupName;

    /**
     * 物料描述
     */
    private String materialName;

    /**
     * 客户料号
     */
    private String customerMaterialNumber;

    /**
     * 开票品名
     */
    private String invoiceProductName;

    /**
     * 规格型号
     */
    private String specificationModel;

    /**
     * 对账数量
     */
    private BigDecimal reconciliationQuantity;

    /**
     * 开票数量
     */
    private BigDecimal invoiceQuantity;

    /**
     * 单位
     */
    private String unit;

    /**
     * 税率
     */
    private String taxCode;

    /**
     * 含税单价
     */
    private BigDecimal taxPrice;

    /**
     * 未税金额
     */
    private BigDecimal notTaxAmount;

    /**
     * 税额
     */
    private BigDecimal diffTaxAmount;

    /**
     * 含税金额
     */
    private BigDecimal taxAmount;
}
