完成坐席业绩查询代码
This commit is contained in:
parent
83be988941
commit
42c2e8bdf7
@ -194,7 +194,7 @@ CREATE OR REPLACE PACKAGE BODY TELSALE_ARCHIEVEMENT_PKG IS
|
||||
--每月业绩
|
||||
OPEN A_MENSUAL_CUR FOR
|
||||
SELECT CF.月份 MM,
|
||||
ROUND(NVL(SUM(CF.车险个人客户保费 + CF.车非融合保费) / 10000,
|
||||
ROUND(NVL(SUM(CF.车险个人客户保费 + CF.车非融合保费),
|
||||
0),
|
||||
0) BF
|
||||
FROM 坐席车非每日保费 CF
|
||||
|
@ -25,5 +25,163 @@ public class CallerArchievement
|
||||
{
|
||||
private static Logger logger = LoggerFactory.getLogger( CallerArchievement.class );
|
||||
|
||||
|
||||
/**
|
||||
* 构造函数
|
||||
* @param callerCode
|
||||
* @param totalArchievement
|
||||
* @param mensualArchievementList
|
||||
* @param insuranceRenewalRate
|
||||
* @param attachingRate
|
||||
*/
|
||||
public CallerArchievement( String callerCode, long totalArchievement,
|
||||
ArrayList<MensualArchievementItem> mensualArchievementList, String insuranceRenewalRate,
|
||||
String attachingRate)
|
||||
{
|
||||
this.callerCode = callerCode;
|
||||
this.totalArchievement = totalArchievement;
|
||||
this.mensualArchievementList = mensualArchievementList;
|
||||
this.insuranceRenewalRate = insuranceRenewalRate;
|
||||
this.attachingRate = attachingRate;
|
||||
}
|
||||
|
||||
public CallerArchievement()
|
||||
{
|
||||
this.totalArchievement = 0;
|
||||
this.mensualArchievementList = null;
|
||||
this.insuranceRenewalRate = "";
|
||||
this.attachingRate = "";
|
||||
this.callerCode = "";
|
||||
}
|
||||
|
||||
public static CallerArchievement getCallerArchievement( String callerCode ) throws IOException
|
||||
{
|
||||
CallerArchievement archievement = null;
|
||||
|
||||
SqlSession session = MybatisUtils.getSqlSession();
|
||||
ArchievementMapper mapper = session.getMapper( ArchievementMapper.class );
|
||||
HashMap<String,Object> params = new HashMap<String,Object>();
|
||||
Integer totalArchievement = null;
|
||||
String attachingRate = null;
|
||||
String renewalRate = null;
|
||||
ArrayList<MensualArchievementItem> mensual = null;
|
||||
|
||||
params.put("a_caller_code", callerCode );
|
||||
|
||||
mapper.getCallerArchievement(params);
|
||||
|
||||
// 总业绩
|
||||
if ( params.get("a_total") instanceof Integer )
|
||||
{
|
||||
totalArchievement = (Integer)params.get("a_total");
|
||||
}
|
||||
else
|
||||
{
|
||||
totalArchievement = Integer.valueOf(0);
|
||||
}
|
||||
|
||||
// 车非融合
|
||||
if ( params.get("a_attaching_rate") instanceof String )
|
||||
{
|
||||
attachingRate = (String)params.get("a_attaching_rate");
|
||||
}
|
||||
else
|
||||
{
|
||||
attachingRate = "0.0";
|
||||
}
|
||||
|
||||
// 续保率
|
||||
if ( params.get("a_renewal_rate") instanceof String )
|
||||
{
|
||||
renewalRate = (String)params.get("a_renewal_rate");
|
||||
}
|
||||
else
|
||||
{
|
||||
renewalRate = "0.0";
|
||||
}
|
||||
|
||||
// 每月业绩
|
||||
mensual = (ArrayList<MensualArchievementItem>)params.get("a_mensual_cur");
|
||||
|
||||
archievement =new CallerArchievement(callerCode, totalArchievement, mensual, renewalRate, attachingRate);
|
||||
|
||||
return archievement;
|
||||
}
|
||||
|
||||
public static Logger getLogger()
|
||||
{
|
||||
return logger;
|
||||
}
|
||||
|
||||
public static void setLogger( Logger logger )
|
||||
{
|
||||
CallerArchievement.logger = logger;
|
||||
}
|
||||
|
||||
public String getCallerCode()
|
||||
{
|
||||
return callerCode;
|
||||
}
|
||||
|
||||
public void setCallerCode( String callerCode )
|
||||
{
|
||||
this.callerCode = callerCode;
|
||||
}
|
||||
|
||||
public long getTotalArchievement()
|
||||
{
|
||||
return totalArchievement;
|
||||
}
|
||||
|
||||
public void setTotalArchievement( long totalArchievement )
|
||||
{
|
||||
this.totalArchievement = totalArchievement;
|
||||
}
|
||||
|
||||
public ArrayList<MensualArchievementItem> getMensualArchievementList()
|
||||
{
|
||||
return mensualArchievementList;
|
||||
}
|
||||
|
||||
public void setMensualArchievementList(
|
||||
ArrayList<MensualArchievementItem> mensualArchievementList )
|
||||
{
|
||||
this.mensualArchievementList = mensualArchievementList;
|
||||
}
|
||||
|
||||
public String getInsuranceRenewalRate()
|
||||
{
|
||||
return insuranceRenewalRate;
|
||||
}
|
||||
|
||||
public void setInsuranceRenewalRate( String insuranceRenewalRate )
|
||||
{
|
||||
this.insuranceRenewalRate = insuranceRenewalRate;
|
||||
}
|
||||
|
||||
public String getAttachingRate()
|
||||
{
|
||||
return attachingRate;
|
||||
}
|
||||
|
||||
public void setAttachingRate( String attachingRate )
|
||||
{
|
||||
this.attachingRate = attachingRate;
|
||||
}
|
||||
|
||||
@JsonProperty( "caller_code" )
|
||||
private String callerCode;
|
||||
|
||||
@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; // 车非渗透率
|
||||
}
|
@ -22,11 +22,16 @@ import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import com.cpic.xim.utils.archievement.CallerArchievement;
|
||||
import com.cpic.xim.utils.archievement.DepartmentArchievement;
|
||||
import com.cpic.xim.utils.ranking.CallerRankingItem;
|
||||
import com.cpic.xim.utils.ranking.CallerRankingList;
|
||||
import com.cpic.xim.web.controllers.archievement.RankingList.RankingListRequest;
|
||||
import com.cpic.xim.web.controllers.archievement.RankingList.RankingListResponse;
|
||||
import com.cpic.xim.web.controllers.archievement.caller.CallerArchievementQueryRequest;
|
||||
import com.cpic.xim.web.controllers.archievement.caller.CallerArchievementQueryResult;
|
||||
import com.cpic.xim.web.controllers.archievement.department.DepartmentArchievementQueryRequest;
|
||||
import com.cpic.xim.web.controllers.archievement.department.DepartmentArchievementQueryResult;
|
||||
|
||||
@Controller
|
||||
@RequestMapping( "/archievement" )
|
||||
@ -38,11 +43,11 @@ public class ArchievementQueryController
|
||||
/**
|
||||
* 查询坐席业绩
|
||||
*/
|
||||
@PostMapping( "/query_caller_archievement.do" )
|
||||
public void queryCallerArchievement()
|
||||
{
|
||||
// @PostMapping( "/query_caller_archievement.do" )
|
||||
// public void queryCallerArchievement()
|
||||
// {
|
||||
|
||||
}
|
||||
// }
|
||||
|
||||
/**
|
||||
* 查询部门业绩
|
||||
@ -60,8 +65,8 @@ public class ArchievementQueryController
|
||||
try
|
||||
{
|
||||
// 查询业绩
|
||||
departmentArch = DepartmentArchievement
|
||||
.getDepartmentArchievement( request.getDepartmentCode() );
|
||||
departmentArch =
|
||||
DepartmentArchievement.getDepartmentArchievement( request.getDepartmentCode() );
|
||||
|
||||
result.setTotalArchievement( departmentArch.getTotalArchievement() );
|
||||
result.setInsuranceRenewalRate( departmentArch.getInsuranceRenewalRate() );
|
||||
@ -83,6 +88,31 @@ public class ArchievementQueryController
|
||||
return result;
|
||||
}
|
||||
|
||||
@ResponseBody
|
||||
@PostMapping( "/query_caller_archievement.do" )
|
||||
public CallerArchievementQueryResult queryCallerArchievement(
|
||||
@RequestBody CallerArchievementQueryRequest request )
|
||||
{
|
||||
CallerArchievementQueryResult result = null;
|
||||
|
||||
try
|
||||
{
|
||||
CallerArchievement archievement =
|
||||
CallerArchievement.getCallerArchievement( request.getCallerCode() );
|
||||
|
||||
result = new CallerArchievementQueryResult( true, "查询成功", archievement.getCallerCode(),
|
||||
request.getCallName(), archievement.getTotalArchievement(),
|
||||
archievement.getMensualArchievementList(),
|
||||
archievement.getInsuranceRenewalRate(), archievement.getAttachingRate() );
|
||||
}
|
||||
catch ( IOException error )
|
||||
{
|
||||
result = new CallerArchievementQueryResult(false, error.getMessage(), null, null, 0, null, null, null);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@RequestMapping( "/query_ranking_list.do" )
|
||||
@ResponseBody
|
||||
public RankingListResponse queryCallerArchievementRankingList(
|
||||
|
@ -1,8 +0,0 @@
|
||||
|
||||
|
||||
package com.cpic.xim.web.controllers.archievement;
|
||||
|
||||
public class CallerArchievementQueryResult
|
||||
{
|
||||
|
||||
}
|
@ -0,0 +1,43 @@
|
||||
/*
|
||||
* @Author: Kane
|
||||
* @Date: 2023-08-26 13:20:32
|
||||
* @LastEditors: Kane
|
||||
* @FilePath: /desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/archievement/caller/CallerArchievementQueryRequest.java
|
||||
* @Description:
|
||||
*
|
||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
||||
*/
|
||||
package com.cpic.xim.web.controllers.archievement.caller;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
public class CallerArchievementQueryRequest
|
||||
{
|
||||
public CallerArchievementQueryRequest() {}
|
||||
|
||||
public String getCallerCode()
|
||||
{
|
||||
return callerCode;
|
||||
}
|
||||
|
||||
public void setCallerCode( String callerCode )
|
||||
{
|
||||
this.callerCode = callerCode;
|
||||
}
|
||||
|
||||
public String getCallName()
|
||||
{
|
||||
return callName;
|
||||
}
|
||||
|
||||
public void setCallName( String callName )
|
||||
{
|
||||
this.callName = callName;
|
||||
}
|
||||
|
||||
@JsonProperty("callerCode")
|
||||
private String callerCode;
|
||||
|
||||
@JsonProperty("callerName")
|
||||
private String callName;
|
||||
}
|
@ -0,0 +1,123 @@
|
||||
/*
|
||||
* @Author: Kane
|
||||
* @Date: 2023-06-06 17:35:54
|
||||
* @LastEditors: Kane
|
||||
* @FilePath: /desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/archievement/caller/CallerArchievementQueryResult.java
|
||||
* @Description:
|
||||
*
|
||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
||||
*/
|
||||
package com.cpic.xim.web.controllers.archievement.caller;
|
||||
|
||||
import com.cpic.xim.mybatis.pojo.MensualArchievementItem;
|
||||
import com.cpic.xim.web.controllers.QueryResult;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class CallerArchievementQueryResult extends QueryResult
|
||||
{
|
||||
/**
|
||||
*
|
||||
* @param success
|
||||
* @param message
|
||||
* @param callerCode
|
||||
* @param callerName
|
||||
* @param totalArchievement
|
||||
* @param mensualArchievementList
|
||||
* @param insuranceRenewalRate
|
||||
* @param attachingRate
|
||||
*/
|
||||
public CallerArchievementQueryResult( boolean success, String message, String callerCode,
|
||||
String callerName, long totalArchievement,
|
||||
ArrayList<MensualArchievementItem> mensualArchievementList, String insuranceRenewalRate,
|
||||
String attachingRate)
|
||||
{
|
||||
super( success, message );
|
||||
this.callerCode = callerCode;
|
||||
this.callerName = callerName;
|
||||
this.totalArchievement = totalArchievement;
|
||||
this.mensualArchievementList = mensualArchievementList;
|
||||
this.insuranceRenewalRate = insuranceRenewalRate;
|
||||
this.attachingRate = attachingRate;
|
||||
}
|
||||
|
||||
@JsonProperty("callerCode")
|
||||
String callerCode;
|
||||
|
||||
public String getCallerCode()
|
||||
{
|
||||
return callerCode;
|
||||
}
|
||||
|
||||
public void setCallerCode( String callerCode )
|
||||
{
|
||||
this.callerCode = callerCode;
|
||||
}
|
||||
|
||||
public String getCallerName()
|
||||
{
|
||||
return callerName;
|
||||
}
|
||||
|
||||
public void setCallerName( String callerName )
|
||||
{
|
||||
this.callerName = callerName;
|
||||
}
|
||||
|
||||
public long getTotalArchievement()
|
||||
{
|
||||
return totalArchievement;
|
||||
}
|
||||
|
||||
public void setTotalArchievement( long totalArchievement )
|
||||
{
|
||||
this.totalArchievement = totalArchievement;
|
||||
}
|
||||
|
||||
public ArrayList<MensualArchievementItem> getMensualArchievementList()
|
||||
{
|
||||
return mensualArchievementList;
|
||||
}
|
||||
|
||||
public void setMensualArchievementList( ArrayList<MensualArchievementItem> mensualArchievementList )
|
||||
{
|
||||
this.mensualArchievementList = mensualArchievementList;
|
||||
}
|
||||
|
||||
public String getInsuranceRenewalRate()
|
||||
{
|
||||
return insuranceRenewalRate;
|
||||
}
|
||||
|
||||
public void setInsuranceRenewalRate( String insuranceRenewalRate )
|
||||
{
|
||||
this.insuranceRenewalRate = insuranceRenewalRate;
|
||||
}
|
||||
|
||||
public String getAttachingRate()
|
||||
{
|
||||
return attachingRate;
|
||||
}
|
||||
|
||||
public void setAttachingRate( String attachingRate )
|
||||
{
|
||||
this.attachingRate = attachingRate;
|
||||
}
|
||||
|
||||
@JsonProperty("callerName")
|
||||
String callerName;
|
||||
|
||||
@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; // 车非渗透率
|
||||
}
|
@ -8,7 +8,7 @@
|
||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
||||
*/
|
||||
|
||||
package com.cpic.xim.web.controllers.archievement;
|
||||
package com.cpic.xim.web.controllers.archievement.department;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
@ -2,13 +2,13 @@
|
||||
* @Author: Kane
|
||||
* @Date: 2023-03-16 09:32:53
|
||||
* @LastEditors: Kane
|
||||
* @FilePath: /desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/archievement/DepartmentArchievementQueryResult.java
|
||||
* @FilePath: /desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/archievement/department/DepartmentArchievementQueryResult.java
|
||||
* @Description:
|
||||
*
|
||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
||||
*/
|
||||
|
||||
package com.cpic.xim.web.controllers.archievement;
|
||||
package com.cpic.xim.web.controllers.archievement.department;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@ -23,7 +23,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
*/
|
||||
public class DepartmentArchievementQueryResult extends QueryResult
|
||||
{
|
||||
DepartmentArchievementQueryResult()
|
||||
public DepartmentArchievementQueryResult()
|
||||
{
|
||||
mensualArchievementList = new ArrayList<MensualArchievementItem>();
|
||||
advanceRewardGainers = new Vector<String>();
|
@ -100,10 +100,12 @@ public class DesktopArchievementTest
|
||||
|
||||
mapper.getCallerArchievement( params );
|
||||
|
||||
Object obj = params.get( "a_mensual_cur" );
|
||||
mensual = (ArrayList<MensualArchievementItem>)params.get( "a_mensual_cur" );
|
||||
|
||||
System.out.println( params.toString() );
|
||||
System.out.println( mensual.toString() );
|
||||
System.out.println( obj.getClass());
|
||||
|
||||
assertTrue( params.size() > 1 );
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user