/*
 * @Author: Kane
 * @Date: 2023-10-08 14:45:13
 * @LastEditors: Kane
 * @FilePath: /desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/pojo/BITelsalerAttachingRateRecord.java
 * @Description: 用于存放BI导出每日电销坐席车险非车险保费和车非渗透率数据.
 * 
 * Copyright (c) ${2023} by Kane, All Rights Reserved. 
 */
package com.cpic.xim.mybatis.pojo;

import com.fasterxml.jackson.annotation.JsonProperty;

public class BITelsalerAttachingRateRecord
{
    // 部门
    @JsonProperty( "departmentName" )
    private String departmentName;

    // 坐席名称
    @JsonProperty( "telsalerName" )
    private String telsalerName;

    // 车险保费
    @JsonProperty( "motoPremium" )
    private double motoPremium;

    // 非车险保费
    @JsonProperty( "nomotoPremium" )
    private double nomotoPremium;

    // 车险保费占比
    @JsonProperty( "motoPremiumProportion" )
    private double motoPremiumProportion;

    // 渗透率
    @JsonProperty( "attachingRate" )
    private double attachingRate;

    // 渗透率环比上月
    @JsonProperty( "attachingRateChange" )
    private double attachingRateChange;

    // 当月客户渗透率
    @JsonProperty( "customerHandleRate" )
    private double customerHandleRate;

    // 客户渗透率环比上月
    @JsonProperty( "customerHandleRateChange" )
    private double customerHandleRateChange;

    // 当月车非客均保费
    @JsonProperty( "noMotoPremiumPerCustomer" )
    private double noMotoPremiumPerCustomer;

    // 客均保费环比上月
    @JsonProperty( "noMotoPremiumPerCustomerChange" )
    private double noMotoPremiumPerCustomerChange;

    public BITelsalerAttachingRateRecord( String departmentName,
            String telsalerName, double motoPremium, double nomotoPremium,
            double motoPremiumProportion, double attachingRate, double attachingRateChange,
            double customerHandleRate, double customerHandleRateChange,
            double noMotoPremiumPerCustomer, double noMotoPremiumPerCustomerChange )
    {
        this.departmentName = departmentName;
        this.telsalerName = telsalerName;
        this.motoPremium = motoPremium;
        this.nomotoPremium = nomotoPremium;
        this.motoPremiumProportion = motoPremiumProportion;
        this.attachingRate = attachingRate;
        this.attachingRateChange = attachingRateChange;
        this.customerHandleRate = customerHandleRate;
        this.customerHandleRateChange = customerHandleRateChange;
        this.noMotoPremiumPerCustomer = noMotoPremiumPerCustomer;
        this.noMotoPremiumPerCustomerChange = noMotoPremiumPerCustomerChange;
    }

    public BITelsalerAttachingRateRecord()
    {}

    public double getCustomerHandleRate()
    {
        return customerHandleRate;
    }

    public void setCustomerHandleRate( double customerHandleRate )
    {
        this.customerHandleRate = customerHandleRate;
    }

    public double getCustomerHandleRateChange()
    {
        return customerHandleRateChange;
    }

    public void setCustomerHandleRateChange( double customerHandleRateChange )
    {
        this.customerHandleRateChange = customerHandleRateChange;
    }

    public double getNoMotoPremiumPerCustomer()
    {
        return noMotoPremiumPerCustomer;
    }

    public void setNoMotoPremiumPerCustomer( double noMotoPremiumPerCustomer )
    {
        this.noMotoPremiumPerCustomer = noMotoPremiumPerCustomer;
    }

    public double getNoMotoPremiumPerCustomerChange()
    {
        return noMotoPremiumPerCustomerChange;
    }

    public void setNoMotoPremiumPerCustomerChange( double noMotoPremiumPerCustomerChange )
    {
        this.noMotoPremiumPerCustomerChange = noMotoPremiumPerCustomerChange;
    }

    @Override
    public String toString()
    {
        return "BITelsalerAttachingRateRecord [departmentName=" + departmentName + ", summaryDate="
                + ", telsalerName=" + telsalerName + ", motoPremium=" + motoPremium
                + ", nomotoPremium=" + nomotoPremium + ", motoPremiumProportion="
                + motoPremiumProportion + ", attachingRate=" + attachingRate
                + ", attachingRateChange=" + attachingRateChange + ", customerHandleRate="
                + customerHandleRate + ", customerHandleRateChange=" + customerHandleRateChange
                + ", noMotoPremiumPerCustomer=" + noMotoPremiumPerCustomer
                + ", noMotoPremiumPerCustomerChange=" + noMotoPremiumPerCustomerChange + "]";
    }

