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;
|
|
}
|
|
}
|