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.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;

import javax.persistence.*;
import java.util.Date;

@Table(name = "fenghuang_manager_data")
public class ManagerData {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;

    /**
     * 区域代码
     */
    @Column(name = "organ_code")
    private String organCode;

    /**
     * 区域名
     */
    @Column(name = "organ_name")
    private String organName;

    @Column(name = "comm_id")
    private String commId;

    @Column(name = "comm_name")
    private String commName;

    @Column(name = "manager_name")
    private String managerName;

    /**
     * 号码存储率
     */
    @Column(name = "phone_percentage")
    private Double phonePercentage;

    /**
     * 微信添加率
     */
    @Column(name = "wechat_percentage")
    private Double wechatPercentage;

    @Column(name = "wechat_cover_percentage")
    private Double wechatCoverPercentage;

    /**
     * 业户识别率
     */
    @Column(name = "recognition_percentage")
    private Double recognitionPercentage;

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

    /**
     * 受理快速处理
     */
    @Column(name = "received_quick_events")
    private Long receivedQuickEvents;

    /**
     * 受理报事报修
     */
    @Column(name = "received_repair_events")
    private Long receivedRepairEvents;

    /**
     * 受理业户投诉
     */
    @Column(name = "received_complaint_events")
    private Long receivedComplaintEvents;

    /**
     * 解决快速处理
     */
    @Column(name = "solved_quick_events")
    private Long solvedQuickEvents;

    /**
     * 解决报事报修
     */
    @Column(name = "solved_repair_events")
    private Long solvedRepairEvents;

    /**
     * 解决业户投诉
     */
    @Column(name = "solved_complaint_events")
    private Long solvedComplaintEvents;

    /**
     * 用户诉求接收数量
     */
    @Column(name = "request_received")
    private Long requestReceived;

    /**
     * 用户诉求解决数
     */
    @Column(name = "request_solved")
    private Long requestSolved;

    /**
     * 微信表扬
     */
    @Column(name = "wechat_praise")
    private Long wechatPraise;

    /**
     * 表扬信
     */
    @Column(name = "letter_praise")
    private Long letterPraise;

    /**
     * 锦旗数
     */
    @Column(name = "banner_num")
    private Long bannerNum;

    /**
     * 其他途径表扬
     */
    @Column(name = "other_praise")
    private Long otherPraise;

    /**
     * 微信推送
     */
    @Column(name = "wechat_subscription")
    private Long wechatSubscription;

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

    /**
     * 开始日期
     */
    @JsonSerialize(using = DateSerializer.class)
    @JsonDeserialize(using = DateDeserializer.class)
    @Column(name = "begin_date")
    private Date beginDate;

    /**
     * 结束日期
     */
    @JsonSerialize(using = DateSerializer.class)
    @JsonDeserialize(using = DateDeserializer.class)
    @Column(name = "end_date")
    private Date endDate;

    @JsonSerialize(using = DateTimeSerializer.class)
    @JsonDeserialize(using = DateTimeDeserializer.class)
    @Column(name = "created_date")
    private Date createdDate;

    @Column(name = "created_by")
    private String createdBy;

    @JsonSerialize(using = DateTimeSerializer.class)
    @JsonDeserialize(using = DateTimeDeserializer.class)
    @Column(name = "updated_date")
    private Date updatedDate;

    @Column(name = "updated_by")
    private String updatedBy;

    @Transient
    private String dateRang;

    /**
     * 管家所辖户数
     */
    private Long customres;

    /**
     * 信微添加户数
     */
    @Column(name="wechat_customers")
    private Long wechatCustomers;

    /**
     * 微信添加量
     */
    @Column(name = "added_wechat")
    private Long addedWechat;

    /**"
     * 使用JSON存储附件路径
     */
    private String files;
    
    /**"
     * 收缴率目标值
     */
    @Column(name = "collectionRateTarget")
    private Double collectionRateTarget;
    
    /**"
     * 收缴率
     */
    @Column(name = "collectionRate")
    private Double collectionRate;
    
    /**"
     * 完成率
     */
    @Column(name = "completionRate")
    private Double completionRate;
    
    /**"
     * 团购业务
     */
    @Column(name = "groupBusiness")
    private Double groupBusiness;
    
