wujianwei
2026-01-05 0b76c560a27c89df168271d7210ab6bf9de28f7d
service/src/main/java/com/ruoyi/cwgl/domain/InvoiceDetail.java
@@ -1,31 +1,93 @@
package com.ruoyi.cwgl.domain;
import java.math.BigDecimal;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableField;
import java.util.Date;
import lombok.Data;
/**
 * 发票管理明细对象 invoice_detail
 *
 * @author ruoyi
 * @date 2025-12-26
 */
@Data
public class InvoiceDetail {
    private String goodsName;  // String, 必须, 电脑, 长度100, 商品名称(如invoiceLineProperty =1,则此商品行为折扣行,折扣行不允许多行折扣,折扣行必须紧邻被折扣行,商品名称必须与被折扣行一致)
    private String goodsCode;  // String, 非必须, 1090511030000000000, 长度19, 商品编码(商品税收分类编码开发者自行填写)
    private String selfCode;  // String, 非必须, 130005426000000000, 长度16, 自行编码(可不填)
    private String withTaxFlag;  // String, 必须, 1, 长度1, 单价含税标志:0:不含税,1:含税
    private String price;  // String, 非必须, 空, 长度16, 单价(精确到小数点后8位),当单价(price)为空时,数量(num)也必须为空;(price)为空时,含税金额(taxIncludedAmount)、不含税金额(taxExcludedAmount)、税额(tax)都不能为空
    private String num;  // String, 非必须, 空, 长度16, 数量(精确到小数点后8位,开具红票时数量为负数)
    private String unit;  // String, 非必须, 台, 长度20, 单位
    private String specType;  // String, 非必须, y460, 长度40, 规格型号、车辆识别代号/车架号码(当发票性质为特定业机动车、二手车时)
    private String tax;  // String, 非必须, 0.12, 长度16, 税额(精确到小数点后2位),[不含税金额] * [税率] = [税额];税额允许误差为 0.06。红票为负。不含税金额、税额、含税金额任何一个不传时,会根据传入的单价,数量进行计算,可能和实际数值存在误差,建议都传入
    private String taxRate;  // String, 必须, 0.13, 长度10, 税率,注:1、纸票清单红票存在为null的情况;2、二手车发票税率为null或者0
    private String taxExcludedAmount;  // String, 非必须, 0.88, 长度16, 不含税金额(精确到小数点后2位)。红票为负。不含税金额、税额、含税金额任何一个不传时,会根据传入的单价,数量进行计算,可能和实际数值存在误差,建议都传入
    private String taxIncludedAmount;  // String, 非必须, 1, 长度16, 含税金额(精确到小数点后2位),[不含税金额] + [税额] = [含税金额],红票为负。不含税金额、税额、含税金额任何一个不传时,会根据传入的单价,数量进行计算,可能和实际数值存在误差,建议都传入
    private String invoiceLineProperty;  // String, 非必须, 0, 长度1, 发票行性质:0,正常行;1,折扣行;2,被折扣行,红票只有正常行
    private String favouredPolicyFlag;  // String, 非必须, 0, 长度2, 优惠政策标识:0,不使用;1,使用; 数电票时: 01:简易征收 02:稀土产品 03:免税 04:不征税 05:先征后退 06:100%先征后退 07:50%先征后退 08:按3%简易征收 09:按5%简易征收 10:按5%简易征收减按1.5%计征 11:即征即退30% 12:即征即退50% 13:即征即退70% 14:即征即退100% 15:超税负3%即征即退 16:超税负8%即征即退 17:超税负12%即征即退 18:超税负6%即征即退
    private String immediateTaxReturnType;  // String, 非必须, 1, 长度2, 即征即退类型标识:01-软件产品,02-资源综合利用产品 03-管道运输服务,04-有形动产融资租赁服务,05-有形动产融资性售后回租服务,06-新型墙体材料,07-风力发电产品,08-光伏发电产品,09-动漫软件产品,10-飞机维修劳务,11-黄金,12-铂金。已在税局进行增值税即征即退备案的企业,再开具商编属于即征即退类型范围内的商品时必传,可用于次月退税。非备案客户忽略。红票、折扣行不支持传入。
    private String favouredPolicyName;  // String, 非必须, 0, 长度50, 增值税特殊管理(优惠政策名称),当favouredPolicyFlag为1时,此项必填 (数电票时为空)
    private String deduction;  // String, 非必须, 0, 长度16, 扣除额,差额征收时填写,目前只支持填写一项。 注意:当传0、空或字段不传时,都表示非差额征税;传0.00才表示差额征税:0.00 (数电票暂不支持)
    private String zeroRateFlag;  // String, 非必须, 0, 长度1, 零税率标识:空,非零税率;1,免税;2,不征税;3,普通零税率;1、当税率为:0%,且增值税特殊管理:为“免税”, 零税率标识:需传“1” 2、当税率为:0%,且增值税特殊管理:为"不征税" 零税率标识:需传“2” 3、当税率为:0%,且增值税特殊管理:为空 零税率标识:需传“3” (数电票时为空)
    private String dField1;  // String, 必须, 空, 长度255, 业务方明细自定义字段1,本应用只作保存
    private String dField2;  // String, 必须, 空, 长度255, 业务方明细自定义字段2,本应用只作保存
    private String dField3;  // String, 必须, 空, 长度255, 业务方明细自定义字段3,本应用只作保存
    private String dField4;  // String, 必须, 空, 长度255, 业务方明细自定义字段4,本应用只作保存
    private String dField5;  // String, 必须, 空, 长度255, 业务方明细自定义字段5,本应用只作保存
}
public class InvoiceDetail{
    /** 主键ID */
        @TableField("id")
    private Integer id;
    /** 发票管理id */
    @Excel(name = "发票管理id")
        @TableField("invoice_manage_id")
    private Integer invoiceManageId;
    /** 应收账单编号 */
    @Excel(name = "应收账单编号")
        @TableField("receivable_bill_no")
    private String receivableBillNo;
    /** 应收账单金额 */
    @Excel(name = "应收账单金额")
        @TableField("receivable_bill_amount")
    private BigDecimal receivableBillAmount;
    /** 应收账单币制 */
    @Excel(name = "应收账单币制")
        @TableField("receivable_bill_currency")
    private String receivableBillCurrency;
    /** 账单已开票金额 */
    @Excel(name = "账单已开票金额")
        @TableField("billed_amount")
    private BigDecimal billedAmount;
    /** 账单未开票金额 */
    @Excel(name = "账单未开票金额")
        @TableField("unbilled_amount")
    private BigDecimal unbilledAmount;
    /** 本次开票金额 */
    @Excel(name = "本次开票金额")
        @TableField("current_billed_amount")
    private BigDecimal currentBilledAmount;
    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @TableField("create_time")
    private Date createTime;
    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @TableField("update_time")
    private Date updateTime;
    /** 删除标志(0:正常,1:删除) */
    @Excel(name = "删除标志(0:正常,1:删除)")
        @TableField("deleted")
    private Integer deleted;
}