package com.zfire.mall.manager.bean.manage.v2.product.price;

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

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

@Data
@ApiModel
public class ProductUpdPriceBillVO {

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "单据编码")
    private String updPriceBillId;

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

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

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "部门名称")
    private String adminWebsitName;

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

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "调价业务员名称")
    private String serviceName;

    @ZfireField(tbName = "a", hide = true)
    @ApiModelProperty(value = "单据类型")
    private OrderTypeEnum billType;

    @ZfireField(tbName = "a", hide = true)
    @ApiModelProperty(value = "销售类型id")
    private String saleTypeId;

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

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

    @ZfireField(tbName = "b", hide = true)
    @ApiModelProperty(value = "物料id")
    private String materialId;

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

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

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

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

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

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "批发价")
    private BigDecimal batchPrice;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "零售价")
    private BigDecimal retailPrice;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "生效日期")
    private LocalDate startDate;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "失效日期")
    private LocalDate endDate;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "是否促销价")
    private IsEnum isPromote;

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

//    @ZfireField(tbName = "b")
//    @ApiModelProperty(value = "是否发布")
//    private IsEnum isPublish;

    @ZfireField(isQuery = false)
    @ApiModelProperty(value = "返利类型（钱包）")
    private String rebateWallet;

    @ZfireField(isQuery = false)
    @ApiModelProperty(value = "现金钱包")
    private String commonlyWallet;

    @ZfireField(tbName = "b", hide = true, colName = "id")
    @ApiModelProperty("明细id")
    private String itemId;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "单据状态")
    private ExamineStatusEnum examineStatus;

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

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "审核说明")
    private String examineNote;

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

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

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

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

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

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

//    @ApiModelProperty(value = "提交人")
//    private String submitBy;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "提交人")
    private String submitName;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "提交时间")
    private Date submitTime;

//    @ApiModelProperty(value = "审核人")
//    private String confirmBy;

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

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


}
