package com.jianshui.invoice.domain.dto.adapter.request.nuonuo2;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jianshui.common.annotation.Excel;
import com.jianshui.invoice.domain.BillDetail;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description
 * @Author 巩权林
 * @Date 2022/4/14 00:04
 **/
@Data
public class Nuonuo2RedDetailDTO {

    /**
     * 申请单号
     */
    @JSONField(name = "申请单号")
    private String billno;

    @JSONField(name = "序号")
    private Integer index;


    /**
     * 商品名称
     */
    @JSONField(name = "goodsName")
    private String goodName;

    /**
     * 单位
     */
    @JSONField(name = "unit")
    private String unit;

    /**
     * 规格型号
     */
    @JSONField(name = "specType")
    private String spec;

    /**
     * 商品数量
     */
    @JSONField(name = "num")
    private BigDecimal num;

    /**
     * 商品单价，不含税
     */
    @JSONField(name = "taxExcludedPrice")
    private BigDecimal price;

    /**
     * 不含税金额
     */
    @JSONField(name = "taxExcludedAmount")
    private BigDecimal taxfreeamt;

    /**
     * 税率
     */
    @JSONField(name = "taxRate")
    private BigDecimal taxrate;

    /**
     * 税额
     */
    @JSONField(name = "taxAmount")
    private BigDecimal tax;

    /**
     * 含税金额
     */
    // @JSONField(name = "含税金额")
    private BigDecimal taxamt;

    /**
     * 税收分类编码
     */
    @JSONField(name = "goodsCode")
    private String spbm;

    /**
     * 商品编码版本号
     */
    // @JSONField(name = "商品编码版本号")
    // private String bmbbh;

    /**
     * 优惠政策标识，0不使用，1使用
     */
    @JSONField(name = "favouredPolicyFlag")
    private String favouredPolicyFlag;

    /**
     * 增值税特殊管理（优惠政策表示名称）
     */
    @JSONField(name = "favouredPolicyName")
    private String favouredPolicyName;

    /**
     * 零税率标识，1=免税,2=不征税,3=普通零税率
     */
    @JSONField(name = "zeroRateFlag")
    private String lslbs;

    /**
     * 商品编码简称
     */
    @JSONField(name = "goodsCodeAbb")
    private String goodAbbreviation;

    /**
     * 发票行性质
     */
    @JSONField(name = "fphxz")
    private Integer fphxz;

    /**
     * 扣除额
     */
    @JSONField(name = "deductions")
    private BigDecimal kce;

    /**
     * 修改时间
     */
    // @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    // @JSONField(name = "修改时间")
    // private Date updatedTime;

    // 含税标志
    @TableField(exist = false)
    @JSONField(name = "withTaxFlag")
    private String withTaxFlag;

    // 含税单价
    @TableField(exist = false)
    @JSONField(name = "price")
    private String priceWithTax;
}