    /**"
     *车位销售
     */
    @Column(name = "parkingSale")
    private Double parkingSale;
    
    /**"
     *房屋中介
     */
    @Column(name = "houseAgency")
    private Double houseAgency;
    /**"
     *用户编号
     */
    @Column(name = "user_id")
    private String userId;
    /**"
     *数据来源
     */
    @Column(name = "source")
    private Integer source;

    public String getFiles() {
        return files;
    }

    public void setFiles(String files) {
        this.files = files;
    }

    public Long getCustomres() {
        return customres;
    }

    public void setCustomres(Long customres) {
        this.customres = customres;
    }

    public Long getWechatCustomers() {
        return wechatCustomers;
    }

    public void setWechatCustomers(Long wechatCustomers) {
        this.wechatCustomers = wechatCustomers;
    }

    public Long getAddedWechat() {
        return addedWechat;
    }

    public void setAddedWechat(Long addedWechat) {
        this.addedWechat = addedWechat;
    }

    public String getDateRang() {
        return dateRang;
    }

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

    /**
     * @return id
     */
    public Integer getId() {
        return id;
    }

    /**
     * @param id
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 获取区域代码
     *
     * @return organ_code - 区域代码
     */
    public String getOrganCode() {
        return organCode;
    }

    /**
     * 设置区域代码
     *
     * @param organCode 区域代码
     */
    public void setOrganCode(String organCode) {
        this.organCode = organCode == null ? null : organCode.trim();
    }

    /**
     * 获取区域名
     *
     * @return organ_name - 区域名
     */
    public String getOrganName() {
        return organName;
    }

    /**
     * 设置区域名
     *
     * @param organName 区域名
     */
    public void setOrganName(String organName) {
        this.organName = organName == null ? null : organName.trim();
    }

    /**
     * @return comm_id
     */
    public String getCommId() {
        return commId;
    }

    /**
     * @param commId
     */
    public void setCommId(String commId) {
        this.commId = commId == null ? null : commId.trim();
    }

    /**
     * @return comm_name
     */
    public String getCommName() {
        return commName;
    }

    /**
     * @param commName
     */
    public void setCommName(String commName) {
        this.commName = commName == null ? null : commName.trim();
    }

    /**
     * @return manager_name
     */
    public String getManagerName() {
        return managerName;
    }

    /**
     * @param managerName
     */
    public void setManagerName(String managerName) {
        this.managerName = managerName == null ? null : managerName.trim();
    }

    /**
     * 获取号码存储率
     *
     * @return phone_percentage - 号码存储率
     */
    public Double getPhonePercentage() {
        return phonePercentage;
    }

    /**
     * 设置号码存储率
     *
     * @param phonePercentage 号码存储率
     */
    public void setPhonePercentage(Double phonePercentage) {
        this.phonePercentage = phonePercentage;
    }

    /**
     * 获取微信添加率
     *
     * @return wechat_percentage - 微信添加率
     */
    public Double getWechatPercentage() {
        return wechatPercentage;
    }

    /**
     * 设置微信添加率
     *
     * @param wechatPercentage 微信添加率
     */
    public void setWechatPercentage(Double wechatPercentage) {
        this.wechatPercentage = wechatPercentage;
    }

    /**
     * 获取业户识别率
     *
     * @return recognition_percentage - 业户识别率
     */
    public Double getRecognitionPercentage() {
        return recognitionPercentage;
    }

    /**
     * 设置业户识别率
     *
     * @param recognitionPercentage 业户识别率
     */
    public void setRecognitionPercentage(Double recognitionPercentage) {
        this.recognitionPercentage = recognitionPercentage;
    }

    /**
     * 获取业户满意率
     *
     * @return satisfaction - 业户满意率
     */
    public Double getSatisfaction() {
        return satisfaction;
    }

    /**
     * 设置业户满意率
     *
     * @param satisfaction 业户满意率
     */
    public void setSatisfaction(Double satisfaction) {
        this.satisfaction = satisfaction;
    }

    /**
     * 获取受理快速处理
     *
     * @return received_quick_events - 受理快速处理
     */
    public Long getReceivedQuickEvents() {
        return receivedQuickEvents;
    }

