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

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;

/**
 * <p>
 * 
 * </p>
 *
 * @author gejiang
 * @since 2023-04-08
 */
@ApiModel
@Data
public class CostTicketBillVO   {


    @ApiModelProperty(value = "账单唯一id")
    private String id;

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

    @ApiModelProperty(value = "嘉贤创建时间")
    private Long createTime;

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

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

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

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

    @ApiModelProperty(value = "订单号，物流单号或销售单号")
    private String orderCode;

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

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

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

    @ApiModelProperty(value = "所属销售公司类型,GE_JIANG(格匠)GUANG_ZHOU(广州销售公司)FO_SHAN(佛山销售公司)OTHER(其他销售公司)")
    private String belongCompanyType;

    @ApiModelProperty(value = "订单类型。TOB(商家机工程机类型)，ALL(所有类型，广州的订单统一开单价)，TOC(销售订单类型)")
    private String orderType;

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

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

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

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

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

    @ApiModelProperty(value = "订单类型细分。PICKING_UP_ORDER(前置仓提货订单)SALE_ORDER(销售订单),MERCHANT_WAREHOUSE_ORDER(商家仓订单)PROJECT_ORDER(工程机订单)SALE_RETURN_ORDER(销售退货单),")
    private String orderTypeDetail;

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

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

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

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

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

    @ApiModelProperty(value = "最终算出来的运费")
    private BigDecimal cost;

    @ApiModelProperty(value = "补贴费用，补贴系数*开单价")
    private BigDecimal allowanceCost;

    @ApiModelProperty(value = "上楼卸货费用，上楼结算系数* 开单价")
    private BigDecimal unloadUpstairsCost;

    @ApiModelProperty(value = "费用汇总，前面三个费用相加")
    private BigDecimal totalCost;

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

    @ApiModelProperty(value = "订单时间")
    private String orderDate;

    @ApiModelProperty(value = "无法生成的原因")
    private String errorResult;

    @ApiModelProperty(value = " 是否已经对过帐")
    private String isAccountChecking;

    @ApiModelProperty(value = " 是否已经审核")
    private String isAudit;

    @ApiModelProperty(value = " 是否卸货")
    private String isUnload;

    @ApiModelProperty(value = " 是否上楼")
    private String isUpstairs;

    @ApiModelProperty(value = " 实际是否卸货")
    private String isRealUnload;

    @ApiModelProperty(value = "实际是否上楼")
    private String isRealUpstairs;

    @ApiModelProperty(value = "是否完结 0 未完结，1 已经完结")
    private Integer isFinish;


    @ApiModelProperty(value = "上个版本订单编码")
    private String lastBillCode;

    @ApiModelProperty(value = "商家对账单编号")
    private String merchanCheckCode;

    @ApiModelProperty(value = "销司对账单编号")
    private String salesCheckCode;

    @ApiModelProperty(value = "订单流程")
    private String processStatus;

    @ApiModelProperty(value = "GE_JIANG,//所属哪一个销售公司计费规则，GE_JIANG(格 匠 ),GUANG_ZHOU( 广 州 销 售 公 司 ),FO_SHAN(佛山销售公司),OTHER(其他销售公司")
    private String belongCompanyCostRule;

    @ApiModelProperty(value = "物料开单价")
    private BigDecimal materialPrice;

    @ApiModelProperty(value = "是否已经被删除")
    private String isDelete;

    @ApiModelProperty(value = "0")
    private String createOrg;

    @ApiModelProperty(value = "0")
    private String updateOrg;

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

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

    @ApiModelProperty(value = "订单编号")
    private String billCode;

}
