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

import com.zfire.mall.manager.plus.entity.RetreatDocument;
import com.zfire.mall.manager.plus.entity.SalesOrder;
import com.zfire.mall.manager.plus.entity.SalesOrderPicture;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

/**
 * @author change
 */
@ApiModel
@Data
public class SaleOrderBean extends SalesOrder {

    @ApiModelProperty(value = "主订单id")
    private String mainOrderId;

    @ApiModelProperty(value = "销售明细订单id")
    private String salesOrderItemId;

    @ApiModelProperty(value = "订单商品id")
    private String orderId;

    @ApiModelProperty(value = "订单发货时间")
    private Date invoiceOrderTime;

    @ApiModelProperty(value = "申请发货订单号")
    private String invoiceId;

    @ApiModelProperty(value = "申请数量")
    private Integer invoiceNum;

    @ApiModelProperty(value = "审批数量")
    private Integer approvalNumber;

    @ApiModelProperty(value = "可退数量")
    private Integer refundableQty;

    @ApiModelProperty(value = "已退数量")
    private Integer retiredQty;

    @ApiModelProperty(value = "金蝶物料id")
    private String materialId;

    @ApiModelProperty(value = "订单类型 TRADE=商用 HOME=家用 RETAIL=零售单 RETAIL_POLICY 销售政策单  PERMU_HOME = 置换单家用        PERMU_TRADE 置换商用   PERMU_RETAIL  置换零售   PERMU_RETAIL_POLICY 置换销售政策单")
    private String orderType;

    @ApiModelProperty(value = "销售类型id")
    private String saleTypeId;

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

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

    @ApiModelProperty(value = "单据日期")
    private Date theTime;

    @ApiModelProperty(value = "旧物料编码")
    private String materialOldNumber;

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

    @ApiModelProperty(value = "物料名称")
    private String materialName;

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

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

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

    @ApiModelProperty(value = "实付金额(订单金额-返利金额-折扣金额-不够扣的返利金额)")
    private BigDecimal payAmount;

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

    @ApiModelProperty(value = "数量")
    private Integer qty;
    @ApiModelProperty(value = "单价")
    private BigDecimal singlePayPrice;

    @ApiModelProperty(value = "税后单价")
    private BigDecimal afterTaxPrice;

    @ApiModelProperty(value = "无税金额")
    private BigDecimal noTotalAmount;

    @ApiModelProperty(value = "实际扣除的返利金额")
    private BigDecimal payRebateAmount;

    @ApiModelProperty(value = "总的格力折扣金额")
    private BigDecimal totalDiscAmount;


    @ApiModelProperty(value = "金蝶行号")
    private String kingDeeSeq;

    @ApiModelProperty(value = "金蝶内码")
    private String kingDeeEntryId;

    @ApiModelProperty(value = "金蝶销售出库单id")
    private String kingSaleId;

    @ApiModelProperty(value = "金蝶销售出库单行号")
    private String kingDeeOrderSeq;

    @ApiModelProperty(value = "金蝶销售出库单内码")
    private String kingDeeOrderId;

    @ApiModelProperty(value = "金蝶销售出库number")
    private String kingBillNo;


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


    @ApiModelProperty(value = "产品明细备注")
    private String invoiceRemark;

    @ApiModelProperty(value = "产品表头备注")
    private String headerRemark;

    @ApiModelProperty("业务员")
    private String serviceName;

    @ApiModelProperty("业务员")
    private String serviceId;

    @ApiModelProperty(value = "表头业务员id")
    private String k3ServiceId;

    @ApiModelProperty(value = "表头业务员name")
    private String k3ServiceName;

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

    @ApiModelProperty(value = "金蝶部门编号")
    private String k3OrgNumber;

    @ApiModelProperty(value = "金蝶部门编号")
    private String k3OrgName;

    @ApiModelProperty(value = "钱包")
    private String customerWalletName;

    @ApiModelProperty(value = "审批时间")
    private Date printTime;

    @ApiModelProperty(value = "图片")
    private List<SalesOrderPicture> salesOrderPictures;

}
