添加改变部门指标颜色的代码

This commit is contained in:
2023-12-18 16:03:19 +08:00
parent 372824ec50
commit f391880c9c
9 changed files with 629 additions and 187 deletions

View File

@@ -25,36 +25,6 @@ public class DepartmentArchievement
// log4j2
private static Logger logger = LoggerFactory.getLogger(DepartmentArchievement.class);
/**
* 默认的构造函数提供给json使用。
*/
public DepartmentArchievement()
{
this.totalArchievement = 0;
this.mensualArchievementList = null;
this.insuranceRenewalRate = "";
this.attachingRate = "";
this.departmentCode = "";
}
/**
* @brief 构造函数,提供所有成员对象的值。
* @param departmentCode 部门代码
* @param totalArchievement 总业绩
* @param mensualArchievementList 每月业绩表
* @param insuranceRenewalRate 续保率
* @param attachingRate 车非渗透率
*/
public DepartmentArchievement( String departmentCode, long totalArchievement,
ArrayList<MensualArchievementItem> mensualArchievementList, String insuranceRenewalRate, String attachingRate)
{
this.departmentCode = departmentCode;
this.totalArchievement = totalArchievement;
this.mensualArchievementList = mensualArchievementList;
this.insuranceRenewalRate = insuranceRenewalRate;
this.attachingRate = attachingRate;
}
/**
* 静态方法,用于根据部门代码,查询部门业绩,生成一个 DepartmentArchievement 对象。
* @param departmentCode 部门代码
@@ -82,15 +52,17 @@ public class DepartmentArchievement
Integer totalArchievement = (Integer)params.get("a_total");
String attachingRate = (String)params.get("a_attaching_rate");
String attachingRateTarget = (String)params.get("a_attaching_rate_target");
String renewalRate = (String)params.get("a_renewal_rate");
String renewalRateTarget = (String)params.get("a_renewal_rate_target");
ArrayList<MensualArchievementItem> mensual = (ArrayList<MensualArchievementItem>)params.get("a_mensual_cur");
archievement = new DepartmentArchievement(
departmentCode,
totalArchievement.intValue(),
mensual,
renewalRate,
attachingRate);
renewalRate, renewalRateTarget,
attachingRate, attachingRateTarget);
}
catch ( IOException error )
{
@@ -104,6 +76,67 @@ public class DepartmentArchievement
return archievement;
}
@JsonProperty( "department_code" )
private String departmentCode;
@JsonProperty( "total_archievement" )
private long totalArchievement; // 总业绩
// 每月业绩列表
// 要保证数据是按照月份排序。
@JsonProperty( "mensual_archievement_list" )
private ArrayList<MensualArchievementItem> mensualArchievementList;
@JsonProperty( "insurance_renewal_rate" )
private String insuranceRenewalRate; // 续保率
@JsonProperty( "insurance_renewal_rate_target" )
private String insuranceRenewalRateTarget; // 续保率目标值
@JsonProperty( "attaching_rate" )
private String attachingRate; // 车非渗透率
@JsonProperty( "attaching_rate_target" )
private String attachingRateTarget; // 车非渗透率目标值
/**
* 默认的构造函数提供给json使用。
*/
public DepartmentArchievement()
{
this.totalArchievement = 0;
this.mensualArchievementList = null;
this.insuranceRenewalRate = "";
this.attachingRate = "";
this.insuranceRenewalRateTarget = "";
this.attachingRateTarget = "";
this.departmentCode = "";
}
/**
* @brief 构造函数,提供所有成员对象的值。
* @param departmentCode 部门代码
* @param totalArchievement 总业绩
* @param mensualArchievementList 每月业绩表
* @param insuranceRenewalRate 续保率
* @param insuranceRenewalRateTarget 续保率目标值
* @param attachingRate 车非渗透率
* @param attachingRateTarget 车非渗透率目标值
*/
public DepartmentArchievement( String departmentCode, long totalArchievement,
ArrayList<MensualArchievementItem> mensualArchievementList, String insuranceRenewalRate,
String insuranceRenewalRateTarget, String attachingRate, String attachingRateTarget )
{
this.departmentCode = departmentCode;
this.totalArchievement = totalArchievement;
this.mensualArchievementList = mensualArchievementList;
this.insuranceRenewalRate = insuranceRenewalRate;
this.insuranceRenewalRateTarget = insuranceRenewalRateTarget;
this.attachingRate = attachingRate;
this.attachingRateTarget = attachingRateTarget;
}
public long getTotalArchievement()
{
return totalArchievement;
@@ -139,11 +172,117 @@ public class DepartmentArchievement
return attachingRate;
}
@Override
public String toString()
{
return "DepartmentArchievement [departmentCode=" + departmentCode + ", totalArchievement="
+ totalArchievement + ", mensualArchievementList=" + mensualArchievementList
+ ", insuranceRenewalRate=" + insuranceRenewalRate + ", insuranceRenewalRateTarget="
+ insuranceRenewalRateTarget + ", attachingRate=" + attachingRate
+ ", attachingRateTarget=" + attachingRateTarget + "]";
}
@Override
public int hashCode()
{
final int prime = 31;
int result = 1;
result = prime * result + ((departmentCode == null) ? 0 : departmentCode.hashCode());
result = prime * result + (int) (totalArchievement ^ (totalArchievement >>> 32));
result = prime * result
+ ((mensualArchievementList == null) ? 0 : mensualArchievementList.hashCode());
result = prime * result
+ ((insuranceRenewalRate == null) ? 0 : insuranceRenewalRate.hashCode());
result = prime * result + ((insuranceRenewalRateTarget == null) ? 0
: insuranceRenewalRateTarget.hashCode());
result = prime * result + ((attachingRate == null) ? 0 : attachingRate.hashCode());
result = prime * result
+ ((attachingRateTarget == null) ? 0 : attachingRateTarget.hashCode());
return result;
}
@Override
public boolean equals( Object obj )
{
if ( this == obj )
return true;
if ( obj == null )
return false;
if ( getClass() != obj.getClass() )
return false;
DepartmentArchievement other = (DepartmentArchievement) obj;
if ( departmentCode == null )
{
if ( other.departmentCode != null )
return false;
}
else if ( !departmentCode.equals( other.departmentCode ) )
return false;
if ( totalArchievement != other.totalArchievement )
return false;
if ( mensualArchievementList == null )
{
if ( other.mensualArchievementList != null )
return false;
}
else if ( !mensualArchievementList.equals( other.mensualArchievementList ) )
return false;
if ( insuranceRenewalRate == null )
{
if ( other.insuranceRenewalRate != null )
return false;
}
else if ( !insuranceRenewalRate.equals( other.insuranceRenewalRate ) )
return false;
if ( insuranceRenewalRateTarget == null )
{
if ( other.insuranceRenewalRateTarget != null )
return false;
}
else if ( !insuranceRenewalRateTarget.equals( other.insuranceRenewalRateTarget ) )
return false;
if ( attachingRate == null )
{
if ( other.attachingRate != null )
return false;
}
else if ( !attachingRate.equals( other.attachingRate ) )
return false;
if ( attachingRateTarget == null )
{
if ( other.attachingRateTarget != null )
return false;
}
else if ( !attachingRateTarget.equals( other.attachingRateTarget ) )
return false;
return true;
}
public void setAttachingRate( String attachingRate )
{
this.attachingRate = attachingRate;
}
public String getInsuranceRenewalRateTarget()
{
return insuranceRenewalRateTarget;
}
public void setInsuranceRenewalRateTarget( String insuranceRenewalRateTarget )
{
this.insuranceRenewalRateTarget = insuranceRenewalRateTarget;
}
public String getAttachingRateTarget()
{
return attachingRateTarget;
}
public void setAttachingRateTarget( String attachingRateTarget )
{
this.attachingRateTarget = attachingRateTarget;
}
public String getDepartmentCode()
{
return departmentCode;
@@ -153,21 +292,4 @@ public class DepartmentArchievement
{
this.departmentCode = departmentCode;
}
@JsonProperty( "department_code" )
private String departmentCode;
@JsonProperty( "total_archievement" )
private long totalArchievement; // 总业绩
// 每月业绩列表
// 要保证数据是按照月份排序。
@JsonProperty( "mensual_archievement_list" )
private ArrayList<MensualArchievementItem> mensualArchievementList;
@JsonProperty( "insurance_renewal_rate" )
private String insuranceRenewalRate; // 续保率
@JsonProperty( "attaching_rate" )
private String attachingRate; // 车非渗透率
}