    /**
     * 设置受理快速处理
     *
     * @param receivedQuickEvents 受理快速处理
     */
    public void setReceivedQuickEvents(Long receivedQuickEvents) {
        this.receivedQuickEvents = receivedQuickEvents;
    }

    /**
     * 获取受理报事报修
     *
     * @return received_repair_events - 受理报事报修
     */
    public Long getReceivedRepairEvents() {
        return receivedRepairEvents;
    }

    /**
     * 设置受理报事报修
     *
     * @param receivedRepairEvents 受理报事报修
     */
    public void setReceivedRepairEvents(Long receivedRepairEvents) {
        this.receivedRepairEvents = receivedRepairEvents;
    }

    /**
     * 获取受理业户投诉
     *
     * @return received_complaint_events - 受理业户投诉
     */
    public Long getReceivedComplaintEvents() {
        return receivedComplaintEvents;
    }

    /**
     * 设置受理业户投诉
     *
     * @param receivedComplaintEvents 受理业户投诉
     */
    public void setReceivedComplaintEvents(Long receivedComplaintEvents) {
        this.receivedComplaintEvents = receivedComplaintEvents;
    }

    /**
     * 获取解决快速处理
     *
     * @return solved_quick_events - 解决快速处理
     */
    public Long getSolvedQuickEvents() {
        return solvedQuickEvents;
    }

    /**
     * 设置解决快速处理
     *
     * @param solvedQuickEvents 解决快速处理
     */
    public void setSolvedQuickEvents(Long solvedQuickEvents) {
        this.solvedQuickEvents = solvedQuickEvents;
    }

    /**
     * 获取解决报事报修
     *
     * @return solved_repair_events - 解决报事报修
     */
    public Long getSolvedRepairEvents() {
        return solvedRepairEvents;
    }

    /**
     * 设置解决报事报修
     *
     * @param solvedRepairEvents 解决报事报修
     */
    public void setSolvedRepairEvents(Long solvedRepairEvents) {
        this.solvedRepairEvents = solvedRepairEvents;
    }

    /**
     * 获取解决业户投诉
     *
     * @return solved__complaint_events - 解决业户投诉
     */
    public Long getSolvedComplaintEvents() {
        return solvedComplaintEvents;
    }

    /**
     * 设置解决业户投诉
     *
     * @param solvedComplaintEvents 解决业户投诉
     */
    public void setSolvedComplaintEvents(Long solvedComplaintEvents) {
        this.solvedComplaintEvents = solvedComplaintEvents;
    }

    /**
     * 获取用户诉求接收数量
     *
     * @return request_received - 用户诉求接收数量
     */
    public Long getRequestReceived() {
        return requestReceived;
    }

    /**
     * 设置用户诉求接收数量
     *
     * @param requestReceived 用户诉求接收数量
     */
    public void setRequestReceived(Long requestReceived) {
        this.requestReceived = requestReceived;
    }

    /**
     * 获取用户诉求解决数
     *
     * @return request_solved - 用户诉求解决数
     */
    public Long getRequestSolved() {
        return requestSolved;
    }

    /**
     * 设置用户诉求解决数
     *
     * @param requestSolved 用户诉求解决数
     */
    public void setRequestSolved(Long requestSolved) {
        this.requestSolved = requestSolved;
    }

    /**
     * 获取微信表扬
     *
     * @return wechat_praise - 微信表扬
     */
    public Long getWechatPraise() {
        return wechatPraise;
    }

    /**
     * 设置微信表扬
     *
     * @param wechatPraise 微信表扬
     */
    public void setWechatPraise(Long wechatPraise) {
        this.wechatPraise = wechatPraise;
    }

    /**
     * 获取表扬信
     *
     * @return letter_praise - 表扬信
     */
    public Long getLetterPraise() {
        return letterPraise;
    }

    /**
     * 设置表扬信
     *
     * @param letterPraise 表扬信
     */
    public void setLetterPraise(Long letterPraise) {
        this.letterPraise = letterPraise;
    }

    /**
     * 获取锦旗数
     *
     * @return banner_num - 锦旗数
     */
    public Long getBannerNum() {
        return bannerNum;
    }

