李白
5 天以前 d1f4be00fc8ab2faf990aa0446156b305fc25586
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
package com.by4cloud.platformx.business.entity;
 
import com.baomidou.mybatisplus.annotation.TableField;
import com.by4cloud.platformx.business.vo.ContractOutBoundVo;
import com.by4cloud.platformx.common.data.mybatis.BaseModel;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Transient;
import lombok.Data;
import org.hibernate.annotations.Comment;
import org.springframework.format.annotation.DateTimeFormat;
 
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
 
/**
 * @author lwj
 * @version 1.0.0
 * @ClassName BillingInfo.java
 * @Description TODO
 * @createTime
 */
@Data
@Entity
@org.hibernate.annotations.Table(appliesTo="billing_info",comment = "开票信息表")//给表加注释
@jakarta.persistence.Table(name = "billing_info")//开具发票返回值
@Comment("开票信息表")
public class BillingInfo extends BaseModel<BillingInfo> {
 
    @Schema(description = "开票编号")
    @Column(columnDefinition = "VARCHAR(64) comment '开票编号'")
    private String entrustCode;
 
    @Schema(description = "开票种类(0-蓝票 1-红票)")
    @Column(columnDefinition = "tinyint(2) default 0 comment '开票种类(0-蓝票 1-红票)'")
    private Integer billingType;
 
    @Schema(description = "红票关联蓝票Id")
    @Column(columnDefinition = "bigint comment '红票关联蓝票Id'")
    private Long blueInvoiceId;
 
    @Schema(description = "关联合同ID")
    @Column(columnDefinition = "bigint not null comment '关联合同ID'")
    private Long contractId;
 
    @Schema(description = "合同编号")
    @Column(columnDefinition = "VARCHAR(64) comment '合同编号'")
    private String contractNo;
 
    @Schema(description = "合同名称")
    @Column(columnDefinition = "VARCHAR(64) comment '合同名称'")
    private String contractName;
 
    @Schema(description = "甲方id")
    @Column(name = "party_a_id",columnDefinition = "bigint comment '甲方id'")
    private Long partyAId;
 
    @Schema(description = "甲方名称")
    @Column(name = "party_a",columnDefinition = "VARCHAR(100) comment '甲方名称'")
    private String partyA;
 
    @Schema(description = "甲方统一社会信用代码")
    @Column(name = "credit_code_a",columnDefinition = "VARCHAR(30) comment '甲方统一社会信用代码'")
    private String creditCodeA;
 
    @Schema(description = "甲方开户银行")
    @Column(name = "bank_name_a",columnDefinition = "VARCHAR(20) comment '甲方开户银行'")
    private String bankNameA;
 
    @Schema(description = "甲方银行账号")
    @Column(name = "bank_account_a",columnDefinition = "VARCHAR(50) comment '甲方银行账号'")
    private String bankAccountA;
 
    @Schema(description = "甲方联系电话")
    @Column(name = "contact_phone_a",columnDefinition = "VARCHAR(50) comment '甲方联系电话'")
    private String contactPhoneA;
 
    @Schema(description = "乙方id")
    @Column(name = "party_b_id",columnDefinition = "bigint comment '乙方id'")
    private Long partyBId;
 
    @Schema(description = "乙方名称")
    @Column(name = "party_b",columnDefinition = "VARCHAR(100) comment '乙方名称'")
    private String partyB;
 
    @Schema(description = "乙方统一社会信用代码")
    @Column(name = "credit_code_b",columnDefinition = "VARCHAR(30) comment '乙方统一社会信用代码'")
    private String creditCodeB;
 
    @Schema(description = "乙方开户银行")
    @Column(name = "bank_name_b",columnDefinition = "VARCHAR(20) comment '乙方开户银行'")
    private String bankNameB;
 
    @Schema(description = "乙方银行账号")
    @Column(name = "bank_account_b",columnDefinition = "VARCHAR(50) comment '乙方银行账号'")
    private String bankAccountB;
 
    @Schema(description = "乙方联系电话")
    @Column(name = "contact_phone_b",columnDefinition = "VARCHAR(50) comment '乙方联系电话'")
    private String contactPhoneB;
 
    @Schema(description = "总金额")
    @Column(columnDefinition = "decimal(10,2) comment '总金额'")
    private BigDecimal totalAmount;
 
    @Schema(description = "税额")
    @Column(columnDefinition = "decimal(10,2) comment '总金额税额'")
    private BigDecimal totalTax;
 
    @Schema(description = "不含税金额")
    @Column(columnDefinition = "decimal(10,2) comment '不含税金额'")
    private BigDecimal amountNoTax;
 
    @Schema(description = "标的物详情")
    @Column(columnDefinition = "TEXT comment '标的物详情'")
    private String matterStr;
 
    @Schema(description = "状态(0-生效 1-失效)")
    @Column(columnDefinition = "tinyint(2) comment '状态(0-生效 1-失效)'")
    private Integer status;
 
    @Schema(description = "状态(0-未发送 1-发送失败 200-发送成功)")
    @Column(columnDefinition = "tinyint(2) default 0 comment '状态(200)'")
    private Integer bipStatus;
 
    @Schema(description = "开蓝票结果状态 0未开票 1开票成功 2开票失败")
    @javax.persistence.Column(columnDefinition="int(1)  comment '开蓝票结果状态'")
    private Integer blueResultStatus;
 
    @Schema(description = "开红票结果状态 0未开票 1开票成功 2开票失败")
    @javax.persistence.Column(columnDefinition="int(1) comment '开红票结果状态'")
    private Integer redResultStatus;
 
    @Schema(description = "蓝票id")
    @Column(columnDefinition = "bigint default null comment '蓝票id'")
    private Long blueInvoiceResultId;
 
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Schema(description = "蓝票开票时间")
    @Column(columnDefinition = "datetime comment '蓝票开票时间'")
    private Date blueInvoiceTime;
 
    @Schema(description = "蓝票地址")
    @Column(columnDefinition = "varchar(300) comment '蓝票地址'")
    private String invoicePath;
 
    @Schema(description = "蓝票url")
    @javax.persistence.Column(columnDefinition="VARCHAR(255) comment '蓝票url'")
    private String invoiceBlueUrl;
 
    @Schema(description = "红票结果id")
    @Column(columnDefinition = "bigint default null comment '红票结果id'")
    private Long redInvoiceResultId;
 
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Schema(description = "红票开票时间")
    @Column(columnDefinition = "datetime comment '红票开票时间'")
    private Date redInvoiceTime;
 
    @Schema(description = "红票地址")
    @Column(columnDefinition = "varchar(300) comment '红票地址'")
    private String invoiceRedPath;
 
    @Schema(description = "红冲发票url")
    @javax.persistence.Column(columnDefinition="VARCHAR(255) comment '红冲发票url'")
    private String invoiceRedUrl;
 
    @Schema(description = "开票详情")
    @Column(columnDefinition = "TEXT comment '开票详情'")
    private String invoiceRemark;
 
    /**
     * 出货单列表
     */
    @Transient
    @TableField(exist = false)
    private List<ContractOutBoundVo> contractOutBoundList;
 
    /**
     * 开票项列表
     */
    @Transient
    @TableField(exist = false)
    private List<BillingItem> billingItems;
 
}