diff --git a/code/db/pkg/telsale_archievement_pkg.pck b/code/db/pkg/telsale_archievement_pkg.pck index 3c7eb15..b2cfaa7 100644 --- a/code/db/pkg/telsale_archievement_pkg.pck +++ b/code/db/pkg/telsale_archievement_pkg.pck @@ -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 diff --git a/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/utils/archievement/CallerArchievement.java b/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/utils/archievement/CallerArchievement.java index 95b440e..c612115 100644 --- a/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/utils/archievement/CallerArchievement.java +++ b/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/utils/archievement/CallerArchievement.java @@ -23,7 +23,165 @@ import com.fasterxml.jackson.annotation.JsonProperty; public class CallerArchievement { - private static Logger logger = LoggerFactory.getLogger(CallerArchievement.class); + private static Logger logger = LoggerFactory.getLogger( CallerArchievement.class ); - -} \ No newline at end of file + /** + * 鏋勯犲嚱鏁 + * @param callerCode + * @param totalArchievement + * @param mensualArchievementList + * @param insuranceRenewalRate + * @param attachingRate + */ + public CallerArchievement( String callerCode, long totalArchievement, + ArrayList 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 params = new HashMap(); + Integer totalArchievement = null; + String attachingRate = null; + String renewalRate = null; + ArrayList 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)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 getMensualArchievementList() + { + return mensualArchievementList; + } + + public void setMensualArchievementList( + ArrayList 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 mensualArchievementList; + + @JsonProperty( "insurance_renewal_rate" ) + private String insuranceRenewalRate; // 缁繚鐜 + + @JsonProperty( "attaching_rate" ) + private String attachingRate; // 杞﹂潪娓楅忕巼 +} diff --git a/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/archievement/ArchievementQueryController.java b/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/archievement/ArchievementQueryController.java index 313a3b0..07ef49a 100644 --- a/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/archievement/ArchievementQueryController.java +++ b/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/archievement/ArchievementQueryController.java @@ -22,27 +22,32 @@ 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" ) public class ArchievementQueryController { - //鏃ュ織 - private static Logger logger = LoggerFactory.getLogger(ArchievementQueryController.class); - + // 鏃ュ織 + private static Logger logger = LoggerFactory.getLogger( ArchievementQueryController.class ); + /** * 鏌ヨ鍧愬腑涓氱哗 */ - @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() ); @@ -74,7 +79,7 @@ public class ArchievementQueryController } catch ( IOException error ) { - + } result.setSuccess( true ); @@ -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( @@ -115,7 +145,7 @@ public class ArchievementQueryController success = false; message = "鑾峰彇鎺掕姒滃け璐ワ紝鍘熷洜锛" + error.getMessage(); - logger.error(message, error); + logger.error( message, error ); } RankingListResponse response = new RankingListResponse( success, message, departmentCode, diff --git a/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/archievement/CallerArchievementQueryResult.java b/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/archievement/CallerArchievementQueryResult.java deleted file mode 100644 index 138eaf4..0000000 --- a/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/archievement/CallerArchievementQueryResult.java +++ /dev/null @@ -1,8 +0,0 @@ - - -package com.cpic.xim.web.controllers.archievement; - -public class CallerArchievementQueryResult -{ - -} diff --git a/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/archievement/caller/CallerArchievementQueryRequest.java b/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/archievement/caller/CallerArchievementQueryRequest.java new file mode 100644 index 0000000..3ef845e --- /dev/null +++ b/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/archievement/caller/CallerArchievementQueryRequest.java @@ -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; +} diff --git a/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/archievement/caller/CallerArchievementQueryResult.java b/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/archievement/caller/CallerArchievementQueryResult.java new file mode 100644 index 0000000..b86f077 --- /dev/null +++ b/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/archievement/caller/CallerArchievementQueryResult.java @@ -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 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 getMensualArchievementList() + { + return mensualArchievementList; + } + + public void setMensualArchievementList( ArrayList 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 mensualArchievementList; + + @JsonProperty( "insurance_renewal_rate" ) + private String insuranceRenewalRate; // 缁繚鐜 + + @JsonProperty( "attaching_rate" ) + private String attachingRate; // 杞﹂潪娓楅忕巼 +} diff --git a/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/archievement/DepartmentArchievementQueryRequest.java b/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/archievement/department/DepartmentArchievementQueryRequest.java similarity index 95% rename from code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/archievement/DepartmentArchievementQueryRequest.java rename to code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/archievement/department/DepartmentArchievementQueryRequest.java index 44f741c..188e98a 100644 --- a/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/archievement/DepartmentArchievementQueryRequest.java +++ b/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/archievement/department/DepartmentArchievementQueryRequest.java @@ -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; diff --git a/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/archievement/DepartmentArchievementQueryResult.java b/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/archievement/department/DepartmentArchievementQueryResult.java similarity index 94% rename from code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/archievement/DepartmentArchievementQueryResult.java rename to code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/archievement/department/DepartmentArchievementQueryResult.java index 7a631f2..c4a8a59 100644 --- a/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/archievement/DepartmentArchievementQueryResult.java +++ b/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/archievement/department/DepartmentArchievementQueryResult.java @@ -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(); advanceRewardGainers = new Vector(); diff --git a/code/鍚庣/desktop_archievement_backend/src/test/java/com/cpic/xim/DesktopArchievement/test/DesktopArchievementTest.java b/code/鍚庣/desktop_archievement_backend/src/test/java/com/cpic/xim/DesktopArchievement/test/DesktopArchievementTest.java index a32f650..9960369 100644 --- a/code/鍚庣/desktop_archievement_backend/src/test/java/com/cpic/xim/DesktopArchievement/test/DesktopArchievementTest.java +++ b/code/鍚庣/desktop_archievement_backend/src/test/java/com/cpic/xim/DesktopArchievement/test/DesktopArchievementTest.java @@ -100,10 +100,12 @@ public class DesktopArchievementTest mapper.getCallerArchievement( params ); - mensual = (ArrayList) params.get( "a_mensual_cur" ); + Object obj = params.get( "a_mensual_cur" ); + mensual = (ArrayList)params.get( "a_mensual_cur" ); System.out.println( params.toString() ); System.out.println( mensual.toString() ); + System.out.println( obj.getClass()); assertTrue( params.size() > 1 ); }