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

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

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

/**
 * @author changelin
 */
@ApiModel
@Data
public class CustomerStockOrderBean {


    @ZfireField(tbName = "cso")
    @ApiModelProperty("库存调整单")
    private String id;

    @ZfireField(hide = true ,tbName = "cso")
    @ApiModelProperty(value = "单据状态 SAVE=保存 WAIT=待审核 OK=通过 FAIL=不通过 CLOSE=关闭")
    private String examineStatus;

    @ZfireField(tbName = "cso",colName = "examine_status" , frontCode = CodeStatusConstant.EXAMINE_STATUS,type = "select")
    @ApiModelProperty(value = "单据状态")
    private String examineStatusName;

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

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

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

    @ZfireField(hide = true,tbName = "cso")
    @ApiModelProperty(value = "存货类别")
    private String categoryId;

    @ZfireField(hide = true)
    @ApiModelProperty(value = "存货类别编码")
    private String categoryNumber;

    @ApiModelProperty(value = "存货类别")
    private String categoryName;

    @ApiModelProperty(value = "产品编码")
    private String materialOldNumber;

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

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

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

    @ApiModelProperty(value = "发生时间")
    private Date changeTime;

    @ZfireField(hide = true,tbName = "csa")
    @ApiModelProperty(value = "发生方向 -1=减少  1=增加 ")
    private Boolean directFlag;

    @ZfireField(colName = "direct_flag",frontCode = CodeStatusConstant.DIRECT_FLAG,type = "select")
    @ApiModelProperty(value = "发生方向")
    private String directFlagName;

    @ZfireField(type = "number")
    @ApiModelProperty(value = "变动数量")
    private BigDecimal stockChangeQty;

    @ZfireField(type = "number")
    @ApiModelProperty(value = "当前库存数量")
    private BigDecimal stockCurQty;

    @ZfireField(type = "number")
    @ApiModelProperty(value = "结存库存数量")
    private BigDecimal stockCloseQty;


}
