package com.zfire.mall.manager.bean.front;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.zfire.mall.manager.annotation.ZfireField;
import com.zfire.mall.manager.enums.*;
import com.zfire.mall.manager.plus.entity.CostBill;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 
 * </p>
 *
 * @author gejiang
 * @since 2023-04-08
 */
@ApiModel
@Data
public class CostBillListVO   {

    @ZfireField(hide = true)
    @ApiModelProperty(value = "账单唯一id")
    private String id;

    @ApiModelProperty(value = "嘉贤创建时间")
    private Date time;

    @ApiModelProperty(value = "产品名称")
    private String materialName;

    @ApiModelProperty(value = "物料名称")
    private String materialCode;

    @ApiModelProperty(value = "规格型号")
    private String materialSpecification;

    @ApiModelProperty(value = "物料类型")
    private String materialType;

    @ApiModelProperty(value = "账号对应物料数量")
    private Integer materialNumber;

    @ApiModelProperty(value = "订单号，物流单号或销售单号")
    private String orderCode;

    @ApiModelProperty(value = "退货单号")
    private String returnOrderCode;

    @ApiModelProperty(value = "商家编码")
    private String merchantCode;

    @ApiModelProperty(value = "商家名称")
    private String merchantName;

    @ApiModelProperty(value = "所属销售公司类型")
    private JiaXianCostTypeEnum belongCompanyType;

    @ApiModelProperty(value = "订单类型")
    private JiaXianCostOrderTypeEnum orderType;

    @ApiModelProperty(value = "客户名称")
    private String customerName;

    @ApiModelProperty(value = "客户电话")
    private String customerPhone;

    @ApiModelProperty(value = "发货仓库编码")
    private String warehouseCode;

    @ApiModelProperty(value = " 发货仓库名称")
    private String warehouseName;

    @ApiModelProperty(value = "收货送货地址")
    private String receiptAddress;

    @ApiModelProperty(value = "订单类型细分")
    private JiaXianOrderDetailTypeEnum orderTypeDetail;

    @ApiModelProperty(value = "物料计费分类，空调生活家电等")
    private String materialCostType;

    @ApiModelProperty(value = "退货订单按单价计算")
    private BigDecimal unitPrice;

    @ApiModelProperty(value = "退货费用")
    private BigDecimal returnOrderCost;

    @ApiModelProperty(value = "商家承担费用")
    private BigDecimal merchantCost;


    @ApiModelProperty(value = "上楼卸货费用")
    private BigDecimal unloadUpstairsCost;

    @ApiModelProperty(value = "费用汇总，前面三个费用相加")
    private BigDecimal totalCost;

    @ApiModelProperty(value = "备注")
    private String comment;

    @ApiModelProperty(value = "订单时间")
    private String orderDate;

    @ApiModelProperty(value = "无法生成的原因")
    private String errorResult;

    @ApiModelProperty(value = " 是否已经对过帐")
    private JiaXianCostIsEnum isAccountChecking;

    @ApiModelProperty(value = " 是否已经审核")
    private JiaXianCostIsEnum isAudit;

    @ApiModelProperty(value = " 是否卸货")
    private String isUnload;

    @ApiModelProperty(value = " 是否上楼")
    private String isUpstairs;

    @ApiModelProperty(value = " 实际是否卸货")
    private String isRealUnload;

    @ApiModelProperty(value = "实际是否上楼")
    private String isRealUpstairs;

    @ApiModelProperty(value = "是否完结")
    private JiaXianCostIsEnum isFinish;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

/*    @ApiModelProperty(value = "上个版本订单编码")
    private String lastBillCode;*/

    @ApiModelProperty(value = "商家对账单编号")
    private String merchantCheckCode;

    @ApiModelProperty(value = "销司对账单编号")
    private String salesCheckCode;

    @ApiModelProperty(value = "订单流程")
    private JiaXianProcessStatusEnum processStatus;


    @ApiModelProperty(value = "物料开单价")
    private BigDecimal materialPrice;


    @ApiModelProperty(value = "更新人")
    private String updateUser;

    @ApiModelProperty(value = "创建人")
    private String createUser;

    @ApiModelProperty(value = "订单编号")
    private String billCode;

    @ApiModelProperty(value = "更新时间")
    private Date updateTime;

    @ApiModelProperty(value = "销售类型名称")
    private String saleType;

    @ApiModelProperty(value = "供应链发货单号")
    private String saleCode;

    @ApiModelProperty(value = "商家费用汇总")
    private String merchantCostSum;


    @ApiModelProperty(value = "格力比例扣返利")
    private String geliRebate;

}
