This commit is contained in:
2023-03-14 09:47:53 +08:00
parent eb133c0365
commit 893b697d5a
2 changed files with 69 additions and 30 deletions

View File

@@ -4,14 +4,67 @@ CREATE OR REPLACE PACKAGE telsale_archievement_pkg IS
-- Created : 2023/3/10 15:13:34 -- Created : 2023/3/10 15:13:34
-- Purpose : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɰ<EFBFBD> -- Purpose : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɰ<EFBFBD>
PROCEDURE <20><><EFBFBD>ǻ<EFBFBD><C7BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(a_gen_date IN DATE); PROCEDURE <20><><EFBFBD>ǻ<EFBFBD><C7BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
(
a_start_date IN DATE,
a_end_date IN DATE
);
PROCEDURE gen_<6E><5F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
(
a_start_date IN DATE,
a_end_date IN DATE
);
END telsale_archievement_pkg; END telsale_archievement_pkg;
/ /
CREATE OR REPLACE PACKAGE BODY telsale_archievement_pkg IS CREATE OR REPLACE PACKAGE BODY telsale_archievement_pkg IS
PROCEDURE <20><><EFBFBD>ǻ<EFBFBD><C7BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(a_gen_date IN DATE) IS PROCEDURE <20><><EFBFBD>ǻ<EFBFBD><C7BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CURSOR cur_chefei IS (
a_start_date IN DATE,
a_end_date IN DATE
) IS
--l_count INTEGER; --<2D><><EFBFBD>м<EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BEGIN
--<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
gen_<6E><5F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>(a_start_date,
a_end_date);
FOR caller_record IN (SELECT *
FROM <20><><EFBFBD><EFBFBD>ÿ<EFBFBD>ձ<EFBFBD><D5B1><EFBFBD>_t)
LOOP
BEGIN
DELETE <20><><EFBFBD><EFBFBD>ÿ<EFBFBD>ձ<EFBFBD><D5B1><EFBFBD> cf
WHERE cf.ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = caller_record.ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
AND cf.<2E><><EFBFBD><EFBFBD> = caller_record.<2E><><EFBFBD><EFBFBD>
AND cf.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>n = caller_record.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>n
AND cf.<2E><>ϯ<EFBFBD><CFAF><EFBFBD><EFBFBD> = caller_record.<2E><>ϯ<EFBFBD><CFAF><EFBFBD><EFBFBD>;
EXCEPTION
WHEN no_data_found THEN
NULL;
END;
INSERT INTO <20><><EFBFBD><EFBFBD>ÿ<EFBFBD>ձ<EFBFBD><D5B1><EFBFBD>
VALUES caller_record;
END LOOP;
COMMIT;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
PROCEDURE gen_<6E><5F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
(
a_start_date IN DATE,
a_end_date IN DATE
) IS
BEGIN
EXECUTE IMMEDIATE 'truncate table <20><><EFBFBD><EFBFBD>ÿ<EFBFBD>ձ<EFBFBD><D5B1><EFBFBD>_t';
INSERT INTO <20><><EFBFBD><EFBFBD>ÿ<EFBFBD>ձ<EFBFBD><D5B1><EFBFBD>_t
WITH aa AS WITH aa AS
(SELECT to_char(t.signature_date, (SELECT to_char(t.signature_date,
'yyyy-mm-dd') ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 'yyyy-mm-dd') ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
@@ -24,9 +77,7 @@ CREATE OR REPLACE PACKAGE BODY telsale_archievement_pkg IS
e.inception_date qbsj, e.inception_date qbsj,
e.planned_end_date zzsj, e.planned_end_date zzsj,
pt.premium_amount - nvl(pt.tax_amount, pt.premium_amount - nvl(pt.tax_amount,
0) bf 0) bf,
--,qt.qdbf - nvl(qt.qdbf_tax_amount,0) bf
,
nt.ecompensation_rate * (pt.premium_amount - nvl(pt.tax_amount, nt.ecompensation_rate * (pt.premium_amount - nvl(pt.tax_amount,
0)) fxbf, 0)) fxbf,
z.department_name bm, z.department_name bm,
@@ -110,8 +161,6 @@ CREATE OR REPLACE PACKAGE BODY telsale_archievement_pkg IS
LEFT JOIN datacenter.dc_YZH_ZXYS YS LEFT JOIN datacenter.dc_YZH_ZXYS YS
ON YS.<2E><>ϯ<EFBFBD><CFAF><EFBFBD><EFBFBD> = nvl(zx.workerno, ON YS.<2E><>ϯ<EFBFBD><CFAF><EFBFBD><EFBFBD> = nvl(zx.workerno,
et.telpartnercode) et.telpartnercode)
--left join v_lsj_dimian dm on dm.vin=v.vin and e.selling_channel_type='25' and dm.MEMO like'%<25><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%'
--left join datacenter.dc_lsj_zx_team zt on zt.name=coalesce(zc.name,zc1.name,bc.name,dm.JBRMC)
WHERE t.signature_date >= to_date('2023-01-01 00:00:00', WHERE t.signature_date >= to_date('2023-01-01 00:00:00',
'yyyy-mm-dd hh24:mi:ss') 'yyyy-mm-dd hh24:mi:ss')
AND t.signature_date < to_date(to_char(SYSDATE - 1, AND t.signature_date < to_date(to_char(SYSDATE - 1,
@@ -122,7 +171,6 @@ CREATE OR REPLACE PACKAGE BODY telsale_archievement_pkg IS
AND qt.tflag = '0' --<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD> AND qt.tflag = '0' --<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
AND qt.usage_xm = '<27><>ͥ<EFBFBD><CDA5><EFBFBD>ó<EFBFBD>' AND qt.usage_xm = '<27><>ͥ<EFBFBD><CDA5><EFBFBD>ó<EFBFBD>'
--<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1B3B5>Ħ<EFBFBD>г<EFBFBD><D0B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> --<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1B3B5>Ħ<EFBFBD>г<EFBFBD><D0B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--and e.policy_no in ('AXIMC90Y1419B038594J','AXIMC90CTP19B039593R','AXIMC04CTP19B013473X')
AND e.planned_end_date - e.inception_date >= 360 AND e.planned_end_date - e.inception_date >= 360
--<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> --<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
) )
@@ -228,7 +276,6 @@ CREATE OR REPLACE PACKAGE BODY telsale_archievement_pkg IS
ON qna.policy_no = q.policy_no ON qna.policy_no = q.policy_no
LEFT JOIN datacenter.dc_yangg_gkxzh gk LEFT JOIN datacenter.dc_yangg_gkxzh gk
ON gk.product_code = e.product_code --<2D><>ɢ<EFBFBD><C9A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ON gk.product_code = e.product_code --<2D><>ɢ<EFBFBD><C9A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--left join datacenter.dc_yangg_zbxzh zb on zb.product_code = e.product_code --<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
LEFT JOIN dd LEFT JOIN dd
ON dd.tid = qna.t_cre ON dd.tid = qna.t_cre
WHERE qna.tflag = '0' WHERE qna.tflag = '0'
@@ -239,15 +286,12 @@ CREATE OR REPLACE PACKAGE BODY telsale_archievement_pkg IS
2) != 0 THEN 2) != 0 THEN
'<27><>' '<27><>'
END) IS NULL END) IS NULL
--and q.endorsement_no = '<27><>'
AND e.policy_status = '1' AND e.policy_status = '1'
AND gk.product_code IS NOT NULL AND gk.product_code IS NOT NULL
AND (e.product_code LIKE '2%' OR e.product_code LIKE '1106%' --<2D>⽡ --<2D><><EFBFBD><EFBFBD> AND (e.product_code LIKE '2%' OR e.product_code LIKE '1106%' --<2D>⽡ --<2D><><EFBFBD><EFBFBD>
OR e.product_code LIKE '1107%' OR e.product_code LIKE '1108%' OR e.product_code LIKE '1307%' OR OR e.product_code LIKE '1107%' OR e.product_code LIKE '1108%' OR e.product_code LIKE '1307%' OR e.product_code LIKE '1304A400%' --<2D>Ҳ<EFBFBD>
e.product_code LIKE '1304A400%' --<2D>Ҳ<EFBFBD>
) )
--and e.product_code not in ('22KC9800')
AND q.signature_date >= to_date('2023-01-01 00:00:00', AND q.signature_date >= to_date('2023-01-01 00:00:00',
'yyyy-mm-dd hh24:mi:ss') 'yyyy-mm-dd hh24:mi:ss')
AND q.signature_date < to_date(to_char(SYSDATE - 1, AND q.signature_date < to_date(to_char(SYSDATE - 1,
@@ -273,10 +317,10 @@ CREATE OR REPLACE PACKAGE BODY telsale_archievement_pkg IS
FROM dd FROM dd
LEFT JOIN cc LEFT JOIN cc
ON cc.<2E>ں<EFBFBD>֤<EFBFBD><D6A4> = dd.tid ON cc.<2E>ں<EFBFBD>֤<EFBFBD><D6A4> = dd.tid
AND cc.mm_f = dd.mm) --OR cc.<2E>ں<EFBFBD>֤<EFBFBD><D6A4> = dd.btid AND cc.mm_f = dd.mm)
--select * from ff SELECT to_date(ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
SELECT ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 'yyyy-mm-dd'),
--mm, mm <20>·<EFBFBD>,
bm <20><><EFBFBD><EFBFBD>, bm <20><><EFBFBD><EFBFBD>,
<20><><EFBFBD><EFBFBD>N, <20><><EFBFBD><EFBFBD>N,
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>N, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>N,
@@ -288,8 +332,10 @@ CREATE OR REPLACE PACKAGE BODY telsale_archievement_pkg IS
nvl(SUM(<28>ںϱ<DABA><CFB1><EFBFBD>), nvl(SUM(<28>ںϱ<DABA><CFB1><EFBFBD>),
0) <20><><EFBFBD><EFBFBD><EFBFBD>ںϱ<DABA><CFB1><EFBFBD> 0) <20><><EFBFBD><EFBFBD><EFBFBD>ںϱ<DABA><CFB1><EFBFBD>
FROM ff FROM ff
WHERE ff.ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = to_char(a_gen_date, WHERE ff.ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> >= to_char(a_start_date,
'yyyy-mm-dd') 'yyyy-mm-dd')
AND ff.ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <= to_char(a_end_date,
'yyyy-mm-dd')
AND bm IN ('<27><><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>', AND bm IN ('<27><><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>',
'<27><><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>˾') '<27><><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>˾')
GROUP BY ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, GROUP BY ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
@@ -302,11 +348,6 @@ CREATE OR REPLACE PACKAGE BODY telsale_archievement_pkg IS
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>N <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>N
ORDER BY <20><><EFBFBD><EFBFBD>, ORDER BY <20><><EFBFBD><EFBFBD>,
<20><>ϯ<EFBFBD><CFAF><EFBFBD><EFBFBD>; <20><>ϯ<EFBFBD><CFAF><EFBFBD><EFBFBD>;
BEGIN
FOR caller_record IN cur_chefei
LOOP
NULL;
END LOOP;
END; END;

View File

@@ -18,9 +18,8 @@ WITH aa AS
0)) fxbf, 0)) fxbf,
z.department_name bm, z.department_name bm,
CASE CASE
WHEN (et.telpartnercode LIKE '%HC%' OR WHEN (et.telpartnercode LIKE '%HC%' OR zx.workerno IN (SELECT code
zx.workerno IN (SELECT code FROM datacenter.dc_lsj_zx_hc)) THEN
FROM datacenter.dc_lsj_zx_hc)) THEN
'<EFBFBD><EFBFBD><EFBFBD>׷ῥ' '<EFBFBD><EFBFBD><EFBFBD>׷ῥ'
ELSE ELSE
'' ''
@@ -230,8 +229,7 @@ bb AS
AND e.policy_status = '1' AND e.policy_status = '1'
AND gk.product_code IS NOT NULL AND gk.product_code IS NOT NULL
AND (e.product_code LIKE '2%' OR e.product_code LIKE '1106%' --<EFBFBD> --<EFBFBD><EFBFBD><EFBFBD><EFBFBD> AND (e.product_code LIKE '2%' OR e.product_code LIKE '1106%' --<EFBFBD> --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
OR e.product_code LIKE '1107%' OR e.product_code LIKE '1108%' OR e.product_code LIKE '1307%' OR OR e.product_code LIKE '1107%' OR e.product_code LIKE '1108%' OR e.product_code LIKE '1307%' OR e.product_code LIKE '1304A400%' --<EFBFBD>Ҳ<EFBFBD>
e.product_code LIKE '1304A400%' --<EFBFBD>Ҳ<EFBFBD>
) )
--and e.product_code not in ('22KC9800') --and e.product_code not in ('22KC9800')