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.IsEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

/**
 * 工程销售执行明细V2
 */
@ZfireField(tbName = "a")
@ApiModel
@Data
public class OrderExecVO {


    @ApiModelProperty("物料分组")
    private String materialGroupName;

    @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(colName = "sale_type_id",type ="select",frontCode = SysDictConstant.SALE_TYPE)
    @ApiModelProperty("销售类型")
    private String saleTypeName;
    @ApiModelProperty("物料编码")
    private String materialCode;
    @ApiModelProperty("存货名称")
    private String materialName;
    @ApiModelProperty("规格型号")
    private String specification;
    @ApiModelProperty("是否直调完成")
    private IsEnum directTransferStatus;
    @ZfireField(colName = "wallet_id1",type ="select",frontCode = SysDictConstant.WALLET)
    @ApiModelProperty("现金钱包")
    private String walletName;
    @ZfireField(colName = "wallet_id2",type ="select",frontCode = SysDictConstant.WALLET_REBATE)
    @ApiModelProperty("返利钱包")
    private String rebateWalletName;
    @ApiModelProperty("订单未发货数量")
    private Integer refundableQty;
    @ApiModelProperty("总数量")
    private Integer qty;
    @ZfireField(isQuery = false)
    @ApiModelProperty("退订数量")
    private Integer tdQty = 0;
    @ZfireField(isQuery = false)
    @ApiModelProperty("退订金额")
    private BigDecimal retiredAmount;
    @ApiModelProperty("退货数量")
    private Integer refundProductQty;
    @ApiModelProperty("退货金额")
    private BigDecimal refundProductAmount;
    @ApiModelProperty("单价")
    private BigDecimal price;
    @ApiModelProperty("订单金额")
    private BigDecimal payAmount;
    @ApiModelProperty("单个商品返利金额")
    private BigDecimal singleRebateAmount;
    @ApiModelProperty("订单返利金额")
    private BigDecimal payRebateAmount;
    @ApiModelProperty("发货金额")
    private BigDecimal hasSendAmount;
    @ApiModelProperty("发货数量")
    private Integer hasSendQty;
    @ApiModelProperty("单个商品折扣金额")
    private BigDecimal discAmount;
    @ApiModelProperty("订单折扣金额")
    private BigDecimal totalDiscAmount;
    @ApiModelProperty("直调数量")
    private Integer directTransferQty;


    @ApiModelProperty("表头业务员名称")
    private String k3ServiceName;
    @ApiModelProperty("表体业务员名称")
    private String itemServiceName;
    @ApiModelProperty("归属业务员名称")
    private String newServiceName;


    @ApiModelProperty("销售政策编码")
    private String policyCode;
    @ApiModelProperty("销售政策名称")
    private String policyTitle;
    @ApiModelProperty("月份")
    private String month;
    @ApiModelProperty("项目名称")
    private String projectName;
    @ApiModelProperty("备注")
    private String remark;
    @ApiModelProperty("表体备注")
    private String itemRemark;
    @ApiModelProperty("业务区域")
    private String area;



    @ApiModelProperty("存货名称")
    private String k3CategoryName;

    @ApiModelProperty("工程登录编号")
    private String refEnginRecordNo;
    @ApiModelProperty("工程编号")
    private String refProjectNo;
    @ApiModelProperty("文件编号")
    private String fileNo;
    @ApiModelProperty("机型类别")
    private String refMachineType;
    @ApiModelProperty("项目名称")
    private String refProjectName;
    @ApiModelProperty("订单明细id")
    private String orderItemId;

    @ApiModelProperty("是否置换")
    private IsEnum isDisplaceOrder;

    @ApiModelProperty(value = "经销商集团名称")
    private String customerGroupName;
    @ApiModelProperty("金蝶部门")
    private String k3OrgName;


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

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

}
