package cn.com.countrygarden.bi.main.model.dup;

import cn.com.countrygarden.bi.main.util.DateDeserializer;
import cn.com.countrygarden.bi.main.util.DateSerializer;
import cn.com.countrygarden.bi.main.util.DateTimeDeserializer;
import cn.com.countrygarden.bi.main.util.DateTimeSerializer;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;

import javax.persistence.Transient;
import java.io.Serializable;
import java.util.Date;

/**
 * Created by chenweijiang on 2017/9/12.
 */
public class BuoyQueryData implements Serializable{
    public BuoyQueryData() {
    }

    /**
     * 管家数据
     */
    private Long managerNum;

    private Double phonePercentage;

    /**
     * 微信添加率
     */

    private Double wechatPercentage;

    private Double wechatCoverPercentage;

    private Double managerRecognitionPercentage;

    /**
     * 业户识别率
     */
    private Double recognitionPercentage;

    /**
     * 业户满意率
     */
    private Double satisfaction;

    /**
     * 受理快速处理
     */
    private Long receivedQuickEvents;

    /**
     * 受理报事报修
     */
    private Long receivedRepairEvents;

    /**
     * 受理业户投诉
     */
    private Long receivedComplaintEvents;

    /**
     * 解决快速处理
     */
    private Long solvedQuickEvents;

    /**
     * 解决报事报修
     */
    private Long solvedRepairEvents;

    /**
     * 解决业户投诉
     */
    private Long solvedComplaintEvents;

    /**
     * 用户诉求接收数量
     */
    private Long requestReceived;

    /**
     * 用户诉求解决数
     */
    private Long requestSolved;

    /**
     * 微信表扬
     */
    private Long wechatPraise;

    /**
     * 表扬信
     */
    private Long letterPraise;

    /**
     * 锦旗数
     */
    private Long bannerNum;

    /**
     * 其他途径表扬
     */
    private Long otherPraise;

    /**
     * 微信推送
     */
    private Long wechatSubscription;

    /**
     * （解决快速处理+解决快事报修+解决业户投诉）/诉求总量
     */
    private Double solvedPercentage;

    private Integer id;

    /**
     * 区域代码
     */

    private String organCode;

    /**
     * 区域名
     */

    private String organName;

    /**
     * 项目ID
     */

    private String commId;

    /**
     * 项目名
     */

    private String commName;


    private Long visitorNum;


    /**
     * 传统通传放行
     */

    private Long traditionVisitors;

    /**
     * 管家提前预约
     */

    private Long appointmentVisitors;

    /**
     * 智能化终端
     */

    private Long appointmentByDevice;

    /**
     * 其他方式门岗
     */

    private Long otherVisitors;

    /**
     * 业户拜访量
     */

    private Long visitCustomerNum;

    /**
     * 回访满意度
     */

    private Double visitSatisfaction;

    @Transient
    private String dateRang;

    /**
     * 状态（unfill 未上报,completed已完成）
     */
    private String status;

    /**
     * 开始日期（周一）
     */
    @JsonSerialize(using = DateSerializer.class)
    @JsonDeserialize(using = DateDeserializer.class)
    private Date beginDate;

    /**
     * 结束日期（周日）
     */

    @JsonSerialize(using = DateSerializer.class)
    @JsonDeserialize(using = DateDeserializer.class)
    private Date endDate;

    @JsonSerialize(using = DateTimeSerializer.class)
    @JsonDeserialize(using = DateTimeDeserializer.class)
    private Date createdDate;

    private String createdBy;

    @JsonSerialize(using = DateTimeSerializer.class)
    @JsonDeserialize(using = DateTimeDeserializer.class)
    private Date updatedDate;

    private String updatedBy;

    public Double getManagerRecognitionPercentage() {
        return managerRecognitionPercentage;
    }

    public void setManagerRecognitionPercentage(Double managerRecognitionPercentage) {
        this.managerRecognitionPercentage = managerRecognitionPercentage;
    }

    public Long getManagerNum() {
        return managerNum;
    }

    public void setManagerNum(Long managerNum) {
        this.managerNum = managerNum;
    }

    public Double getPhonePercentage() {
        return phonePercentage;
    }

    public void setPhonePercentage(Double phonePercentage) {
        this.phonePercentage = phonePercentage;
    }

    public Double getWechatPercentage() {
        return wechatPercentage;
    }

    public void setWechatPercentage(Double wechatPercentage) {
        this.wechatPercentage = wechatPercentage;
    }

    public Double getWechatCoverPercentage() {
        return wechatCoverPercentage;
    }

    public void setWechatCoverPercentage(Double wechatCoverPercentage) {
        this.wechatCoverPercentage = wechatCoverPercentage;
    }

    public Double getRecognitionPercentage() {
        return recognitionPercentage;
    }

    public void setRecognitionPercentage(Double recognitionPercentage) {
        this.recognitionPercentage = recognitionPercentage;
    }

    public Double getSatisfaction() {
        return satisfaction;
    }

    public void setSatisfaction(Double satisfaction) {
        this.satisfaction = satisfaction;
    }

    public Long getReceivedQuickEvents() {
        return receivedQuickEvents;
    }

    public void setReceivedQuickEvents(Long receivedQuickEvents) {
        this.receivedQuickEvents = receivedQuickEvents;
    }

