|
@@ -0,0 +1,914 @@
|
|
|
+CREATE OR REPLACE PROCEDURE shanglifeecif.updateindividuallable() IS
|
|
|
+DECLARE
|
|
|
+BEGIN
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.label1 = si1.Education where si1.Education is not null;
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.label2 = si1.Occupation where si1.Occupation is not null;
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.label3 = substr(si1.birthday,3,1) || '0后' where 1 = 1;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.label9 = si1.maritalStat WHERE 1 = 1;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.individual si1 SET si1.cochild = (
|
|
|
+ SELECT nvl(t.cnum,0) FROM (
|
|
|
+ SELECT si.indid1,count(*) AS cnum FROM shanglifeecif.IndRelationShip si
|
|
|
+ WHERE si.rstype = '子女' GROUP BY si.indid1
|
|
|
+ ) t WHERE t.indid1 = si1.scustid
|
|
|
+ ) ;
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.label10 = (
|
|
|
+ case
|
|
|
+ when si1.COChild=0 then '无子女'
|
|
|
+ when si1.COChild=1 then '1孩'
|
|
|
+ when si1.COChild>=2 then '2孩及以上'
|
|
|
+ else null END
|
|
|
+ ) WHERE si1.cochild is not null;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.Label21 = (
|
|
|
+ CASE
|
|
|
+ WHEN si1.pincome >=0 AND si1.pincome<=12 THEN '低收入'
|
|
|
+ WHEN si1.pincome >12 AND si1.pincome<=100 THEN '中产'
|
|
|
+ WHEN si1.pincome > 100 THEN '富人'
|
|
|
+ else null END
|
|
|
+ ) where 1 = 1;
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.Label22 = (
|
|
|
+ CASE
|
|
|
+ WHEN si1.COVehicle ==0 THEN '无车'
|
|
|
+ WHEN si1.COVehicle == 1 THEN '1辆车'
|
|
|
+ WHEN si1.COVehicle > 1 THEN '2辆车以上'
|
|
|
+ ELSE NULL END
|
|
|
+ ) where 1 = 1;
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.Label23 = (
|
|
|
+ CASE
|
|
|
+ WHEN si1.CORP ==0 THEN '无房'
|
|
|
+ WHEN si1.CORP == 1 THEN '1套房'
|
|
|
+ WHEN si1.CORP > 1 THEN '2套房以上'
|
|
|
+ else null END
|
|
|
+ ) where 1 = 1;
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.label24 = '持有寿险有效保单' WHERE si1.scustid in
|
|
|
+ (SELECT p.customerno FROM dsj.policy_information p,dsj.riskkind l WHERE p.riskcode = l.riskcode AND p.appflag = '有效' AND (l.kindtype = '新型寿险' OR l.kindtype = '人寿保险'));
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.label26 = '有保单贷款' WHERE si1.scustid IN (
|
|
|
+ SELECT p.customerno FROM dsj.policy_information p WHERE p.appflag = '有效' and p.contno IN (
|
|
|
+ SELECT contno FROM dsj.loloandetail WHERE moneytype='DK'
|
|
|
+ )
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ SELECT
|
|
|
+ CASE
|
|
|
+ WHEN temp.cnt >0 THEN
|
|
|
+ '有极短意外险'
|
|
|
+ END
|
|
|
+ FROM
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ count(1) cnt,
|
|
|
+ policy.customerno
|
|
|
+ FROM
|
|
|
+ policy_information policy
|
|
|
+ where
|
|
|
+ policy.SECURITY in('7天','15天','30天','90天','1月','3月')
|
|
|
+ and
|
|
|
+ policy.riskperiod='短期险'
|
|
|
+ and
|
|
|
+ policy.riskcode not in('1066008','1066007','1066006','1066004','1066003','1066002','1066001','1065005','1065003','1065001','1025003')
|
|
|
+
|
|
|
+ GROUP BY
|
|
|
+ policy.customerno
|
|
|
+ ) temp
|
|
|
+ WHERE temp.customerno = si1.scustid
|
|
|
+ );*/
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.Label27 = (
|
|
|
+ SELECT
|
|
|
+ CASE
|
|
|
+ WHEN temp.cnt > 0 AND temp.cnt = temp.tnum THEN '仅极短意外险'
|
|
|
+ WHEN temp.cnt > 0 AND temp.cnt <> temp.tnum THEN '有极短意外险'
|
|
|
+ END
|
|
|
+ FROM (
|
|
|
+ SELECT p.customerno,max(cnt) cnt,nvl(count(*),0) tnum FROM (
|
|
|
+ SELECT
|
|
|
+ count(1) cnt,
|
|
|
+ po.customerno
|
|
|
+ FROM
|
|
|
+ dsj.policy_information po
|
|
|
+ where
|
|
|
+ po.SECURITY in('7天','15天','30天','90天','1月','3月')
|
|
|
+ and
|
|
|
+ po.riskperiod='短期险'
|
|
|
+ and
|
|
|
+ po.riskcode not in('1066008','1066007','1066006','1066004','1066003','1066002','1066001','1065005','1065003','1065001','1025003')
|
|
|
+ GROUP BY
|
|
|
+ po.customerno
|
|
|
+ ) t LEFT JOIN dsj.policy_information p ON t.customerno = p.customerno GROUP BY p.customerno
|
|
|
+ ) temp where temp.customerno = si1.scustid
|
|
|
+
|
|
|
+ );
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.Label29 = '有趸交保单' WHERE si1.scustid IN (
|
|
|
+ SELECT p.customerno FROM dsj.policy_information p WHERE p.payintv = '趸缴' and p.riskperiod = '长期险' AND p.contno IN (SELECT l.contno FROM dsj.PREMIUM_LIST l WHERE l.PAYMENT_PERIOD LIKE '%一次交清%')
|
|
|
+ );
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.Label30 = (
|
|
|
+
|
|
|
+ SELECT
|
|
|
+ CASE
|
|
|
+ WHEN tt.bnum = 0 THEN '本人未投保'
|
|
|
+ WHEN tt.bnum > 0 and tt.bnum <> tt.tnum THEN '为本人投保'
|
|
|
+ WHEN tt.bnum > 0 and tt.bnum = tt.tnum THEN '仅为本人投保'
|
|
|
+ END
|
|
|
+
|
|
|
+ FROM (
|
|
|
+ SELECT t.customerno,MAX(t.bnum) bnum,count(*) as tnum FROM (
|
|
|
+ SELECT count(*) AS bnum,p.customerno FROM dsj.policy_information p WHERE p.relationtoappnt = '本人' GROUP BY p.customerno
|
|
|
+ ) t LEFT JOIN dsj.policy_information pi ON pi.customerno = t.customerno GROUP BY t.customerno
|
|
|
+ ) tt WHERE tt.customerno = si1.scustid
|
|
|
+
|
|
|
+ );
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.Label31 = (
|
|
|
+
|
|
|
+ SELECT
|
|
|
+ CASE
|
|
|
+ WHEN tt.bnum = 0 THEN '父母未投保'
|
|
|
+ WHEN tt.bnum > 0 and tt.bnum <> tt.tnum THEN '为父母投保'
|
|
|
+ WHEN tt.bnum > 0 and tt.bnum = tt.tnum THEN '仅为父母投保'
|
|
|
+ END
|
|
|
+
|
|
|
+ FROM (
|
|
|
+ SELECT t.customerno,MAX(t.bnum) bnum,count(*) as tnum FROM (
|
|
|
+ SELECT count(*) AS bnum,p.customerno FROM dsj.policy_information p WHERE (p.RELATIONTOAPPNT = '子女' OR p.RELATIONTOAPPNT = '父母') AND p.birthday > p.insuredbirthday
|
|
|
+ GROUP BY p.customerno
|
|
|
+ ) t LEFT JOIN dsj.policy_information pi ON pi.customerno = t.customerno GROUP BY t.customerno
|
|
|
+ ) tt WHERE tt.customerno = si1.scustid
|
|
|
+
|
|
|
+ );
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.Label32 = (
|
|
|
+
|
|
|
+ SELECT
|
|
|
+ CASE
|
|
|
+ WHEN tt.bnum = 0 THEN '子女未投保'
|
|
|
+ WHEN tt.bnum > 0 and tt.bnum <> tt.tnum THEN '为子女投保'
|
|
|
+ WHEN tt.bnum > 0 and tt.bnum = tt.tnum THEN '仅为子女投保'
|
|
|
+ END
|
|
|
+
|
|
|
+ FROM (
|
|
|
+ SELECT t.customerno,MAX(t.bnum) bnum,count(*) as tnum FROM (
|
|
|
+ SELECT nvl(count(*),0) AS bnum,p.customerno FROM dsj.policy_information p WHERE (p.RELATIONTOAPPNT = '子女' OR p.RELATIONTOAPPNT = '父母') AND p.birthday < p.insuredbirthday GROUP BY p.customerno
|
|
|
+ ) t LEFT JOIN dsj.policy_information pi ON pi.customerno = t.customerno GROUP BY t.customerno
|
|
|
+ ) tt WHERE tt.customerno = si1.scustid
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.Label33 = (
|
|
|
+
|
|
|
+ SELECT
|
|
|
+ CASE
|
|
|
+ WHEN tt.bnum = 0 THEN '配偶未投保'
|
|
|
+ WHEN tt.bnum > 0 and tt.bnum <> tt.tnum THEN '为配偶投保'
|
|
|
+ WHEN tt.bnum > 0 and tt.bnum = tt.tnum THEN '仅为配偶投保'
|
|
|
+ END
|
|
|
+
|
|
|
+ FROM (
|
|
|
+ SELECT t.customerno,MAX(t.bnum) bnum,count(*) as tnum FROM (
|
|
|
+ SELECT count(*) AS bnum,p.customerno FROM dsj.policy_information p WHERE p.relationtoappnt = '配偶' GROUP BY p.customerno
|
|
|
+ ) t LEFT JOIN dsj.policy_information pi ON pi.customerno = t.customerno GROUP BY t.customerno
|
|
|
+ ) tt WHERE tt.customerno = si1.scustid
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ SELECT
|
|
|
+ CASE
|
|
|
+ WHEN temp.cnt >0 THEN
|
|
|
+ '有1年期短险保单'
|
|
|
+ END
|
|
|
+ FROM
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ count(1) cnt,
|
|
|
+ policy.customerno
|
|
|
+ FROM
|
|
|
+ policy_information policy
|
|
|
+ where
|
|
|
+ policy.SECURITY in('1年','6月','180天')
|
|
|
+ and
|
|
|
+ policy.riskperiod='短期险'
|
|
|
+ and
|
|
|
+ policy.riskcode not in('1066008','1066007','1066006','1066004','1066003','1066002','1066001','1065005','1065003','1065001','1025003')
|
|
|
+
|
|
|
+ GROUP BY
|
|
|
+ policy.customerno
|
|
|
+ ) temp
|
|
|
+ WHERE
|
|
|
+ temp.customerno = si1.scustid
|
|
|
+ );*/
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.Label43 = (
|
|
|
+ SELECT
|
|
|
+ CASE
|
|
|
+ WHEN temp.cnt > 0 AND temp.cnt = temp.tnum THEN '仅有1年期短险保单'
|
|
|
+ WHEN temp.cnt > 0 AND temp.cnt <> temp.tnum THEN '有1年期短险保单'
|
|
|
+ END
|
|
|
+ FROM (
|
|
|
+ SELECT p.customerno,max(cnt) cnt,nvl(count(*),0) tnum FROM (
|
|
|
+ SELECT
|
|
|
+ count(1) cnt,
|
|
|
+ po.customerno
|
|
|
+ FROM
|
|
|
+ dsj.policy_information po
|
|
|
+ where
|
|
|
+ po.SECURITY in('1年','6月','180天')
|
|
|
+ and
|
|
|
+ po.riskperiod='短期险'
|
|
|
+ and
|
|
|
+ po.riskcode not in('1066008','1066007','1066006','1066004','1066003','1066002','1066001','1065005','1065003','1065001','1025003')
|
|
|
+ GROUP BY
|
|
|
+ po.customerno
|
|
|
+ ) t LEFT JOIN dsj.policy_information p ON t.customerno = p.customerno GROUP BY p.customerno
|
|
|
+ ) temp where temp.customerno = si1.scustid
|
|
|
+
|
|
|
+ );
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.label44 = '有失效保单' WHERE si1.scustid IN (
|
|
|
+ SELECT p.customerno FROM dsj.policy_information p WHERE p.appflag <> '有效' and p.contno IN (select contno from dsj.lccontstate where statetype = 'Available' and state = '1')
|
|
|
+ );
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.label45 = '有缴费期满长险保单' WHERE si1.scustid IN (
|
|
|
+ SELECT p.customerno FROM dsj.policy_information p WHERE p.appflag = '有效' and p.paycount = p.payendyear AND p.riskperiod='长期险'
|
|
|
+ );
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.label46 = '有续期缴费保单' WHERE si1.scustid IN (
|
|
|
+ SELECT p.customerno FROM dsj.policy_information p WHERE p.appflag = '有效' and p.contno IN (
|
|
|
+ select otherno from dsj.ljspay where othernotype = '2'
|
|
|
+ )
|
|
|
+ );
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.label47 = '有责任期满的保单' WHERE si1.scustid IN (
|
|
|
+ SELECT p.customerno FROM dsj.policy_information p WHERE p.enddate < to_char(SYSDATE,"yyyy-MM-dd HH:mm:ss.S")
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.FADate = (
|
|
|
+ SELECT fadate FROM (
|
|
|
+ SELECT p.customerno,min(p.polapplydate) AS fadate FROM dsj.POLICY_INFORMATION p WHERE p.polapplydate IS NOT null GROUP BY p.customerno
|
|
|
+ ) t WHERE t.customerno = si1.scustid
|
|
|
+ );
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.FADate = (
|
|
|
+ SELECT fadate FROM (
|
|
|
+ SELECT p.insuredno,min(p.polapplydate) AS fadate FROM dsj.POLICY_INFORMATION p WHERE p.polapplydate IS NOT null GROUP BY p.insuredno
|
|
|
+ ) t WHERE t.insuredno = si1.scustid
|
|
|
+ );
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.label48 = '首次投保日期'|| to_char(si1.fadate, 'yyyy-MM-dd') WHERE si1.fadate IS NOT NULL;
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.LAPPDate = (
|
|
|
+ SELECT fadate FROM (
|
|
|
+ SELECT p.customerno,max(p.polapplydate) AS fadate FROM dsj.POLICY_INFORMATION p WHERE p.polapplydate IS NOT null GROUP BY p.customerno
|
|
|
+ ) t WHERE t.customerno = si1.scustid
|
|
|
+ );
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.LAPPDate = (
|
|
|
+ SELECT fadate FROM (
|
|
|
+ SELECT p.insuredno,max(p.polapplydate) AS fadate FROM dsj.POLICY_INFORMATION p WHERE p.polapplydate IS NOT null GROUP BY p.insuredno
|
|
|
+ ) t WHERE t.insuredno = si1.scustid
|
|
|
+ );
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.label49 = '最后一次投保距今' || DATEDIFF(sysdate(), si1.LAPPDate) || '天' WHERE si1.lappdate IS NOT NULL;
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.label50 = (SELECT '最近保单' || trim(t.salecomname) FROM (
|
|
|
+ SELECT p.customerno,row_number()OVER(PARTITION BY p.customerno ORDER BY p.polapplydate DESC) rd,p.salecomname FROM dsj.POLICY_INFORMATION p
|
|
|
+ WHERE p.salecomname IS NOT null
|
|
|
+ ) t WHERE t.rd = 1 AND t.customerno = si1.scustid);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.label52 = (SELECT '首单' || trim(t.salecomname) FROM (
|
|
|
+ SELECT p.customerno,row_number()OVER(PARTITION BY p.customerno ORDER BY p.polapplydate asc) rd,p.salecomname FROM dsj.POLICY_INFORMATION p WHERE p.salecomname IS NOT null
|
|
|
+ ) t WHERE t.rd = 1 AND t.customerno = si1.scustid);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.label54 =
|
|
|
+ (SELECT
|
|
|
+ (CASE temp.appflag
|
|
|
+ WHEN '0' THEN '最近保单状态未承保'
|
|
|
+ WHEN '1' THEN '最近保单状态承保'
|
|
|
+ WHEN '2' THEN '最近保单状态新增附加险'
|
|
|
+ WHEN '4' THEN '最近保单状态终止'
|
|
|
+ WHEN '9' THEN '最近保单状态续保'
|
|
|
+ WHEN 'B' THEN '最近保单状态未对账'
|
|
|
+ WHEN 'F' THEN '最近保单状态对账失败'
|
|
|
+ END) a
|
|
|
+ FROM (
|
|
|
+ SELECT t.appflag,p.customerno,row_number()OVER(PARTITION BY p.customerno ORDER BY p.polapplydate desc) rd FROM dsj.policy_information p,dsj.lccont t WHERE p.contno = t.contno
|
|
|
+ ) temp WHERE temp.rd = 1 AND si1.scustid = temp.customerno);
|
|
|
+ */
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.label54 = (
|
|
|
+ SELECT '最近保单状态'||trim(t.appflag) FROM (
|
|
|
+ SELECT row_number()OVER(PARTITION BY p.customerno ORDER BY p.polapplydate DESC) rd,p.customerno,p.appflag FROM dsj.policy_information p
|
|
|
+ ) t WHERE t.rd = 1 AND si1.scustid = t.customerno
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.label55 = (
|
|
|
+ SELECT '客户最近一次办理'||t.edorname FROM (
|
|
|
+ SELECT
|
|
|
+ row_number() over(partition by p.customerno ORDER BY l.edorAPPDATE DESC,l.uwtime DESC) rn,
|
|
|
+ l.edortype,
|
|
|
+ l.contno,
|
|
|
+ p.customerno,
|
|
|
+ l.edorappdate,
|
|
|
+ l.edorstate,
|
|
|
+ lm.edorcode,
|
|
|
+ lm.edorname
|
|
|
+ FROM dsj.lpedoritem l,dsj.lmedoritem lm,dsj.policy_information p
|
|
|
+ WHERE l.edortype = lm.edorcode AND lm.appobj <> 'G' AND l.edorstate = '0' AND p.contno = l.contno
|
|
|
+ ) t WHERE t.rn = 1 AND si1.scustid = t.customerno
|
|
|
+ ) WHERE 1 = 1;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.label56 = '有退保保单' WHERE si1.scustid IN (
|
|
|
+ SELECT p.customerno FROM dsj.policy_information p WHERE p.contno IN (
|
|
|
+ select contno from dsj.lpedoritem where edortype in ('CT', 'XT', 'GT') and edorstate = '0'
|
|
|
+ )
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.Label57 = (
|
|
|
+ SELECT "最近一次理赔类型" || t.ACCIDENTTYPE FROM (
|
|
|
+ SELECT row_number()OVER(PARTITION BY c.insuredno ORDER BY c.applydate desc) rd,c.insuredno,c.ACCIDENTTYPE FROM dsj.INSURANCE_CLAIM c
|
|
|
+ ) t WHERE t.rd = 1 AND t.insuredno = si1.scustid
|
|
|
+ );
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.Label58 = (
|
|
|
+ SELECT "最近一次出险类型" || t.RISKTYPE FROM (
|
|
|
+ SELECT row_number()OVER(PARTITION BY c.insuredno ORDER BY c.applydate desc) rd,c.insuredno,c.RISKTYPE FROM dsj.INSURANCE_CLAIM c
|
|
|
+ ) t WHERE t.rd = 1 AND t.insuredno = si1.scustid
|
|
|
+ );
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.Label59 = (
|
|
|
+ SELECT '最近一次理赔状态' || t.LLCLAIMSTATE FROM (
|
|
|
+ SELECT row_number()OVER(PARTITION BY c.insuredno ORDER BY c.applydate desc) rd,c.insuredno,c.LLCLAIMSTATE FROM dsj.INSURANCE_CLAIM c
|
|
|
+ ) t WHERE t.rd = 1 AND t.insuredno = si1.scustid
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.label61 = '有满期给付保单' WHERE si1.scustid IN (
|
|
|
+ SELECT p.customerno FROM dsj.policy_information p WHERE p.contno IN (
|
|
|
+ SELECT contno FROM dsj.lcget WHERE getdutycode IN (select getdutycode from dsj.lmdutygetalive where getdutyname in ('满期保险金','满期生存保险金'))
|
|
|
+ )
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.label62 = '有生存金给付的保单' WHERE si1.scustid IN (
|
|
|
+ SELECT p.customerno FROM dsj.policy_information p WHERE p.contno IN (
|
|
|
+ SELECT contno FROM dsj.lcget WHERE getdutycode IN (select getdutycode from dsj.lmdutygetalive where getdutyname = '生存保险金')
|
|
|
+ ) and p.appflag = '有效'
|
|
|
+ );
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.label64 = '红利可领取的保单' WHERE si1.scustid IN
|
|
|
+ (SELECT p.customerno FROM dsj.policy_information p,dsj.lmriskapp l WHERE p.appflag = '有效' and p.riskcode = l.riskcode AND l.bonusflag = 1);
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.label65 = '一单寿险客户' WHERE si1.scustid IN (SELECT temp.customerno FROM (
|
|
|
+ SELECT pi.customerno,count(DISTINCT pi.contno) AS tnum,max(t.pnum) AS pnum FROM (
|
|
|
+ SELECT count(DISTINCT p.contno) AS pnum,p.customerno FROM dsj.POLICY_INFORMATION p
|
|
|
+ LEFT JOIN dsj.riskkind b on p.riskcode = b.riskcode
|
|
|
+ WHERE (b.kindtype = '新型寿险' or b.kindtype = '人寿保险') GROUP BY p.customerno
|
|
|
+ ) t LEFT JOIN dsj.POLICY_INFORMATION pi ON pi.customerno = t.customerno
|
|
|
+ GROUP BY pi.customerno
|
|
|
+ )temp WHERE temp.tnum = temp.pnum AND tnum = 1);
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.label66 = '缴费期满客户' WHERE si1.scustid IN (
|
|
|
+ SELECT temp.customerno FROM (
|
|
|
+ SELECT count(*) AS tnum,max(t.customerno) AS customerno,max(t.pnum) AS pnum FROM (
|
|
|
+ SELECT p.customerno,count(*) AS pnum FROM dsj.policy_information p WHERE p.paycount = p.payendyear GROUP BY p.customerno
|
|
|
+ ) t LEFT JOIN dsj.policy_information pi ON pi.customerno = t.customerno
|
|
|
+ GROUP BY pi.customerno
|
|
|
+ ) temp WHERE temp.tnum = temp.pnum
|
|
|
+ );
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.Label67 = '生日与司庆日同天' where si1.birthday like '%-02-15%';
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.label68 = '持有有效保单' WHERE si1.scustid IN (SELECT t.customerno FROM (
|
|
|
+ SELECT count(*) AS pnum,p.customerno FROM dsj.POLICY_INFORMATION p
|
|
|
+ WHERE p.appflag = '有效' GROUP BY p.customerno
|
|
|
+ ) t WHERE t.pnum > 0);
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.Label69 = (
|
|
|
+ CASE si1.CustClass
|
|
|
+ WHEN 1 THEN '钻石客户'
|
|
|
+ WHEN 2 THEN '白金客户'
|
|
|
+ WHEN 3 THEN '黄金客户'
|
|
|
+
|
|
|
+
|
|
|
+ ELSE ''
|
|
|
+ END
|
|
|
+ ) where 1 = 1;
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.Label70 = (
|
|
|
+ SELECT '最近'||t.scenario FROM (
|
|
|
+ SELECT
|
|
|
+ row_number()OVER(PARTITION BY pl.partyid ORDER BY pl.sdate desc) rn,
|
|
|
+ pl.partyid,
|
|
|
+ pl.scenario
|
|
|
+ FROM shanglifeecif.partytimeline pl WHERE pl.partyid IS NOT NULL
|
|
|
+) t WHERE t.rn = 1 AND si1.scustid = t.partyid
|
|
|
+);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.Label71 = (
|
|
|
+ SELECT '最近'||CASE t.scenario WHEN '回访' THEN '外呼' WHEN '咨询' THEN '呼入' END FROM (
|
|
|
+ SELECT
|
|
|
+ row_number()OVER(PARTITION BY pl.partyid ORDER BY pl.sdate desc) rn,
|
|
|
+ pl.partyid,
|
|
|
+ pl.scenario
|
|
|
+ FROM shanglifeecif.partytimeline pl WHERE pl.partyid IS NOT NULL AND (pl.scenario = '回访' OR pl.scenario = '咨询')
|
|
|
+) t WHERE t.rn = 1 AND si1.scustid = t.partyid
|
|
|
+);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.Label74 = '注册官微'
|
|
|
+ WHERE si1.idcard IN (SELECT a.certificate_no FROM dsj.account a WHERE a.account_status = 0)
|
|
|
+ OR si1.passport IN (SELECT a.certificate_no FROM dsj.account a WHERE a.account_status = 0)
|
|
|
+ OR si1.Dlicense IN (SELECT a.certificate_no FROM dsj.account a WHERE a.account_status = 0)
|
|
|
+ OR si1.othernumber IN (SELECT a.certificate_no FROM dsj.account a WHERE a.account_status = 0);
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.label76 = '丈夫生日临近' WHERE si1.scustid IN (
|
|
|
+ SELECT sis.indid1 FROM shanglifeecif.indrelationship sis LEFT JOIN shanglifeecif.individual si ON sis.indid2 = si.scustid
|
|
|
+ WHERE sis.rstype = '配偶' AND DATEDIFF(to_char(si.birthday,"2022-MM-dd"),to_char(SYSDATE,"2022-MM-dd"))<=5 AND
|
|
|
+ DATEDIFF(to_char(si.birthday,"2022-MM-dd"),to_char(SYSDATE,"2022-MM-dd"))>0 AND sis.role2 = '丈夫'
|
|
|
+ );
|
|
|
+UPDATE shanglifeecif.Individual si1 SET si1.label76 = '妻子生日临近' WHERE si1.scustid IN (
|
|
|
+ SELECT sis.indid1 FROM shanglifeecif.indrelationship sis LEFT JOIN shanglifeecif.individual si ON sis.indid2 = si.scustid
|
|
|
+ WHERE sis.rstype = '配偶' AND DATEDIFF(to_char(si.birthday,"2022-MM-dd"),to_char(SYSDATE,"2022-MM-dd"))<=5 AND
|
|
|
+ DATEDIFF(to_char(si.birthday,"2022-MM-dd"),to_char(SYSDATE,"2022-MM-dd"))>0 AND sis.role2 = '妻子'
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+UPDATE shanglifeecif.Individual si1 SET si1.label77 = '本人生日临近' WHERE si1.scustid IN (
|
|
|
+ SELECT scustid FROM (
|
|
|
+ SELECT * FROM (
|
|
|
+ SELECT scustid , birthday , month(current_date() ) nowmonth ,month(date_add(current_date(),5)) nextmonth ,month(to_date(birthday)) usermonth , day(current_date() ) nowday ,day(date_add(current_date(),5)) nextday
|
|
|
+ , day(to_date(birthday)) userday from shanglifeecif.Individual
|
|
|
+ )
|
|
|
+ WHERE
|
|
|
+ (nowmonth != nextmonth AND
|
|
|
+ (
|
|
|
+ (nowmonth== usermonth AND userday> nowday )
|
|
|
+ or (nextmonth == usermonth AND userday <= nextday )
|
|
|
+ )
|
|
|
+ )
|
|
|
+ OR (nowmonth == nextmonth AND userday > nowday AND userday <=nextday )
|
|
|
+ )
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.label78 = '父亲生日临近' WHERE si1.scustid IN (
|
|
|
+ SELECT sis.indid1 FROM shanglifeecif.indrelationship sis LEFT JOIN shanglifeecif.individual si ON sis.indid2 = si.scustid
|
|
|
+ WHERE sis.rstype = '父母' AND DATEDIFF(to_char(si.birthday,"2022-MM-dd"),to_char(SYSDATE,"2022-MM-dd"))<=5 AND
|
|
|
+ DATEDIFF(to_char(si.birthday,"2022-MM-dd"),to_char(SYSDATE,"2022-MM-dd"))>0 AND sis.role2 = '父亲'
|
|
|
+ );
|
|
|
+
|
|
|
+UPDATE shanglifeecif.Individual si1 SET si1.label78 = '母亲生日临近' WHERE si1.scustid IN (
|
|
|
+ SELECT sis.indid1 FROM shanglifeecif.indrelationship sis LEFT JOIN shanglifeecif.individual si ON sis.indid2 = si.scustid
|
|
|
+ WHERE sis.rstype = '父母' AND DATEDIFF(to_char(si.birthday,"2022-MM-dd"),to_char(SYSDATE,"2022-MM-dd"))<=5 AND
|
|
|
+ DATEDIFF(to_char(si.birthday,"2022-MM-dd"),to_char(SYSDATE,"2022-MM-dd"))>0 AND sis.role2 = '母亲'
|
|
|
+ );
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.label79 = '儿子生日临近' WHERE si1.scustid IN (
|
|
|
+ SELECT sis.indid1 FROM shanglifeecif.indrelationship sis LEFT JOIN shanglifeecif.individual si ON sis.indid2 = si.scustid
|
|
|
+ WHERE sis.rstype = '子女' AND DATEDIFF(to_char(si.birthday,"2022-MM-dd"),to_char(SYSDATE,"2022-MM-dd"))<=5 AND
|
|
|
+ DATEDIFF(to_char(si.birthday,"2022-MM-dd"),to_char(SYSDATE,"2022-MM-dd"))>0 AND sis.role2 = '儿子'
|
|
|
+ );
|
|
|
+
|
|
|
+UPDATE shanglifeecif.Individual si1 SET si1.label79 = '女儿生日临近' WHERE si1.scustid IN (
|
|
|
+ SELECT sis.indid1 FROM shanglifeecif.indrelationship sis LEFT JOIN shanglifeecif.individual si ON sis.indid2 = si.scustid
|
|
|
+ WHERE sis.rstype = '子女' AND DATEDIFF(to_char(si.birthday,"2022-MM-dd"),to_char(SYSDATE,"2022-MM-dd"))<=5 AND
|
|
|
+ DATEDIFF(to_char(si.birthday,"2022-MM-dd"),to_char(SYSDATE,"2022-MM-dd"))>0 AND sis.role2 = '女儿'
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.Label80 = '近期咨询过产品' WHERE si1.scustid IN (
|
|
|
+ SELECT dp.customerno FROM dsj.policy_information dp WHERE dp.contno IN (
|
|
|
+ SELECT rm.contnos FROM dsj.cc_record_main rm WHERE (rm.reasonsecondname LIKE '%保单基本信息%' OR rm.reasonsecondname LIKE '%投保咨询%')
|
|
|
+ and rm.contnos IS not NULL AND DATEDIFF(SYSDATE,rm.starttime) < 7 )
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.Label81 = '近期咨询过理赔' WHERE si1.scustid IN (
|
|
|
+ SELECT dp.customerno FROM dsj.policy_information dp WHERE dp.contno IN (
|
|
|
+ SELECT rm.contnos FROM dsj.cc_record_main rm WHERE rm.reasonsecondname LIKE '%理赔%'
|
|
|
+ and rm.contnos IS not NULL AND DATEDIFF(SYSDATE,rm.starttime) < 7)
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.Label88 = '续期临期未缴费' WHERE si1.scustid IN (
|
|
|
+ SELECT p.customerno FROM dsj.policy_information p WHERE p.appflag = '有效'AND p.payintv = '期缴' AND p.payendyear<>p.paycount AND
|
|
|
+ DATEDIFF(p.paytodate,to_char(SYSDATE,'yyyy-MM-dd HH:mm:ss.S')) > 0 and DATEDIFF(p.paytodate,to_char(SYSDATE,'yyyy-MM-dd HH:mm:ss.S')) < 5
|
|
|
+ );
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.Label89 = '续期到期未缴费' WHERE si1.scustid IN (
|
|
|
+ SELECT p.customerno FROM dsj.policy_information p WHERE p.appflag = '有效'AND p.payintv = '期缴' AND p.payendyear<>p.paycount AND
|
|
|
+ to_char(SYSDATE,'yyyy-MM-dd HH:mm:ss.S') > DATE_ADD(p.paytodate, 60)
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.Label91 = '失效客户' WHERE si1.scustid IN (SELECT temp.customerno FROM (
|
|
|
+ SELECT count(*) AS tnum,max(t.customerno) AS customerno,max(t.pnum) AS pnum FROM (
|
|
|
+ SELECT p.customerno,count(*) AS pnum FROM dsj.policy_information p WHERE p.appflag <> '有效' GROUP BY p.customerno
|
|
|
+ ) t LEFT JOIN dsj.policy_information pi ON pi.customerno = t.customerno
|
|
|
+ GROUP BY pi.customerno
|
|
|
+ ) temp WHERE temp.tnum = temp.pnum);
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.label92 = (
|
|
|
+ SELECT '有'||t.terminatestate||'保单' FROM (
|
|
|
+ SELECT row_number()over(partition by p.customerno order by p.polapplydate desc) rn,p.customerno,p.terminatestate FROM dsj.policy_information p
|
|
|
+ WHERE p.appflag = '失效'
|
|
|
+ ) t WHERE t.rn = 1 AND si1.scustid = t.customerno
|
|
|
+);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.Label94 = (
|
|
|
+ SELECT '有'||t.terminatestate||'保单' FROM (
|
|
|
+ SELECT row_number()over(partition by p.customerno order by p.polapplydate desc) rn,p.customerno,p.terminatestate FROM dsj.policy_information p
|
|
|
+ WHERE p.appflag = '终止'
|
|
|
+ ) t WHERE t.rn = 1 AND si1.scustid = t.customerno
|
|
|
+);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.Label95 = (
|
|
|
+ SELECT
|
|
|
+ CASE
|
|
|
+ WHEN t.dnum=0 THEN '上一年如期缴费'
|
|
|
+ WHEN t.dnum<0 THEN '上一年提前'||abs(t.dnum)||'天交费'
|
|
|
+ WHEN t.dnum>0 AND t.dnum<=60 THEN '上一年滞后'||t.dnum||'天交费'
|
|
|
+ WHEN t.dnum>60 THEN '上一年宽限期外交费'
|
|
|
+ END
|
|
|
+ FROM (
|
|
|
+ SELECT
|
|
|
+ row_number()over(PARTITION BY l.appntno ORDER BY l.confdate DESC) rn,l.appntno,DATEDIFF(to_char(l.confdate,'0000-MM-dd'),to_char(l.curpaytodate,'0000-MM-dd')) AS dnum
|
|
|
+ FROM dsj.ljapayperson l WHERE l.paycount > 1 AND YEAR(l.confdate) = YEAR(sysdate) - 1
|
|
|
+ ) t WHERE t.rn = 1 AND t.appntno = si1.scustid
|
|
|
+ ) WHERE 1 = 1;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.Label96 = '大龄' where si1.scustid IN (
|
|
|
+
|
|
|
+ SELECT p.customerno FROM dsj.policy_information p WHERE p.contno IN (
|
|
|
+ SELECT contnos from dsj.cc_record_main
|
|
|
+ )
|
|
|
+) AND TRUNC(months_between(sysdate, si1.birthday)/12)>=50 AND TRUNC(months_between(sysdate, si1.birthday)/12)<60;
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.Label97 = '高龄' where si1.scustid IN (
|
|
|
+
|
|
|
+ SELECT p.customerno FROM dsj.policy_information p WHERE p.contno IN (
|
|
|
+ SELECT contnos from dsj.cc_record_main
|
|
|
+ )
|
|
|
+) AND TRUNC(months_between(sysdate, si1.birthday)/12)>=60;
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.Label100 = (CASE WHEN si1.occupation like '%记者%' OR si1.occupation like '%律师%' OR si1.occupation like '%公务员%' OR si1.occupation like '%媒体%' OR si1.occupation like '%金融行业%' THEN '敏感职业' END ) WHERE 1 = 1;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.Label101 = (
|
|
|
+ SELECT '长通话' FROM (
|
|
|
+ SELECT
|
|
|
+ t.contnos,
|
|
|
+ row_number()OVER(PARTITION BY p.customerno) rn,
|
|
|
+ p.customerno
|
|
|
+ FROM (
|
|
|
+ SELECT (sum(lo.call_length)/count(*)) AS avgcalltime,m.contnos from dsj.cc_record_main m
|
|
|
+ LEFT JOIN dsj.ucc_rms_recorderlog lo ON m.call_id = lo.call_id
|
|
|
+ WHERE m.contnos IS NOT NULL AND lo.call_length IS NOT NULL
|
|
|
+ GROUP BY m.contnos
|
|
|
+ ) t LEFT JOIN dsj.policy_information p ON t.contnos = p.contno
|
|
|
+
|
|
|
+ WHERE t.avgcalltime>600
|
|
|
+
|
|
|
+ ) temp WHERE temp.customerno IS NOT NULL AND temp.rn = 1 AND si1.scustid = temp.customerno
|
|
|
+);
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.Label103 = '要求较多' WHERE si1.scustid IN (
|
|
|
+ SELECT p.customerno FROM dsj.policy_information p WHERE p.contno IN (
|
|
|
+ SELECT temp.policyno FROM (
|
|
|
+ SELECT t.policyno,max(t.mnum) mnum,max(t.fnum) fnum FROM (
|
|
|
+ SELECT m.contnos policyno,count(*) AS mnum,'' AS fnum FROM dsj.cc_record_main m WHERE m.contnos IS NOT NULL GROUP BY m.contnos
|
|
|
+ UNION
|
|
|
+ SELECT f.policyno,'' AS mnum,count(*) AS fnum FROM dsj.cc_swfflowmain f WHERE f.modelno = 1 GROUP BY f.policyno
|
|
|
+ )t GROUP BY t.policyno
|
|
|
+ ) temp WHERE (temp.fnum/temp.mnum)>0.7
|
|
|
+ )
|
|
|
+ );
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.Label104 = '易投诉升级' WHERE si1.scustid IN (
|
|
|
+ SELECT p.customerno FROM dsj.policy_information p WHERE p.contno IN (
|
|
|
+ SELECT temp.policyno FROM (
|
|
|
+ SELECT t.policyno,max(t.mnum) mnum,max(t.fnum) fnum FROM (
|
|
|
+ SELECT m.contnos policyno,count(*) AS mnum,'' AS fnum FROM dsj.cc_record_main m WHERE m.contnos IS NOT NULL GROUP BY m.contnos
|
|
|
+ UNION
|
|
|
+ SELECT f.policyno,'' AS mnum,count(*) AS fnum FROM dsj.cc_swfflowmain f,dsj.cc_swf_sort r WHERE r.id=f.complaintProject and f.modelno = 1 AND r.idname='投诉' GROUP BY f.policyno
|
|
|
+ )t GROUP BY t.policyno
|
|
|
+ ) temp WHERE temp.mnum = temp.fnum
|
|
|
+ )
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.Label105 = '高频投诉' WHERE si1.scustid in (
|
|
|
+ SELECT t.customerno FROM (
|
|
|
+ SELECT
|
|
|
+ row_number()OVER(PARTITION BY t1.customerno ORDER BY ca.inserttime) rownum,
|
|
|
+ t1.customerno,
|
|
|
+ t1.contno,
|
|
|
+ ca.inserttime FROM (
|
|
|
+ SELECT
|
|
|
+ max(p.customerno) customerno,
|
|
|
+ p.contno
|
|
|
+ FROM dsj.policy_information p GROUP BY p.contno
|
|
|
+ ) t1 LEFT JOIN dsj.cc_action_complaints ca ON t1.contno = ca.productnos
|
|
|
+
|
|
|
+ ) t LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ row_number()OVER(PARTITION BY t1.customerno ORDER BY ca.inserttime) rownum,
|
|
|
+ t1.customerno,
|
|
|
+ t1.contno,
|
|
|
+ ca.inserttime FROM (
|
|
|
+ SELECT
|
|
|
+ max(p.customerno) customerno,
|
|
|
+ p.contno
|
|
|
+ FROM dsj.policy_information p GROUP BY p.contno
|
|
|
+ ) t1 LEFT JOIN dsj.cc_action_complaints ca ON t1.contno = ca.productnos
|
|
|
+ ) tt ON t.customerno = tt.customerno AND t.rownum = tt.rownum+1
|
|
|
+ WHERE DATEDIFF(tt.inserttime,t.inserttime) < 180
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.Label106 = (
|
|
|
+
|
|
|
+ SELECT
|
|
|
+ CASE
|
|
|
+ WHEN tt.complaintsSource LIKE '%保监会%' THEN '重大投诉'
|
|
|
+ WHEN tt.complaintsSource LIKE '%保监局%' THEN '重大投诉'
|
|
|
+ WHEN tt.complaintsSource LIKE '%媒体转办%' THEN '重大投诉' END FROM (
|
|
|
+
|
|
|
+ SELECT pi.customerno,max(complaintsSource) AS complaintsSource FROM (
|
|
|
+
|
|
|
+ select group_concat((case c.complaintsSource
|
|
|
+ when '911' then '来电'
|
|
|
+ when '912' then '来访'
|
|
|
+ when '913' then '来函'
|
|
|
+ when '914' then '保监会转办'
|
|
|
+ when '919' then '保监局转办'
|
|
|
+ when '915' then '媒体转办'
|
|
|
+ when '916' then '同业公会'
|
|
|
+ when '917' then '其他转办'
|
|
|
+ when '918' then '呼出'
|
|
|
+ else c.complaintsSource END),',') as complaintsSource,p.contno from dsj.cc_action_complaints c,dsj.cc_action_data_complaints cd,dsj.policy_information p
|
|
|
+
|
|
|
+ where cd.complaintsid=c.complaintsid AND p.contno = cd.productno GROUP BY p.contno
|
|
|
+
|
|
|
+ ) t LEFT JOIN dsj.policy_information pi ON t.contno = pi.contno GROUP BY pi.customerno
|
|
|
+
|
|
|
+ ) tt WHERE tt.customerno = si1.scustid
|
|
|
+
|
|
|
+);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.Label107 = '高金额'
|
|
|
+ WHERE si1.scustid IN (SELECT p.customerno FROM dsj.policy_information p WHERE
|
|
|
+ p.appflag = '有效' AND p.payintv = '期缴' and
|
|
|
+ ((p.salecom = '03' AND p.prem>50000) OR (p.salecom = '02' AND p.prem>20000) OR (p.salecom = '06' AND p.prem>20000)));
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.Label108 = '最近理赔结案' WHERE si1.scustid IN (
|
|
|
+ SELECT c.insuredno FROM dsj.INSURANCE_CLAIM c WHERE DATEDIFF(to_char(SYSDATE,'yyyy-MM-dd HH:mm:ss.S'),c.endcasedate) < 15
|
|
|
+ );
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.Label109 = '理赔报案追踪' WHERE si1.scustid IN (SELECT p.customerno FROM dsj.policy_information p WHERE p.appflag = '有效' and p.contno IN (SELECT c.CONTNO FROM dsj.insurance_claim c WHERE c.LLCLAIMSTATE = '报案' AND DATEDIFF(sysdate(), c.RPTDATE) <30) );
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.label110 = '理赔处理中' WHERE si1.scustid IN (
|
|
|
+ SELECT p.customerno FROM dsj.policy_information p WHERE p.appflag = '有效' and p.contno IN (SELECT c.contno FROM dsj.INSURANCE_CLAIM c WHERE c.llclaimstate = '受理' OR c.llclaimstate = '立案')
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.Label111 = '最近保全完成' WHERE si1.scustid IN (
|
|
|
+ SELECT p.customerno FROM dsj.policy_information p WHERE p.contno IN (
|
|
|
+ SELECT l.contno FROM dsj.lpedoritem l WHERE DATEDIFF(to_char(SYSDATE,'yyyy-MM-dd HH:mm:ss.S'),l.edorappdate) < 15 AND l.edorstate = '0'
|
|
|
+ )
|
|
|
+ );
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.label113 = '生存金未领' WHERE si1.scustid IN (
|
|
|
+ SELECT p.customerno FROM dsj.policy_information p WHERE p.appflag = '有效' and p.contno IN (
|
|
|
+ SELECT contno FROM dsj.Lcinsureacc WHERE acctype = '005' and insuaccbala>0
|
|
|
+ )
|
|
|
+);
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.label115 = '红利垫缴还款' WHERE si1.scustid IN (
|
|
|
+ SELECT p.customerno FROM dsj.policy_information p WHERE p.appflag = '有效' and p.contno IN (
|
|
|
+ SELECT a.contno FROM dsj.LOLOANDETAIL a,dsj.LDCode1 b WHERE
|
|
|
+ b.codetype='lnmoneytype' AND b.code=a.finfeetype and b.code1=a.moneytype
|
|
|
+ AND ((a.finfeetype = 'HL' AND a.moneytype = 'SX') OR (a.finfeetype = 'SC' AND a.moneytype = 'HK'))
|
|
|
+ )
|
|
|
+ );
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.label117 = '宽限期' WHERE si1.scustid IN (
|
|
|
+
|
|
|
+ SELECT p.customerno FROM dsj.policy_information p WHERE p.payintv= '期缴' AND p.appflag='有效' AND p.payendyear!=p.paycount and
|
|
|
+ DATEDIFF(DATE_ADD(p.paytodate, 60),to_char(SYSDATE,'yyyy-MM-dd HH:mm:ss.S')) > 0 AND DATEDIFF(DATE_ADD(p.paytodate, 60),to_char(SYSDATE,'yyyy-MM-dd HH:mm:ss.S')) < 3
|
|
|
+);
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.Individual si1 SET si1.Label120 = '重点银行' WHERE
|
|
|
+ si1.scustid IN (SELECT p.customerno FROM dsj.policy_information p WHERE p.AGENTCOM LIKE '%招商银行%');
|
|
|
+
|
|
|
+ dbms_output.put_line('updateindividuallable函数跑批完成!');
|
|
|
+ EXCEPTION
|
|
|
+ WHEN HIVE_EXCEPTION THEN
|
|
|
+ INSERT INTO shanglifeecif.exception_log(log_id,log_code,log_msg,log_time) VALUES (to_char(sysdate(),'yyyyMMddHHmmss'),sqlcode(),sqlerrm(),sysdate());
|
|
|
+ WHEN Others THEN
|
|
|
+ INSERT INTO shanglifeecif.exception_log(log_id,log_code,log_msg,log_time) VALUES (to_char(sysdate(),'yyyyMMddHHmmss'),sqlcode(),sqlerrm(),sysdate());
|
|
|
+
|
|
|
+END
|