package com.gree.mall.manager.bean.quality;

import com.gree.mall.manager.annotation.ZfireField;
import com.gree.mall.manager.enums.IsEnum;
import com.gree.mall.manager.enums.quality.ExamineQualityFeedbackStatusEnum;
import com.gree.mall.manager.enums.quality.PartSendEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

@ApiModel
@Data
@ZfireField(tbName = "a")
public class QualityFeedbackVO {

    @ZfireField(hide = true)
    private String id;

    @ApiModelProperty(value = "状态")
    private ExamineQualityFeedbackStatusEnum status;

    @ZfireField(hide = true)
    @ApiModelProperty(value = "商户编号")
    private String companyWechatId;

    @ZfireField(hide = true)
    @ApiModelProperty(value = "商户名称")
    private String companyWechatName;

    @ApiModelProperty(value = "反馈主题")
    private String title;

    @ApiModelProperty(value = "是否售前机")
    private IsEnum isSalesBefore;

    @ApiModelProperty(value = "反馈网点编号")
    private String websitId;

    @ApiModelProperty(value = "反馈网点名称")
    private String websitName;

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

    @ApiModelProperty(value = "云售后4.0工单号")
    private String orderNo;

    @ApiModelProperty(value = "工程师名称")
    private String workerName;

    @ApiModelProperty(value = "工程师电话")
    private String workerMobie;

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

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

    @ZfireField(hide = true)
    @ApiModelProperty(value = "省")
    private String province;

    @ZfireField(hide = true)
    @ApiModelProperty(value = "省id")
    private String provinceId;

    @ZfireField(hide = true)
    @ApiModelProperty(value = "市")
    private String city;

    @ZfireField(hide = true)
    @ApiModelProperty(value = "市id")
    private String cityId;

    @ZfireField(hide = true)
    @ApiModelProperty(value = "区")
    private String area;

    @ZfireField(hide = true)
    @ApiModelProperty(value = "区id")
    private String areaId;

    @ZfireField(hide = true)
    @ApiModelProperty(value = "街道")
    private String street;

    @ZfireField(hide = true)
    @ApiModelProperty(value = "街道id")
    private String streetId;

    @ApiModelProperty(value = "详细地址")
    private String joinAddress;

    @ZfireField(hide = true)
    @ApiModelProperty(value = "产品大类")
    private String mainId;

    @ApiModelProperty(value = "产品大类名称")
    private String mainName;

    @ZfireField(hide = true)
    @ApiModelProperty(value = "产品小类")
    private String smallId;

    @ApiModelProperty(value = "产品小类名称")
    private String smallName;

    @ApiModelProperty(value = "系列名称")
    private String seriesName;

    @ApiModelProperty(value = "内机型号")
    private String insideProductName;

    @ApiModelProperty(value = "外机型号")
    private String outProductName;

    @ApiModelProperty(value = "内机条码")
    private String insideCode;

    @ApiModelProperty(value = "外机条码")
    private String outCode;

    @ApiModelProperty(value = "数量")
    private Integer num;

    @ApiModelProperty(value = "出厂日期")
    private Date outDate;

    @ApiModelProperty(value = "安装或使用日期")
    private Date useDate;

    @ApiModelProperty(value = "报修或发生日期")
    private Date repairDate;

    @ApiModelProperty(value = "有无配件寄回")
    private PartSendEnum isPartSend;

    @ApiModelProperty(value = "故障配件名称及规格")
    private String bugPartName;

    @ApiModelProperty(value = "故障代码(包含检测器检测)")
    private String bugPartCode;

    @ApiModelProperty(value = "是否需要处理方案")
    private IsEnum isNeedPlan;

    @ApiModelProperty(value = "要求提供日期")
    private Date supplyDate;

    @ApiModelProperty(value = "故障描述")
    private String bugRemark;

    @ApiModelProperty(value = "网点分析")
    private String websitAnalyse;

    @ApiModelProperty(value = "网点处理方法")
    private String websitHandleMethod;

    @ZfireField(hide = true)
    @ApiModelProperty(value = "创建人")
    private String createBy;

    @ApiModelProperty(value = "网点提交人")
    private String submitBy;

    @ApiModelProperty(value = "网点提交时间")
    private Date submitTime;

    @ApiModelProperty(value = "中心审核人")
    private String confirmBy;

    @ApiModelProperty(value = "中心审核时间")
    private Date confirmTime;

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

    @ApiModelProperty(value = "是否上传总部")
    private IsEnum isUpload;
}
