package com.zfire.mall.manager.bean.refund.v2;

import com.zfire.mall.manager.annotation.ZfireField;
import com.zfire.mall.manager.enums.IsEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

@Data
@ApiModel
public class TradeERefundOrderVO {

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "工程退订单")
    private String refundOrderId;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "订单日期")
    private Date refOrderDate;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "工程订单号")
    private String refOrderId;

    @ZfireField(tbName = "a", hide = true)
    @ApiModelProperty(value = "商户id")
    private String adminCompanyId;

    @ZfireField(tbName = "a", hide = true)
    @ApiModelProperty(value = "用户id")
    private String adminUserId;

    @ZfireField(tbName = "a", hide = true)
    @ApiModelProperty(value = "部门id")
    private String adminWebsitId;

    @ZfireField(tbName = "a", hide = true)
    @ApiModelProperty(value = "经销商id")
    private String customerId;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "经销商编号")
    private String customerNumber;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "经销商名称")
    private String customerName;

    @ZfireField(tbName = "a", hide = true)
    @ApiModelProperty(value = "表头业务员")
    private String serviceId;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "表头业务员")
    private String serviceName;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "工程信息单号")
    private String refEnginRecordNo;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "项目名称")
    private String refProjectName;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "项目类型")
    private String refProjectType;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "跨区厂编号")
    private String refFactoryNo;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "使用单位")
    private String refUseUnit;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "联系人")
    private String refLinkman;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "联系电话")
    private String refPhone;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "固定电话")
    private String refTel;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "文件编号")
    private String fileNo;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "是否不扣押金")
    private IsEnum takeDeposit;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "格力内部备注")
    private String geLiInnerNote;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "格力回复")
    private String geLiNote;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "备注")
    private String refOrderRemark;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "退订人")
    private String refundBy;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "退订时间")
    private Date refundTime;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "创建人")
    private String createBy;

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

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "更新人")
    private String updateBy;

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

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "审核人")
    private String examineBy;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "审核时间")
    private Date examineTime;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "审核备注")
    private String examineRemark;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "销售类型编号")
    private String saleTypeCode;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "销售类型名称")
    private String saleTypeName;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "物料编号")
    private String materialCode;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "厂产品代码")
    private String materialOldNumber;

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

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "物料规格型号")
    private String specification;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "单位")
    private String unit;

    @ZfireField(tbName = "b", colName = "service_name")
    @ApiModelProperty(value = "表体业务员")
    private String itemServiceName;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "数量")
    private Integer enginNum;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "是否直调")
    private IsEnum isDirectTransfer;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "直调数量")
    private Integer directTransferQty;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "单价")
    private BigDecimal price;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "数量")
    private Integer qty;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "格力折扣")
    private BigDecimal discAmount;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "订单金额")
    private BigDecimal totalAmount;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "返利类型")
    private String customerWalletName2;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "使用返利金额")
    private BigDecimal rebateAmount;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "现金钱包")
    private String customerWalletName;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "实付金额")
    private BigDecimal payAmount;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "实际返利金额")
    private BigDecimal payRebateAmount;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "原订单数量")
    private Integer oldQty;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "原订单支付金额")
    private BigDecimal oldPayAmount;

    @ZfireField(tbName = "b", isTotal = true)
    @ApiModelProperty(value = "出库数量")
    private Integer hasSendQty;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "税率例如: 0.13")
    private BigDecimal tax;

}
