From d202d976a363974b07da148e65df3c6f82c741fd Mon Sep 17 00:00:00 2001 From: Kane Wang Date: Fri, 10 Nov 2023 15:53:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=9D=E5=AD=98=E8=BF=9B=E5=BA=A6=EF=BC=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/web/task_schedule/package-lock.json | 8 +- code/web/task_schedule/package.json | 2 +- code/web/task_schedule/src/utils/BIReport.ts | 131 +++++++++++++++++- .../pojo/BIDepartmentRenewalRateRecord.java | 3 +- .../mybatis/mapper/ArchievementMapper.xml | 4 +- .../mapper/QueryBIArchievementDataMapper.xml | 14 +- .../mybatis/mapper/RewardsMapper.xml | 10 +- .../main/resources/mybatis/mybatis-config.xml | 6 + 8 files changed, 157 insertions(+), 21 deletions(-) diff --git a/code/web/task_schedule/package-lock.json b/code/web/task_schedule/package-lock.json index 8ecad2b..7c0ea25 100644 --- a/code/web/task_schedule/package-lock.json +++ b/code/web/task_schedule/package-lock.json @@ -19,7 +19,7 @@ "vuex": "^4.1.0" }, "devDependencies": { - "@babel/eslint-parser": "^7.22.15", + "@babel/eslint-parser": "^7.23.3", "@rushstack/eslint-patch": "^1.5.1", "@typescript-eslint/eslint-plugin": "^6.10.0", "@vitejs/plugin-vue": "^4.4.1", @@ -126,9 +126,9 @@ } }, "node_modules/@babel/eslint-parser": { - "version": "7.22.15", - "resolved": "https://registry.npmmirror.com/@babel/eslint-parser/-/eslint-parser-7.22.15.tgz", - "integrity": "sha512-yc8OOBIQk1EcRrpizuARSQS0TWAcOMpEJ1aafhNznaeYkeL+OhqnDObGFylB8ka8VFF/sZc+S4RzHyO+3LjQxg==", + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/eslint-parser/-/eslint-parser-7.23.3.tgz", + "integrity": "sha512-9bTuNlyx7oSstodm1cR1bECj4fkiknsDa1YniISkJemMY3DGhJNYBECbe6QD/q54mp2J8VO66jW3/7uP//iFCw==", "dev": true, "dependencies": { "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", diff --git a/code/web/task_schedule/package.json b/code/web/task_schedule/package.json index 1d17214..d3e7760 100644 --- a/code/web/task_schedule/package.json +++ b/code/web/task_schedule/package.json @@ -20,7 +20,7 @@ "vuex": "^4.1.0" }, "devDependencies": { - "@babel/eslint-parser": "^7.22.15", + "@babel/eslint-parser": "^7.23.3", "@rushstack/eslint-patch": "^1.5.1", "@typescript-eslint/eslint-plugin": "^6.10.0", "@vitejs/plugin-vue": "^4.4.1", diff --git a/code/web/task_schedule/src/utils/BIReport.ts b/code/web/task_schedule/src/utils/BIReport.ts index f11e86b..6e7042f 100644 --- a/code/web/task_schedule/src/utils/BIReport.ts +++ b/code/web/task_schedule/src/utils/BIReport.ts @@ -85,9 +85,62 @@ interface QueryBITelsalerRenewalRateReportResponse records: BITelsalerRenewalRateRecord[]; } +/** 机构 ***/ +// 机构渗透率 +/** + * 机构渗漏率报表记录 + */ +interface BIDepartmentAttachingRateRecord +{ + departmentName: string; + departmentObject: number; + objectGap: number; + motoPremium: number; + motoPremiumProPortion: number; + nomotoPremium: number; + attachingRate: number; + attachingRateChange: number; + motoInsuranceCustomerCount: number; + customerHandleRate: number; + customerHandleRateChange: number; + premiumPerCustomer: number; + premiumPerCustomerChange: number; +} + +interface QueryBIDepartmentAttachingRateResponse +{ + success: boolean; + message: string; + records: BIDepartmentAttachingRateRecord[]; +} + +// 机构续保率 +interface BIDepartmentRenewalRateRecord +{ + 责任部门: string; + 机构目标值: number; + 到期数全月: number; + 序时到期数占比: number; + 个车续保率序时: number; + 个车续保率全月: number; + 环比昨日: number; + 环比上月: number; + 平均提前签单天数: number; + 环比: number; +} + +interface QueryBIDepartmentRenewalRateResponse +{ + success: boolean; + message: string; + records: BIDepartmentRenewalRateRecord[]; +} + type ImportBIReportResponseHandler = ( response: ImportBIReportResponse, error: any ) => void; type QueryBITelsalerAttachingRateDataHandler = ( response: QueryBITelsalerAttachingRateReportResponse, error: any ) => void; type QueryBITelsalerRenewalRateDataHandler = ( response: QueryBITelsalerRenewalRateReportResponse, error: any ) => void; +type QueryBIDepartmentAttachingRateDataHandler = ( response: QueryBIDepartmentAttachingRateResponse, error: any ) => void; +type QueryBIDepartmentRenewalRateDataHandler = ( response: QueryBIDepartmentRenewalRateResponse, error: any ) => void; /** * @@ -198,6 +251,74 @@ function queryBITelsalerRenewalData( handler: QueryBITelsalerRenewalRateDataHand }); } +function queryDepartmentAttachingRateData( handler: QueryBIDepartmentAttachingRateDataHandler ): void +{ + const queryResponse: QueryBIDepartmentAttachingRateResponse = { + success: false, + message: "", + records: [], + }; + + instance.request({ + url: API_URL.URL_BI_DEPARTMENT_ATTACHINGRATE, + method: "post", + }) + .then(( response: AxiosResponse ): void => + { + const data = response.data ?? {}; + + queryResponse.success = data.success ?? false; + queryResponse.message = data.message ?? "请求完成,但结果未知!"; + queryResponse.records = data.records ?? []; + + handler( queryResponse, null ); + }) + .catch(( error: any ): void => + { + queryResponse.success = false; + queryResponse.message = "查询BI机构续渗透失败,请查看控制台!"; + queryResponse.records = []; + + console.log( "查询BI机构渗透率失败:", error ); + + handler( queryResponse, error ); + }); +} + +function queryDepartmentRenewalRateData( handler: QueryBIDepartmentRenewalRateDataHandler ): void +{ + const queryResponse: QueryBIDepartmentRenewalRateResponse = { + success: false, + message: "", + records: [], + }; + + instance.request({ + url: API_URL.URL_BI_DEPARTMENT_RENEWALRATE, + method: "post", + }) + .then(( response: AxiosResponse ): void => + { + const data = response.data ?? {}; + + queryResponse.success = data.success ?? false; + queryResponse.message = data.message ?? "请求完成,但结果未知!"; + queryResponse.records = data.records ?? []; + + handler( queryResponse, null ); + }) + .catch(( error: any ): void => + { + queryResponse.success = false; + queryResponse.message = "查询BI机构续保率失败,请查看控制台!"; + queryResponse.records = []; + + console.log( "查询BI机构续保率失败:", error ); + + handler( queryResponse, error ); + }); +} + export { type BIReportType, type ImportBIReportRequest, @@ -209,7 +330,15 @@ export { type QueryBITelsalerRenewalRateDataHandler, type BITelsalerRenewalRateRecord, type QueryBITelsalerRenewalRateReportResponse, + type BIDepartmentAttachingRateRecord, + type QueryBIDepartmentAttachingRateResponse, + type QueryBIDepartmentAttachingRateDataHandler, + type BIDepartmentRenewalRateRecord, + type QueryBIDepartmentRenewalRateResponse, + type QueryBIDepartmentRenewalRateDataHandler, importBIReport, queryBITelsalerAttachingRateData, - queryBITelsalerRenewalData + queryBITelsalerRenewalData, + queryDepartmentAttachingRateData, + queryDepartmentRenewalRateData }; diff --git a/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/pojo/BIDepartmentRenewalRateRecord.java b/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/pojo/BIDepartmentRenewalRateRecord.java index 38f3a8c..f45b44f 100644 --- a/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/pojo/BIDepartmentRenewalRateRecord.java +++ b/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/pojo/BIDepartmentRenewalRateRecord.java @@ -22,7 +22,8 @@ public class BIDepartmentRenewalRateRecord private int 平均提前签单天数; private double 环比; - public BIDepartmentRenewalRateRecord() {} + public BIDepartmentRenewalRateRecord() + {} public BIDepartmentRenewalRateRecord( String 责任部门, double 机构目标值, int 到期数全月, double 序时到期数占比, double 个车续保率序时, double 个车续保率全月, double 环比昨日, double 环比上月, int 平均提前签单天数, double 环比 ) diff --git a/code/后端/desktop_archievement_backend/src/main/resources/mybatis/mapper/ArchievementMapper.xml b/code/后端/desktop_archievement_backend/src/main/resources/mybatis/mapper/ArchievementMapper.xml index b417c2e..64fa349 100644 --- a/code/后端/desktop_archievement_backend/src/main/resources/mybatis/mapper/ArchievementMapper.xml +++ b/code/后端/desktop_archievement_backend/src/main/resources/mybatis/mapper/ArchievementMapper.xml @@ -1,7 +1,7 @@ - call telsale_archievement_pkg.department_archievement( #{a_department_code, mode=IN, jdbcType=VARCHAR}, #{a_attaching_rate, mode=OUT, jdbcType=VARCHAR}, @@ -9,7 +9,7 @@ #{a_total, mode=OUT, jdbcType=INTEGER, javaType=Integer}, #{a_mensual_cur, mode=OUT, jdbcType=CURSOR, resultMap=MensualArchievementMapper}) - call telsale_archievement_pkg.caller_archievement( #{a_caller_code, mode=IN, jdbcType=VARCHAR}, #{a_attaching_rate, mode=OUT, jdbcType=VARCHAR}, diff --git a/code/后端/desktop_archievement_backend/src/main/resources/mybatis/mapper/QueryBIArchievementDataMapper.xml b/code/后端/desktop_archievement_backend/src/main/resources/mybatis/mapper/QueryBIArchievementDataMapper.xml index 99a1c2e..d36c545 100644 --- a/code/后端/desktop_archievement_backend/src/main/resources/mybatis/mapper/QueryBIArchievementDataMapper.xml +++ b/code/后端/desktop_archievement_backend/src/main/resources/mybatis/mapper/QueryBIArchievementDataMapper.xml @@ -3,8 +3,8 @@ - + SELECT t.部门, t.经办, t."车险保费(万)" as 车险保费, t.车险保费占比, @@ -15,8 +15,8 @@ t.客户渗透率环比上月, t.当月车非客均保费, t.客均保费环比上月 - FROM BI电销坐席车非渗透率跟踪表 t - ORDER BY t.部门 + FROM BI电销坐席车非渗透率跟踪表 t + ORDER BY t.部门 @@ -34,7 +34,7 @@ - select t.责任部门, t.责任人, t."机构目标值1(%)" as 机构目标值, @@ -63,7 +63,7 @@ - select t.部门, t."目标值-机构" as 目标值机构, t.目标差距, @@ -96,7 +96,7 @@ - select t.责任部门, t."机构目标值1(%)" as 机构目标值, t."到期数-全月" as 到期数全月, diff --git a/code/后端/desktop_archievement_backend/src/main/resources/mybatis/mapper/RewardsMapper.xml b/code/后端/desktop_archievement_backend/src/main/resources/mybatis/mapper/RewardsMapper.xml index 8dcec3a..28ebbd8 100644 --- a/code/后端/desktop_archievement_backend/src/main/resources/mybatis/mapper/RewardsMapper.xml +++ b/code/后端/desktop_archievement_backend/src/main/resources/mybatis/mapper/RewardsMapper.xml @@ -1,7 +1,7 @@ - select reward_index, reward_name from reward_projects order by reward_index desc @@ -9,7 +9,7 @@ - SELECT hjr.rec_id rec_id, hjr.telsaler_name telsaler_name, hjr.telsaler_code telsaler_code, @@ -28,20 +28,20 @@ - call telsaler_reward_pkg.add_telsaler_reward( #{a_reward_index,mode=IN,jdbcType=VARCHAR}, #{a_telsaler_name,mode=IN,jdbcType=VARCHAR}) - call telsaler_reward_pkg.delete_telsaler_reward( #{a_rec_id,mode=IN,jdbcType=INTEGER}) - call telsaler_reward_pkg.update_telsaler_reward( #{a_rec_id,mode=IN,jdbcType=INTEGER}, #{a_telsaler_name,mode=IN,jdbcType=VARCHAR}, diff --git a/code/后端/desktop_archievement_backend/src/main/resources/mybatis/mybatis-config.xml b/code/后端/desktop_archievement_backend/src/main/resources/mybatis/mybatis-config.xml index 186aa45..79d4042 100644 --- a/code/后端/desktop_archievement_backend/src/main/resources/mybatis/mybatis-config.xml +++ b/code/后端/desktop_archievement_backend/src/main/resources/mybatis/mybatis-config.xml @@ -3,6 +3,11 @@ + + + + + @@ -29,4 +34,5 @@ + \ No newline at end of file