    /**
     * 设置锦旗数
     *
     * @param bannerNum 锦旗数
     */
    public void setBannerNum(Long bannerNum) {
        this.bannerNum = bannerNum;
    }

    /**
     * 获取其他途径表扬
     *
     * @return other_praise - 其他途径表扬
     */
    public Long getOtherPraise() {
        return otherPraise;
    }

    /**
     * 设置其他途径表扬
     *
     * @param otherPraise 其他途径表扬
     */
    public void setOtherPraise(Long otherPraise) {
        this.otherPraise = otherPraise;
    }

    /**
     * 获取微信推送
     *
     * @return wechat_subscription - 微信推送
     */
    public Long getWechatSubscription() {
        return wechatSubscription;
    }

    /**
     * 设置微信推送
     *
     * @param wechatSubscription 微信推送
     */
    public void setWechatSubscription(Long wechatSubscription) {
        this.wechatSubscription = wechatSubscription;
    }

    /**
     * 获取状态（unfill 未上报,completed已完成）
     *
     * @return status - 状态（unfill 未上报,completed已完成）
     */
    public String getStatus() {
        return status;
    }

    /**
     * 设置状态（unfill 未上报,completed已完成）
     *
     * @param status 状态（unfill 未上报,completed已完成）
     */
    public void setStatus(String status) {
        this.status = status == null ? null : status.trim();
    }

    /**
     * 获取开始日期（周一）
     *
     * @return begin_date - 开始日期（周一）
     */
    public Date getBeginDate() {
        return beginDate;
    }

    /**
     * 设置开始日期（周一）
     *
     * @param beginDate 开始日期（周一）
     */
    public void setBeginDate(Date beginDate) {
        this.beginDate = beginDate;
    }

    /**
     * 获取结束日期（周日）
     *
     * @return end_date - 结束日期（周日）
     */
    public Date getEndDate() {
        return endDate;
    }

    /**
     * 设置结束日期（周日）
     *
     * @param endDate 结束日期（周日）
     */
    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    /**
     * @return created_date
     */
    public Date getCreatedDate() {
        return createdDate;
    }

    /**
     * @param createdDate
     */
    public void setCreatedDate(Date createdDate) {
        this.createdDate = createdDate;
    }

    /**
     * @return created_by
     */
    public String getCreatedBy() {
        return createdBy;
    }

    /**
     * @param createdBy
     */
    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy == null ? null : createdBy.trim();
    }

    /**
     * @return updated_date
     */
    public Date getUpdatedDate() {
        return updatedDate;
    }

    /**
     * @param updatedDate
     */
    public void setUpdatedDate(Date updatedDate) {
        this.updatedDate = updatedDate;
    }

    /**
     * @return updated_by
     */
    public String getUpdatedBy() {
        return updatedBy;
    }

    /**
     * @param updatedBy
     */
    public void setUpdatedBy(String updatedBy) {
        this.updatedBy = updatedBy == null ? null : updatedBy.trim();
    }

    public Double getWechatCoverPercentage() {
        return wechatCoverPercentage;
    }

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

	public Double getCollectionRateTarget() {
		return collectionRateTarget;
	}

	public void setCollectionRateTarget(Double collectionRateTarget) {
		this.collectionRateTarget = collectionRateTarget;
	}

	public Double getCollectionRate() {
		return collectionRate;
	}

	public void setCollectionRate(Double collectionRate) {
		this.collectionRate = collectionRate;
	}

	public Double getCompletionRate() {
		return completionRate;
	}

	public void setCompletionRate(Double completionRate) {
		this.completionRate = completionRate;
	}

	public Double getGroupBusiness() {
		return groupBusiness;
	}

	public void setGroupBusiness(Double groupBusiness) {
		this.groupBusiness = groupBusiness;
	}

	public Double getParkingSale() {
		return parkingSale;
	}

	public void setParkingSale(Double parkingSale) {
		this.parkingSale = parkingSale;
	}

	public Double getHouseAgency() {
		return houseAgency;
	}

	public void setHouseAgency(Double houseAgency) {
		this.houseAgency = houseAgency;
	}

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public Integer getSource() {
        return source;
    }

    public void setSource(Integer source) {
        this.source = source;
    }
}