View File

@@ -70,11 +70,10 @@ public class ArchievementQueryController
result.setTotalArchievement( departmentArch.getTotalArchievement() );
result.setInsuranceRenewalRate( departmentArch.getInsuranceRenewalRate() );
result.setInsuranceRenewalRateTarget( departmentArch.getInsuranceRenewalRateTarget() );
result.setAttachingRate( departmentArch.getAttachingRate() );
// result.addAdvanceRewardGainer( "沈群" );
// result.addLeadingRewardGainer( "王鸿津" );
// result.addLeadingRewardGainer( "林宗泽" );
// result.addBackwardStaff( "王炜" );
result.setAttachingRateTarget( departmentArch.getAttachingRateTarget() );
result.setMensualArchievementList( departmentArch.getMensualArchievementList() );
}
catch ( IOException error )

View File

@@ -7,7 +7,6 @@
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
*/
package com.cpic.xim.web.controllers.archievement.department;
import java.util.ArrayList;
@@ -23,6 +22,35 @@ import com.fasterxml.jackson.annotation.JsonProperty;
*/
public class DepartmentArchievementQueryResult extends QueryResponse
{
@JsonProperty( "total_archievement" )
private long totalArchievement; // 总业绩
// 每月业绩列表
// 要保证数据是按照月份排序。
@JsonProperty( "mensual_archievement_list" )
private ArrayList<MensualArchievementItem> mensualArchievementList;
@JsonProperty( "insurance_renewal_rate" )
private String insuranceRenewalRate; // 续保率
@JsonProperty( "insurance_renewal_rate_target" )
private String insuranceRenewalRateTarget; // 续保率目标值
@JsonProperty( "attaching_rate" )
private String attachingRate; // 车非渗透率
@JsonProperty( "attaching_rate_target" )
private String attachingRateTarget; // 车非渗透率目标值
@JsonProperty( "leading_reward_gainers" )
private Vector<String> leadingRewardGainers; // 领跑奖
@JsonProperty( "advance_reward_gainers" )
private Vector<String> advanceRewardGainers; // 飞跃奖
@JsonProperty( "backward_list" )
private Vector<String> backwardList; // 消七灭六坐席
public DepartmentArchievementQueryResult()
{
mensualArchievementList = new ArrayList<MensualArchievementItem>();
@@ -117,26 +145,129 @@ public class DepartmentArchievementQueryResult extends QueryResponse
this.backwardList = backwardList;
}
@JsonProperty( "total_archievement" )
private long totalArchievement; // 总业绩
public String getInsuranceRenewalRateTarget()
{
return insuranceRenewalRateTarget;
}
// 每月业绩列表
// 要保证数据是按照月份排序。
@JsonProperty( "mensual_archievement_list" )
private ArrayList<MensualArchievementItem> mensualArchievementList;
public void setInsuranceRenewalRateTarget( String insuranceRenewalRateTarget )
{
this.insuranceRenewalRateTarget = insuranceRenewalRateTarget;
}
@JsonProperty( "insurance_renewal_rate" )
private String insuranceRenewalRate; // 续保率
public String getAttachingRateTarget()
{
return attachingRateTarget;
}
@JsonProperty( "attaching_rate" )
private String attachingRate; // 车非渗透率
public void setAttachingRateTarget( String attachingRateTarget )
{
this.attachingRateTarget = attachingRateTarget;
}
@JsonProperty( "leading_reward_gainers" )
private Vector<String> leadingRewardGainers; // 领跑奖
@Override
public String toString()
{
return "DepartmentArchievementQueryResult [totalArchievement=" + totalArchievement
+ ", mensualArchievementList=" + mensualArchievementList + ", insuranceRenewalRate="
+ insuranceRenewalRate + ", insuranceRenewalRateTarget="
+ insuranceRenewalRateTarget + ", attachingRate=" + attachingRate
+ ", attachingRateTarget=" + attachingRateTarget + ", leadingRewardGainers="
+ leadingRewardGainers + ", advanceRewardGainers=" + advanceRewardGainers
+ ", backwardList=" + backwardList + "]";
}
@JsonProperty( "advance_reward_gainers" )
private Vector<String> advanceRewardGainers; // 飞跃奖
@Override
public int hashCode()
{
final int prime = 31;
int result = super.hashCode();
result = prime * result + (int) (totalArchievement ^ (totalArchievement >>> 32));
result = prime * result
+ ((mensualArchievementList == null) ? 0 : mensualArchievementList.hashCode());
result = prime * result
+ ((insuranceRenewalRate == null) ? 0 : insuranceRenewalRate.hashCode());
result = prime * result + ((insuranceRenewalRateTarget == null) ? 0
: insuranceRenewalRateTarget.hashCode());
result = prime * result + ((attachingRate == null) ? 0 : attachingRate.hashCode());
result = prime * result
+ ((attachingRateTarget == null) ? 0 : attachingRateTarget.hashCode());
result = prime * result
+ ((leadingRewardGainers == null) ? 0 : leadingRewardGainers.hashCode());
result = prime * result
+ ((advanceRewardGainers == null) ? 0 : advanceRewardGainers.hashCode());
result = prime * result + ((backwardList == null) ? 0 : backwardList.hashCode());
return result;
}
@JsonProperty( "backward_list" )
private Vector<String> backwardList; // 消七灭六坐席
@Override
public boolean equals( Object obj )
{
if ( this == obj )
return true;
if ( !super.equals( obj ) )
return false;
if ( getClass() != obj.getClass() )
return false;
DepartmentArchievementQueryResult other = (DepartmentArchievementQueryResult) obj;
if ( totalArchievement != other.totalArchievement )
return false;
if ( mensualArchievementList == null )
{
if ( other.mensualArchievementList != null )
return false;
}
else if ( !mensualArchievementList.equals( other.mensualArchievementList ) )
return false;
if ( insuranceRenewalRate == null )
{
if ( other.insuranceRenewalRate != null )
return false;
}
else if ( !insuranceRenewalRate.equals( other.insuranceRenewalRate ) )
return false;
if ( insuranceRenewalRateTarget == null )
{
if ( other.insuranceRenewalRateTarget != null )
return false;
}
else if ( !insuranceRenewalRateTarget.equals( other.insuranceRenewalRateTarget ) )
return false;
if ( attachingRate == null )
{
if ( other.attachingRate != null )
return false;
}
else if ( !attachingRate.equals( other.attachingRate ) )
return false;
if ( attachingRateTarget == null )
{
if ( other.attachingRateTarget != null )
return false;
}
else if ( !attachingRateTarget.equals( other.attachingRateTarget ) )
return false;
if ( leadingRewardGainers == null )
{
if ( other.leadingRewardGainers != null )
return false;
}
else if ( !leadingRewardGainers.equals( other.leadingRewardGainers ) )
return false;
if ( advanceRewardGainers == null )
{
if ( other.advanceRewardGainers != null )
return false;
}
else if ( !advanceRewardGainers.equals( other.advanceRewardGainers ) )
return false;
if ( backwardList == null )
{
if ( other.backwardList != null )
return false;
}
else if ( !backwardList.equals( other.backwardList ) )
return false;
return true;
}
}

