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

import com.zfire.mall.manager.annotation.ZfireField;
import com.zfire.mall.manager.constant.SysDictConstant;
import com.zfire.mall.manager.enums.ExamineStatusEnum;
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;

/**
 * 政策零售订单
 */
@ZfireField(tbName = "a")
@ApiModel
@Data
public class OrderExecPolicyVO {

    @ZfireField(tbName = "kdm")
    @ApiModelProperty("物料分组")
    private String materialGroupName;
    @ZfireField(tbName = "b")
    @ApiModelProperty("厂产品代码")
    private String materialOldNumber;
    @ApiModelProperty("制单日期")
    private Date createTime;
    @ApiModelProperty("订单日期")
    private Date theTime;
    @ApiModelProperty("销售订单号")
    private String id;
    @ApiModelProperty("经销商编码")
    private String customerNumber;
    //@ZfireField(colName = "customer_number",type ="select",frontCode = SysDictConstant.CUSTOMER)
    @ApiModelProperty("经销商名称")
    private String customerName;
    @ZfireField(tbName = "b",colName = "sale_type_id",type ="select",frontCode = SysDictConstant.SALE_TYPE)
    @ApiModelProperty("销售类型")
    private String saleTypeName;
    @ZfireField(tbName = "b")
    @ApiModelProperty("物料编码")
    private String materialCode;
    @ZfireField(tbName = "b")
    @ApiModelProperty("存货名称")
    private String materialName;
    @ZfireField(tbName = "b")
    @ApiModelProperty("规格型号")
    private String specification;
    @ZfireField(isQuery = false)
    @ApiModelProperty("直调状态")
    private String directTransferStatusName;
    @ZfireField(tbName = "b",colName = "wallet_id1",type ="select",frontCode = SysDictConstant.WALLET)
    @ApiModelProperty("现金钱包")
    private String walletName;
    @ZfireField(tbName = "b",colName = "wallet_id2",type ="select",frontCode = SysDictConstant.WALLET_REBATE)
    @ApiModelProperty("返利钱包")
    private String rebateWalletName;
    @ZfireField(tbName = "b")
    @ApiModelProperty("订单未发货数量")
    private Integer refundableQty;
    @ZfireField(tbName = "b")
    @ApiModelProperty("退订数量")
    private Integer retiredQty = 0;
    @ZfireField(tbName = "b")
    @ApiModelProperty("退订金额")
    private BigDecimal retiredAmount;
    @ZfireField(tbName = "b")
    @ApiModelProperty("退货数量")
    private Integer refundProductQty;
    @ZfireField(tbName = "b")
    @ApiModelProperty("退货金额")
    private Integer refundProductAmount;
    @ZfireField(tbName = "b")
    @ApiModelProperty("单价")
    private BigDecimal price;
    @ZfireField(tbName = "b")
    @ApiModelProperty("数量")
    private Integer qty;
    @ZfireField(tbName = "b")
    @ApiModelProperty("订单金额")
    private BigDecimal payAmount;
    @ZfireField(tbName = "b")
    @ApiModelProperty("单个商品返利金额")
    private BigDecimal singleRebateAmount;
    @ZfireField(tbName = "b")
    @ApiModelProperty("订单返利金额")
    private BigDecimal payRebateAmount;
    @ZfireField(tbName = "b")
    @ApiModelProperty("发货金额")
    private BigDecimal hasSendAmount;
    @ZfireField(tbName = "b")
    @ApiModelProperty("发货数量")
    private Integer hasSendQty;
    @ZfireField(tbName = "b")
    @ApiModelProperty("单个商品折扣金额")
    private BigDecimal discAmount;
    @ZfireField(tbName = "b")
    @ApiModelProperty("订单折扣金额")
    private BigDecimal totalDiscAmount;
    @ZfireField(tbName = "b")
    @ApiModelProperty("直调数量")
    private Integer directTransferQty;

    @ApiModelProperty("表头业务员名称")
    private String k3ServiceName;
    @ZfireField(tbName = "b",colName = "service_name")
    @ApiModelProperty("表体业务员名称")
    private String itemServiceName;
    @ZfireField(tbName = "e",colName = "service_name")
    @ApiModelProperty("归属业务员名称")
    private String newServiceName;

    @ApiModelProperty("表头备注")
    private String remark;
    @ZfireField(tbName = "b",colName = "remark")
    @ApiModelProperty("表体备注")
    private String itemRemark;
//    @ApiModelProperty("业务区域")
//    private String area;


    @ZfireField(tbName = "b",colName = "k3_category_id",type = "select",frontCode = SysDictConstant.K3_CATEGORY)
    @ApiModelProperty("产品类别")
    private String k3CategoryName;
    @ZfireField(tbName = "b")
    @ApiModelProperty("文件编号")
    private String fileNo;
//    @ZfireField(tbName = "b")
//    @ApiModelProperty("机型类别")
//    private String refMachineType;

    @ZfireField(tbName = "b",colName = "id")
    @ApiModelProperty("订单明细id")
    private String orderItemId;
    @ZfireField(tbName = "b")
    @ApiModelProperty("是否置换过")
    private IsEnum isDisplaceOrder;

    @ZfireField(isQuery = false)
    @ApiModelProperty(value = "所属集团")
    private String customerGroupName;
    @ZfireField(isQuery = false)
    @ApiModelProperty("金蝶部门")
    private String k3OrgName;

    @ZfireField(tbName = "b")
    @ApiModelProperty("原供价")
    private BigDecimal orgPrice;
    @ZfireField(tbName = "b")
    @ApiModelProperty("价格类型")
    private String priceType;

    @ApiModelProperty("审核人昵称")
    private String examineName;
    @ApiModelProperty("审核状态")
    private ExamineStatusEnum examineStatus;
    @ApiModelProperty("审核时间")
    private Date examineTime;

    @ApiModelProperty("销售政策名称")
    private String policyTitle;
    @ApiModelProperty("销售政策编码")
    private String policyCode;


}
