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

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.zfire.mall.manager.annotation.ZfireField;
import com.zfire.mall.manager.enums.*;
import com.zfire.mall.manager.plus.entity.CostTicket;
import com.zfire.mall.manager.plus.entity.CostTicketBill;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

@ApiModel
@Data
@ZfireField(tbName = "a")
public class CostTicketListVO  {
    @ZfireField(hide = true)
    @ApiModelProperty(value = "id")
    private String id;

    @ApiModelProperty(value = "工单编号")
    private String ticketCode;

    @ApiModelProperty(value = "工单类型")
    private JiaXianTicketOrderTypeEnum ticketType;

    @ApiModelProperty(value = "对账单编码")
    private String orderCode;

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

    @ApiModelProperty(value = "审核时间")
    private Long reviewTime;

    @ApiModelProperty(value = "流程状态")
    private JiaXianProcessStatusEnum processStatus;

    @ApiModelProperty(value = "备注")
    private String comment;


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

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

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

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

    @ApiModelProperty(value = "嘉贤创建时间")
    private Date costCreateTime;

    @ApiModelProperty(value = "嘉贤修改时间")
    private Date costUpdateTime;


    @ApiModelProperty(value = "审核备注")
    private String reviewComment;

    @ApiModelProperty(value = "商家简称")
    private String merchantShortName;

    @ApiModelProperty(value = "商家编码")
    private String merchantCode;

    @ApiModelProperty(value = "商家名称")
    private String merchantName;


    @ZfireField(hide = true,tbName = "b",colName = "id")
    @ApiModelProperty(value = "子账单唯一id")
    private String itemId;

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

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "物料名称")
    private String materialCode;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "规格型号")
    private String materialSpecification;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "物料类型")
    private String materialType;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "账号对应物料数量")
    private Integer materialNumber;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "订单号")
    private String itemOrderCode;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "退货单号")
    private String returnOrderCode;


    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "所属销售公司类型")
    private JiaXianCostTypeEnum belongCompanyType;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "订单类型")
    private JiaXianCostOrderTypeEnum orderType;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "客户名称")
    private String customerName;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "客户电话")
    private String customerPhone;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "发货仓库编码")
    private String warehouseCode;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = " 发货仓库名称")
    private String warehouseName;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "收货送货地址")
    private String receiptAddress;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "订单类型细分")
    private JiaXianOrderDetailTypeEnum orderTypeDetail;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "物料计费分类，空调生活家电等")
    private String materialCostType;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "运费结算系数")
    private BigDecimal coefficient;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "补贴结算系数")
    private BigDecimal subsidyCoefficient;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "卸货上楼结算系数")
    private BigDecimal unloadUpstairsCoefficient;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "退货订单按单价计算")
    private BigDecimal unitPrice;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "退货费用")
    private BigDecimal returnOrderCost;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "商家承担费用")
    private BigDecimal merchantCost;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "补贴费用")
    private BigDecimal allowanceCost;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "上楼卸货费用")
    private BigDecimal unloadUpstairsCost;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "费用汇总")
    private BigDecimal totalCost;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "备注")
    private String itemComment;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "订单时间")
    private String orderDate;
    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "无法生成的原因")
    private String errorResult;
    @ZfireField(tbName = "b")
    @ApiModelProperty(value = " 是否已经对过帐")
    private String isAccountChecking;
    @ZfireField(tbName = "b")
    @ApiModelProperty(value = " 是否已经审核")
    private String isAudit;
    @ZfireField(tbName = "b")
    @ApiModelProperty(value = " 是否卸货")
    private String isUnload;
    @ZfireField(tbName = "b")
    @ApiModelProperty(value = " 是否上楼")
    private String isUpstairs;
    @ZfireField(tbName = "b")
    @ApiModelProperty(value = " 实际是否卸货")
    private String isRealUnload;
    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "实际是否上楼")
    private String isRealUpstairs;
    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "是否完结 0 未完结，1 已经完结")
    private Integer isFinish;

    @ZfireField(tbName = "b",hide = true)
    @ApiModelProperty(value = "上个版本订单编码")
    private String lastBillCode;
    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "商家对账单编号")
    private String merchanCheckCode;
    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "销司对账单编号")
    private String salesCheckCode;

    @ZfireField(tbName = "b",hide = true)
    @ApiModelProperty(value = "所属公司计费规则")
    private JiaXianCostTypeEnum belongCompanyCostRule;
    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "物料开单价")
    private BigDecimal materialPrice;
    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "订单编号")
    private String billCode;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "项目类别")
    private String refProjectCategory;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "提货密钥")
    private String goodsPickingKey;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "供应链发货单号")
    private String saleCode;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "商家费用汇总")
    private String merchantCostSum;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "格力比例扣返利")
    private String geliRebate;

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





}
