package com.gree.mall.manager.bean.listvo.workorder;

import com.gree.mall.manager.annotation.ZfireField;
import com.gree.mall.manager.enums.workorder.OrderBaseStatusEnum;
import com.gree.mall.manager.enums.workorder.SaleTypeEnum;
import com.gree.mall.manager.plus.entity.PgOrderFlag;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

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

    @ZfireField(sortNum = 1,isQuery = false, ignoreSelect = true)
    @ApiModelProperty(value="服务单标识")
    private List<PgOrderFlag> orderFlags = new ArrayList<>();

//    @ZfireField(sortNum = 2)
//    @ApiModelProperty(value = "所属商户")
//    private String companyWechatName;
    @ZfireField(sortNum = 3)
    @ApiModelProperty(value = "网点名称")
    private String websitName;

    @ZfireField(sortNum = 4, isShow = false)
    @ApiModelProperty(value = "增值服务售卖网点")
    private String pgIncreWebsitName;
    @ZfireField(sortNum = 4, isShow = false)
    @ApiModelProperty("结算费用")
    private BigDecimal settleServiceAmount;

    @ZfireField(sortNum = 5)
    @ApiModelProperty(value = "工单单号")
    private String id;
    @ZfireField(sortNum = 5)
    @ApiModelProperty(value = "工单状态")
    private OrderBaseStatusEnum orderStatus;
    @ZfireField(sortNum = 5)
    @ApiModelProperty(value = "工单类型")
    private String orderSmallTypeText;
    @ZfireField(sortNum = 6)
    @ApiModelProperty(value = "工单来源")
    private String source;
    
    @ZfireField(sortNum = 6)
    @ApiModelProperty(value = "销售类型")
    private String orderChannelText;

    @ZfireField(sortNum = 7)
    @ApiModelProperty(value = "销售类型")
    private SaleTypeEnum saleType;

    @ZfireField(sortNum = 7)
    @ApiModelProperty(value = "销售单位")
    private String saleCompany;
    @ZfireField(sortNum = 8)
    @ApiModelProperty(value = "总数量")
    private Integer totalNum;
    @ZfireField(sortNum = 9)
    @ApiModelProperty(value = "预约上门日期")
    private Date appointmentTime;
    @ZfireField(sortNum = 10)
    @ApiModelProperty(value = "客户名称")
    private String userName;
    @ZfireField(sortNum = 11)
    @ApiModelProperty(value = "客户电话")
    private String userMobile;
    @ZfireField(sortNum = 12)
    @ApiModelProperty(value = "客户电话2")
    private String userMobile2;
    @ZfireField(sortNum = 13)
    @ApiModelProperty(value = "详细地址")
    private String address;
    @ZfireField(sortNum = 14)
    @ApiModelProperty(value = "工程师名称")
    private String workerName;
    @ZfireField(sortNum = 15)
    @ApiModelProperty(value = "工程师电话")
    private String workerMobile;
    @ZfireField(sortNum = 16)
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    @ZfireField(sortNum = 17)
    @ApiModelProperty(value = "最近一次预约/改约时间")
    private Date lastOperatorAppointmentTime;
    @ZfireField(sortNum = 18)
    @ApiModelProperty(value = "派网点时间")
    private Date dispatchWebsitTime;

    @ZfireField(sortNum = 19)
    @ApiModelProperty("工程师报完工时间")
    private Date overTime;
    @ZfireField(sortNum = 20)
    @ApiModelProperty("网点报完工时间")
    private Date websitOverTime;

    @ZfireField(sortNum = 21)
    @ApiModelProperty("销售订单号")
    private String saleOrderId;



    @ZfireField(sortNum = 27)
    @ApiModelProperty("工程编号")
    private String projectNo;
    @ZfireField(sortNum = 28)
    @ApiModelProperty("工程名称")
    private String projectName;

    @ZfireField(sortNum = 29)
    @ApiModelProperty("备注")
    private String remark;



    @ZfireField(hide = true)
    @ApiModelProperty(value = "服务单类型")
    private String orderType;

    @ApiModelProperty(value = "增置服务订单ID")
    @ZfireField(isShow = false,isQuery = true)
    private String pgIncreOrderId;

    @ApiModelProperty(value = "维保配置ID")
    @ZfireField(isShow = false,isQuery = true)
    private String rpProjectRepairId;

    @ApiModelProperty(value = "创建网点编号")
    private String createWebsitId;


    @ApiModelProperty("创建网点")
    private String createWebsitName;

    @ZfireField(isQuery = false,ignoreSelect = true)
    @ApiModelProperty("电子支付费用")
    private BigDecimal workerPrice;


    @ApiModelProperty(value = "服务状态")
    private String serviceStatus;

    @ApiModelProperty(value = "投诉等级")
    private String complaint;

    @ApiModelProperty(value = "紧急程度")
    private String urgent;

    @ApiModelProperty(value = "评价结果")
    private String evaluate;

    @ApiModelProperty(value = "销售平台")
    private String salesPlatform;

    @ApiModelProperty(value = "所属销司")
    private String buyName;

 /*   @ApiModelProperty(value = "销售类型")
    private String salesTypeName;*/

    @ApiModelProperty(value = "要求状态")
    private String reqStatus;

    @ApiModelProperty(value = "要求类型")
    private String reqType;

    @ApiModelProperty(value = "要求内容")
    private String reqText;

    @ApiModelProperty(value = "服务单号")
    private String serviceOrderId;

    @ApiModelProperty(value = "销售单号")
    private String salesOrderId;

    @ApiModelProperty(value = "管理组织")
    private String managerName;

    @ApiModelProperty(value = "运营主体")
    private String operateEntity;


    @ApiModelProperty(value = "销售网点编号")
    private String salesWebsitNumber;

    @ApiModelProperty(value = "销售网点名称")
    private String salesWebsit;


    @ApiModelProperty(value = "评价标签")
    private String appraiseLabel;


    @ZfireField(hide = true)
    @ApiModelProperty(value = "是否是工单3.0同步true/false")
    private Boolean isThreeOrder;


    @ApiModelProperty(value = "故障类型")
    private String troubleValue;

    @ApiModelProperty(value = "需求类别")
    private String type;

    @ApiModelProperty(value = "需求小类")
    private String smallType;

    @ApiModelProperty(value = "评价时间")
    private Date appraiseTime;


}
