package com.erp.reconciliation.dto;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 对账单DTO
 * 
 * @author ERP Migration
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class ReconciliationBillDTO {

    private Long id;
    private String billNo;
    private String batchNo;
    private String platform;
    private Long shopId;
    private String shopName;
    private String periodType;
    private LocalDateTime periodStart;
    private LocalDateTime periodEnd;
    
    /** 平台账单信息 */
    private Integer platformOrderCount;
    private BigDecimal platformTotalAmount;
    
    /** 内部账单信息 */
    private Integer internalOrderCount;
    private BigDecimal internalTotalAmount;
    
    /** 差异信息 */
    private BigDecimal differenceAmount;
    private Integer matchedCount;
    private BigDecimal matchedAmount;
    private Integer differenceCount;
    
    /** 状态信息 */
    private String reconciliationStatus;
    private String resultStatus;
    private LocalDateTime reconciliationStartTime;
    private LocalDateTime reconciliationEndTime;
    private LocalDateTime confirmTime;
    private Long confirmUserId;
    private String confirmUserName;
    
    /** 匹配率 */
    private BigDecimal matchRate;
    
    private String remark;
    private LocalDateTime createdAt;
    private LocalDateTime updatedAt;
}
