package com.zfire.mall.manager.bean.engin.v2.info;

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

@Data
@ApiModel
public class EnginInfoOrderVO {

    @ZfireField(tbName = "a", hide = true)
    @ApiModelProperty(value = "工程信息id")
    private String enginInfoId;

    @ZfireField(tbName = "a", hide = true)
    @ApiModelProperty(value = "企业id")
    private String adminCompanyId;

    @ZfireField(tbName = "a", hide = true)
    @ApiModelProperty(value = "客户id")
    private String customerId;

    @ZfireField(tbName = "a", isShow = false, isQuery = false)
    @ApiModelProperty(value = "经销商编码")
    private String customerNumber;

    @ZfireField(tbName = "a", sortNum = 4)
    @ApiModelProperty(value = "经销商名称")
    private String customerName;

    @ZfireField(tbName = "a", sortNum = 3)
    @ApiModelProperty(value = "工程登录编号")
    private String enginInfoNo;

    @ZfireField(tbName = "a", sortNum = 2)
    @ApiModelProperty(value = "订单日期")
    private Date orderDate;

//    @ZfireField(tbName = "a")
//    @ApiModelProperty(value = "产品大类")
//    private String mainId;
//
//    @ZfireField(tbName = "a")
//    @ApiModelProperty(value = "产品大类名称")
//    private String mainName;

    @ZfireField(tbName = "a", sortNum = 5)
    @ApiModelProperty(value = "项目名称")
    private String projectName;

//    @ZfireField(tbName = "a")
//    @ApiModelProperty(value = "项目类型")
//    private String projectType;
//
//    @ZfireField(tbName = "a")
//    @ApiModelProperty(value = "项目说明")
//    private String projectNote;

    @ZfireField(tbName = "a", isShow = false, isQuery = false)
    @ApiModelProperty(value = "机型类别")
    private String machineType;

    @ZfireField(tbName = "a", isShow = false, isQuery = false)
    @ApiModelProperty(value = "使用单位")
    private String useUnit;

    @ZfireField(tbName = "a", isShow = false, isQuery = false)
    @ApiModelProperty(value = "安装地址")
    private String installAddress;

    @ZfireField(tbName = "a", isShow = false, isQuery = false)
    @ApiModelProperty(value = "工程编号")
    private String projectNo;

    @ZfireField(tbName = "a", isShow = false, isQuery = false)
    @ApiModelProperty(value = "厂工程编号")
    private String enginFactoryNo;

    @ZfireField(tbName = "a", isShow = false, isQuery = false)
    @ApiModelProperty(value = "工程登录类型")
    private String enginSignType;

    @ZfireField(tbName = "a", isShow = false, isQuery = false)
    @ApiModelProperty(value = "行业类别")
    private String tradeCategory;

    @ZfireField(tbName = "a", isShow = false, isQuery = false)
    @ApiModelProperty(value = "联系人")
    private String linkman;

    @ZfireField(tbName = "a", isShow = false, isQuery = false)
    @ApiModelProperty(value = "联系电话")
    private String phone;

    @ZfireField(tbName = "a", isShow = false, isQuery = false)
    @ApiModelProperty(value = "固定电话")
    private String tel;

    @ZfireField(tbName = "a", isShow = false, isQuery = false)
    @ApiModelProperty(value = "第几申报")
    private String declareNo;

    @ZfireField(tbName = "a", isShow = false, isQuery = false)
    @ApiModelProperty(value = "权限分类")
    private String powerCategory;

    @ZfireField(tbName = "a", hide = true)
    @ApiModelProperty(value = "业务员")
    private String serviceId;

    @ZfireField(tbName = "a", sortNum = 6)
    @ApiModelProperty(value = "表头业务员")
    private String serviceName;

    @ZfireField(tbName = "a", sortNum = 21, isQuery = false)
    @ApiModelProperty(value = "合同有效期")
    private Date contractExpireDate;

    @ZfireField(tbName = "a", hide = true)
    @ApiModelProperty(value = "格力回复")
    private String geLiNote;

    @ZfireField(tbName = "a", isShow = false, isQuery = false)
    @ApiModelProperty(value = "格力内部备注")
    private String geLiInerNote;

    @ZfireField(tbName = "a", isShow = false, isQuery = false)
    @ApiModelProperty(value = "文件编号")
    private String fileNo;

    @ZfireField(tbName = "a", type = "select", isShow = false, isQuery = false)
    @ApiModelProperty(value = "是否旧单导入")
    private IsEnum isOldOrder;

    @ZfireField(tbName = "a", type = "select", isShow = false, isQuery = false)
    @ApiModelProperty(value = "是否计划单")
    private IsEnum isPlanOrder;

    @ZfireField(tbName = "a", isShow = false, isQuery = false)
    @ApiModelProperty(value = "备注")
    private String remark;

    @ZfireField(tbName = "a", sortNum = 20, isQuery = false)
    @ApiModelProperty(value = "审核说明")
    private String examineNote;

