gaoluyang
昨天 8c65f898ed6e5b0c7a94c792c4562f6ec831dccd
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
package cn.iocoder.yudao.module.crm.controller.admin.finance.vo;
 
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
 
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
 
/**
 * 客户应收对账单 Response VO
 */
@Schema(description = "管理后台 - 客户应收对账单 Response VO")
@Data
public class CrmCustomerStatementRespVO {
 
    @Schema(description = "客户编号")
    private Long customerId;
 
    @Schema(description = "客户名称")
    private String customerName;
 
    @Schema(description = "订单数量")
    private Integer orderCount;
 
    @Schema(description = "订单总金额")
    private BigDecimal orderTotalAmount;
 
    @Schema(description = "已出库金额")
    private BigDecimal shippedAmount;
 
    @Schema(description = "已开票金额(审批通过)")
    private BigDecimal invoicedAmount;
 
    @Schema(description = "已回款金额(审批通过)")
    private BigDecimal collectedAmount;
 
    @Schema(description = "已出库未开票金额")
    private BigDecimal shippedNotInvoicedAmount;
 
    @Schema(description = "未核销应收金额(订单金额 - 已回款)")
    private BigDecimal outstandingAmount;
 
    @Schema(description = "下月计划回款金额")
    private BigDecimal nextMonthPlanAmount;
 
    @Schema(description = "订单明细")
    private List<OrderRow> orders;
 
    @Schema(description = "开票流水")
    private List<InvoiceRow> invoices;
 
    @Schema(description = "回款流水")
    private List<ReceiptRow> receipts;
 
    @Schema(description = "订单行")
    @Data
    public static class OrderRow {
 
        @Schema(description = "销售订单编号")
        private Long saleOrderId;
 
        @Schema(description = "销售订单号")
        private String saleOrderNo;
 
        @Schema(description = "合同编号")
        private Long contractId;
 
        @Schema(description = "下单时间")
        private LocalDateTime orderTime;
 
        @Schema(description = "订单金额")
        private BigDecimal orderAmount;
 
        @Schema(description = "已出库金额")
        private BigDecimal shippedAmount;
 
        @Schema(description = "已开票金额")
        private BigDecimal invoicedAmount;
 
        @Schema(description = "已回款金额")
        private BigDecimal collectedAmount;
 
        @Schema(description = "已出库未开票金额")
        private BigDecimal shippedNotInvoicedAmount;
 
        @Schema(description = "未开票金额(订单金额 - 已开票)")
        private BigDecimal uninvoicedAmount;
 
        @Schema(description = "未核销应收金额")
        private BigDecimal outstandingAmount;
 
        @Schema(description = "订单状态(ERP 审核状态)")
        private Integer status;
 
    }
 
    @Schema(description = "开票流水")
    @Data
    public static class InvoiceRow {
 
        @Schema(description = "开票编号")
        private Long id;
 
        @Schema(description = "开票单号")
        private String no;
 
        @Schema(description = "发票号")
        private String invoiceNo;
 
        @Schema(description = "开票时间")
        private LocalDateTime invoiceTime;
 
        @Schema(description = "开票金额")
        private BigDecimal invoiceAmount;
 
        @Schema(description = "已回款金额")
        private BigDecimal collectedAmount;
 
        @Schema(description = "剩余应收")
        private BigDecimal remainingReceivable;
 
        @Schema(description = "销售订单编号")
        private Long saleOrderId;
 
        @Schema(description = "销售订单号")
        private String saleOrderNo;
 
        @Schema(description = "审批状态")
        private Integer status;
 
    }
 
    @Schema(description = "回款流水")
    @Data
    public static class ReceiptRow {
 
        @Schema(description = "回款编号")
        private Long id;
 
        @Schema(description = "回款单号")
        private String no;
 
        @Schema(description = "回款时间")
        private LocalDateTime returnTime;
 
        @Schema(description = "回款金额")
        private BigDecimal amount;
 
        @Schema(description = "关联开票编号")
        private Long invoiceId;
 
        @Schema(description = "关联发票号")
        private String invoiceNo;
 
        @Schema(description = "审批状态")
        private Integer status;
 
    }
 
}