View File

@@ -2,15 +2,17 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cpic.xim.mybatis.mapper.ArchievementMapper">
<select id="getDepartmentArchievement" useCache="false" flushCache="true" statementType="CALLABLE" parameterType="java.util.HashMap">
call telsale_archievement_pkg.department_archievement(
call telsale_archievement_dev_pkg.department_archievement(
#{a_department_code, mode=IN, jdbcType=VARCHAR},
#{a_attaching_rate, mode=OUT, jdbcType=VARCHAR},
#{a_attaching_rate_target, mode=OUT, jdbcType=VARCHAR},
#{a_renewal_rate, mode=OUT, jdbcType=VARCHAR},
#{a_renewal_rate_target, mode=OUT, jdbcType=VARCHAR},
#{a_total, mode=OUT, jdbcType=INTEGER, javaType=Integer},
#{a_mensual_cur, mode=OUT, jdbcType=CURSOR, resultMap=MensualArchievementMapper})
</select>
<select id="getCallerArchievement" useCache="false" flushCache="true" statementType="CALLABLE" parameterType="java.util.HashMap">
call telsale_archievement_pkg.caller_archievement(
call telsale_archievement_dev_pkg.caller_archievement(
#{a_caller_code, mode=IN, jdbcType=VARCHAR},
#{a_attaching_rate, mode=OUT, jdbcType=VARCHAR},
#{a_renewal_rate, mode=OUT, jdbcType=VARCHAR},