    @ZfireField(tbName = "a", sortNum = 1)
    @ApiModelProperty(value = "单据状态")
    private ExamineStatusEnum examineStatus;

    @ZfireField(tbName = "a", isShow = false, isQuery = false)
    @ApiModelProperty(value = "是否提前完结")
    private IsEnum endStatus;

    @ZfireField(tbName = "a", isShow = false, isQuery = false)
    @ApiModelProperty(value = "制表人")
    private String createName;

    @ZfireField(tbName = "a", isShow = false, isQuery = false)
    @ApiModelProperty(value = "制表时间")
    private Date createTime;

    @ZfireField(tbName = "a", sortNum = 23, isQuery = false)
    @ApiModelProperty(value = "更新人")
    private String updateName;

    @ZfireField(tbName = "a", sortNum = 24, isQuery = false)
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;

    @ZfireField(tbName = "a", isShow = false, isQuery = false)
    @ApiModelProperty(value = "提交人")
    private String submitName;

    @ZfireField(tbName = "a", isShow = false, isQuery = false)
    @ApiModelProperty(value = "提交时间")
    private Date submitTime;

    @ZfireField(tbName = "a", sortNum = 18, isQuery = false)
    @ApiModelProperty(value = "审核人")
    private String confirmName;

    @ZfireField(tbName = "a", sortNum = 19, isQuery = false)
    @ApiModelProperty(value = "审核时间")
    private Date confirmTime;

    @ZfireField(tbName = "a", isShow = false, isQuery = false)
    @ApiModelProperty(value = "弃审人")
    private String abandonName;

    @ZfireField(tbName = "a", isShow = false, isQuery = false)
    @ApiModelProperty(value = "弃审时间")
    private Date abandonTime;

    @ZfireField(tbName = "a", sortNum = 22)
    @ApiModelProperty(value = "是否关闭")
    private IsEnum isClose;

    @ZfireField(tbName = "b", hide = true)
    @ApiModelProperty(value = "明细id")
    private String id;

    @ZfireField(tbName = "b", hide = true)
    @ApiModelProperty(value = "销售类型id")
    private String saleTypeId;

    @ZfireField(tbName = "b", isShow = false, isQuery = false)
    @ApiModelProperty(value = "销售类型编码")
    private String saleTypeCode;

    @ZfireField(tbName = "b", sortNum = 16, isQuery = false)
    @ApiModelProperty(value = "销售类型名称")
    private String saleTypeName;

    @ZfireField(tbName = "b", hide = true)
    @ApiModelProperty(value = "金蝶物料id")
    private String materialId;

    @ZfireField(tbName = "b", isShow = false, isQuery = false)
    @ApiModelProperty(value = "物料编码")
    private String materialNumber;

    @ZfireField(tbName = "b", sortNum = 7, isQuery = false)
    @ApiModelProperty(value = "产品名称")
    private String materialName;

    @ZfireField(tbName = "b", isShow = false, isQuery = false)
    @ApiModelProperty(value = "厂产品编码")
    private String materialOldNumber;

    @ZfireField(tbName = "b", sortNum = 9)
    @ApiModelProperty(value = "规格型号")
    private String specification;

    @ZfireField(tbName = "b", isShow = false, isQuery = false)
    @ApiModelProperty(value = "基本单位编码")
    private String unit;

    @ZfireField(tbName = "b", sortNum = 11, isQuery = false)
    @ApiModelProperty(value = "单价")
    private BigDecimal price;

    @ZfireField(tbName = "b", sortNum = 10, isQuery = false)
    @ApiModelProperty(value = "数量")
    private Integer qty;

    @ZfireField(tbName = "b", sortNum = 12, isQuery = false)
    @ApiModelProperty(value = "总金额")
    private BigDecimal totalAmount;

    @ZfireField(tbName = "b", colName = "remark", isShow = false, isQuery = false)
    @ApiModelProperty(value = "备注")
    private String itemRemark;

    @ZfireField(isQuery = false, sortNum = 13)
    @ApiModelProperty(value = "可订数量")
    private String surplusQty;

    @ZfireField(tbName = "b", sortNum = 14, isQuery = false)
    @ApiModelProperty(value = "已订数量")
    private Integer hasOrderQty;

    @ZfireField(tbName = "b", isShow = false, isQuery = false)
    @ApiModelProperty(value = "出库数量")
    private String hasDeliverQty;

    @ZfireField(isQuery = false, sortNum = 15)
    @ApiModelProperty(value = "发货数量")
    private String hasSendQty;

    @ZfireField(tbName = "kdm", sortNum = 8)
    @ApiModelProperty(value = "物料分组名称")
    private String materialGroupName;

    @ZfireField(tbName = "b", isShow = false, isQuery = false)
    @ApiModelProperty(value = "税率")
    private BigDecimal taxRate;

    @ZfireField(tbName = "kdm", sortNum = 17, isQuery = false)
    @ApiModelProperty(value = "存货类别")
    private String categoryName;

}
