package com.yiqi.order.domain.dto;

import java.io.Serializable;
import java.math.BigDecimal;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yiqi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.yiqi.common.core.domain.BaseEntity;
import lombok.Data;

/**
 * 工厂统计对象 settlement_factory_statistics
 *
 * @author douya
 * @date 2025-03-21
 */
@Data
public class SettlementFactoryStatisticsDto implements Serializable {
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @ApiModelProperty("主键ID")
    private Long id;

    /** 统计日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "统计日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("统计日期")
    private String statisticsDate;

    /** 统计日期 */
    @ApiModelProperty("统计日期")
    private Integer day;

    /** 工厂ID */
    @ApiModelProperty("工厂ID")
    private Long factoryId;

    /** 门店ID */
    @ApiModelProperty("门店ID")
    private Long storeId;

    /** 工厂名称 */
    @Excel(name = "工厂名称")
    @ApiModelProperty("工厂名称")
    private String factoryName;

    /** 门店名称 */
    @Excel(name = "门店名称")
    @ApiModelProperty("门店名称")
    private String storeName;


    /** 当日入厂衣服金额 */
    @Excel(name = "当日入厂衣服金额")
    @ApiModelProperty("当日入厂衣服金额")
    private BigDecimal dailyInFactoryAmount;

    /** 当日入厂衣服数量 */
    @Excel(name = "当日入厂衣服数量")
    @ApiModelProperty("当日入厂衣服数量")
    private Integer dailyInFactoryCount;

    /** 当日检查衣服数量 */
    @Excel(name = "当日检查衣服数量")
    @ApiModelProperty("当日检查衣服数量")
    private Integer dailyCheckedCount;

    /** 当日出厂衣服数量 */
    @Excel(name = "当日出厂衣服数量")
    @ApiModelProperty("当日出厂衣服数量")
    private Integer dailyOutFactoryCount;

    /** 当日退单衣服数量 */
    @Excel(name = "当日退单衣服数量")
    @ApiModelProperty("当日退单衣服数量")
    private Integer dailyRefundCount;

    /** 当日退单衣服金额 */
    @Excel(name = "当日退单衣服金额")
    @ApiModelProperty("当日退单衣服金额")
    private BigDecimal dailyRefundAmount;

    /** 当日实际结算金额 */
    @Excel(name = "当日实际结算金额")
    @ApiModelProperty("当日实际结算金额")
    private BigDecimal dailyActualSettlementAmount;

    /**
     * 收衣订单数
     */
    @Excel(name = "收衣订单数")
    @ApiModelProperty("收衣订单数")
    private Integer receiveOrderCount;

    /**
     * 收衣总件数
     */
    @Excel(name = "收衣总件数")
    @ApiModelProperty("收衣总件数")
    private Integer receiveTotalQuantity;

    /**
     * 收衣订单总金额
     */
    @Excel(name = "收衣订单总金额")
    @ApiModelProperty("收衣订单总金额")
    private BigDecimal receiveTotalAmount;

    /**
     * 收衣未支付订单数
     */
    @Excel(name = "收衣未支付订单数")
    @ApiModelProperty("收衣未支付订单数")
    private Integer receiveUnpaidOrderCount;

    /**
     * 收衣未支付订单金额
     */
    @Excel(name = "收衣未支付订单金额")
    @ApiModelProperty("收衣未支付订单金额")
    private BigDecimal receiveUnpaidAmount;

    /**
     * 取衣订单数
     */
    @Excel(name = "取衣订单数")
    @ApiModelProperty("取衣订单数")
    private Integer pickupOrderCount;

    /**
     * 取衣总件数
     */
    @Excel(name = "取衣总件数")
    @ApiModelProperty("取衣总件数")
    private Integer pickupTotalQuantity;

    /**
     * 取衣订单总金额
     */
    @Excel(name = "取衣订单总金额")
    @ApiModelProperty("取衣订单总金额")
    private BigDecimal pickupTotalAmount;

    /**
     * 取衣已支付订单数
     */
    @Excel(name = "取衣已支付订单数")
    @ApiModelProperty("取衣已支付订单数")
    private Integer pickupPaidOrderCount;

    /**
     * 取衣已支付订单金额
     */
    @Excel(name = "取衣已支付订单金额")
    @ApiModelProperty("取衣已支付订单金额")
    private BigDecimal pickupPaidAmount;
} 