    public Long getReceivedRepairEvents() {
        return receivedRepairEvents;
    }

    public void setReceivedRepairEvents(Long receivedRepairEvents) {
        this.receivedRepairEvents = receivedRepairEvents;
    }

    public Long getReceivedComplaintEvents() {
        return receivedComplaintEvents;
    }

    public void setReceivedComplaintEvents(Long receivedComplaintEvents) {
        this.receivedComplaintEvents = receivedComplaintEvents;
    }

    public Long getSolvedQuickEvents() {
        return solvedQuickEvents;
    }

    public void setSolvedQuickEvents(Long solvedQuickEvents) {
        this.solvedQuickEvents = solvedQuickEvents;
    }

    public Long getSolvedRepairEvents() {
        return solvedRepairEvents;
    }

    public void setSolvedRepairEvents(Long solvedRepairEvents) {
        this.solvedRepairEvents = solvedRepairEvents;
    }

    public Long getSolvedComplaintEvents() {
        return solvedComplaintEvents;
    }

    public void setSolvedComplaintEvents(Long solvedComplaintEvents) {
        this.solvedComplaintEvents = solvedComplaintEvents;
    }

    public Long getRequestReceived() {
        return requestReceived;
    }

    public void setRequestReceived(Long requestReceived) {
        this.requestReceived = requestReceived;
    }

    public Long getRequestSolved() {
        return requestSolved;
    }

    public void setRequestSolved(Long requestSolved) {
        this.requestSolved = requestSolved;
    }

    public Long getWechatPraise() {
        return wechatPraise;
    }

    public void setWechatPraise(Long wechatPraise) {
        this.wechatPraise = wechatPraise;
    }

    public Long getLetterPraise() {
        return letterPraise;
    }

    public void setLetterPraise(Long letterPraise) {
        this.letterPraise = letterPraise;
    }

    public Long getBannerNum() {
        return bannerNum;
    }

    public void setBannerNum(Long bannerNum) {
        this.bannerNum = bannerNum;
    }

    public Long getOtherPraise() {
        return otherPraise;
    }

    public void setOtherPraise(Long otherPraise) {
        this.otherPraise = otherPraise;
    }

    public Long getWechatSubscription() {
        return wechatSubscription;
    }

    public void setWechatSubscription(Long wechatSubscription) {
        this.wechatSubscription = wechatSubscription;
    }

    public Double getSolvedPercentage() {
        return solvedPercentage;
    }

    public void setSolvedPercentage(Double solvedPercentage) {
        this.solvedPercentage = solvedPercentage;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getOrganCode() {
        return organCode;
    }

    public void setOrganCode(String organCode) {
        this.organCode = organCode;
    }

    public String getOrganName() {
        return organName;
    }

    public void setOrganName(String organName) {
        this.organName = organName;
    }

    public String getCommId() {
        return commId;
    }

    public void setCommId(String commId) {
        this.commId = commId;
    }

    public String getCommName() {
        return commName;
    }

    public void setCommName(String commName) {
        this.commName = commName;
    }

    public Long getVisitorNum() {
        return visitorNum;
    }

    public void setVisitorNum(Long visitorNum) {
        this.visitorNum = visitorNum;
    }

    public Long getTraditionVisitors() {
        return traditionVisitors;
    }

    public void setTraditionVisitors(Long traditionVisitors) {
        this.traditionVisitors = traditionVisitors;
    }

    public Long getAppointmentVisitors() {
        return appointmentVisitors;
    }

    public void setAppointmentVisitors(Long appointmentVisitors) {
        this.appointmentVisitors = appointmentVisitors;
    }

    public Long getAppointmentByDevice() {
        return appointmentByDevice;
    }

    public void setAppointmentByDevice(Long appointmentByDevice) {
        this.appointmentByDevice = appointmentByDevice;
    }

    public Long getOtherVisitors() {
        return otherVisitors;
    }

    public void setOtherVisitors(Long otherVisitors) {
        this.otherVisitors = otherVisitors;
    }

    public Long getVisitCustomerNum() {
        return visitCustomerNum;
    }

    public void setVisitCustomerNum(Long visitCustomerNum) {
        this.visitCustomerNum = visitCustomerNum;
    }

    public Double getVisitSatisfaction() {
        return visitSatisfaction;
    }

    public void setVisitSatisfaction(Double visitSatisfaction) {
        this.visitSatisfaction = visitSatisfaction;
    }

    public String getDateRang() {
        return dateRang;
    }

    public void setDateRang(String dateRang) {
        this.dateRang = dateRang;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public Date getBeginDate() {
        return beginDate;
    }

    public void setBeginDate(Date beginDate) {
        this.beginDate = beginDate;
    }

    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public Date getCreatedDate() {
        return createdDate;
    }

    public void setCreatedDate(Date createdDate) {
        this.createdDate = createdDate;
    }

    public String getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    public Date getUpdatedDate() {
        return updatedDate;
    }

    public void setUpdatedDate(Date updatedDate) {
        this.updatedDate = updatedDate;
    }

    public String getUpdatedBy() {
        return updatedBy;
    }

    public void setUpdatedBy(String updatedBy) {
        this.updatedBy = updatedBy;
    }
}
