续保率报表格式修改,还未完成。
This commit is contained in:
parent
962c22400e
commit
afccb2a88c
|
@ -112,7 +112,7 @@ CREATE OR REPLACE PACKAGE BODY TELSALE_ARCHIEVEMENT_DEV_PKG IS
|
||||||
2)
|
2)
|
||||||
INTO A_RENEWAL_RATE,
|
INTO A_RENEWAL_RATE,
|
||||||
A_RENEWAL_RATE_TARGET
|
A_RENEWAL_RATE_TARGET
|
||||||
FROM BI机构当月个车续保率跟踪表 T
|
FROM "BI机构续保率跟踪表-24年" T
|
||||||
WHERE T.责任部门 = L_DEPARTMENT_NAME;
|
WHERE T.责任部门 = L_DEPARTMENT_NAME;
|
||||||
|
|
||||||
--解决round导致小数缺0的问题
|
--解决round导致小数缺0的问题
|
||||||
|
@ -229,7 +229,7 @@ CREATE OR REPLACE PACKAGE BODY TELSALE_ARCHIEVEMENT_DEV_PKG IS
|
||||||
2)
|
2)
|
||||||
INTO L_ROWNUM,
|
INTO L_ROWNUM,
|
||||||
A_RENEWAL_RATE
|
A_RENEWAL_RATE
|
||||||
FROM BI电销坐席续保率跟踪表 T
|
FROM "BI电销坐席续保率跟踪表-24年" T
|
||||||
WHERE T.责任人 = L_CALLER_NAME
|
WHERE T.责任人 = L_CALLER_NAME
|
||||||
AND ROWNUM = 1;
|
AND ROWNUM = 1;
|
||||||
EXCEPTION
|
EXCEPTION
|
||||||
|
|
|
@ -86,7 +86,7 @@ CREATE OR REPLACE PACKAGE BODY TELSALE_ARCHIEVEMENT_PKG IS
|
||||||
2)
|
2)
|
||||||
INTO A_ATTACHING_RATE,
|
INTO A_ATTACHING_RATE,
|
||||||
A_ATTACHING_RATE_TARGET
|
A_ATTACHING_RATE_TARGET
|
||||||
FROM DESKTOP_ARCHIEVEMENT_ADMIN.BI机构渗透率跟踪表 DEPT
|
FROM BI机构渗透率跟踪表 DEPT
|
||||||
WHERE DEPT.部门 = L_DEPARTMENT_NAME;
|
WHERE DEPT.部门 = L_DEPARTMENT_NAME;
|
||||||
|
|
||||||
--解决round导致小数缺0的问题
|
--解决round导致小数缺0的问题
|
||||||
|
@ -112,7 +112,7 @@ CREATE OR REPLACE PACKAGE BODY TELSALE_ARCHIEVEMENT_PKG IS
|
||||||
2)
|
2)
|
||||||
INTO A_RENEWAL_RATE,
|
INTO A_RENEWAL_RATE,
|
||||||
A_RENEWAL_RATE_TARGET
|
A_RENEWAL_RATE_TARGET
|
||||||
FROM BI机构当月个车续保率跟踪表 T
|
FROM "BI机构续保率跟踪表-24年" T
|
||||||
WHERE T.责任部门 = L_DEPARTMENT_NAME;
|
WHERE T.责任部门 = L_DEPARTMENT_NAME;
|
||||||
|
|
||||||
--解决round导致小数缺0的问题
|
--解决round导致小数缺0的问题
|
||||||
|
@ -229,7 +229,7 @@ CREATE OR REPLACE PACKAGE BODY TELSALE_ARCHIEVEMENT_PKG IS
|
||||||
2)
|
2)
|
||||||
INTO L_ROWNUM,
|
INTO L_ROWNUM,
|
||||||
A_RENEWAL_RATE
|
A_RENEWAL_RATE
|
||||||
FROM BI电销坐席续保率跟踪表 T
|
FROM "BI电销坐席续保率跟踪表-24年" T
|
||||||
WHERE T.责任人 = L_CALLER_NAME
|
WHERE T.责任人 = L_CALLER_NAME
|
||||||
AND ROWNUM = 1;
|
AND ROWNUM = 1;
|
||||||
EXCEPTION
|
EXCEPTION
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
CREATE OR REPLACE PACKAGE telsale_bi_utils IS
|
CREATE OR REPLACE PACKAGE TELSALE_BI_UTILS IS
|
||||||
|
|
||||||
-- Author : WANGWEI-202
|
-- Author : WANGWEI-202
|
||||||
-- Created : 2023/10/12 15:31:13
|
-- Created : 2023/10/12 15:31:13
|
||||||
|
@ -12,9 +12,9 @@ CREATE OR REPLACE PACKAGE telsale_bi_utils IS
|
||||||
|
|
||||||
PROCEDURE 清理BI部门续保率跟踪表;
|
PROCEDURE 清理BI部门续保率跟踪表;
|
||||||
|
|
||||||
END telsale_bi_utils;
|
END TELSALE_BI_UTILS;
|
||||||
/
|
/
|
||||||
CREATE OR REPLACE PACKAGE BODY telsale_bi_utils IS
|
CREATE OR REPLACE PACKAGE BODY TELSALE_BI_UTILS IS
|
||||||
|
|
||||||
PROCEDURE 清理BI电销坐席车非渗透率跟踪表 IS
|
PROCEDURE 清理BI电销坐席车非渗透率跟踪表 IS
|
||||||
BEGIN
|
BEGIN
|
||||||
|
@ -24,6 +24,7 @@ CREATE OR REPLACE PACKAGE BODY telsale_bi_utils IS
|
||||||
PROCEDURE 清理BI电销坐席续保率跟踪表 IS
|
PROCEDURE 清理BI电销坐席续保率跟踪表 IS
|
||||||
BEGIN
|
BEGIN
|
||||||
EXECUTE IMMEDIATE 'truncate table BI电销坐席续保率跟踪表';
|
EXECUTE IMMEDIATE 'truncate table BI电销坐席续保率跟踪表';
|
||||||
|
--EXECUTE IMMEDIATE 'truncate table BI电销坐席续保率跟踪表-24年';
|
||||||
END;
|
END;
|
||||||
|
|
||||||
PROCEDURE 清理BI部门渗透率跟踪表 IS
|
PROCEDURE 清理BI部门渗透率跟踪表 IS
|
||||||
|
@ -34,10 +35,11 @@ CREATE OR REPLACE PACKAGE BODY telsale_bi_utils IS
|
||||||
PROCEDURE 清理BI部门续保率跟踪表 IS
|
PROCEDURE 清理BI部门续保率跟踪表 IS
|
||||||
BEGIN
|
BEGIN
|
||||||
EXECUTE IMMEDIATE 'truncate table BI机构当月个车续保率跟踪表';
|
EXECUTE IMMEDIATE 'truncate table BI机构当月个车续保率跟踪表';
|
||||||
|
--EXECUTE IMMEDIATE 'truncate table BI机构续保率跟踪表-24年';
|
||||||
END;
|
END;
|
||||||
|
|
||||||
BEGIN
|
BEGIN
|
||||||
-- Initialization
|
-- Initialization
|
||||||
NULL;
|
NULL;
|
||||||
END telsale_bi_utils;
|
END TELSALE_BI_UTILS;
|
||||||
/
|
/
|
||||||
|
|
|
@ -0,0 +1,45 @@
|
||||||
|
CREATE OR REPLACE PACKAGE TELSALE_BI_UTILS_DEV IS
|
||||||
|
|
||||||
|
-- Author : WANGWEI-202
|
||||||
|
-- Created : 2023/10/12 15:31:13
|
||||||
|
-- Purpose : bi数据报表相关的工具
|
||||||
|
|
||||||
|
PROCEDURE 清理BI电销坐席车非渗透率跟踪表;
|
||||||
|
|
||||||
|
PROCEDURE 清理BI电销坐席续保率跟踪表;
|
||||||
|
|
||||||
|
PROCEDURE 清理BI部门渗透率跟踪表;
|
||||||
|
|
||||||
|
PROCEDURE 清理BI部门续保率跟踪表;
|
||||||
|
|
||||||
|
END TELSALE_BI_UTILS_DEV;
|
||||||
|
/
|
||||||
|
CREATE OR REPLACE PACKAGE BODY TELSALE_BI_UTILS_DEV IS
|
||||||
|
|
||||||
|
PROCEDURE 清理BI电销坐席车非渗透率跟踪表 IS
|
||||||
|
BEGIN
|
||||||
|
EXECUTE IMMEDIATE 'truncate table BI电销坐席车非渗透率跟踪表';
|
||||||
|
END;
|
||||||
|
|
||||||
|
PROCEDURE 清理BI电销坐席续保率跟踪表 IS
|
||||||
|
BEGIN
|
||||||
|
--EXECUTE IMMEDIATE 'truncate table BI电销坐席续保率跟踪表';
|
||||||
|
EXECUTE IMMEDIATE 'truncate table "BI电销坐席续保率跟踪表-24年"';
|
||||||
|
END;
|
||||||
|
|
||||||
|
PROCEDURE 清理BI部门渗透率跟踪表 IS
|
||||||
|
BEGIN
|
||||||
|
EXECUTE IMMEDIATE 'truncate table BI机构渗透率跟踪表';
|
||||||
|
END;
|
||||||
|
|
||||||
|
PROCEDURE 清理BI部门续保率跟踪表 IS
|
||||||
|
BEGIN
|
||||||
|
--EXECUTE IMMEDIATE 'truncate table BI机构当月个车续保率跟踪表';
|
||||||
|
EXECUTE IMMEDIATE 'truncate table "BI机构续保率跟踪表-24年"';
|
||||||
|
END;
|
||||||
|
|
||||||
|
BEGIN
|
||||||
|
-- Initialization
|
||||||
|
NULL;
|
||||||
|
END TELSALE_BI_UTILS_DEV;
|
||||||
|
/
|
|
@ -1,30 +1,30 @@
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM reward_gainers
|
FROM REWARD_GAINERS
|
||||||
FOR UPDATE;
|
FOR UPDATE;
|
||||||
|
|
||||||
SELECT b.reward_name,
|
SELECT B.REWARD_NAME,
|
||||||
a.*
|
A.*
|
||||||
FROM reward_gainers a,
|
FROM REWARD_GAINERS A,
|
||||||
reward_projects b
|
REWARD_PROJECTS B
|
||||||
WHERE a.reward_index = b.reward_index;
|
WHERE A.REWARD_INDEX = B.REWARD_INDEX;
|
||||||
|
|
||||||
--坐席工号
|
--坐席工号
|
||||||
SELECT DISTINCT s.saler_code,
|
SELECT DISTINCT S.SALER_CODE,
|
||||||
s.saler_name,
|
S.SALER_NAME,
|
||||||
t.team_code,
|
T.TEAM_CODE,
|
||||||
t.team,
|
T.TEAM,
|
||||||
bm.department_code,
|
BM.DEPARTMENT_CODE,
|
||||||
bm.department_name
|
BM.DEPARTMENT_NAME
|
||||||
FROM tele_saler s,
|
FROM TELE_SALER S,
|
||||||
tele_saler_team t,
|
TELE_SALER_TEAM T,
|
||||||
idst0.bm_t bm
|
IDST0.BM_T BM
|
||||||
WHERE s.team_code = t.team_code
|
WHERE S.TEAM_CODE = T.TEAM_CODE
|
||||||
AND t.department_code = bm.department_code
|
AND T.DEPARTMENT_CODE = BM.DEPARTMENT_CODE
|
||||||
AND s.saler_code = '61136';
|
AND S.SALER_CODE = '61136';
|
||||||
|
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM tele_saler_team t
|
FROM TELE_SALER_TEAM T
|
||||||
WHERE t.team_code = '107077'
|
WHERE T.TEAM_CODE = '107077'
|
||||||
|
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM 坐席车非每日保费
|
FROM 坐席车非每日保费
|
||||||
|
@ -35,7 +35,7 @@ SELECT *
|
||||||
SELECT 部门,
|
SELECT 部门,
|
||||||
SUM(已续保累计) 已续保,
|
SUM(已续保累计) 已续保,
|
||||||
SUM(到期数) 到期保单,
|
SUM(到期数) 到期保单,
|
||||||
round((SUM(已续保累计) / SUM(到期数)) * 100,
|
ROUND((SUM(已续保累计) / SUM(到期数)) * 100,
|
||||||
0) || '%' 续保率
|
0) || '%' 续保率
|
||||||
FROM 坐席续保统计
|
FROM 坐席续保统计
|
||||||
GROUP BY 部门;
|
GROUP BY 部门;
|
||||||
|
@ -46,7 +46,7 @@ SELECT
|
||||||
坐席名称,
|
坐席名称,
|
||||||
SUM(车险个人客户保费),
|
SUM(车险个人客户保费),
|
||||||
SUM(车非融合保费),
|
SUM(车非融合保费),
|
||||||
round(SUM(车非融合保费) / SUM(车险个人客户保费) * 100,
|
ROUND(SUM(车非融合保费) / SUM(车险个人客户保费) * 100,
|
||||||
2) 车非渗透率
|
2) 车非渗透率
|
||||||
FROM 坐席车非每日保费
|
FROM 坐席车非每日保费
|
||||||
GROUP BY 月份,
|
GROUP BY 月份,
|
||||||
|
@ -57,7 +57,7 @@ HAVING
|
||||||
车非渗透率 DESC;
|
车非渗透率 DESC;
|
||||||
|
|
||||||
SELECT 坐席名称,
|
SELECT 坐席名称,
|
||||||
round(SUM(车非融合保费) / SUM(车险个人客户保费) * 100,
|
ROUND(SUM(车非融合保费) / SUM(车险个人客户保费) * 100,
|
||||||
2) 车非渗透率
|
2) 车非渗透率
|
||||||
FROM 坐席车非每日保费
|
FROM 坐席车非每日保费
|
||||||
WHERE 部门代码 = 'QDI'
|
WHERE 部门代码 = 'QDI'
|
||||||
|
@ -68,37 +68,37 @@ SELECT
|
||||||
|
|
||||||
--续保率
|
--续保率
|
||||||
SELECT 坐席名称,
|
SELECT 坐席名称,
|
||||||
round(nvl(SUM(已续保累计) / SUM(到期数) * 100,
|
ROUND(NVL(SUM(已续保累计) / SUM(到期数) * 100,
|
||||||
0),
|
0),
|
||||||
2) 续保率
|
2) 续保率
|
||||||
FROM 坐席续保统计 xb
|
FROM 坐席续保统计 XB
|
||||||
WHERE xb.部门 = '续保业务部'
|
WHERE XB.部门 = '续保业务部'
|
||||||
GROUP BY 坐席名称
|
GROUP BY 坐席名称
|
||||||
ORDER BY 坐席名称 DESC;
|
ORDER BY 坐席名称 DESC;
|
||||||
-------------------------------------
|
-------------------------------------
|
||||||
SELECT zx.saler_name,
|
SELECT ZX.SALER_NAME,
|
||||||
bm.department_name
|
BM.DEPARTMENT_NAME
|
||||||
FROM tele_saler zx,
|
FROM TELE_SALER ZX,
|
||||||
tele_saler_team team,
|
TELE_SALER_TEAM TEAM,
|
||||||
idst0.bm_t bm
|
IDST0.BM_T BM
|
||||||
WHERE zx.saler_name = '张楚沂'
|
WHERE ZX.SALER_NAME = '张楚沂'
|
||||||
AND zx.team_code = team.team_code
|
AND ZX.TEAM_CODE = TEAM.TEAM_CODE
|
||||||
AND team.department_code = bm.department_code;
|
AND TEAM.DEPARTMENT_CODE = BM.DEPARTMENT_CODE;
|
||||||
----------------------------------------
|
----------------------------------------
|
||||||
/*
|
/*
|
||||||
truncate table BI机构渗透率跟踪表;
|
truncate table BI机构渗透率跟踪表;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM BI电销坐席车非渗透率跟踪表 t
|
FROM BI电销坐席车非渗透率跟踪表 T
|
||||||
WHERE t.经办 = '杨苗';
|
WHERE T.经办 = '杨苗';
|
||||||
|
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM BI电销坐席续保率跟踪表
|
FROM "BI电销坐席续保率跟踪表-24年"
|
||||||
WHERE 责任人 = '杨苗';
|
WHERE 责任人 = '杨苗';
|
||||||
|
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM BI机构渗透率跟踪表;
|
FROM BI机构渗透率跟踪表;
|
||||||
|
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM BI机构当月个车续保率跟踪表;
|
FROM "BI机构续保率跟踪表-24年";
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
"mitt": "^3.0.1",
|
"mitt": "^3.0.1",
|
||||||
"moment": "^2.30.1",
|
"moment": "^2.30.1",
|
||||||
"sass-loader": "^13.3.3",
|
"sass-loader": "^13.3.3",
|
||||||
"vue": "^3.4.6",
|
"vue": "^3.4.7",
|
||||||
"vue-router": "^4.2.5",
|
"vue-router": "^4.2.5",
|
||||||
"vuex": "^4.1.0"
|
"vuex": "^4.1.0"
|
||||||
},
|
},
|
||||||
|
@ -22,7 +22,7 @@
|
||||||
"@babel/eslint-parser": "^7.23.3",
|
"@babel/eslint-parser": "^7.23.3",
|
||||||
"@rushstack/eslint-patch": "^1.6.1",
|
"@rushstack/eslint-patch": "^1.6.1",
|
||||||
"@typescript-eslint/eslint-plugin": "^6.18.1",
|
"@typescript-eslint/eslint-plugin": "^6.18.1",
|
||||||
"@vitejs/plugin-vue": "^5.0.2",
|
"@vitejs/plugin-vue": "^5.0.3",
|
||||||
"@vue/cli-plugin-eslint": "^5.0.8",
|
"@vue/cli-plugin-eslint": "^5.0.8",
|
||||||
"@vue/eslint-config-typescript": "^12.0.0",
|
"@vue/eslint-config-typescript": "^12.0.0",
|
||||||
"axios": "^1.6.5",
|
"axios": "^1.6.5",
|
||||||
|
@ -32,7 +32,7 @@
|
||||||
"eslint-plugin-vue": "^9.19.2",
|
"eslint-plugin-vue": "^9.19.2",
|
||||||
"node-sass": "^9.0.0",
|
"node-sass": "^9.0.0",
|
||||||
"sass": "^1.69.7",
|
"sass": "^1.69.7",
|
||||||
"style-loader": "^3.3.3",
|
"style-loader": "^3.3.4",
|
||||||
"ts-node": "^10.9.2",
|
"ts-node": "^10.9.2",
|
||||||
"vue-eslint-parser": "^9.4.0"
|
"vue-eslint-parser": "^9.4.0"
|
||||||
}
|
}
|
||||||
|
@ -2284,9 +2284,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vitejs/plugin-vue": {
|
"node_modules/@vitejs/plugin-vue": {
|
||||||
"version": "5.0.2",
|
"version": "5.0.3",
|
||||||
"resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-5.0.2.tgz",
|
"resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-5.0.3.tgz",
|
||||||
"integrity": "sha512-kEjJHrLb5ePBvjD0SPZwJlw1QTRcjjCA9sB5VyfonoXVBxTS7TMnqL6EkLt1Eu61RDeiuZ/WN9Hf6PxXhPI2uA==",
|
"integrity": "sha512-b8S5dVS40rgHdDrw+DQi/xOM9ed+kSRZzfm1T74bMmBDCd8XO87NKlFYInzCtwvtWwXZvo1QxE2OSspTATWrbA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.0.0 || >=20.0.0"
|
"node": "^18.0.0 || >=20.0.0"
|
||||||
|
@ -2561,12 +2561,12 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@vue/compiler-core": {
|
"node_modules/@vue/compiler-core": {
|
||||||
"version": "3.4.6",
|
"version": "3.4.7",
|
||||||
"resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.4.6.tgz",
|
"resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.4.7.tgz",
|
||||||
"integrity": "sha512-9SmkpHsXqhHGMIOp4cawUqp0AxLN2fJJfxh3sR2RaouVx/Y/ww5ts3dfpD9SCvD0n8cdO/Xw+kWEpa6EkH/vTQ==",
|
"integrity": "sha512-hhCaE3pTMrlIJK7M/o3Xf7HV8+JoNTGOQ/coWS+V+pH6QFFyqtoXqQzpqsNp7UK17xYKua/MBiKj4e1vgZOBYw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/parser": "^7.23.6",
|
"@babel/parser": "^7.23.6",
|
||||||
"@vue/shared": "3.4.6",
|
"@vue/shared": "3.4.7",
|
||||||
"entities": "^4.5.0",
|
"entities": "^4.5.0",
|
||||||
"estree-walker": "^2.0.2",
|
"estree-walker": "^2.0.2",
|
||||||
"source-map-js": "^1.0.2"
|
"source-map-js": "^1.0.2"
|
||||||
|
@ -2581,24 +2581,24 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/compiler-dom": {
|
"node_modules/@vue/compiler-dom": {
|
||||||
"version": "3.4.6",
|
"version": "3.4.7",
|
||||||
"resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.4.6.tgz",
|
"resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.4.7.tgz",
|
||||||
"integrity": "sha512-i39ZuyHPzPb0v5yXZbvODGwLr+T7lS1rYSjMd1oCTa14aDP80kYpWXrWPF1JVD4QJJNyLgFnJ2hxvFLM7dy9NQ==",
|
"integrity": "sha512-qDKBAIurCTub4n/6jDYkXwgsFuriqqmmLrIq1N2QDfYJA/mwiwvxi09OGn28g+uDdERX9NaKDLji0oTjE3sScg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vue/compiler-core": "3.4.6",
|
"@vue/compiler-core": "3.4.7",
|
||||||
"@vue/shared": "3.4.6"
|
"@vue/shared": "3.4.7"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/compiler-sfc": {
|
"node_modules/@vue/compiler-sfc": {
|
||||||
"version": "3.4.6",
|
"version": "3.4.7",
|
||||||
"resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.4.6.tgz",
|
"resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.4.7.tgz",
|
||||||
"integrity": "sha512-kTFOiyMtuetFqi5yEPA4hR6FTD36zKKY3qaBonxGb4pgj0yK1eACqH+iycTAsEqr2u4cOhcGkx3Yjecpgh6FTQ==",
|
"integrity": "sha512-Gec6CLkReVswDYjQFq79O5rktri4R7TsD/VPCiUoJw40JhNNxaNJJa8mrQrWoJluW4ETy6QN0NUyC/JO77OCOw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/parser": "^7.23.6",
|
"@babel/parser": "^7.23.6",
|
||||||
"@vue/compiler-core": "3.4.6",
|
"@vue/compiler-core": "3.4.7",
|
||||||
"@vue/compiler-dom": "3.4.6",
|
"@vue/compiler-dom": "3.4.7",
|
||||||
"@vue/compiler-ssr": "3.4.6",
|
"@vue/compiler-ssr": "3.4.7",
|
||||||
"@vue/shared": "3.4.6",
|
"@vue/shared": "3.4.7",
|
||||||
"estree-walker": "^2.0.2",
|
"estree-walker": "^2.0.2",
|
||||||
"magic-string": "^0.30.5",
|
"magic-string": "^0.30.5",
|
||||||
"postcss": "^8.4.32",
|
"postcss": "^8.4.32",
|
||||||
|
@ -2606,12 +2606,12 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/compiler-ssr": {
|
"node_modules/@vue/compiler-ssr": {
|
||||||
"version": "3.4.6",
|
"version": "3.4.7",
|
||||||
"resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.4.6.tgz",
|
"resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.4.7.tgz",
|
||||||
"integrity": "sha512-XqeojjDitjMLyOogDePNSxw9XL4FAXchO9oOfqdzLVEtYES5j+AEilPJyP0KhQPfGecY2mJ3Y7/e6kkiJQLKvg==",
|
"integrity": "sha512-PvYeSOvnCkST5mGS0TLwEn5w+4GavtEn6adcq8AspbHaIr+mId5hp7cG3ASy3iy8b+LuXEG2/QaV/nj5BQ/Aww==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vue/compiler-dom": "3.4.6",
|
"@vue/compiler-dom": "3.4.7",
|
||||||
"@vue/shared": "3.4.6"
|
"@vue/shared": "3.4.7"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/component-compiler-utils": {
|
"node_modules/@vue/component-compiler-utils": {
|
||||||
|
@ -2710,48 +2710,48 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/reactivity": {
|
"node_modules/@vue/reactivity": {
|
||||||
"version": "3.4.6",
|
"version": "3.4.7",
|
||||||
"resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.4.6.tgz",
|
"resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.4.7.tgz",
|
||||||
"integrity": "sha512-/VuOxdWDyAeKFHjOuSKEtH9jEVPRgsXxu84utBP1SiXFcFRx2prwiC9cSR8hKOfj5nBwhLXYb6XEU69mLpuk0w==",
|
"integrity": "sha512-F539DO0ogH0+L8F9Pnw7cjqibcmSOh5UTk16u5f4MKQ8fraqepI9zdh+sozPX6VmEHOcjo8qw3Or9ZcFFw4SZA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vue/shared": "3.4.6"
|
"@vue/shared": "3.4.7"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/runtime-core": {
|
"node_modules/@vue/runtime-core": {
|
||||||
"version": "3.4.6",
|
"version": "3.4.7",
|
||||||
"resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.4.6.tgz",
|
"resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.4.7.tgz",
|
||||||
"integrity": "sha512-XDOx8iiNmP66p+goUHT5XL1AnV8406VVFQARbylqmSCBZEtxchfu2ZoQk7U07ze8G/E0/BtX/C5o29zB1W4o5A==",
|
"integrity": "sha512-QMMsWRQaD3BpGyjjChthpl4Mji4Fjx1qfdufsXlDkKU3HV+hWNor2z+29F+E1MmVcP0ZfRZUfqYgtsQoL7IGwQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vue/reactivity": "3.4.6",
|
"@vue/reactivity": "3.4.7",
|
||||||
"@vue/shared": "3.4.6"
|
"@vue/shared": "3.4.7"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/runtime-dom": {
|
"node_modules/@vue/runtime-dom": {
|
||||||
"version": "3.4.6",
|
"version": "3.4.7",
|
||||||
"resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.4.6.tgz",
|
"resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.4.7.tgz",
|
||||||
"integrity": "sha512-8bdQR5CLfzClGvAOfbbCF8adE9oko0pRfe+dj297i0JCdCJ8AuyUMsXkt6vGPcRPqIKX4Z8f/bDPrwl+c7e4Wg==",
|
"integrity": "sha512-XwegyUY1rw8zxsX1Z36vwYcqo+uOgih5ti7y9vx+pPFhNdSQmN4LqK2RmSeAJG1oKV8NqSUmjpv92f/x6h0SeQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vue/runtime-core": "3.4.6",
|
"@vue/runtime-core": "3.4.7",
|
||||||
"@vue/shared": "3.4.6",
|
"@vue/shared": "3.4.7",
|
||||||
"csstype": "^3.1.3"
|
"csstype": "^3.1.3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/server-renderer": {
|
"node_modules/@vue/server-renderer": {
|
||||||
"version": "3.4.6",
|
"version": "3.4.7",
|
||||||
"resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.4.6.tgz",
|
"resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.4.7.tgz",
|
||||||
"integrity": "sha512-0LS+GXf3M93KloaK/S0ZPq5PnKERgPAV5iNCCpjyBLhAQGGEeqfJojs3yXOAMQLSvXi9FLYDHzDEOLWoLaYbTQ==",
|
"integrity": "sha512-3bWnYLEkLLhkDWqvNk7IvbQD4UcxvFKxELBiOO2iG3m6AniFIsBWfHOO5tLVQnjdWkODu4rq0GipmfEenVAK5Q==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vue/compiler-ssr": "3.4.6",
|
"@vue/compiler-ssr": "3.4.7",
|
||||||
"@vue/shared": "3.4.6"
|
"@vue/shared": "3.4.7"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"vue": "3.4.6"
|
"vue": "3.4.7"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/shared": {
|
"node_modules/@vue/shared": {
|
||||||
"version": "3.4.6",
|
"version": "3.4.7",
|
||||||
"resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.4.6.tgz",
|
"resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.4.7.tgz",
|
||||||
"integrity": "sha512-O16vewA05D0IwfG2N/OFEuVeb17pieaI32mmYXp36V8lp+/pI1YV04rRL9Eyjndj3xQO5SNjAxTh6ul4IlBa3A=="
|
"integrity": "sha512-G+i4glX1dMJk88sbJEcQEGWRQnVm9eIY7CcQbO5dpdsD9SF8jka3Mr5OqZYGjczGN1+D6EUwdu6phcmcx9iuPA=="
|
||||||
},
|
},
|
||||||
"node_modules/@vue/vue-loader-v15": {
|
"node_modules/@vue/vue-loader-v15": {
|
||||||
"name": "vue-loader",
|
"name": "vue-loader",
|
||||||
|
@ -13889,9 +13889,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/style-loader": {
|
"node_modules/style-loader": {
|
||||||
"version": "3.3.3",
|
"version": "3.3.4",
|
||||||
"resolved": "https://registry.npmmirror.com/style-loader/-/style-loader-3.3.3.tgz",
|
"resolved": "https://registry.npmmirror.com/style-loader/-/style-loader-3.3.4.tgz",
|
||||||
"integrity": "sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw==",
|
"integrity": "sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 12.13.0"
|
"node": ">= 12.13.0"
|
||||||
|
@ -14665,15 +14665,15 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/vue": {
|
"node_modules/vue": {
|
||||||
"version": "3.4.6",
|
"version": "3.4.7",
|
||||||
"resolved": "https://registry.npmmirror.com/vue/-/vue-3.4.6.tgz",
|
"resolved": "https://registry.npmmirror.com/vue/-/vue-3.4.7.tgz",
|
||||||
"integrity": "sha512-gAzw5oP0/h34/yq1LjLNpn4wrCKYMuWp2jbs/JirFiZAFWYhd9jTkXp4wIi5ApgMJrMgD6YFyyXwKsqFYR31IQ==",
|
"integrity": "sha512-4urmkWpudekq0CPNMO7p6mBGa9qmTXwJMO2r6CT4EzIJVG7WoSReiysiNb7OSi/WI113oX0Srn9Rz1k/DCXKFQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vue/compiler-dom": "3.4.6",
|
"@vue/compiler-dom": "3.4.7",
|
||||||
"@vue/compiler-sfc": "3.4.6",
|
"@vue/compiler-sfc": "3.4.7",
|
||||||
"@vue/runtime-dom": "3.4.6",
|
"@vue/runtime-dom": "3.4.7",
|
||||||
"@vue/server-renderer": "3.4.6",
|
"@vue/server-renderer": "3.4.7",
|
||||||
"@vue/shared": "3.4.6"
|
"@vue/shared": "3.4.7"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"typescript": "*"
|
"typescript": "*"
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
"mitt": "^3.0.1",
|
"mitt": "^3.0.1",
|
||||||
"moment": "^2.30.1",
|
"moment": "^2.30.1",
|
||||||
"sass-loader": "^13.3.3",
|
"sass-loader": "^13.3.3",
|
||||||
"vue": "^3.4.6",
|
"vue": "^3.4.7",
|
||||||
"vue-router": "^4.2.5",
|
"vue-router": "^4.2.5",
|
||||||
"vuex": "^4.1.0"
|
"vuex": "^4.1.0"
|
||||||
},
|
},
|
||||||
|
@ -23,7 +23,7 @@
|
||||||
"@babel/eslint-parser": "^7.23.3",
|
"@babel/eslint-parser": "^7.23.3",
|
||||||
"@rushstack/eslint-patch": "^1.6.1",
|
"@rushstack/eslint-patch": "^1.6.1",
|
||||||
"@typescript-eslint/eslint-plugin": "^6.18.1",
|
"@typescript-eslint/eslint-plugin": "^6.18.1",
|
||||||
"@vitejs/plugin-vue": "^5.0.2",
|
"@vitejs/plugin-vue": "^5.0.3",
|
||||||
"@vue/cli-plugin-eslint": "^5.0.8",
|
"@vue/cli-plugin-eslint": "^5.0.8",
|
||||||
"@vue/eslint-config-typescript": "^12.0.0",
|
"@vue/eslint-config-typescript": "^12.0.0",
|
||||||
"axios": "^1.6.5",
|
"axios": "^1.6.5",
|
||||||
|
@ -33,7 +33,7 @@
|
||||||
"eslint-plugin-vue": "^9.19.2",
|
"eslint-plugin-vue": "^9.19.2",
|
||||||
"node-sass": "^9.0.0",
|
"node-sass": "^9.0.0",
|
||||||
"sass": "^1.69.7",
|
"sass": "^1.69.7",
|
||||||
"style-loader": "^3.3.3",
|
"style-loader": "^3.3.4",
|
||||||
"ts-node": "^10.9.2",
|
"ts-node": "^10.9.2",
|
||||||
"vue-eslint-parser": "^9.4.0"
|
"vue-eslint-parser": "^9.4.0"
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,14 +19,14 @@ public class BIDepartmentRenewalRateRecord
|
||||||
private double 个车续保率全月;
|
private double 个车续保率全月;
|
||||||
private double 环比昨日;
|
private double 环比昨日;
|
||||||
private double 环比上月;
|
private double 环比上月;
|
||||||
private int 平均提前签单天数;
|
// private int 平均提前签单天数;
|
||||||
private double 环比;
|
// private double 环比;
|
||||||
|
|
||||||
public BIDepartmentRenewalRateRecord()
|
public BIDepartmentRenewalRateRecord()
|
||||||
{}
|
{}
|
||||||
|
|
||||||
public BIDepartmentRenewalRateRecord( String 责任部门, double 机构目标值, int 到期数全月, double 序时到期数占比,
|
public BIDepartmentRenewalRateRecord( String 责任部门, double 机构目标值, int 到期数全月, double 序时到期数占比,
|
||||||
double 个车续保率序时, double 个车续保率全月, double 环比昨日, double 环比上月, int 平均提前签单天数, double 环比 )
|
double 个车续保率序时, double 个车续保率全月, double 环比昨日, double 环比上月 )
|
||||||
{
|
{
|
||||||
this.责任部门 = 责任部门;
|
this.责任部门 = 责任部门;
|
||||||
this.机构目标值 = 机构目标值;
|
this.机构目标值 = 机构目标值;
|
||||||
|
@ -36,8 +36,8 @@ public class BIDepartmentRenewalRateRecord
|
||||||
this.个车续保率全月 = 个车续保率全月;
|
this.个车续保率全月 = 个车续保率全月;
|
||||||
this.环比昨日 = 环比昨日;
|
this.环比昨日 = 环比昨日;
|
||||||
this.环比上月 = 环比上月;
|
this.环比上月 = 环比上月;
|
||||||
this.平均提前签单天数 = 平均提前签单天数;
|
// this.平均提前签单天数 = 平均提前签单天数;
|
||||||
this.环比 = 环比;
|
// this.环比 = 环比;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String get责任部门()
|
public String get责任部门()
|
||||||
|
@ -120,25 +120,6 @@ public class BIDepartmentRenewalRateRecord
|
||||||
this.环比上月 = 环比上月;
|
this.环比上月 = 环比上月;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int get平均提前签单天数()
|
|
||||||
{
|
|
||||||
return 平均提前签单天数;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void set平均提前签单天数( int 平均提前签单天数 )
|
|
||||||
{
|
|
||||||
this.平均提前签单天数 = 平均提前签单天数;
|
|
||||||
}
|
|
||||||
|
|
||||||
public double get环比()
|
|
||||||
{
|
|
||||||
return 环比;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void set环比( double 环比 )
|
|
||||||
{
|
|
||||||
this.环比 = 环比;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode()
|
public int hashCode()
|
||||||
|
@ -160,9 +141,6 @@ public class BIDepartmentRenewalRateRecord
|
||||||
result = prime * result + (int) (temp ^ (temp >>> 32));
|
result = prime * result + (int) (temp ^ (temp >>> 32));
|
||||||
temp = Double.doubleToLongBits( 环比上月 );
|
temp = Double.doubleToLongBits( 环比上月 );
|
||||||
result = prime * result + (int) (temp ^ (temp >>> 32));
|
result = prime * result + (int) (temp ^ (temp >>> 32));
|
||||||
result = prime * result + 平均提前签单天数;
|
|
||||||
temp = Double.doubleToLongBits( 环比 );
|
|
||||||
result = prime * result + (int) (temp ^ (temp >>> 32));
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -197,10 +175,6 @@ public class BIDepartmentRenewalRateRecord
|
||||||
return false;
|
return false;
|
||||||
if ( Double.doubleToLongBits( 环比上月 ) != Double.doubleToLongBits( other.环比上月 ) )
|
if ( Double.doubleToLongBits( 环比上月 ) != Double.doubleToLongBits( other.环比上月 ) )
|
||||||
return false;
|
return false;
|
||||||
if ( 平均提前签单天数 != other.平均提前签单天数 )
|
|
||||||
return false;
|
|
||||||
if ( Double.doubleToLongBits( 环比 ) != Double.doubleToLongBits( other.环比 ) )
|
|
||||||
return false;
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -209,7 +183,6 @@ public class BIDepartmentRenewalRateRecord
|
||||||
{
|
{
|
||||||
return "BIDepartmentRenewalRateRecord [责任部门=" + 责任部门 + ", 机构目标值=" + 机构目标值 + ", 到期数全月="
|
return "BIDepartmentRenewalRateRecord [责任部门=" + 责任部门 + ", 机构目标值=" + 机构目标值 + ", 到期数全月="
|
||||||
+ 到期数全月 + ", 序时到期数占比=" + 序时到期数占比 + ", 个车续保率序时=" + 个车续保率序时 + ", 个车续保率全月=" + 个车续保率全月
|
+ 到期数全月 + ", 序时到期数占比=" + 序时到期数占比 + ", 个车续保率序时=" + 个车续保率序时 + ", 个车续保率全月=" + 个车续保率全月
|
||||||
+ ", 环比昨日=" + 环比昨日 + ", 环比上月=" + 环比上月 + ", 平均提前签单天数=" + 平均提前签单天数 + ", 环比=" + 环比
|
+ ", 环比昨日=" + 环比昨日 + ", 环比上月=" + 环比上月 + "]";
|
||||||
+ "]";
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,18 +34,21 @@ public final class ImportBIExcelData
|
||||||
{
|
{
|
||||||
private static Logger logger = LoggerFactory.getLogger( ImportBIExcelData.class );
|
private static Logger logger = LoggerFactory.getLogger( ImportBIExcelData.class );
|
||||||
|
|
||||||
|
// 坐席 渗透率
|
||||||
private static String[] TelsalerAttachingRateExcelTitle = new String[]
|
private static String[] TelsalerAttachingRateExcelTitle = new String[]
|
||||||
{ "部门", "经办", "车险保费(万)", "车险保费占比", "非车保费(万)", "当月保费渗透率", "保费渗透率环比上月", "当月客户渗透率", "客户渗透率环比上月",
|
{ "部门", "经办", "车险保费(万)", "车险保费占比", "非车保费(万)", "当月保费渗透率", "保费渗透率环比上月", "当月客户渗透率", "客户渗透率环比上月",
|
||||||
"当月车非客均保费", "客均保费环比上月"};
|
"当月车非客均保费", "客均保费环比上月"};
|
||||||
|
|
||||||
|
// 坐席 续保率
|
||||||
private static String[] TelSalerRenewalRateExcelTitle = new String[]
|
private static String[] TelSalerRenewalRateExcelTitle = new String[]
|
||||||
{ "责任部门", "责任人", "机构目标值1(%)", "到期数-全月", "序时到期数占比(%)", "个车续保率(序时)(%)", "个车续保率(全月)(%)", "环比昨日(%)",
|
{ "责任部门", "责任人", "机构目标值1(%)", "到期数-全月", "序时到期数占比(%)", "个车续保率(序时)(%)", "个车续保率(全月)(%)", "环比昨日(%)",
|
||||||
"环比上月(%)", "平均提前签单天数", "环比"};
|
"环比上月(%)", "序时-部门内", "全月-部门内"};
|
||||||
|
|
||||||
|
// 机构 渗透率
|
||||||
private static String[] DepartmentAttachingRateExcelTitle = new String[]
|
private static String[] DepartmentAttachingRateExcelTitle = new String[]
|
||||||
{ "部门", "目标值-机构", "目标差距", "车险保费(万)", "车险保费占比", "非车保费(万)", "当月保费渗透率", "保费渗透率环比上月", "车险客户数", "当月客户渗透率",
|
{ "部门", "目标值-机构", "目标差距", "车险保费(万)", "车险保费占比", "非车保费(万)", "当月保费渗透率", "保费渗透率环比上月", "车险客户数", "当月客户渗透率",
|
||||||
"客户渗透率环比上月", "当月车非客均保费", "客均保费环比上月"};
|
"客户渗透率环比上月", "当月车非客均保费", "客均保费环比上月"};
|
||||||
|
// 机构 续保率
|
||||||
private static String[] DepartmentRenewalRateExcelTitle = new String[]
|
private static String[] DepartmentRenewalRateExcelTitle = new String[]
|
||||||
{ "责任部门", "机构目标值1(%)", "到期数-全月", "序时到期数占比(%)", "个车续保率(序时)(%)", "个车续保率(全月)(%)", "环比昨日(%)",
|
{ "责任部门", "机构目标值1(%)", "到期数-全月", "序时到期数占比(%)", "个车续保率(序时)(%)", "个车续保率(全月)(%)", "环比昨日(%)",
|
||||||
"环比上月(%)", "序时-部门内", "全月-部门内",};
|
"环比上月(%)", "序时-部门内", "全月-部门内",};
|
||||||
|
@ -499,11 +502,11 @@ public final class ImportBIExcelData
|
||||||
double 个车续保率全月 = MyPOIUtils.getNumbericCellValue( row, 5 ) * 100;
|
double 个车续保率全月 = MyPOIUtils.getNumbericCellValue( row, 5 ) * 100;
|
||||||
double 环比昨日 = MyPOIUtils.getNumbericCellValue( row, 6 ) * 100;
|
double 环比昨日 = MyPOIUtils.getNumbericCellValue( row, 6 ) * 100;
|
||||||
double 环比上月 = MyPOIUtils.getNumbericCellValue( row, 7 ) * 100;
|
double 环比上月 = MyPOIUtils.getNumbericCellValue( row, 7 ) * 100;
|
||||||
int 平均提前签单天数 = (int) MyPOIUtils.getNumbericCellValue( row, 8 );
|
// int 平均提前签单天数 = (int) MyPOIUtils.getNumbericCellValue( row, 8 );
|
||||||
double 环比 = MyPOIUtils.getNumbericCellValue( row, 9 ) * 100;
|
// double 环比 = MyPOIUtils.getNumbericCellValue( row, 9 ) * 100;
|
||||||
|
|
||||||
BIDepartmentRenewalRateRecord record = new BIDepartmentRenewalRateRecord( 责任部门,
|
BIDepartmentRenewalRateRecord record = new BIDepartmentRenewalRateRecord( 责任部门,
|
||||||
机构目标值, 到期数全月, 序时到期数占比, 个车续保率序时, 个车续保率全月, 环比昨日, 环比上月, 平均提前签单天数, 环比 );
|
机构目标值, 到期数全月, 序时到期数占比, 个车续保率序时, 个车续保率全月, 环比昨日, 环比上月 );
|
||||||
|
|
||||||
records.add( record );
|
records.add( record );
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,24 +29,23 @@
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
<insert id="insertDepartmentRenewalRateDataToDB" parameterType="com.cpic.xim.mybatis.pojo.BIDepartmentRenewalRateRecord" >
|
<insert id="insertDepartmentRenewalRateDataToDB" parameterType="com.cpic.xim.mybatis.pojo.BIDepartmentRenewalRateRecord" >
|
||||||
insert into BI机构当月个车续保率跟踪表( "责任部门","机构目标值1(%)","到期数-全月" ,"序时到期数占比(%)","个车续保率(序时)(%)",
|
insert into "BI机构续保率跟踪表-24年"( "责任部门","机构目标值1(%)","到期数-全月" ,"序时到期数占比(%)","个车续保率(序时)(%)",
|
||||||
"个车续保率(全月)(%)","环比昨日(%)","环比上月(%)","平均提前签单天数","环比")
|
"个车续保率(全月)(%)","环比昨日(%)","环比上月(%)")
|
||||||
values (#{责任部门},#{机构目标值},#{到期数全月},#{序时到期数占比},
|
values (#{责任部门},#{机构目标值},#{到期数全月},#{序时到期数占比},
|
||||||
#{个车续保率序时},#{个车续保率全月},#{环比昨日},#{环比上月},
|
#{个车续保率序时},#{个车续保率全月},#{环比昨日},#{环比上月} )
|
||||||
#{平均提前签单天数},#{环比})
|
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
<select id="cleanTelsalerAttachingRateData" statementType="CALLABLE">
|
<select id="cleanTelsalerAttachingRateData" statementType="CALLABLE">
|
||||||
call telsale_bi_utils.清理BI电销坐席车非渗透率跟踪表()
|
call TELSALE_BI_UTILS_dev.清理BI电销坐席车非渗透率跟踪表()
|
||||||
</select>
|
</select>
|
||||||
<select id="cleanTelsalerRenewalRateData" statementType="CALLABLE">
|
<select id="cleanTelsalerRenewalRateData" statementType="CALLABLE">
|
||||||
call telsale_bi_utils.清理BI电销坐席续保率跟踪表()
|
call TELSALE_BI_UTILS_dev.清理BI电销坐席续保率跟踪表()
|
||||||
</select>
|
</select>
|
||||||
<select id="cleanDepartmentAttachingRateData" statementType="CALLABLE">
|
<select id="cleanDepartmentAttachingRateData" statementType="CALLABLE">
|
||||||
call telsale_bi_utils.清理BI部门渗透率跟踪表()
|
call TELSALE_BI_UTILS_dev.清理BI部门渗透率跟踪表()
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="cleanDepartmentRenewalRateData" statementType="CALLABLE">
|
<select id="cleanDepartmentRenewalRateData" statementType="CALLABLE">
|
||||||
call telsale_bi_utils.清理BI部门续保率跟踪表()
|
call TELSALE_BI_UTILS_dev.清理BI部门续保率跟踪表()
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
|
@ -105,7 +105,7 @@
|
||||||
t."环比上月(%)" as 环比上月,
|
t."环比上月(%)" as 环比上月,
|
||||||
t.平均提前签单天数,
|
t.平均提前签单天数,
|
||||||
t.环比
|
t.环比
|
||||||
from BI机构当月个车续保率跟踪表 t
|
from "BI机构续保率跟踪表-24年" t
|
||||||
</select>
|
</select>
|
||||||
<resultMap id="BIDepartmentRenewalRate" type="com.cpic.xim.mybatis.pojo.BIDepartmentRenewalRateRecord">
|
<resultMap id="BIDepartmentRenewalRate" type="com.cpic.xim.mybatis.pojo.BIDepartmentRenewalRateRecord">
|
||||||
<result column="责任部门" property="责任部门" jdbcType="VARCHAR" javaType="String" />
|
<result column="责任部门" property="责任部门" jdbcType="VARCHAR" javaType="String" />
|
||||||
|
@ -116,7 +116,7 @@
|
||||||
<result column="个车续保率全月" property="个车续保率全月" jdbcType="DOUBLE" javaType="double" />
|
<result column="个车续保率全月" property="个车续保率全月" jdbcType="DOUBLE" javaType="double" />
|
||||||
<result column="环比昨日" property="环比昨日" jdbcType="DOUBLE" javaType="double" />
|
<result column="环比昨日" property="环比昨日" jdbcType="DOUBLE" javaType="double" />
|
||||||
<result column="环比上月" property="环比上月" jdbcType="DOUBLE" javaType="double" />
|
<result column="环比上月" property="环比上月" jdbcType="DOUBLE" javaType="double" />
|
||||||
<result column="平均提前签单天数" property="平均提前签单天数" jdbcType="INTEGER" javaType="int" />
|
<!-- <result column="平均提前签单天数" property="平均提前签单天数" jdbcType="INTEGER" javaType="int" /> -->
|
||||||
<result column="环比" property="环比" jdbcType="DOUBLE" javaType="double" />
|
<!-- <result column="环比" property="环比" jdbcType="DOUBLE" javaType="double" /> -->
|
||||||
</resultMap>
|
</resultMap>
|
||||||
</mapper>
|
</mapper>
|
|
@ -18,6 +18,7 @@ import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import com.cpic.xim.mybatis.mapper.ImportBIArchievementDataMapper;
|
import com.cpic.xim.mybatis.mapper.ImportBIArchievementDataMapper;
|
||||||
import com.cpic.xim.mybatis.pojo.BIDepartmentAttachingRateRecord;
|
import com.cpic.xim.mybatis.pojo.BIDepartmentAttachingRateRecord;
|
||||||
|
import com.cpic.xim.mybatis.pojo.BIDepartmentRenewalRateRecord;
|
||||||
import com.cpic.xim.mybatis.pojo.BITelsalerRenewalRateRecord;
|
import com.cpic.xim.mybatis.pojo.BITelsalerRenewalRateRecord;
|
||||||
import com.cpic.xim.mybatis.utils.MybatisUtils;
|
import com.cpic.xim.mybatis.utils.MybatisUtils;
|
||||||
import com.cpic.xim.utils.data.ImportBIExcelData;
|
import com.cpic.xim.utils.data.ImportBIExcelData;
|
||||||
|
@ -74,7 +75,7 @@ public class BatchInsertTest
|
||||||
@Test
|
@Test
|
||||||
public void testBatchInsertBITeslsalerRenewalRate()
|
public void testBatchInsertBITeslsalerRenewalRate()
|
||||||
{
|
{
|
||||||
String filePath = "D:/develop/cpicxim/deskop_task_schedule/数据/测试用/坐席-续保.xlsx";
|
String filePath = "D:\\develop\\cpicxim\\deskop_task_schedule\\数据\\测试用\\24年报表\\坐席-续保.xlsx";
|
||||||
ArrayList<BITelsalerRenewalRateRecord> records = null;
|
ArrayList<BITelsalerRenewalRateRecord> records = null;
|
||||||
SqlSession session = null;
|
SqlSession session = null;
|
||||||
ImportBIArchievementDataMapper mapper = null;
|
ImportBIArchievementDataMapper mapper = null;
|
||||||
|
@ -114,7 +115,7 @@ public class BatchInsertTest
|
||||||
@Test
|
@Test
|
||||||
public void testBatchInsertBIDepartmentAttachingRateToDB()
|
public void testBatchInsertBIDepartmentAttachingRateToDB()
|
||||||
{
|
{
|
||||||
String filePath = "D:/develop/cpicxim/deskop_task_schedule/数据/测试用/机构渗透.xlsx";
|
String filePath = "D:\\develop\\cpicxim\\deskop_task_schedule\\数据\\测试用\\24年报表\\机构-续保.xlsx";
|
||||||
|
|
||||||
ArrayList<BIDepartmentAttachingRateRecord> records = null;
|
ArrayList<BIDepartmentAttachingRateRecord> records = null;
|
||||||
SqlSession session = null;
|
SqlSession session = null;
|
||||||
|
@ -148,4 +149,42 @@ public class BatchInsertTest
|
||||||
assert( false );
|
assert( false );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testBatchInsertBIDepartmentRenewalRateToDB()
|
||||||
|
{
|
||||||
|
String filePath = "D:\\develop\\cpicxim\\deskop_task_schedule\\数据\\测试用\\24年报表\\机构-续保.xlsx";
|
||||||
|
|
||||||
|
ArrayList<BIDepartmentRenewalRateRecord> records = null;
|
||||||
|
SqlSession session = null;
|
||||||
|
ImportBIArchievementDataMapper mapper = null;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
records =
|
||||||
|
ImportBIExcelData.importBIDepartmentRenewalRateRecordsFromXlsx( filePath, 0, 1 );
|
||||||
|
session = MybatisUtils.getSqlSessionBatch();
|
||||||
|
mapper = session.getMapper( ImportBIArchievementDataMapper.class );
|
||||||
|
|
||||||
|
mapper.cleanDepartmentRenewalRateData();
|
||||||
|
|
||||||
|
for ( BIDepartmentRenewalRateRecord record : records )
|
||||||
|
{
|
||||||
|
mapper.insertDepartmentRenewalRateDataToDB( record );
|
||||||
|
}
|
||||||
|
|
||||||
|
session.commit();
|
||||||
|
}
|
||||||
|
catch ( Exception error )
|
||||||
|
{
|
||||||
|
if ( session != null )
|
||||||
|
{
|
||||||
|
session.rollback();
|
||||||
|
}
|
||||||
|
|
||||||
|
logger.error("错误", error);
|
||||||
|
|
||||||
|
assert( false );
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue