/*
 * @Author: Kane
 * @Date: 2023-10-10 14:50:55
 * @LastEditors: Kane
 * @FilePath: /desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/pojo/BIDepartmentAttachingRateRecord.java
 * @Description: 
 * 
 * Copyright (c) ${2023} by Kane, All Rights Reserved. 
 */
package com.cpic.xim.mybatis.pojo;

public class BIDepartmentAttachingRateRecord
{
    // 部门
    private String departmentName;
    // 目标值-机构
    private double departmentObject;
    // 目标差距
    private double objectGap;
    // 车险保费(万)
    private double motoPremium;
    // 车险保费占比
    private double motoPremiumProPortion;
    // 非车保费(万)
    private double nomotoPremium;
    // 当月保费渗透率
    private double attachingRate;
    // 保费渗透率环比上月
    private double attachingRateChange;
    // 车险客户数
    private int motoInsuranceCustomerCount;
    // 当月客户渗透率
    private double customerHandleRate;

    // 客户渗透率环比上月
    private double customerHandleRateChange;

    // 当月车非客均保费
    private double premiumPerCustomer;

    // 客均保费环比上月
    private double premiumPerCustomerChange;

    public BIDepartmentAttachingRateRecord( String departmentName, double departmentObject,
            double objectGap, double motoPremium, double motoPremiumProPortion,
            double nomotoPremium, double attachingRate, double attachingRateChange,
            int motoInsuranceCustomerCount, double customerHandleRate,
            double customerHandleRateChange, double premiumPerCustomer,
            double premiumPerCustomerChange )
    {
        this.departmentName = departmentName;
        this.departmentObject = departmentObject;
        this.objectGap = objectGap;
        this.motoPremium = motoPremium;
        this.motoPremiumProPortion = motoPremiumProPortion;
        this.nomotoPremium = nomotoPremium;
        this.attachingRate = attachingRate;
        this.attachingRateChange = attachingRateChange;
        this.motoInsuranceCustomerCount = motoInsuranceCustomerCount;
        this.customerHandleRate = customerHandleRate;
        this.customerHandleRateChange = customerHandleRateChange;
        this.premiumPerCustomer = premiumPerCustomer;
        this.premiumPerCustomerChange = premiumPerCustomerChange;
    }

    public int getMotoInsuranceCustomerCount()
    {
        return motoInsuranceCustomerCount;
    }

    public void setMotoInsuranceCustomerCount( int motoInsuranceCustomerCount )
    {
        this.motoInsuranceCustomerCount = motoInsuranceCustomerCount;
    }

    @Override
    public String toString()
    {
        return "BIDepartmentAttachingRateRecord [departmentName=" + departmentName
                + ", departmentObject=" + departmentObject + ", objectGap=" + objectGap
                + ", motoPremium=" + motoPremium + ", motoPremiumProPortion="
                + motoPremiumProPortion + ", nomotoPremium=" + nomotoPremium + ", attachingRate="
                + attachingRate + ", attachingRateChange=" + attachingRateChange
                + ", motoInsuranceCustomerCount=" + motoInsuranceCustomerCount
                + ", customerHandleRate=" + customerHandleRate + ", customerHandleRateChange="
                + customerHandleRateChange + ", premiumPerCustomer=" + premiumPerCustomer
                + ", premiumPerCustomerChange=" + premiumPerCustomerChange + "]";
    }

    @Override
    public int hashCode()
    {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((departmentName == null) ? 0 : departmentName.hashCode());
        long temp;
        temp = Double.doubleToLongBits( departmentObject );
        result = prime * result + (int) (temp ^ (temp >>> 32));
        temp = Double.doubleToLongBits( objectGap );
        result = prime * result + (int) (temp ^ (temp >>> 32));
        temp = Double.doubleToLongBits( motoPremium );
        result = prime * result + (int) (temp ^ (temp >>> 32));
        temp = Double.doubleToLongBits( motoPremiumProPortion );
        result = prime * result + (int) (temp ^ (temp >>> 32));
        temp = Double.doubleToLongBits( nomotoPremium );
        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));
        result = prime * result + motoInsuranceCustomerCount;
        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( premiumPerCustomer );
        result = prime * result + (int) (temp ^ (temp >>> 32));
        temp = Double.doubleToLongBits( premiumPerCustomerChange );
        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;
        BIDepartmentAttachingRateRecord other = (BIDepartmentAttachingRateRecord) obj;
        if ( departmentName == null )
        {
            if ( other.departmentName != null )
                return false;
        }
        else if ( !departmentName.equals( other.departmentName ) )
            return false;
        if ( Double.doubleToLongBits( departmentObject ) != Double
                .doubleToLongBits( other.departmentObject ) )
            return false;
        if ( Double.doubleToLongBits( objectGap ) != Double.doubleToLongBits( other.objectGap ) )
            return false;
        if ( Double.doubleToLongBits( motoPremium ) != Double
                .doubleToLongBits( other.motoPremium ) )
            return false;
        if ( Double.doubleToLongBits( motoPremiumProPortion ) != Double
                .doubleToLongBits( other.motoPremiumProPortion ) )
            return false;
        if ( Double.doubleToLongBits( nomotoPremium ) != Double
                .doubleToLongBits( other.nomotoPremium ) )
            return false;
        if ( Double.doubleToLongBits( attachingRate ) != Double
                .doubleToLongBits( other.attachingRate ) )
            return false;
        if ( Double.doubleToLongBits( attachingRateChange ) != Double
                .doubleToLongBits( other.attachingRateChange ) )
            return false;
        if ( motoInsuranceCustomerCount != other.motoInsuranceCustomerCount )
            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( premiumPerCustomer ) != Double
                .doubleToLongBits( other.premiumPerCustomer ) )
            return false;
        if ( Double.doubleToLongBits( premiumPerCustomerChange ) != Double
                .doubleToLongBits( other.premiumPerCustomerChange ) )
            return false;
        return true;
    }

    public String getDepartmentName()
    {
        return departmentName;
    }

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

    public double getDepartmentObject()
    {
        return departmentObject;
    }

    public void setDepartmentObject( double departmentObject )
    {
        this.departmentObject = departmentObject;
    }

    public double getObjectGap()
    {
        return objectGap;
    }

    public void setObjectGap( double objectGap )
    {
        this.objectGap = objectGap;
    }

    public double getMotoPremium()
    {
        return motoPremium;
    }

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

    public double getMotoPremiumProPortion()
    {
        return motoPremiumProPortion;
    }

    public void setMotoPremiumProPortion( double motoPremiumProPortion )
    {
        this.motoPremiumProPortion = motoPremiumProPortion;
    }

    public double getNomotoPremium()
    {
        return nomotoPremium;
    }

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

    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 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 getPremiumPerCustomer()
    {
        return premiumPerCustomer;
    }

    public void setPremiumPerCustomer( double premiumPerCustomer )
    {
        this.premiumPerCustomer = premiumPerCustomer;
    }

    public double getPremiumPerCustomerChange()
    {
        return premiumPerCustomerChange;
    }

    public void setPremiumPerCustomerChange( double premiumPerCustomerChange )
    {
        this.premiumPerCustomerChange = premiumPerCustomerChange;
    }
}
