package cn.iocoder.yudao.module.system.controller.admin.customersettlement.vo;

import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.upload.UploadUserFile;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

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

@Schema(description = "管理后台 - 客户结算信息 Response VO")
@Data
@ExcelIgnoreUnannotated
public class CustomerSettlementRespVO {

    @Schema(description = "主键ID")
    @ExcelProperty("序号")
    private Long id;

    @Schema(description = "客户id")
    private Long customerId;

    @Schema(description = "厂区名称")
    @ExcelProperty("厂区名称")
    private String customerName;

    @Schema(description = "结算月份")
    @ExcelProperty("结算月份")
    private String settlementMonth;

    @Schema(description = "结算明细")
    private List<SettlementItemVO> settlementItems;

    @Schema(description = "收款明细")
    private List<PaymentItem> paymentItem;

    @Schema(description = "收款金额")
    private BigDecimal paymentAmount;

    @Schema(description = "备注")
    private String notes;

    @Schema(description = "结算状态 | 1已复核 2已确认")
    private Integer status;

    @Schema(description = "附件")
    private List<UploadUserFile> fileItems;

    @Schema(description = "创建人")
    private String creator;

    @Schema(description = "创建人名称")
    @ExcelProperty("创建人名称")
    private String creatorName;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;
}