    @Override
    public int hashCode()
    {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((departmentName == null) ? 0 : departmentName.hashCode());
        result = prime * result + ((telsalerName == null) ? 0 : telsalerName.hashCode());
        long temp;
        temp = Double.doubleToLongBits( motoPremium );
        result = prime * result + (int) (temp ^ (temp >>> 32));
        temp = Double.doubleToLongBits( nomotoPremium );
        result = prime * result + (int) (temp ^ (temp >>> 32));
        temp = Double.doubleToLongBits( motoPremiumProportion );
        result = prime * result + (int) (temp ^ (temp >>> 32));
        temp = Double.doubleToLongBits( attachingRate );
        result = prime * result + (int) (temp ^ (temp >>> 32));
        temp = Double.doubleToLongBits( attachingRateChange );
        result = prime * result + (int) (temp ^ (temp >>> 32));
        temp = Double.doubleToLongBits( customerHandleRate );
        result = prime * result + (int) (temp ^ (temp >>> 32));
        temp = Double.doubleToLongBits( customerHandleRateChange );
        result = prime * result + (int) (temp ^ (temp >>> 32));
        temp = Double.doubleToLongBits( noMotoPremiumPerCustomer );
        result = prime * result + (int) (temp ^ (temp >>> 32));
        temp = Double.doubleToLongBits( noMotoPremiumPerCustomerChange );
        result = prime * result + (int) (temp ^ (temp >>> 32));
        return result;
    }

    @Override
    public boolean equals( Object obj )
    {
        if ( this == obj )
            return true;
        if ( obj == null )
            return false;
        if ( getClass() != obj.getClass() )
            return false;
        BITelsalerAttachingRateRecord other = (BITelsalerAttachingRateRecord) obj;
        if ( departmentName == null )
        {
            if ( other.departmentName != null )
                return false;
        }
        else if ( !departmentName.equals( other.departmentName ) )
            return false;
        if ( telsalerName == null )
        {
            if ( other.telsalerName != null )
                return false;
        }
        else if ( !telsalerName.equals( other.telsalerName ) )
            return false;
        if ( Double.doubleToLongBits( motoPremium ) != Double
                .doubleToLongBits( other.motoPremium ) )
            return false;
        if ( Double.doubleToLongBits( nomotoPremium ) != Double
                .doubleToLongBits( other.nomotoPremium ) )
            return false;
        if ( Double.doubleToLongBits( motoPremiumProportion ) != Double
                .doubleToLongBits( other.motoPremiumProportion ) )
            return false;
        if ( Double.doubleToLongBits( attachingRate ) != Double
                .doubleToLongBits( other.attachingRate ) )
            return false;
        if ( Double.doubleToLongBits( attachingRateChange ) != Double
                .doubleToLongBits( other.attachingRateChange ) )
            return false;
        if ( Double.doubleToLongBits( customerHandleRate ) != Double
                .doubleToLongBits( other.customerHandleRate ) )
            return false;
        if ( Double.doubleToLongBits( customerHandleRateChange ) != Double
                .doubleToLongBits( other.customerHandleRateChange ) )
            return false;
        if ( Double.doubleToLongBits( noMotoPremiumPerCustomer ) != Double
                .doubleToLongBits( other.noMotoPremiumPerCustomer ) )
            return false;
        if ( Double.doubleToLongBits( noMotoPremiumPerCustomerChange ) != Double
                .doubleToLongBits( other.noMotoPremiumPerCustomerChange ) )
            return false;
        return true;
    }

    public String getTelsalerName()
    {
        return telsalerName;
    }

    public void setTelsalerName( String telsalerName )
    {
        this.telsalerName = telsalerName;
    }

    public double getMotoPremium()
    {
        return motoPremium;
    }

    public void setMotoPremium( double motoPremium )
    {
        this.motoPremium = motoPremium;
    }

    public double getNomotoPremium()
    {
        return nomotoPremium;
    }

    public void setNomotoPremium( double nomotoPremium )
    {
        this.nomotoPremium = nomotoPremium;
    }

    public double getMotoPremiumProportion()
    {
        return motoPremiumProportion;
    }

    public void setMotoPremiumProportion( double motoPremiumProportion )
    {
        this.motoPremiumProportion = motoPremiumProportion;
    }

    public double getAttachingRate()
    {
        return attachingRate;
    }

    public void setAttachingRate( double attachingRate )
    {
        this.attachingRate = attachingRate;
    }

    public double getAttachingRateChange()
    {
        return attachingRateChange;
    }

    public void setAttachingRateChange( double attachingRateChange )
    {
        this.attachingRateChange = attachingRateChange;
    }

    public String getDepartmentName()
    {
        return departmentName;
    }

    public void setDepartmentName( String departmentName )
    {
        this.departmentName = departmentName;
    }
}
