Browse Source

存储过程完善更新

kouchengxing 4 years ago
parent
commit
ff83c36a6e
18 changed files with 2168 additions and 941 deletions
  1. 2 2
      sql-achievement/存储过程/人寿测试环境使用sql整理/个体关系信息.sql
  2. 27 0
      sql-achievement/存储过程/人寿测试环境使用sql整理/保单件数分布统计.sql
  3. 7 0
      sql-achievement/存储过程/人寿测试环境使用sql整理/保单信息.sql
  4. 6 6
      sql-achievement/存储过程/人寿测试环境使用sql整理/客户信息.sql
  5. 73 58
      sql-achievement/存储过程/人寿测试环境使用sql整理/客户标签20210224.sql
  6. 753 0
      sql-achievement/存储过程/人寿测试环境使用sql整理/客户标签20210409预生产.sql
  7. 1 1
      sql-achievement/存储过程/人寿测试环境使用sql整理/年龄段性别分布统计.sql
  8. 588 0
      sql-achievement/存储过程/人寿测试环境使用sql整理/最新目的表表结构.sql
  9. 2 2
      sql-achievement/存储过程/人寿测试环境使用sql整理/理赔信息.sql
  10. 1 1
      sql-achievement/存储过程/人寿测试环境使用sql整理/相似客户.sql
  11. 75 3
      sql-achievement/存储过程/人寿测试环境使用sql整理/险种大类统计.sql
  12. 357 342
      sql-achievement/存储过程/洛阳测试环境使用sql整理/es建表语句.sql
  13. 39 118
      sql-achievement/存储过程/洛阳测试环境使用sql整理/个体关系存储过程.sql
  14. 14 2
      sql-achievement/存储过程/洛阳测试环境使用sql整理/保单件数分布统计.sql
  15. 37 174
      sql-achievement/存储过程/洛阳测试环境使用sql整理/保单信息存储过程.sql
  16. 165 184
      sql-achievement/存储过程/洛阳测试环境使用sql整理/客户信息存储过程.sql
  17. 1 0
      sql-achievement/存储过程/洛阳测试环境使用sql整理/客户标签koucx20210126.sql
  18. 20 48
      sql-achievement/存储过程/洛阳测试环境使用sql整理/理赔信息储存过程.sql

+ 2 - 2
sql-achievement/存储过程/人寿测试环境使用sql整理/个体关系信息.sql

@@ -257,7 +257,7 @@ BEGIN
 		END AS Role2
 		END AS Role2
 		FROM POLICY_INFORMATION p
 		FROM POLICY_INFORMATION p
 		WHERE p.RELATIONTOAPPNT<>'本人'
 		WHERE p.RELATIONTOAPPNT<>'本人'
-		GROUP BY p.CUSTOMERNO,p.INSUREDNO;*/
+		GROUP BY p.CUSTOMERNO,p.INSUREDNO;
 	
 	
 	--此时插入IndRelationShip的IndID1,IndID2为上游系统客户号,根据Individual.SCustID更新为Individual.IndID	
 	--此时插入IndRelationShip的IndID1,IndID2为上游系统客户号,根据Individual.SCustID更新为Individual.IndID	
 	
 	
@@ -266,7 +266,7 @@ BEGIN
 	
 	
 	UPDATE shanglifeecif.IndRelationShip sirs SET sirs.indid2 = 
 	UPDATE shanglifeecif.IndRelationShip sirs SET sirs.indid2 = 
 	(SELECT si.indid FROM shanglifeecif.individual si WHERE si.scustid = sirs.indid2);
 	(SELECT si.indid FROM shanglifeecif.individual si WHERE si.scustid = sirs.indid2);
-
+*/
 	EXCEPTION
 	EXCEPTION
 			WHEN HIVE_EXCEPTION THEN 
 			WHEN HIVE_EXCEPTION THEN 
 				 INSERT INTO shanglifeecif.exception_log(log_code,log_msg,log_time) VALUES (sqlcode(),sqlerrm(),sysdate());
 				 INSERT INTO shanglifeecif.exception_log(log_code,log_msg,log_time) VALUES (sqlcode(),sqlerrm(),sysdate());

+ 27 - 0
sql-achievement/存储过程/人寿测试环境使用sql整理/保单件数分布统计.sql

@@ -10,6 +10,33 @@ replication 1;
 CREATE OR REPLACE PROCEDURE shanglifeecif.bdnum_distribution() IS
 CREATE OR REPLACE PROCEDURE shanglifeecif.bdnum_distribution() IS
 DECLARE
 DECLARE
 BEGIN
 BEGIN
+	--第一步 更新 Individual.NOVPolicy 有效记录数
+	UPDATE shanglifeecif.Individual si1 SET si1.NOVPolicy = (SELECT nvl(t.cnum,0) FROM (
+		SELECT temp.customerno,count(*) AS cnum FROM (
+			SELECT max(p.customerno) customerno,p.contno FROM policy_information p WHERE p.appflag = '有效' GROUP BY p.contno 
+		) temp GROUP BY temp.customerno
+	) t WHERE t.customerno =  si1.scustid); 
+	
+	--第二步 更新 Individual.NOIVPolicy 无效记录数
+	UPDATE shanglifeecif.Individual si1 SET si1.noivpolicy = (SELECT nvl(t.cnum,0) FROM (
+			SELECT temp.customerno,count(*) AS cnum FROM (
+			SELECT max(p.customerno) customerno,p.contno FROM policy_information p WHERE p.appflag <> '有效' GROUP BY p.contno 
+		) temp GROUP BY temp.customerno
+	) t WHERE t.customerno =  si1.scustid); 
+	
+	--第三步		
+	UPDATE shanglifeecif.Individual si1 SET si1.Label25 = (
+		CASE 
+				WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) == 0 THEN '无保单' 
+				WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) == 1 THEN '1件保单' 
+				WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) == 2 THEN '2件保单'  
+				WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) >= 3  AND (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) <= 5 THEN '3-5件保单'  
+				WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) >= 6  AND (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) <= 10 THEN '6-10件保单'  
+				WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) >= 11  AND (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0))<= 20 THEN '11-20件保单'  
+				WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) >= 21  AND (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) <= 50 THEN '21-50件保单'  
+				WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) > 50 THEN '50件保单以上' 
+		END 
+			) where 1 = 1;	
 	DELETE FROM shanglifeecif.bdnum_distribution;
 	DELETE FROM shanglifeecif.bdnum_distribution;
 	insert into shanglifeecif.bdnum_distribution (
 	insert into shanglifeecif.bdnum_distribution (
 		id,
 		id,

+ 7 - 0
sql-achievement/存储过程/人寿测试环境使用sql整理/保单信息.sql

@@ -44,6 +44,7 @@ INSERT INTO shanglifeecif.insurancearrangement(
   pisdate,--签单日期
   pisdate,--签单日期
   AgentOrg,--代理机构
   AgentOrg,--代理机构
   schannel,--销售渠道
   schannel,--销售渠道
+  schannelname,--销售渠道中文
   salecomname,--业绩归属中文
   salecomname,--业绩归属中文
   POService,--保全标志
   POService,--保全标志
   PWComp,--承保分公司
   PWComp,--承保分公司
@@ -51,6 +52,7 @@ INSERT INTO shanglifeecif.insurancearrangement(
   agrmntage ,--保险期限
   agrmntage ,--保险期限
   salesperson,--业务员标识代码
   salesperson,--业务员标识代码
   SPName,--业务员名称
   SPName,--业务员名称
+  renewalDate,--续保日期
   created_by ,-- '创建人', 
   created_by ,-- '创建人', 
   created_time -- '创建时间', 
   created_time -- '创建时间', 
 
 
@@ -81,6 +83,7 @@ SELECT
 	trim(SIGNDATE) as SIGNDATE,--签单日期
 	trim(SIGNDATE) as SIGNDATE,--签单日期
 	trim(AGENTCOM) as AGENTCOM,--代理机构
 	trim(AGENTCOM) as AGENTCOM,--代理机构
 	trim(SALECHNL) as SALECHNL,--销售渠道
 	trim(SALECHNL) as SALECHNL,--销售渠道
+	trim(SALECHNLNAME) as SALECHNLNAME,--销售渠道中文
 	trim(salecomname) as salecomname,--业绩归属中文
 	trim(salecomname) as salecomname,--业绩归属中文
 	trim(PRESERVATIONFLAG) as PRESERVATIONFLAG,--保全标志
 	trim(PRESERVATIONFLAG) as PRESERVATIONFLAG,--保全标志
 	"上海人寿上海分公司",
 	"上海人寿上海分公司",
@@ -110,6 +113,7 @@ SELECT
 	end,
 	end,
 	trim(AGENTCODE) as AGENTCODE,--代理人代码
 	trim(AGENTCODE) as AGENTCODE,--代理人代码
 	trim(AGENTNAME) as AGENTNAME,--代理人名称
 	trim(AGENTNAME) as AGENTNAME,--代理人名称
+	trim(paytodate) as paytodate,--续保日期
 	'admin',
 	'admin',
 	sysdate() 
 	sysdate() 
 	FROM policy_information; 
 	FROM policy_information; 
@@ -164,6 +168,9 @@ BEGIN
 				INSERT INTO shanglifeecif.exception_log(log_code,log_msg,log_time) VALUES (sqlcode(),sqlerrm(),sysdate());
 				INSERT INTO shanglifeecif.exception_log(log_code,log_msg,log_time) VALUES (sqlcode(),sqlerrm(),sysdate());
 END;
 END;
 /
 /
+
+
+万能保险总保额,总客户数,拥有3-5保单数量的客户数
 /*
 /*
 CREATE OR REPLACE PROCEDURE shanglifeecif.update_risk_categories() -- 创建主存储过程
 CREATE OR REPLACE PROCEDURE shanglifeecif.update_risk_categories() -- 创建主存储过程
 IS    
 IS    

+ 6 - 6
sql-achievement/存储过程/人寿测试环境使用sql整理/客户信息.sql

@@ -31,7 +31,7 @@ BEGIN
 			scustid ,
 			scustid ,
 			max(name) as name,
 			max(name) as name,
 			max(gender) as gender ,
 			max(gender) as gender ,
-			max(birthday) as birthday,
+			to_char(max(birthday),"yyyy-MM-dd")  birthday,
 			max(idcard) as idcard,
 			max(idcard) as idcard,
 			max(idtype) AS idtype
 			max(idtype) AS idtype
 		FROM (
 		FROM (
@@ -86,8 +86,8 @@ BEGIN
 	 	created_time,
 	 	created_time,
 	 	created_by
 	 	created_by
 	) SELECT 
 	) SELECT 
-	row_number()OVER(),
-	'CP'||lpad(row_number()over(),10,'0'),	
+	row_number()OVER(ORDER BY sc.scustid),
+	'CP'||lpad(row_number()over(ORDER BY sc.scustid),10,'0'),	
 	sc.scustid,
 	sc.scustid,
 	sc.name,
 	sc.name,
 	sc.gender,
 	sc.gender,
@@ -95,7 +95,7 @@ BEGIN
 	CASE sc.idtype WHEN '0' THEN sc.idcard END AS idcard,
 	CASE sc.idtype WHEN '0' THEN sc.idcard END AS idcard,
 	CASE sc.idtype WHEN '1' THEN sc.idcard END AS passport,
 	CASE sc.idtype WHEN '1' THEN sc.idcard END AS passport,
 	CASE sc.idtype WHEN '3' THEN sc.idcard END AS dlicense,
 	CASE sc.idtype WHEN '3' THEN sc.idcard END AS dlicense,
-	CASE  WHEN sc.idtype <> '0' AND sc.idtype <> '1' AND sc1.idtype <> '3' THEN sc.idcard END AS otherIdnumber,
+	CASE  WHEN sc.idtype <> '0' AND sc.idtype <> '1' AND sc.idtype <> '3' THEN sc.idcard END AS otherIdnumber,
 	sysdate,
 	sysdate,
 	'admin'
 	'admin'
 	
 	
@@ -109,7 +109,7 @@ FROM shanglifeecif.customertotaltemp sc ORDER BY sc.scustid;
 				INSERT INTO shanglifeecif.exception_log(log_code,log_msg,log_time) VALUES (sqlcode(),sqlerrm(),sysdate());
 				INSERT INTO shanglifeecif.exception_log(log_code,log_msg,log_time) VALUES (sqlcode(),sqlerrm(),sysdate());
 
 
 END;
 END;
-/
+/*
 CREATE OR REPLACE PROCEDURE shanglifeecif.init_individual_0( individual_count OUT int) -- 初始化 身份证
 CREATE OR REPLACE PROCEDURE shanglifeecif.init_individual_0( individual_count OUT int) -- 初始化 身份证
 IS    
 IS    
 BEGIN
 BEGIN
@@ -348,7 +348,7 @@ BEGIN
 				INSERT INTO shanglifeecif.exception_log(log_code,log_msg,log_time) VALUES (sqlcode(),sqlerrm(),sysdate());	
 				INSERT INTO shanglifeecif.exception_log(log_code,log_msg,log_time) VALUES (sqlcode(),sqlerrm(),sysdate());	
 
 
 END;
 END;
-/
+*/
 CREATE OR REPLACE PROCEDURE shanglifeecif.up_t_customers_class_1() -- 创建存储过程
 CREATE OR REPLACE PROCEDURE shanglifeecif.up_t_customers_class_1() -- 创建存储过程
 IS    
 IS    
 BEGIN
 BEGIN

+ 73 - 58
sql-achievement/存储过程/人寿测试环境使用sql整理/客户标签20210224.sql

@@ -9,7 +9,7 @@ BEGIN
 	--3	出生日期区间	label3	根据出生日期,判断客户年代归属	60后、70后、80后、90后、00后、10后等	
 	--3	出生日期区间	label3	根据出生日期,判断客户年代归属	60后、70后、80后、90后、00后、10后等	
 	UPDATE shanglifeecif.Individual si1 SET si1.label3 = substr(si1.birthday,3,1) || '0后' where 1 = 1;
 	UPDATE shanglifeecif.Individual si1 SET si1.label3 = substr(si1.birthday,3,1) || '0后' where 1 = 1;
 	--4	年龄区间	label4	"case age when 0<=age and age<13 then '儿童' when  13<=age and age<19 then '少年' when 19<=age and age<41 then '青年' when 41<=age and age<66 then '中年' --else '老年'"	儿童、少年、青年、中年、老年	
 	--4	年龄区间	label4	"case age when 0<=age and age<13 then '儿童' when  13<=age and age<19 then '少年' when 19<=age and age<41 then '青年' when 41<=age and age<66 then '中年' --else '老年'"	儿童、少年、青年、中年、老年	
-	UPDATE shanglifeecif.Individual si1 SET si1.label4 = (SELECT CASE WHEN temp.age>=0 AND temp.age<13 THEN '儿童' WHEN temp.age>=13 AND temp.age <19 THEN '少年' WHEN temp.age >=19 AND temp.age <41 THEN '青年' WHEN temp.age >=41 AND temp.age <66 THEN '中年' ELSE '老年' END FROM (SELECT TRUNC(months_between(sysdate, si2.birthday)/12) age,si2.indid FROM shanglifeecif.Individual si2) temp WHERE temp.indid = si1.indid);
+	--UPDATE shanglifeecif.Individual si1 SET si1.label4 = (SELECT CASE WHEN temp.age>=0 AND temp.age<13 THEN '儿童' WHEN temp.age>=13 AND temp.age <19 THEN '少年' WHEN temp.age -->=19 AND temp.age <41 THEN '青年' WHEN temp.age >=41 AND temp.age <66 THEN '中年' ELSE '老年' END FROM (SELECT TRUNC(months_between(sysdate, si2.birthday)/12) age,si2.indid --FROM shanglifeecif.Individual si2) temp WHERE temp.indid = si1.indid);
 	--5	联系地址归属省份	label5	按照客户最近一次办理业务给出的最新联系地址取所在省名称或地级市的名称	省、直辖市:江苏、北京、上海等	
 	--5	联系地址归属省份	label5	按照客户最近一次办理业务给出的最新联系地址取所在省名称或地级市的名称	省、直辖市:江苏、北京、上海等	
 	--6	联系地址归属地区	label6	按照客户最近一次办理业务给出的最新联系地址取所在市名称或者地级市所在区的名称	市:苏州市、南京市等	
 	--6	联系地址归属地区	label6	按照客户最近一次办理业务给出的最新联系地址取所在市名称或者地级市所在区的名称	市:苏州市、南京市等	
 	--7	婚姻状况	label9	"根据婚姻状态字段判断 case maritalStat when maritalStat=1 then '未婚' when  maritalStat=2 then '已婚' when maritalStat=3 then '丧偶' when maritalStat=4 --then '离异' else null"	1未婚、2已婚、3丧偶、4离异	
 	--7	婚姻状况	label9	"根据婚姻状态字段判断 case maritalStat when maritalStat=1 then '未婚' when  maritalStat=2 then '已婚' when maritalStat=3 then '丧偶' when maritalStat=4 --then '离异' else null"	1未婚、2已婚、3丧偶、4离异	
@@ -76,26 +76,26 @@ BEGIN
 		) where 1 = 1;
 		) where 1 = 1;
 	--21	是否持有寿险有效保单	label24	筛选客户名下所有保单,保单中客户为投保人,保单险种大类为寿险	持有寿险有效保单	
 	--21	是否持有寿险有效保单	label24	筛选客户名下所有保单,保单中客户为投保人,保单险种大类为寿险	持有寿险有效保单	
 	UPDATE shanglifeecif.Individual si1 SET si1.label24 = '持有寿险有效保单' WHERE si1.scustid in
 	UPDATE shanglifeecif.Individual si1 SET si1.label24 = '持有寿险有效保单' WHERE si1.scustid in
-	(SELECT p.customerno FROM policy_information p,lmriskapp l WHERE p.riskcode = l.riskcode AND p.appflag = '有效' AND l.kindcode = 'L');
+	(SELECT p.customerno FROM policy_information p,riskkind l WHERE p.riskcode = l.riskcode AND p.appflag = '有效' AND (l.kindtype = '新型寿险' OR l.kindtype = '人寿保险'));
 	--22	保单件数区间	label25	"判断客户作为投保人所有的保单数量(有效保单数量+失效保单数量):NOVPolicy+NOIVPolicy=pCount(保单总件数)
 	--22	保单件数区间	label25	"判断客户作为投保人所有的保单数量(有效保单数量+失效保单数量):NOVPolicy+NOIVPolicy=pCount(保单总件数)
 	--case pCount when pCount=1 then '1件' when pCount=2 then '2件' when pCount>2 and pCount<6 then '3-5件' when pCount>5 and pCount<11 then '6-10件' 
 	--case pCount when pCount=1 then '1件' when pCount=2 then '2件' when pCount>2 and pCount<6 then '3-5件' when pCount>5 and pCount<11 then '6-10件' 
 	--when pCount>10 and pCount<21 then '10-20件'when pCount>20 and pCount<51 then '21-50件'
 	--when pCount>10 and pCount<21 then '10-20件'when pCount>20 and pCount<51 then '21-50件'
 	--when pCount>50 then '50件以上' else '无保单'"	无保单、1件保单、2件保单、3-5件保单、6-10件保单、11-20件保单、20-50件保单、50件以上保单	
 	--when pCount>50 then '50件以上' else '无保单'"	无保单、1件保单、2件保单、3-5件保单、6-10件保单、11-20件保单、20-50件保单、50件以上保单	
 	--第一步 更新 Individual.NOVPolicy 有效记录数
 	--第一步 更新 Individual.NOVPolicy 有效记录数
-	UPDATE shanglifeecif.Individual si1 SET si1.NOVPolicy = (SELECT nvl(t.cnum,0) FROM (
-		SELECT temp.customerno,count(*) AS cnum FROM (
-			SELECT max(p.customerno) customerno,p.contno FROM policy_information p WHERE p.appflag = '有效' GROUP BY p.contno 
-		) temp GROUP BY temp.customerno
-	) t WHERE t.customerno =  si1.scustid); 
+	--UPDATE shanglifeecif.Individual si1 SET si1.NOVPolicy = (SELECT nvl(t.cnum,0) FROM (
+		--SELECT temp.customerno,count(*) AS cnum FROM (
+			--SELECT max(p.customerno) customerno,p.contno FROM policy_information p WHERE p.appflag = '有效' GROUP BY p.contno 
+		--) temp GROUP BY temp.customerno
+	--) t WHERE t.customerno =  si1.scustid); 
 	
 	
 	
 	
 	
 	
 	--第二步 更新 Individual.NOIVPolicy 无效记录数
 	--第二步 更新 Individual.NOIVPolicy 无效记录数
-	UPDATE shanglifeecif.Individual si1 SET si1.noivpolicy = (SELECT nvl(t.cnum,0) FROM (
-			SELECT temp.customerno,count(*) AS cnum FROM (
-			SELECT max(p.customerno) customerno,p.contno FROM policy_information p WHERE p.appflag <> '有效' GROUP BY p.contno 
-		) temp GROUP BY temp.customerno
-	) t WHERE t.customerno =  si1.scustid); 
+	--UPDATE shanglifeecif.Individual si1 SET si1.noivpolicy = (SELECT nvl(t.cnum,0) FROM (
+			--SELECT temp.customerno,count(*) AS cnum FROM (
+			--SELECT max(p.customerno) customerno,p.contno FROM policy_information p WHERE p.appflag <> '有效' GROUP BY p.contno 
+		--) temp GROUP BY temp.customerno
+	--) t WHERE t.customerno =  si1.scustid); 
 	
 	
 	--第三步
 	--第三步
 	--UPDATE shanglifeecif.Individual si1 SET si1.Label25 = (
 	--UPDATE shanglifeecif.Individual si1 SET si1.Label25 = (
@@ -110,21 +110,26 @@ BEGIN
 				--WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) > 50 THEN '50件以上' 
 				--WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) > 50 THEN '50件以上' 
 		--END ) where 1 = 1;
 		--END ) where 1 = 1;
 		
 		
-	UPDATE shanglifeecif.Individual si1 SET si1.Label25 = (
-		CASE 
-				WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) == 0 THEN '无保单' 
-				WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) == 1 THEN '1件保单' 
-				WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) == 2 THEN '2件保单'  
-				WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) >= 3  AND (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) <= 5 THEN '3-5件保单'  
-				WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) >= 6  AND (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) <= 10 THEN '6-10件保单'  
-				WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) >= 11  AND (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0))<= 20 THEN '11-20件保单'  
-				WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) >= 21  AND (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) <= 50 THEN '21-50件保单'  
-				WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) > 50 THEN '50件保单以上' 
-		END 
-			) where 1 = 1;	
+	--UPDATE shanglifeecif.Individual si1 SET si1.Label25 = (
+		--CASE 
+				--WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) == 0 THEN '无保单' 
+				--WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) == 1 THEN '1件保单' 
+				--WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) == 2 THEN '2件保单'  
+				--WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) >= 3  AND (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) <= 5 THEN '3-5件保单'  
+				--WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) >= 6  AND (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) <= 10 THEN '6-10件保单'  
+				--WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) >= 11  AND (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0))<= 20 THEN '11-20件保单'  
+				--WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) >= 21  AND (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) <= 50 THEN '21-50件保单'  
+				--WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) > 50 THEN '50件保单以上' 
+		--END 
+			--) where 1 = 1;	
 		
 		
 	
 	
 	--23	是否贷款	label26	筛选客户为投保人的有效保单,且办理了贷款业务	有贷款	
 	--23	是否贷款	label26	筛选客户为投保人的有效保单,且办理了贷款业务	有贷款	
+	UPDATE shanglifeecif.Individual si1 SET si1.label26 = '有贷款' WHERE si1.scustid IN (
+		SELECT p.customerno FROM policy_information p WHERE p.appflag = '有效' and p.contno IN (
+			SELECT contno FROM loloandetail WHERE moneytype='DK'
+		) 
+	);
 	--24	是否有极短意保单/是否仅有极短意保单	 label27	"客户为保单投保人 case AGRMNTAge(保险期限) when avg(sum(AGRMNTAges))<90 then '仅极短意外险'
 	--24	是否有极短意保单/是否仅有极短意保单	 label27	"客户为保单投保人 case AGRMNTAge(保险期限) when avg(sum(AGRMNTAges))<90 then '仅极短意外险'
 			--when AGRMNTAge<90  then '有极短意外险'"	仅极短意外险,有极短意外险	志广说只用判断有极短意外险不用判断仅有
 			--when AGRMNTAge<90  then '有极短意外险'"	仅极短意外险,有极短意外险	志广说只用判断有极短意外险不用判断仅有
 		/*UPDATE shanglifeecif.Individual si1 SET si1.Label27 = (
 		/*UPDATE shanglifeecif.Individual si1 SET si1.Label27 = (
@@ -180,7 +185,7 @@ BEGIN
 	);
 	);
 	--29	是否有趸交保单	Label29	有趸交保单	NOSPInsurance,POLICY_INFORMATION.PAYINTV='趸缴',PREMIUM_LIST.PAYMENT_PERIOD='一次交清'	
 	--29	是否有趸交保单	Label29	有趸交保单	NOSPInsurance,POLICY_INFORMATION.PAYINTV='趸缴',PREMIUM_LIST.PAYMENT_PERIOD='一次交清'	
 	UPDATE shanglifeecif.Individual si1 SET si1.Label29 = '有趸交保单' WHERE si1.scustid IN (
 	UPDATE shanglifeecif.Individual si1 SET si1.Label29 = '有趸交保单' WHERE si1.scustid IN (
-		SELECT p.customerno FROM policy_information p WHERE p.payintv = '趸缴' AND p.contno IN (SELECT l.contno FROM PREMIUM_LIST l WHERE l.PAYMENT_PERIOD LIKE '%一次交清 %')	
+		SELECT p.customerno FROM policy_information p WHERE p.payintv = '趸缴' and p.riskperiod = '长期险' AND p.contno IN (SELECT l.contno FROM PREMIUM_LIST l WHERE l.PAYMENT_PERIOD LIKE '%一次交清%')	
 	);	
 	);	
 	--30	是否给本人投保	Label30	仅本人投保,本人已投保,本人未投保	Iself	
 	--30	是否给本人投保	Label30	仅本人投保,本人已投保,本人未投保	Iself	
 	UPDATE shanglifeecif.Individual si1 SET si1.Label30 = (
 	UPDATE shanglifeecif.Individual si1 SET si1.Label30 = (
@@ -311,19 +316,17 @@ BEGIN
 	);
 	);
 	--49	是否有缴费期满长险保单	Label45	有缴费期满长险保单	POLICY_INFORMATION:paycount= payendyear AND riskperiod='长期险'	客户持有保险期限为一年以上,剩余保费期数为0
 	--49	是否有缴费期满长险保单	Label45	有缴费期满长险保单	POLICY_INFORMATION:paycount= payendyear AND riskperiod='长期险'	客户持有保险期限为一年以上,剩余保费期数为0
 		UPDATE shanglifeecif.Individual si1 SET si1.label45 = '有缴费期满长险保单' WHERE si1.scustid IN (
 		UPDATE shanglifeecif.Individual si1 SET si1.label45 = '有缴费期满长险保单' WHERE si1.scustid IN (
-		SELECT p.customerno FROM policy_information p WHERE p.contno IN (
-		select contno from lcpol where payintv > 0 and paytodate = payenddate and months_between(cvalidate, enddate) > 12
-		) 
+		SELECT p.customerno FROM policy_information p WHERE p.appflag = '有效' and p.paycount = p.payendyear AND riskperiod='长期险'	
 	);
 	);
 	--50	是否有续期缴费的保单	Label46	有续期缴费的保单		客户为投保人,含有待缴费状态的保单
 	--50	是否有续期缴费的保单	Label46	有续期缴费的保单		客户为投保人,含有待缴费状态的保单
 		UPDATE shanglifeecif.Individual si1 SET si1.label46 = '有续期缴费保单' WHERE si1.scustid IN (
 		UPDATE shanglifeecif.Individual si1 SET si1.label46 = '有续期缴费保单' WHERE si1.scustid IN (
-		SELECT p.customerno FROM policy_information p WHERE p.contno IN (
+		SELECT p.customerno FROM policy_information p WHERE p.appflag = '有效' and p.contno IN (
 			select otherno from ljspay where othernotype = '2'
 			select otherno from ljspay where othernotype = '2'
 		) 
 		) 
 	);
 	);
 	--51	有责任期满的保单	Label47	有责任期满的保单		客户持有保单含有保险期限已满的保单
 	--51	有责任期满的保单	Label47	有责任期满的保单		客户持有保单含有保险期限已满的保单
 		UPDATE shanglifeecif.Individual si1 SET si1.label47 = '有责任期满的保单' WHERE si1.scustid IN (
 		UPDATE shanglifeecif.Individual si1 SET si1.label47 = '有责任期满的保单' WHERE si1.scustid IN (
-		SELECT p.customerno FROM policy_information p WHERE p.contno IN (
+		SELECT p.customerno FROM policy_information p WHERE p.appflag = '有效' and p.contno IN (
 			select contno from lcpol where enddate < SYSDATE
 			select contno from lcpol where enddate < SYSDATE
 		) 
 		) 
 	);
 	);
@@ -335,6 +338,12 @@ BEGIN
 		SELECT p.customerno,min(p.polapplydate) AS fadate  FROM POLICY_INFORMATION p WHERE p.polapplydate IS NOT null GROUP BY p.customerno
 		SELECT p.customerno,min(p.polapplydate) AS fadate  FROM POLICY_INFORMATION p WHERE p.polapplydate IS NOT null GROUP BY p.customerno
 		) t WHERE t.customerno = si1.scustid
 		) 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 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.label48 = '首次投保日期' ||  to_char(si1.fadate, 'yyyy-MM-dd')  WHERE si1.fadate IS NOT NULL;
 
 
@@ -344,6 +353,12 @@ BEGIN
 			SELECT p.customerno,max(p.polapplydate) AS fadate  FROM POLICY_INFORMATION p WHERE p.polapplydate IS NOT null GROUP BY p.customerno
 			SELECT p.customerno,max(p.polapplydate) AS fadate  FROM POLICY_INFORMATION p WHERE p.polapplydate IS NOT null GROUP BY p.customerno
 			) t WHERE t.customerno = si1.scustid
 			) 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 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.label49 = '最后一次投保距今' || DATEDIFF(sysdate(), si1.LAPPDate) || '天' WHERE si1.lappdate IS NOT NULL;  
 		
 		
@@ -439,18 +454,18 @@ BEGIN
 	);
 	);
 	--68	是否有红利可领取的保单	Label64	有红利可领取保单	无	0
 	--68	是否有红利可领取的保单	Label64	有红利可领取保单	无	0
 	UPDATE shanglifeecif.Individual si1 SET si1.label64 = '红利可领取的保单' WHERE si1.scustid IN 
 	UPDATE shanglifeecif.Individual si1 SET si1.label64 = '红利可领取的保单' WHERE si1.scustid IN 
-	(SELECT p.customerno FROM policy_information p,lmriskapp l WHERE p.riskcode = l.riskcode AND l.bonusflag = 1);
+	(SELECT p.customerno FROM policy_information p,lmriskapp l WHERE p.appflag = '有效' and p.riskcode = l.riskcode AND l.bonusflag = 1);
 	
 	
 	--69	一单寿险客户	Label65	一单寿险客户	客户仅购买了一张保单,且保单类型为寿险型保单
 	--69	一单寿险客户	Label65	一单寿险客户	客户仅购买了一张保单,且保单类型为寿险型保单
 	UPDATE shanglifeecif.Individual si1 SET si1.label65 = '一单寿险客户' WHERE si1.scustid IN (SELECT t.customerno FROM (
 	UPDATE shanglifeecif.Individual si1 SET si1.label65 = '一单寿险客户' WHERE si1.scustid IN (SELECT t.customerno FROM (
 		SELECT count(*) AS pnum,p.customerno FROM POLICY_INFORMATION p 
 		SELECT count(*) AS pnum,p.customerno FROM POLICY_INFORMATION p 
-	LEFT JOIN lmriskapp b on p.riskcode = b.riskcode
-	WHERE b.kindcode = 'L' and p.appflag = '有效' GROUP BY p.customerno
+	LEFT JOIN riskkind b on p.riskcode = b.riskcode
+	WHERE (b.kindtype = '新型寿险' or b.kindtype = '人寿保险') and p.appflag = '有效' GROUP BY p.customerno
 	) t WHERE t.pnum = 1);
 	) t WHERE t.pnum = 1);
 	--70	缴费期满客户	Label66	缴费期满客户	POLICY_INFORMATION:paycount= payendyear	客户缴费期数已满
 	--70	缴费期满客户	Label66	缴费期满客户	POLICY_INFORMATION:paycount= payendyear	客户缴费期数已满
 	UPDATE shanglifeecif.Individual si1 SET si1.label66 = '缴费期满客户' WHERE si1.scustid IN (SELECT t.customerno FROM (
 	UPDATE shanglifeecif.Individual si1 SET si1.label66 = '缴费期满客户' WHERE si1.scustid IN (SELECT t.customerno FROM (
 			SELECT count(*) AS pnum,p.customerno FROM POLICY_INFORMATION p 
 			SELECT count(*) AS pnum,p.customerno FROM POLICY_INFORMATION p 
-		WHERE p.paycount = p.payendyear GROUP BY p.customerno
+		WHERE p.appflag = '有效' and p.paycount = p.payendyear GROUP BY p.customerno
 		) t WHERE t.pnum > 0);
 		) t WHERE t.pnum > 0);
 	--71	生日与司庆日同一天客户	Label67	生日与司庆日同天	2月15号 为司庆日	客户生日和公司司庆日为同一天
 	--71	生日与司庆日同一天客户	Label67	生日与司庆日同天	2月15号 为司庆日	客户生日和公司司庆日为同一天
 	UPDATE shanglifeecif.Individual si1 SET si1.Label67 = '生日与司庆日同天' where si1.birthday like '%-02-15%';	
 	UPDATE shanglifeecif.Individual si1 SET si1.Label67 = '生日与司庆日同天' where si1.birthday like '%-02-15%';	
@@ -487,8 +502,10 @@ BEGIN
 		OR si1.Dlicense IN  (SELECT a.certificate_no FROM account a WHERE a.account_status = 0) 
 		OR si1.Dlicense IN  (SELECT a.certificate_no FROM account a WHERE a.account_status = 0) 
 		OR si1.othernumber IN (SELECT a.certificate_no FROM account a WHERE a.account_status = 0);
 		OR si1.othernumber IN (SELECT a.certificate_no FROM account a WHERE a.account_status = 0);
 	--	本人生日提醒	Label77	本人生日临近		客户生日-当前日期<5
 	--	本人生日提醒	Label77	本人生日临近		客户生日-当前日期<5
-	UPDATE shanglifeecif.Individual si1 SET si1.label77 = '本人生日临近' WHERE DATEDIFF(to_char(SYSDATE,"2021-MM-dd"),to_char(si1.birthday,"2021-MM-dd"))<=5 AND 
-		DATEDIFF(to_char(SYSDATE,"2021-MM-dd"),to_char(si1.birthday,"2021-MM-dd"))>0;
+	--UPDATE shanglifeecif.Individual si1 SET si1.label77 = '本人生日临近' WHERE DATEDIFF(to_char(SYSDATE,"2021-MM-dd"),to_char(si1.birthday,"2021-MM-dd"))<=5 AND 
+		--DATEDIFF(to_char(SYSDATE,"2021-MM-dd"),to_char(si1.birthday,"2021-MM-dd"))>0;
+	UPDATE shanglifeecif.Individual si1 SET si1.label77 = '本人生日临近' WHERE DATEDIFF(to_char(si1.birthday,"2021-MM-dd"),to_char(SYSDATE,"2021-MM-dd"))<=5 AND 
+		DATEDIFF(to_char(si1.birthday,"2021-MM-dd"),to_char(SYSDATE,"2021-MM-dd"))>0;	
 	--93	失效客户	Label91	失效客户	所有保单都是失效状态	客户名下所有保单均失效的客户
 	--93	失效客户	Label91	失效客户	所有保单都是失效状态	客户名下所有保单均失效的客户
 	UPDATE shanglifeecif.Individual si1 SET si1.Label91 = '失效客户' WHERE si1.scustid IN (SELECT temp.customerno FROM (
 	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 count(*) AS tnum,max(t.customerno) AS customerno,max(t.pnum) AS pnum FROM (
@@ -512,8 +529,8 @@ BEGIN
 		SELECT contnos from cc_record_main
 		SELECT contnos from cc_record_main
 	)
 	)
 ) AND TRUNC(months_between(sysdate, si1.birthday)/12)>=60;
 ) AND TRUNC(months_between(sysdate, si1.birthday)/12)>=60;
-	--100	敏感职业	Label98	敏感职业		投保人职业为记者、律师、公务员、媒体、金融行业
-	UPDATE shanglifeecif.Individual si1 SET si1.Label98 = (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;
+	--100	敏感职业	Label100	敏感职业		投保人职业为记者、律师、公务员、媒体、金融行业
+	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;
     --102	公司销售人员	Label100	公司销售人员	姓名与保单经办人一致	客户为公司销售人员
     --102	公司销售人员	Label100	公司销售人员	姓名与保单经办人一致	客户为公司销售人员
 	--103	长通话	Label101	长通话	"contnos为客户的保单号 select (select lo.call_length from ucc_rms_recorderlog lo where lo.call_id=m.call_id) as lenth from cc_record_main m
 	--103	长通话	Label101	长通话	"contnos为客户的保单号 select (select lo.call_length from ucc_rms_recorderlog lo where lo.call_id=m.call_id) as lenth from cc_record_main m
 	--where m.contnos='2019082000110188'"	平均通话时长超过10分钟
 	--where m.contnos='2019082000110188'"	平均通话时长超过10分钟
@@ -536,19 +553,18 @@ BEGIN
 );
 );
 
 
 	--105	要求较多	Label103	要求较多	"policyno为客户的保单号 flowid like'ZX%'转办标志 Z select (select r.idname from cc_swf_sort r where r.id=f.complaintProject) as --swfName --from cc_swfflowmain f where f.policyno='2020021500000456' and flowid like'ZX%'"	每次来电均下转办单的
 	--105	要求较多	Label103	要求较多	"policyno为客户的保单号 flowid like'ZX%'转办标志 Z select (select r.idname from cc_swf_sort r where r.id=f.complaintProject) as --swfName --from cc_swfflowmain f where f.policyno='2020021500000456' and flowid like'ZX%'"	每次来电均下转办单的
-	UPDATE shanglifeecif.Individual si1 SET si1.Label103 = (SELECT "要求较多" FROM (
-
-		SELECT p.customerno,row_number()OVER(PARTITION BY p.customerno) rn
-		FROM (
-		SELECT max(t.mnum) AS mnum,f.policyno,count(*) AS fnum FROM (
-		SELECT count(*) AS mnum,m.contnos FROM cc_record_main m WHERE m.contnos IS NOT null
-		GROUP BY m.contnos
-		) t LEFT JOIN cc_swfflowmain f ON t.contnos = f.policyno
-		WHERE f.flowid LIKE 'ZX%' AND f.policyno IS NOT NULL
-		GROUP BY f.policyno
-		) temp LEFT JOIN policy_information p ON temp.policyno = p.contno
-		WHERE temp.fnum = temp.mnum
-) tt WHERE tt.rn = 1 AND tt.customerno IS NOT NULL AND si1.scustid = tt.customerno);
+	UPDATE shanglifeecif.Individual si1 SET si1.Label103 = '要求较多' WHERE si1.scustid IN (
+		SELECT p.customerno FROM policy_information p WHERE p.contno IN (
+			SELECT temp.policyno FROM (
+				SELECT max(t.mnum) AS mnum,f.policyno,count(*) AS fnum,(count(*)/max(t.mnum)) FROM (
+					SELECT count(*) AS mnum,m.contnos FROM cc_record_main m WHERE m.contnos IS NOT null
+					GROUP BY m.contnos
+					) t LEFT JOIN cc_swfflowmain f ON t.contnos = f.policyno
+					WHERE f.flowid LIKE 'ZX%' AND f.policyno IS NOT NULL
+					GROUP BY f.policyno
+			) temp WHERE (temp.fnum/temp.mnum)>0.7
+		)
+	);
 	--106	易投诉升级	Label104	易投诉升级	"flowid like'ZX%'转办标志 Z select (select r.idname from cc_swf_sort r where r.id=f.complaintProject and r.idname='投诉') as swfName --from cc_swfflowmain f where f.policyno='2020021500000456' and flowid like'ZX%'"	咨询转办单项目为投诉
 	--106	易投诉升级	Label104	易投诉升级	"flowid like'ZX%'转办标志 Z select (select r.idname from cc_swf_sort r where r.id=f.complaintProject and r.idname='投诉') as swfName --from cc_swfflowmain f where f.policyno='2020021500000456' and flowid like'ZX%'"	咨询转办单项目为投诉
  UPDATE shanglifeecif.Individual si1 SET si1.Label104 = (SELECT "易投诉升级" FROM (
  UPDATE shanglifeecif.Individual si1 SET si1.Label104 = (SELECT "易投诉升级" FROM (
 
 
@@ -615,24 +631,23 @@ BEGIN
 );
 );
 	
 	
 	--109	高金额	Label107	高金额		银保渠道期缴高于30000,有效保单;其他渠道件均保费2倍以上
 	--109	高金额	Label107	高金额		银保渠道期缴高于30000,有效保单;其他渠道件均保费2倍以上
-	UPDATE shanglifeecif.Individual si1 SET si1.Label107 = '高金额' WHERE si1.scustid IN (SELECT p.customerno FROM policy_information p WHERE (p.salecom = '03' AND p.prem>30000 AND 
-	p.appflag = '有效') OR (p.salecom <> '03' AND p.prem>60000 AND p.appflag = '有效'));
+	UPDATE shanglifeecif.Individual si1 SET si1.Label107 = '高金额' WHERE si1.scustid IN (SELECT p.customerno FROM policy_information p WHERE p.appflag = '有效' and (p.salecom = '03' AND p.prem>30000) OR (p.salecom <> '03' AND p.prem>60000));
 	--111	理赔报案追踪	Label109	理赔报案追踪		理赔状态为报案状态,且理赔报案日-当前日期<30天
 	--111	理赔报案追踪	Label109	理赔报案追踪		理赔状态为报案状态,且理赔报案日-当前日期<30天
-	UPDATE shanglifeecif.Individual si1 SET si1.Label109 = '理赔报案追踪' WHERE si1.scustid IN (SELECT p.customerno FROM policy_information p WHERE p.contno IN (SELECT c.CONTNO FROM insurance_claim c WHERE c.LLCLAIMSTATE = '报案' AND DATEDIFF(sysdate(), c.RPTDATE) <30) );
+	UPDATE shanglifeecif.Individual si1 SET si1.Label109 = '理赔报案追踪' WHERE si1.scustid IN (SELECT p.customerno FROM policy_information p WHERE p.appflag = '有效' and p.contno IN (SELECT c.CONTNO FROM insurance_claim c WHERE c.LLCLAIMSTATE = '报案' AND DATEDIFF(sysdate(), c.RPTDATE) <30) );
 	--112	理赔处理中	Label110	理赔处理中		理赔状态为受理或立案
 	--112	理赔处理中	Label110	理赔处理中		理赔状态为受理或立案
 	UPDATE shanglifeecif.Individual si1 SET si1.label110 = '理赔处理中' WHERE si1.scustid IN (
 	UPDATE shanglifeecif.Individual si1 SET si1.label110 = '理赔处理中' WHERE si1.scustid IN (
-		SELECT p.customerno FROM policy_information p WHERE p.contno IN (SELECT c.contno FROM INSURANCE_CLAIM c WHERE c.llclaimstate = '受理' OR c.llclaimstate = '立案')
+		SELECT p.customerno FROM policy_information p WHERE p.appflag = '有效' and p.contno IN (SELECT c.contno FROM INSURANCE_CLAIM c WHERE c.llclaimstate = '受理' OR c.llclaimstate = '立案')
 	);
 	);
 	--115	生存金未领	Label113	生存金未领	判断逻辑不详	生存金领取方式为自动转账、存在生存金且未领取
 	--115	生存金未领	Label113	生存金未领	判断逻辑不详	生存金领取方式为自动转账、存在生存金且未领取
 	UPDATE shanglifeecif.Individual si1 SET si1.label113 = '生存金未领' WHERE si1.scustid IN (
 	UPDATE shanglifeecif.Individual si1 SET si1.label113 = '生存金未领' WHERE si1.scustid IN (
-	SELECT p.customerno FROM policy_information p WHERE p.contno IN (
+	SELECT p.customerno FROM policy_information p WHERE p.appflag = '有效' and p.contno IN (
 		SELECT contno FROM Lcinsureacc WHERE acctype = '005' and   insuaccbala>0
 		SELECT contno FROM Lcinsureacc WHERE acctype = '005' and   insuaccbala>0
 	) 
 	) 
 );
 );
 	--117	红利垫缴还款	Label115	红利垫缴还款	判断逻辑不详	存在红利,且红利已经垫交保单还款
 	--117	红利垫缴还款	Label115	红利垫缴还款	判断逻辑不详	存在红利,且红利已经垫交保单还款
 		UPDATE shanglifeecif.Individual si1 SET si1.label117 = '红利垫缴还款' WHERE si1.scustid IN (
 		UPDATE shanglifeecif.Individual si1 SET si1.label117 = '红利垫缴还款' WHERE si1.scustid IN (
-		SELECT p.customerno FROM policy_information p WHERE p.contno IN (
-			SELECT contno FROM loloandetail WHERE finfeetype = 'HL'
+		SELECT p.customerno FROM policy_information p WHERE p.appflag = '有效' and p.contno IN (
+			SELECT contno FROM loloandetail WHERE moneytype='HLDKDK'
 		) 
 		) 
 	);
 	);
 	--122	重点银行	Label120	重点银行	判断逻辑不详	保单的销售渠道网点为招商银行
 	--122	重点银行	Label120	重点银行	判断逻辑不详	保单的销售渠道网点为招商银行

+ 753 - 0
sql-achievement/存储过程/人寿测试环境使用sql整理/客户标签20210409预生产.sql

@@ -0,0 +1,753 @@
+CREATE OR REPLACE PROCEDURE shanglifeecif.updateindividuallable() IS
+DECLARE
+BEGIN
+	--1	学历	label1	按照客户最新记录中的学历取值	幼儿园、小学、中专、职高、技校、初中、高中、大专、本科、硕士及以上、其他	
+	UPDATE shanglifeecif.Individual si1 SET si1.label1 = si1.Education where si1.Education is not null;
+	--2	职业	label2	按照客户最新记录中的职业名称取值	食用调料制作工、味精制作工、糕点、面包烘焙工、米面主食制作工、油脂制品工等
+		
+	UPDATE shanglifeecif.Individual si1 SET si1.label2 = si1.Occupation where si1.Occupation is not null;
+	--3	出生日期区间	label3	根据出生日期,判断客户年代归属	60后、70后、80后、90后、00后、10后等	
+	UPDATE shanglifeecif.Individual si1 SET si1.label3 = substr(si1.birthday,3,1) || '0后' where 1 = 1;
+	--4	年龄区间	label4	"case age when 0<=age and age<13 then '儿童' when  13<=age and age<19 then '少年' when 19<=age and age<41 then '青年' when 41<=age and age<66 then '中年' --else '老年'"	儿童、少年、青年、中年、老年	
+	--UPDATE shanglifeecif.Individual si1 SET si1.label4 = (SELECT CASE WHEN temp.age>=0 AND temp.age<13 THEN '儿童' WHEN temp.age>=13 AND temp.age <19 THEN '少年' WHEN temp.age -->=19 AND temp.age <41 THEN '青年' WHEN temp.age >=41 AND temp.age <66 THEN '中年' ELSE '老年' END FROM (SELECT TRUNC(months_between(sysdate, si2.birthday)/12) age,si2.indid --FROM shanglifeecif.Individual si2) temp WHERE temp.indid = si1.indid);
+	--5	联系地址归属省份	label5	按照客户最近一次办理业务给出的最新联系地址取所在省名称或地级市的名称	省、直辖市:江苏、北京、上海等	
+	--6	联系地址归属地区	label6	按照客户最近一次办理业务给出的最新联系地址取所在市名称或者地级市所在区的名称	市:苏州市、南京市等	
+	--7	婚姻状况	label9	"根据婚姻状态字段判断 case maritalStat when maritalStat=1 then '未婚' when  maritalStat=2 then '已婚' when maritalStat=3 then '丧偶' when maritalStat=4 --then '离异' else null"	1未婚、2已婚、3丧偶、4离异	
+	UPDATE shanglifeecif.Individual si1 SET si1.label9 = si1.maritalStat WHERE 1 = 1;
+	--UPDATE shanglifeecif.Individual si1 SET si1.label9 = (
+				--case si1.maritalStat
+				--when 1 then '未婚'
+				--when 2 then '已婚'
+				--when 3 then '丧偶'
+				--when 4 then '离异'
+				--else NULL END 
+	--) WHERE 1 = 1;
+	--8	子女数量区间	label10	"根据子女登录(登记录入)数量判断 case COChild when COChild=0  then '无子女' when COChild=1  then '1孩' when COChild>0  then '2孩及以上' 
+	--else null"	无子女、1孩、2孩及以上	
+	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;
+	--9	最近5年是否曾或正在接受治疗	label11	按照该字段标识最后一次更新的结果判断,如果标识为true则显示“最近五年曾或正在接受治疗”,否则不做显示	近5年有治疗,近5年无治疗	
+    --10	是否饮酒	label12	按照该字段标识判断,只要记录中有一次标识为true,则显示“饮酒”,否则不做显示	饮酒	
+	--11	是否吸烟	label13	按照该字段标识判断,只要记录中有一次标识为true,则显示“吸烟”,否则不做显示	吸烟	
+	--12	是否有先天性疾病	label14	按照该字段标识最后一次更新的结果判断,如果标识为true则显示“有先天性疾病”,否则不做显示	有先天性疾病	
+	--13	是否患过重大疾病	label15	按照该字段标识最后一次更新的结果判断,如果标识为true则显示“患过重大疾病”,否则不做显示	患过重大疾病	
+	--14	家族是否有遗传病史	label16	按照该字段标识最后一次更新的结果判断,如果标识为true则显示“有遗传病”,否则不做显示	家族有遗传病史	
+	--15	是否正在怀孕	label17	按照该字段标识最后一次更新的结果判断,如果标识为true则显示“怀孕”,否则不做显示	正在怀孕	
+	--16	是否有早产、过期产、难产情况	label18	按照该字段标识判断,只要记录中有一次标识为true,则显示“有早产、过期产、难产情况”,否则不做显示	有早产、过期产、难产情况	
+	--17	是否进行危险性运动	label20	按照该字段标识判断,只要记录中有一次标识为true,则显示“进行危险性运动”,否则不做显示	进行危险性运动	
+	--18	个人年收入区间	label21	"根据个人年收入字段进行判断:case PIncome when PIncome<=120000 then '低收入' when PIncome>120000 and PIncome<=1000000 then '中产' when --PIncome>1000000 then '富人' else null"	低收入、中产、富人	
+	--根据数据判断单位应该是万元,这里都除以10000做判断
+	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;
+	--19	拥有车辆数量区间	label22	"根据车辆登录数量字段进行判断:case COVehicle when COVehicle=0 then '无车' when COVehicle=1 then '1辆车' when COVehicle>1 then '2辆车以上'
+    --else null" 无车,1辆车,2辆车及以上	
+	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;	
+	--20	拥有住房套数	label23	"根据房屋登录数量字段进行判断:case CORP when CORP=0 then '无房' when CORP=1 then '1套房' when CORP>1 then '2套房以上'
+	--else null"	无房,1套房,2套房及以上	
+	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;
+	--21	是否持有寿险有效保单	label24	筛选客户名下所有保单,保单中客户为投保人,保单险种大类为寿险	持有寿险有效保单	
+	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 = '人寿保险'));
+	--22	保单件数区间	label25	"判断客户作为投保人所有的保单数量(有效保单数量+失效保单数量):NOVPolicy+NOIVPolicy=pCount(保单总件数)
+	--case pCount when pCount=1 then '1件' when pCount=2 then '2件' when pCount>2 and pCount<6 then '3-5件' when pCount>5 and pCount<11 then '6-10件' 
+	--when pCount>10 and pCount<21 then '10-20件'when pCount>20 and pCount<51 then '21-50件'
+	--when pCount>50 then '50件以上' else '无保单'"	无保单、1件保单、2件保单、3-5件保单、6-10件保单、11-20件保单、20-50件保单、50件以上保单	
+	--第一步 更新 Individual.NOVPolicy 有效记录数
+	--UPDATE shanglifeecif.Individual si1 SET si1.NOVPolicy = (SELECT nvl(t.cnum,0) FROM (
+		--SELECT temp.customerno,count(*) AS cnum FROM (
+			--SELECT max(p.customerno) customerno,p.contno FROM dsj.policy_information p WHERE p.appflag = '有效' GROUP BY p.contno 
+		--) temp GROUP BY temp.customerno
+	--) t WHERE t.customerno =  si1.scustid); 
+	
+	
+	
+	--第二步 更新 Individual.NOIVPolicy 无效记录数
+	--UPDATE shanglifeecif.Individual si1 SET si1.noivpolicy = (SELECT nvl(t.cnum,0) FROM (
+			--SELECT temp.customerno,count(*) AS cnum FROM (
+			--SELECT max(p.customerno) customerno,p.contno FROM dsj.policy_information p WHERE p.appflag <> '有效' GROUP BY p.contno 
+		--) temp GROUP BY temp.customerno
+	--) t WHERE t.customerno =  si1.scustid); 
+	
+	--第三步
+	--UPDATE shanglifeecif.Individual si1 SET si1.Label25 = (
+		--CASE 
+				--WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) == 0 THEN '无保单' 
+				--WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) == 1 THEN '1件' 
+				--WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) == 2 THEN '2件'  
+				--WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) >= 3  AND (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) <= 5 THEN '3-5件'  
+				--WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) >= 6  AND (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) <= 10 THEN '6-10件'  
+				--WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) >= 11  AND (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0))<= 20 THEN '11-20件'  
+				--WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) >= 21  AND (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) <= 50 THEN '21-50件'  
+				--WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) > 50 THEN '50件以上' 
+		--END ) where 1 = 1;
+		
+	--UPDATE shanglifeecif.Individual si1 SET si1.Label25 = (
+		--CASE 
+				--WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) == 0 THEN '无保单' 
+				--WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) == 1 THEN '1件保单' 
+				--WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) == 2 THEN '2件保单'  
+				--WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) >= 3  AND (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) <= 5 THEN '3-5件保单'  
+				--WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) >= 6  AND (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) <= 10 THEN '6-10件保单'  
+				--WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) >= 11  AND (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0))<= 20 THEN '11-20件保单'  
+				--WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) >= 21  AND (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) <= 50 THEN '21-50件保单'  
+				--WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) > 50 THEN '50件保单以上' 
+		--END 
+			--) where 1 = 1;	
+		
+	
+	--23	是否贷款	label26	筛选客户为投保人的有效保单,且办理了贷款业务	有贷款	
+	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'
+		) 
+	);
+	--24	是否有极短意保单/是否仅有极短意保单	 label27	"客户为保单投保人 case AGRMNTAge(保险期限) when avg(sum(AGRMNTAges))<90 then '仅极短意外险'
+			--when AGRMNTAge<90  then '有极短意外险'"	仅极短意外险,有极短意外险	志广说只用判断有极短意外险不用判断仅有
+		/*UPDATE shanglifeecif.Individual si1 SET si1.Label27 = (
+			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,
+					policy.customerno
+				FROM
+					dsj.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 
+			) t LEFT JOIN dsj.policy_information p ON t.customerno = p.customerno GROUP BY p.customerno
+		) temp where temp.customerno = si1.scustid 
+
+	);
+	--29	是否有趸交保单	Label29	有趸交保单	NOSPInsurance,POLICY_INFORMATION.PAYINTV='趸缴',PREMIUM_LIST.PAYMENT_PERIOD='一次交清'	
+	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 '%一次交清%')	
+	);	
+	--30	是否给本人投保	Label30	仅本人投保,本人已投保,本人未投保	Iself	
+	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
+	
+	);
+	--32	是否给父母投保	Label31	仅父母投保,父母已投保,父母未投保	Iparent	
+	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
+	
+	);
+	--34	是否给子女投保	Label32	仅子女投保,子女已投保,子女未·投保	Ichildren	
+	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
+	);
+	
+		
+	--36	是否给配偶投保	Label33	仅配偶投保,配偶已投保,配偶未投保	Imate	
+	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
+	);	
+	--47	是否仅有1年期短险保单	Label43	仅有1年期短险保单,有1年期短险保单	"policy_information表 SECURITY in('1年','6月','180天') riskperiod=‘短期险’
+	--riskcode not in('1066008','1066007','1066006','1066004','1066003','1066002','1066001','1065005','1065003','1065001','1025003')"	客户为保单投保人,所有保单的保障期限为一年
+	/*UPDATE shanglifeecif.Individual si1 SET si1.Label43 = (
+		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,
+					policy.customerno
+				FROM
+					dsj.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 
+			) t LEFT JOIN dsj.policy_information p ON t.customerno = p.customerno GROUP BY p.customerno
+		) temp where temp.customerno = si1.scustid 
+
+	);
+	--48	是否有失效保单	Label44	有失效保单	NOIVPolicy	客户为保单投保人,持有保单中保单状态为失效 (最新文档逻辑)
+		UPDATE shanglifeecif.Individual si1 SET si1.label44 = '有失效保单' WHERE si1.scustid IN (
+		SELECT p.customerno FROM dsj.policy_information p WHERE p.contno IN (select contno from dsj.lccontstate where statetype = 'Available' and state = '1') 
+	);
+	--49	是否有缴费期满长险保单	Label45	有缴费期满长险保单	POLICY_INFORMATION:paycount= payendyear AND riskperiod='长期险'	客户持有保险期限为一年以上,剩余保费期数为0
+		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 riskperiod='长期险'	
+	);
+	--50	是否有续期缴费的保单	Label46	有续期缴费的保单		客户为投保人,含有待缴费状态的保单
+		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'
+		) 
+	);
+	--51	有责任期满的保单	Label47	有责任期满的保单		客户持有保单含有保险期限已满的保单
+		UPDATE shanglifeecif.Individual si1 SET si1.label47 = '有责任期满的保单' WHERE si1.scustid IN (
+		SELECT p.customerno FROM dsj.policy_information p WHERE p.appflag = '有效' and p.contno IN (
+			select contno from dsj.lcpol where enddate < SYSDATE
+		) 
+	);
+		
+	--52	第一张保单投保日期	Label48	首次投保日期XXXX-XX-XX	FADate	客户所有保单中投保时间最早的日期
+	--第一步  
+	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;
+
+	--53	最后一次寿险投保距今时长	Label49	最后一次投保距今XXX天	LAPPDate	当前日期减去客户所有保单中最后一次投保的保单的投保时间
+	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;  
+		
+	--54	最近一次保单所属渠道	Label50	最近保单团险渠道、最近保单个人营销、最近保单银行代理、最近保单中介渠道、最近保单网销渠道	--LPChannel,InsuranceArrangement.AgentChannel	客户最后一次投保归属渠道
+	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.label50 =  (SELECT t.SALECHNL FROM (
+			--SELECT p.customerno,row_number()OVER(PARTITION BY p.customerno ORDER BY p.polapplydate DESC) rd,p.SALECHNL  FROM POLICY_INFORMATION p WHERE p.salechnl IS NOT null
+		--) t WHERE t.rd = 1 AND t.customerno = si1.scustid);
+
+	--UPDATE shanglifeecif.Individual si1 SET si1.label50 =  '最近保单' || si1.label50 WHERE si1.label50 IS NOT NULL;
+	--55	最近一次保单所属机构	Label51	最近XX机构	LPOrg,InsuranceArrangement.AgentOrg	客户最后一次投保归属机构
+	--UPDATE shanglifeecif.Individual si1 SET si1.label51 =  (SELECT t.AGENTCOM FROM (
+		--	SELECT p.customerno,row_number()OVER(PARTITION BY p.customerno ORDER BY p.polapplydate DESC) rd,p.AGENTCOM  FROM POLICY_INFORMATION p WHERE p.salechnl IS NOT null
+		--) t WHERE t.rd = 1 AND t.customerno = si1.scustid);
+
+	--UPDATE shanglifeecif.Individual si1 SET si1.label51 =  '最近机构' || si1.label51 WHERE si1.label51 IS NOT NULL;
+	--56	最早保单所属渠道	Label52	首单团险渠道、首单个人营销、首单银行代理、首单中介渠道、首单网销渠道	FAChannel	客户第一次投保时保单归属渠道
+	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.label52 =  (SELECT t.SALECHNL FROM (
+			--SELECT p.customerno,row_number()OVER(PARTITION BY p.customerno ORDER BY p.polapplydate asc) rd,p.SALECHNL  FROM POLICY_INFORMATION p WHERE p.salechnl IS NOT null
+		--) t WHERE t.rd = 1 AND t.customerno = si1.scustid);
+
+	--UPDATE shanglifeecif.Individual si1 SET si1.label52 =  '首单' || si1.label52 WHERE si1.label52 IS NOT NULL;
+	--57	最早保单所属机构	Label53	首单XX机构	FAOrg	客户第一次投保时保单归属机构
+	--UPDATE shanglifeecif.Individual si1 SET si1.label53 =  (SELECT t.AGENTCOM FROM (
+	--	SELECT p.customerno,row_number()OVER(PARTITION BY p.customerno ORDER BY p.polapplydate ASC) rd,p.AGENTCOM  FROM POLICY_INFORMATION p WHERE p.salechnl IS NOT null
+	--) t WHERE t.rd = 1 AND t.customerno = si1.scustid);
+
+	--UPDATE shanglifeecif.Individual si1 SET si1.Label53 =  '最近机构' || si1.Label53 WHERE si1.Label53 IS NOT NULL;
+	--58	最近保单状态	Label54	"未承保承保新增附加险终止续保未对账对账失败"	LPState	客户最后一张保单的保单状态
+	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.label55 = (
+	SELECT 
+		CASE t.edortype
+			WHEN 'AE' THEN '投保人变更'
+			WHEN 'AM' THEN '客户联系方式变更'
+			WHEN 'AP' THEN '自垫选择权变更'
+			WHEN 'BB' THEN '客户基本资料变更'
+			WHEN 'BC' THEN '受益人及受益人资料变更'
+			WHEN 'BM' THEN '红利领取方式变更'
+			WHEN 'BS' THEN '签名变更'
+			WHEN 'CM' THEN '客户重要资料变更(客户层)'
+			WHEN 'CT' THEN '退保'
+			WHEN 'DB' THEN '红利领取'
+			WHEN 'EN' THEN '续保方式变更'
+			WHEN 'FM' THEN '交费期间变更'
+			WHEN 'GC' THEN '生存金转账领取授权申请/取消'
+			WHEN 'GM' THEN '领取方式变更'
+			WHEN 'GT' THEN '保险公司解除合同'
+			WHEN 'HI' THEN '补充告知'
+			WHEN 'IC' THEN '客户重要资料变更(保单层)'
+			WHEN 'IO' THEN '职业类别变更'
+			WHEN 'LG' THEN '生存给付'
+			WHEN 'LN' THEN '保单借款'
+			WHEN 'LR' THEN '保单补发'
+			WHEN 'NS' THEN '新增附加险'
+			WHEN 'OP' THEN '万能险部分领取'
+			WHEN 'PC' THEN '交费方式及交费账号变更'
+			WHEN 'PL' THEN '保单挂失与挂失解除'
+			WHEN 'PM' THEN '交费间隔变更'
+			WHEN 'PR' THEN '保单迁移'
+			WHEN 'PT' THEN '减保'
+			WHEN 'PU' THEN '减额交清'
+			WHEN 'RB' THEN '保全回退'
+			WHEN 'RE' THEN '保单复效'
+			WHEN 'RF' THEN '贷款清偿'
+			WHEN 'SC' THEN '特别约定变更'
+			WHEN 'TR' THEN '保费自垫清偿'
+			WHEN 'WT' THEN '犹豫期退保'
+			WHEN 'XS' THEN '协议减保'
+			WHEN 'XT' THEN '协议退保'
+			END
+		FROM (
+			
+				select 
+				   		row_number() over(partition by i.customerno ORDER BY e.edorAPPDATE DESC) rn,
+				   		e.contno,
+				   		i.customerno,
+				   		e.edortype
+				from dsj.edorinfo e
+				LEFT JOIN dsj.policy_information i ON e.contno = i.contno
+			WHERE e.contno IS NOT NULL
+		
+		) t WHERE t.rn = 1 AND si1.scustid = t.customerno
+);
+	
+	
+	--60	是否有退保保单	Label56	有退保保单	如何判断?	客户所有的保单中是否存在保单状态为退保的保单
+		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'
+		) 
+	);
+	
+	--61	最近一次理赔类型	Label57	--意外医疗、意外伤残、意外死亡、意外高残、意外大病、意外特种疾病、意外失业失能、意外生命末期重疾、意外豁免、疾病医疗、疾病伤残、疾病死亡、疾病高残、疾病大病、疾病特种疾病、疾病失---业失能、疾病生命末期重疾、疾病豁免	无	客户最后一次投办理理赔业务的业务类型
+	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
+	);
+	--62	最近一次出险类型	Label58	疾病出险、意外出险	无	客户最后一次出险的类型
+	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
+	);
+	--63	最近一次理赔状态	Label59	理赔报案中、理赔已受理、理赔已立案、理赔审核中、理赔预付审批中、理赔结案、理赔完成、理赔关闭	InsuranceClaimThread.ClaimCaseStatus	--客户最后一次发生理赔的理赔类型
+	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
+	);
+	--65	是否有满期给付保单	Label61	有满期给付保单	如何判断?	0
+	--select getdutycode from lmdutygetalive where getdutyname in ('满期保险金','满期生存保险金');
+	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 ('满期保险金','满期生存保险金'))
+		) 
+	);
+	--67	是否有生存金给付的保单	Label63	有生存金给付保单	无	0
+	--select getdutycode from lmdutygetalive where getdutyname = '生存保险金';
+	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 = '有效'
+	);
+	--68	是否有红利可领取的保单	Label64	有红利可领取保单	无	0
+	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);
+	
+	--69	一单寿险客户	Label65	一单寿险客户	客户仅购买了一张保单,且保单类型为寿险型保单
+	UPDATE shanglifeecif.Individual si1 SET si1.label65 = '一单寿险客户' WHERE si1.scustid IN (SELECT t.customerno FROM (
+		SELECT count(*) 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 = '人寿保险') and p.appflag = '有效' GROUP BY p.customerno
+	) t WHERE t.pnum = 1);
+	--70	缴费期满客户	Label66	缴费期满客户	POLICY_INFORMATION:paycount= payendyear	客户缴费期数已满
+	UPDATE shanglifeecif.Individual si1 SET si1.label66 = '缴费期满客户' WHERE si1.scustid IN (SELECT t.customerno FROM (
+			SELECT count(*) AS pnum,p.customerno FROM dsj.POLICY_INFORMATION p 
+		WHERE p.appflag = '有效' and p.paycount = p.payendyear GROUP BY p.customerno
+		) t WHERE t.pnum > 0);
+	--71	生日与司庆日同一天客户	Label67	生日与司庆日同天	2月15号 为司庆日	客户生日和公司司庆日为同一天
+	UPDATE shanglifeecif.Individual si1 SET si1.Label67 = '生日与司庆日同天' where si1.birthday like '%-02-15%';	
+	--72	持有有效保单产品类型客户标签	Label68	持有有效保单,未持有有效保单		客户名下是否有投保人为自己的有效保单
+	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);
+	--73	客户等级标签	Label69	钻石、白金、黄金、普通	Individual.CustClass	根据CustClass字段已有的等级值显示
+	--UPDATE shanglifeecif.Individual si1 SET si1.Label69 = si1.CustClass where 1 = 1;
+	UPDATE shanglifeecif.Individual si1 SET si1.Label69 = (
+						CASE si1.CustClass 
+						WHEN 1 THEN '钻石客户'
+						WHEN 2 THEN '白金客户'
+						WHEN 3 THEN '黄金客户'
+						--WHEN 4 THEN '普通级别'
+						--ELSE '无级别' 
+						ELSE ''
+						END
+						) where 1 = 1;	
+	--74	最近接触业务类型	Label70	最近投诉、最近问询(咨询)、最近营销、最近理赔、最近出险、最近保全	Individual.LCType	客户最后一次接触的业务类型
+	--75	最近接触方式	Label71	最近外呼、最近呼入、微信	Individual.LCMethod	客户最后一次接触的方式
+	--77	是否关注官微	Label73	关注官微	无	0
+	--UPDATE shanglifeecif.Individual si1 SET si1.Label73 = '关注官微'
+	--WHERE si1.idcard IN (SELECT a.certificate_no FROM account a) 
+	--OR si1.passport IN (SELECT a.certificate_no FROM account a) 
+	--OR si1.Dlicense IN  (SELECT a.certificate_no FROM account a) 
+	--OR si1.othernumber IN (SELECT a.certificate_no FROM account a);
+
+	--78	是否注册官微	Label74	注册官微	无	0
+	UPDATE shanglifeecif.Individual si1 SET si1.Label74 = '注册官微'
+	WHERE si1.idcard IN (SELECT a.certificate_no FROM account a WHERE a.account_status = 0) 
+		OR si1.passport IN (SELECT a.certificate_no FROM account a WHERE a.account_status = 0) 
+		OR si1.Dlicense IN  (SELECT a.certificate_no FROM account a WHERE a.account_status = 0) 
+		OR si1.othernumber IN (SELECT a.certificate_no FROM account a WHERE a.account_status = 0);
+		
+		
+	--	本人生日提醒	Label77	本人生日临近		客户生日-当前日期<5
+	--UPDATE shanglifeecif.Individual si1 SET si1.label77 = '本人生日临近' WHERE DATEDIFF(to_char(SYSDATE,"2021-MM-dd"),to_char(si1.birthday,"2021-MM-dd"))<=5 AND 
+		--DATEDIFF(to_char(SYSDATE,"2021-MM-dd"),to_char(si1.birthday,"2021-MM-dd"))>0;
+	UPDATE shanglifeecif.Individual si1 SET si1.label77 = '本人生日临近' WHERE DATEDIFF(to_char(si1.birthday,"2021-MM-dd"),to_char(SYSDATE,"2021-MM-dd"))<=5 AND 
+		DATEDIFF(to_char(si1.birthday,"2021-MM-dd"),to_char(SYSDATE,"2021-MM-dd"))>0;
+
+	UPDATE shanglifeecif.Individual si1 SET si1.label78 = '父母生日临近' WHERE si1.scustid IN (
+	SELECT si.scustid FROM shanglifeecif.indrelationship sis LEFT JOIN shanglifeecif.individual si ON sis.indid1 = si.scustid
+		WHERE sis.rstype = '父母' AND DATEDIFF(to_char(si.birthday,"2021-MM-dd"),to_char(SYSDATE,"2021-MM-dd"))<=5 AND 
+		DATEDIFF(to_char(si.birthday,"2021-MM-dd"),to_char(SYSDATE,"2021-MM-dd"))>0
+);
+
+	UPDATE shanglifeecif.Individual si1 SET si1.label79 = '子女生日临近' WHERE si1.scustid IN (
+		SELECT si.scustid FROM shanglifeecif.indrelationship sis LEFT JOIN shanglifeecif.individual si ON sis.indid1 = si.scustid
+			WHERE sis.rstype = '子女' AND DATEDIFF(to_char(si.birthday,"2021-MM-dd"),to_char(SYSDATE,"2021-MM-dd"))<=5 AND 
+			DATEDIFF(to_char(si.birthday,"2021-MM-dd"),to_char(SYSDATE,"2021-MM-dd"))>0
+	);
+	--69	近期咨询过产品	label80	7天内呼入咨询过,呼叫中心服务记录、咨询转办单提取关键字段(包含产品咨询)或服务记录中包含保单基本信息、投保咨询	近期咨询产品	
+
+	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 )
+	);
+
+	--70	近期咨询过理赔	label81	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)
+	);
+			
+	--93	失效客户	Label91	失效客户	所有保单都是失效状态	客户名下所有保单均失效的客户
+	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);
+	
+	
+	--98	大龄	Label96	大龄 来电客户年龄50岁以上
+	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;
+	--99	高龄	Label97	高龄		来电客户年龄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;
+	--100	敏感职业	Label100	敏感职业		投保人职业为记者、律师、公务员、媒体、金融行业
+	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;
+    --102	公司销售人员	Label100	公司销售人员	姓名与保单经办人一致	客户为公司销售人员
+	--103	长通话	Label101	长通话	"contnos为客户的保单号 select (select lo.call_length from ucc_rms_recorderlog lo where lo.call_id=m.call_id) as lenth from cc_record_main m
+	--where m.contnos='2019082000110188'"	平均通话时长超过10分钟
+	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
+);
+
+	--105	要求较多	Label103	要求较多	"policyno为客户的保单号 flowid like'ZX%'转办标志 Z select (select r.idname from cc_swf_sort r where r.id=f.complaintProject) as --swfName --from cc_swfflowmain f where f.policyno='2020021500000456' and flowid like'ZX%'"	每次来电均下转办单的
+	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 max(t.mnum) AS mnum,f.policyno,count(*) AS fnum,(count(*)/max(t.mnum)) FROM (
+					SELECT count(*) AS mnum,m.contnos FROM dsj.cc_record_main m WHERE m.contnos IS NOT null
+					GROUP BY m.contnos
+					) t LEFT JOIN dsj.cc_swfflowmain f ON t.contnos = f.policyno
+					WHERE f.flowid LIKE 'ZX%' AND f.policyno IS NOT NULL
+					GROUP BY f.policyno
+			) temp WHERE (temp.fnum/temp.mnum)>0.7
+		)
+	);
+	--106	易投诉升级	Label104	易投诉升级	"flowid like'ZX%'转办标志 Z select (select r.idname from cc_swf_sort r where r.id=f.complaintProject and r.idname='投诉') as swfName --from cc_swfflowmain f where f.policyno='2020021500000456' and flowid like'ZX%'"	咨询转办单项目为投诉
+ UPDATE shanglifeecif.Individual si1 SET si1.Label104 = (SELECT "易投诉升级" FROM (
+
+	SELECT p.customerno,row_number()OVER(PARTITION BY p.customerno) rn
+	FROM (
+	SELECT max(t.mnum) AS mnum,f.policyno,count(*) AS fnum FROM (
+	SELECT count(*) AS mnum,m.contnos FROM dsj.cc_record_main m WHERE m.contnos IS NOT null
+	GROUP BY m.contnos
+	) t LEFT JOIN dsj.cc_swfflowmain f ON t.contnos = f.policyno
+	LEFT JOIN dsj.cc_swf_sort r ON r.id=f.complaintProject
+	WHERE f.flowid LIKE 'ZX%' AND r.idname='投诉' and f.policyno IS NOT NULL
+	GROUP BY f.policyno
+	) temp LEFT JOIN dsj.policy_information p ON temp.policyno = p.contno
+	WHERE temp.fnum = temp.mnum
+) tt WHERE tt.rn = 1 AND tt.customerno IS NOT NULL AND si1.scustid = tt.customerno);
+	--107	高频投诉	Label105	高频投诉	"select count(1) from cc_action_data_complaints c where c.productno='2018110400035608'"	--半年之内来过两次以上投诉的,投诉受理日期间隔<180天,且投诉次数>2
+	UPDATE shanglifeecif.Individual si1 SET si1.Label105 = '高频投诉' WHERE si1.scustid in
+
+	(SELECT p.customerno FROM dsj.policy_information p WHERE p.contno IN 
+
+	(SELECT temp.productno FROM (
+		
+		SELECT t.productno,t.sinserttime,
+		(SELECT tt.inserttime FROM (SELECT cad.inserttime,row_number()OVER(PARTITION BY cad.productno ORDER BY cad.inserttime) rownum,cad.productno FROM dsj.cc_action_complaints ca,dsj.cc_action_data_complaints cad 
+			WHERE  cad.complaintsid=ca.complaintsid AND cad.productno IS NOT NULL) tt WHERE tt.productno = t.productno AND tt.rownum = t.rn+1) AS esinserttime
+			 FROM 
+			(
+				select cd.productno,row_number()OVER(PARTITION BY cd.productno ORDER BY cd.inserttime) rn,cd.inserttime AS sinserttime
+				from dsj.cc_action_complaints c,dsj.cc_action_data_complaints cd WHERE  cd.complaintsid=c.complaintsid AND cd.productno IS NOT NULL
+			) t
+	) temp WHERE temp.esinserttime IS NOT NULL AND DATEDIFF(temp.esinserttime,temp.sinserttime) < 180));
+    
+    
+    --SELECT c.productno,c.inserttime FROM cc_action_data_complaints c  WHERE c.productno IS NOT NULL GROUP BY c.productno
+	--108	重大投诉影响	Label106	重大投诉影响	投诉来源	投诉来源是保监局、保监会、媒体转办的
+	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,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
+
+);
+	
+	--109	高金额	Label107	高金额		关于高金额的指标,鉴于大数据无法计算件均保费,调整逻辑如下:
+		--根据业绩归属渠道、缴费方式、以及期缴保费划分如下
+		--02个险渠道            期缴 大于20000以上 
+		--03银保渠道            期缴 大于50000以上
+		--06健康险               期缴 大于 20000以上 
+	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)));
+	--111	理赔报案追踪	Label109	理赔报案追踪		理赔状态为报案状态,且理赔报案日-当前日期<30天
+	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) );
+	--112	理赔处理中	Label110	理赔处理中		理赔状态为受理或立案
+	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 = '立案')
+	);
+	--115	生存金未领	Label113	生存金未领	判断逻辑不详	生存金领取方式为自动转账、存在生存金且未领取
+	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 Lcinsureacc WHERE acctype = '005' and   insuaccbala>0
+	) 
+);
+	--117	红利垫缴还款	Label115	红利垫缴还款	判断逻辑不详	存在红利,且红利已经垫交保单还款
+		UPDATE shanglifeecif.Individual si1 SET si1.label117 = '红利垫缴还款' 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='HLDKDK'
+		) 
+	);
+	--122	重点银行	Label120	重点银行	判断逻辑不详	保单的销售渠道网点为招商银行
+	UPDATE shanglifeecif.Individual si1 SET si1.Label120 = '重点银行' WHERE 
+	si1.scustid IN (SELECT p.customerno  FROM dsj.policy_information p WHERE p.AGENTCOM LIKE '%招商银行%');
+	EXCEPTION
+			WHEN HIVE_EXCEPTION THEN 
+				 INSERT INTO shanglifeecif.exception_log(log_code,log_msg,log_time) VALUES (sqlcode(),sqlerrm(),sysdate());
+			WHEN Others THEN
+				INSERT INTO shanglifeecif.exception_log(log_code,log_msg,log_time) VALUES (sqlcode(),sqlerrm(),sysdate());	
+END

+ 1 - 1
sql-achievement/存储过程/人寿测试环境使用sql整理/年龄段性别分布统计.sql

@@ -12,7 +12,7 @@ replication 1;
 CREATE OR REPLACE PROCEDURE shanglifeecif.age_sex_distribution() IS
 CREATE OR REPLACE PROCEDURE shanglifeecif.age_sex_distribution() IS
 DECLARE
 DECLARE
 BEGIN
 BEGIN
-
+	UPDATE shanglifeecif.Individual si1 SET si1.label4 = (SELECT CASE WHEN temp.age>=0 AND temp.age<13 THEN '儿童' WHEN temp.age>=13 AND temp.age <19 THEN '少年' WHEN temp.age >=19 AND temp.age <41 THEN '青年' WHEN temp.age >=41 AND temp.age <66 THEN '中年' ELSE '老年' END FROM (SELECT TRUNC(months_between(sysdate, si2.birthday)/12) age,si2.indid FROM shanglifeecif.Individual si2) temp WHERE temp.indid = si1.indid);
 	DELETE FROM shanglifeecif.age_sex_distribution;
 	DELETE FROM shanglifeecif.age_sex_distribution;
 	insert into shanglifeecif.age_sex_distribution (
 	insert into shanglifeecif.age_sex_distribution (
 		id,
 		id,

+ 588 - 0
sql-achievement/存储过程/人寿测试环境使用sql整理/最新目的表表结构.sql

@@ -0,0 +1,588 @@
+DROP TABLE IF EXISTS shanglifeecif.individual;
+CREATE  TABLE shanglifeecif.individual(
+  indid string DEFAULT NULL COMMENT '个体ID', 
+  custid string DEFAULT NULL COMMENT '客户号 本系统统一生成的全司范围的唯一标识', 
+  scustid string DEFAULT NULL COMMENT '上游客户号 上游系统的客户ID', 
+  name string DEFAULT NULL COMMENT '名称 T_CUSTOMER_CLASS.CUSTOMER_NAME', 
+  birthday string DEFAULT NULL COMMENT '出生日期 T_CUSTOMER_CLASS.BIRTHDATE', 
+  nobirth string DEFAULT NULL COMMENT '出生国家', 
+  sobirth string DEFAULT NULL COMMENT '出生省份', 
+  cobirth string DEFAULT NULL COMMENT '出生城市', 
+  dday string DEFAULT NULL COMMENT '死亡日期', 
+  gender string DEFAULT NULL COMMENT '性别',
+  ethnic string DEFAULT NULL COMMENT '民族', 
+  nation string DEFAULT NULL COMMENT '国籍', 
+  homeadress string DEFAULT NULL COMMENT '籍贯 UNDERWRITE_REPORT_LIST.POLICY_HOLDER_ADDRESS', 
+  regresidence string DEFAULT NULL COMMENT '户口所在地', 
+  maritalstat string DEFAULT NULL COMMENT '婚姻状况 一对多', 
+  maritalstatdate string DEFAULT NULL COMMENT '婚姻状况日期 一对多', 
+  offspring string DEFAULT NULL COMMENT '生育状况', 
+  support string DEFAULT NULL COMMENT '赡养状况', 
+  empstat string DEFAULT NULL COMMENT '就业状况 一对多', 
+  empstatdate string DEFAULT NULL COMMENT '就业状况日期 一对多', 
+  raid string DEFAULT NULL COMMENT '联系地址', 
+  ral string DEFAULT NULL COMMENT '联系地址不分段', 
+  al string DEFAULT NULL COMMENT '曾用地址不分段', 
+  coadress int DEFAULT NULL COMMENT '地址登录数量', 
+  pmphone string DEFAULT NULL COMMENT '常用手机 正在使用的手机', 
+  mhone1 string DEFAULT NULL COMMENT '曾用手机1', 
+  mhone2 string DEFAULT NULL COMMENT '曾用手机2', 
+  sophone int DEFAULT NULL COMMENT '手机登录数量', 
+  height double DEFAULT NULL COMMENT '身高', 
+  weight double DEFAULT NULL COMMENT '体重', 
+  cillness string DEFAULT NULL COMMENT '当前疾病', 
+  pillness string DEFAULT NULL COMMENT '曾患疾病', 
+  cdiseases string DEFAULT NULL COMMENT '先天性疾病', 
+  bmi double DEFAULT NULL COMMENT 'BMI体制指数', 
+  fmhistory string DEFAULT NULL COMMENT '家族病史', 
+  evadate string DEFAULT NULL COMMENT '健康评估日期', 
+  cohevaluation int DEFAULT NULL COMMENT '健康评估登录数量', 
+  hphone string DEFAULT NULL COMMENT '家庭电话', 
+  occupationid string DEFAULT NULL COMMENT '职业代码 UNDERWRITE_REPORT_LIST.POLICY_HOLDER_CODE', 
+  occupation string DEFAULT NULL COMMENT '职业名称 UNDERWRITE_REPORT_LIST.POLICY_HOLDER_NAME', 
+  odate string DEFAULT NULL COMMENT '职业时间 一对多', 
+  employer string DEFAULT NULL COMMENT '工作单位', 
+  wphone string DEFAULT NULL COMMENT '工作电话', 
+  empdate string DEFAULT NULL COMMENT '工作单位时间', 
+  lemployer string DEFAULT NULL COMMENT '曾经工作单位', 
+  idcard string DEFAULT NULL COMMENT '身份证 T_CUSTOMER_CLASS.ID_NO', 
+  passport string DEFAULT NULL COMMENT '护照', 
+  dlicense string DEFAULT NULL COMMENT '驾驶证', 
+  education string DEFAULT NULL COMMENT '最高学历', 
+  university string DEFAULT NULL COMMENT '毕业学校', 
+  edate string DEFAULT NULL COMMENT '学历时间', 
+  wechat string DEFAULT NULL COMMENT '微信', 
+  weibo string DEFAULT NULL COMMENT '微博', 
+  email string DEFAULT NULL COMMENT '邮箱', 
+  qq string DEFAULT NULL COMMENT 'QQ', 
+  tiktok string DEFAULT NULL COMMENT '抖音', 
+  saccount1 string DEFAULT NULL COMMENT '社交账号1', 
+  sa1cat string DEFAULT NULL COMMENT '社交账号1类别', 
+  saccount2 string DEFAULT NULL COMMENT '社交账号2', 
+  sa2cat string DEFAULT NULL COMMENT '社交账号2类别', 
+  ctype string DEFAULT NULL COMMENT '首选联系方式 手机,微信,微博,邮箱,QQ,抖音,其他', 
+  father string DEFAULT NULL COMMENT '父亲 HEALTH_INSURANCE_LISTING.INSUREDNAME
+HEALTH_INSURANCE_LISTING.RELATION:投保人与被保人关系', 
+  mother string DEFAULT NULL COMMENT '母亲', 
+  mate string DEFAULT NULL COMMENT '配偶', 
+  child1 string DEFAULT NULL COMMENT '子女1', 
+  child2 string DEFAULT NULL COMMENT '子女2', 
+  cochild int DEFAULT NULL COMMENT '子女登录数量', 
+  rpid string DEFAULT NULL COMMENT '房产', 
+  rpdescribe string DEFAULT NULL COMMENT '房产描述', 
+  corp int DEFAULT NULL COMMENT '房产登录数量', 
+  vid string DEFAULT NULL COMMENT '车辆', 
+  vdescribe string DEFAULT NULL COMMENT '车辆描述', 
+  covehicle int DEFAULT NULL COMMENT '车辆登录数量', 
+  anniversary1 string DEFAULT NULL COMMENT '纪念日1', 
+  a1describe string DEFAULT NULL COMMENT '纪念日1类型', 
+  anniversary2 string DEFAULT NULL COMMENT '纪念日2', 
+  a2describe string DEFAULT NULL COMMENT '纪念日2类型', 
+  soanniversary int DEFAULT NULL COMMENT '纪念日登录数量', 
+  custtype string DEFAULT NULL COMMENT '客户类型', 
+  bankname string DEFAULT NULL COMMENT '开户银行', 
+  tobankcard string DEFAULT NULL COMMENT '银行卡类型 如:master、visa、银联等。', 
+  accname string DEFAULT NULL COMMENT '账户名', 
+  bankaccno string DEFAULT NULL COMMENT '银行帐号', 
+  cobaccount int DEFAULT NULL COMMENT '账户登录数量', 
+  sotlirisk double DEFAULT NULL COMMENT '传统寿险种保额合计', 
+  soairisk double DEFAULT NULL COMMENT '意外类险种保额合计', 
+  sosiirisk double DEFAULT NULL COMMENT '重疾类险种保额合计', 
+  somcirisk double DEFAULT NULL COMMENT '医疗费用类险种保额合计', 
+  someirisk double DEFAULT NULL COMMENT '医疗补贴类险种保额合计', 
+  soefirisk double DEFAULT NULL COMMENT '教育金类险种保额合计', 
+  sopirisk double DEFAULT NULL COMMENT '养老金类险种保额合计', 
+  sowmirisk double DEFAULT NULL COMMENT '财富管理险种保额合计', 
+  custclass int DEFAULT NULL COMMENT '客户等级',
+  convalue int DEFAULT NULL COMMENT '贡献度分', 
+  awarded3 int DEFAULT NULL COMMENT '家庭加分', 
+  awarded2 int DEFAULT NULL COMMENT '续期加分', 
+  awarded1 int DEFAULT NULL COMMENT '保单加分', 
+  sovalue int DEFAULT NULL COMMENT '总分值', 
+  enddate string DEFAULT NULL COMMENT '客户等级失效日期', 
+  systemtag1 string DEFAULT NULL COMMENT '系统标签域1', 
+  systemtag2 string DEFAULT NULL COMMENT '系统标签域2', 
+  systemtag3 string DEFAULT NULL COMMENT '系统标签域3', 
+  systemtag4 string DEFAULT NULL COMMENT '系统标签域4', 
+  systemtag5 string DEFAULT NULL COMMENT '系统标签域5', 
+  cocommunication int DEFAULT NULL COMMENT '接触次数', 
+  lcdate string DEFAULT NULL COMMENT '最近接触时间', 
+  lctype string DEFAULT NULL COMMENT '最近接触类型 投诉、问询、营销', 
+  lcmethod string DEFAULT NULL COMMENT '最近接触方式 外呼、呼入', 
+  cocomplaint int DEFAULT NULL COMMENT '投诉次数 当前客户投保保单相关投诉,包括非本人投诉', 
+  lcptdate string DEFAULT NULL COMMENT '最近投诉时间 当前客户投保保单相关投诉,包括非本人投诉', 
+  lcptreason string DEFAULT NULL COMMENT '最近投诉原因 当前客户投保保单相关投诉,包括非本人投诉', 
+  lcptlink string DEFAULT NULL COMMENT '最近投诉环节 当前客户投保保单相关投诉,包括非本人投诉', 
+  lcptresult string DEFAULT NULL COMMENT '最近投诉处理结果 当前客户投保保单相关投诉,包括非本人投诉', 
+  lcptduration double DEFAULT NULL COMMENT '最近投诉处理时长 当前客户投保保单相关投诉,包括非本人投诉', 
+  lcptperson string DEFAULT NULL COMMENT '最近投诉人', 
+  soppremium double DEFAULT NULL COMMENT '累计已缴保费', 
+  lappdate string DEFAULT NULL COMMENT '最近投保日期', 
+  cndate string DEFAULT NULL COMMENT '最近报案日期', 
+  cnstatus string DEFAULT NULL COMMENT '最近报案状态', 
+  coclaim int DEFAULT NULL COMMENT '赔付次数', 
+  soclaim double DEFAULT NULL COMMENT '赔付总额', 
+  cocnotification int DEFAULT NULL COMMENT '报案登录数量', 
+  fadate string DEFAULT NULL COMMENT '首次投保日期 当前客户为投保人时', 
+  fachannel string DEFAULT NULL COMMENT '首张保单所属渠道 InsuranceArrangement.AgentChannel', 
+  faorg string DEFAULT NULL COMMENT '首张保单所属机构 InsuranceArrangement.AgentOrg', 
+  lpno string DEFAULT NULL COMMENT '最近保险单号 当前客户为投保人时', 
+  lpstate string DEFAULT NULL COMMENT '最近保单状态 当前客户为投保人时', 
+  lpname string DEFAULT NULL COMMENT '最近投保险种名称 当前客户为投保人时', 
+  lpchannel string DEFAULT NULL COMMENT '最近保单所属渠道 InsuranceArrangement.AgentChannel', 
+  lporg string DEFAULT NULL COMMENT '最近保单所属机构 InsuranceArrangement.AgentOrg', 
+  copolicy int DEFAULT NULL COMMENT '保单登录数量', 
+  lpostype string DEFAULT NULL COMMENT '最近保全类型 AUDIT_EDORLIST.EDORNAME', 
+  iaccno1 string DEFAULT NULL COMMENT '保险账户1', 
+  iaccname1 string DEFAULT NULL COMMENT '保险账户1名称', 
+  iaccno2 string DEFAULT NULL COMMENT '保险账户2', 
+  iaccname2 string DEFAULT NULL COMMENT '保险账户2名称', 
+  iaccno3 string DEFAULT NULL COMMENT '保险账户3', 
+  iaccname3 string DEFAULT NULL COMMENT '保险账户3名称', 
+  soiaccount1 double DEFAULT NULL COMMENT '保险账户1余额', 
+  soiaccount2 double DEFAULT NULL COMMENT '保险账户2余额', 
+  soiaccount3 double DEFAULT NULL COMMENT '保险账户3余额', 
+  coiaccount int DEFAULT NULL COMMENT '保险账户登录数量', 
+  homeid string DEFAULT NULL COMMENT '家庭号 大数据平台HOME_NETWORK', 
+  branchcode string DEFAULT NULL COMMENT '机构代码 数据归属机构,用于权限控制', 
+  custstate string DEFAULT NULL COMMENT '客户状态 party可能会合并导致当前记录不再可用', 
+  datasource string DEFAULT NULL COMMENT '数据来源', 
+  smoking string DEFAULT NULL COMMENT '吸烟情况 从不、戒烟、吸烟', 
+  drinking string DEFAULT NULL COMMENT '饮酒情况 从不、戒酒、饮酒', 
+  pregnancy string DEFAULT NULL COMMENT '怀孕情况', 
+  hobby1 string DEFAULT NULL COMMENT '兴趣爱好1', 
+  hobby2 string DEFAULT NULL COMMENT '兴趣爱好2', 
+  hobby3 string DEFAULT NULL COMMENT '兴趣爱好3', 
+  pincome double DEFAULT NULL COMMENT '个人年收入', 
+  fincome double DEFAULT NULL COMMENT '家庭年收入', 
+  regtype string DEFAULT NULL COMMENT '户籍类型', 
+  incomesource string DEFAULT NULL COMMENT '收入来源', 
+  sistatus string DEFAULT NULL COMMENT '社保情况', 
+  novpolicy int DEFAULT NULL COMMENT '有效保单件数', 
+  noivpolicy int DEFAULT NULL COMMENT '失效保单件数', 
+  nostinsurance string DEFAULT NULL COMMENT '短意险保单持有情况 仅持有短意险保单,持有短意险保单,无短意险保单', 
+  nospinsurance string DEFAULT NULL COMMENT '趸交保单持有情况 仅持有趸交保单,持有趸交保单,无趸交保单', 
+  iself string DEFAULT NULL COMMENT '本人投保情况 仅本人投保,本人已投保,本人未投保', 
+  iparent string DEFAULT NULL COMMENT '父母投保情况 仅父母投保,父母已投保,父母未投保', 
+  ichildren string DEFAULT NULL COMMENT '子女投保情况 仅子女投保,子女已投保,子女未·投保', 
+  imate string DEFAULT NULL COMMENT '配偶投保情况 仅配偶投保,配偶已投保,配偶未投保', 
+  policybelong string DEFAULT NULL COMMENT '业绩归属',
+  zipcode string DEFAULT NULL, 
+  othernumber string DEFAULT NULL, 
+  otheridnumber string DEFAULT NULL, 
+  officialcalculus string DEFAULT NULL,
+  created_by string DEFAULT NULL COMMENT '创建人', 
+  created_time date DEFAULT NULL COMMENT '创建时间', 
+  updated_by string DEFAULT NULL COMMENT '更新人', 
+  updated_time date DEFAULT NULL COMMENT '更新时间', 
+  label1 string DEFAULT NULL COMMENT 'Label1', 
+  label2 string DEFAULT NULL COMMENT 'Label2', 
+  label3 string DEFAULT NULL COMMENT 'Label3', 
+  label4 string DEFAULT NULL COMMENT 'Label4', 
+  label5 string DEFAULT NULL COMMENT 'Label5', 
+  label6 string DEFAULT NULL COMMENT 'Label6', 
+  label7 string DEFAULT NULL COMMENT 'Label7', 
+  label8 string DEFAULT NULL COMMENT 'Label8', 
+  label9 string DEFAULT NULL COMMENT 'Label9', 
+  label10 string DEFAULT NULL COMMENT 'Label10', 
+  label11 string DEFAULT NULL COMMENT 'Label11', 
+  label12 string DEFAULT NULL COMMENT 'Label12', 
+  label13 string DEFAULT NULL COMMENT 'Label13', 
+  label14 string DEFAULT NULL COMMENT 'Label14', 
+  label15 string DEFAULT NULL COMMENT 'Label15', 
+  label16 string DEFAULT NULL COMMENT 'Label16', 
+  label17 string DEFAULT NULL COMMENT 'Label17', 
+  label18 string DEFAULT NULL COMMENT 'Label18', 
+  label19 string DEFAULT NULL COMMENT 'Label19', 
+  label20 string DEFAULT NULL COMMENT 'Label20', 
+  label21 string DEFAULT NULL COMMENT 'Label21', 
+  label22 string DEFAULT NULL COMMENT 'Label22', 
+  label23 string DEFAULT NULL COMMENT 'Label23', 
+  label24 string DEFAULT NULL COMMENT 'Label24', 
+  label25 string DEFAULT NULL COMMENT 'Label25', 
+  label26 string DEFAULT NULL COMMENT 'Label26', 
+  label27 string DEFAULT NULL COMMENT 'Label27', 
+  label28 string DEFAULT NULL COMMENT 'Label28', 
+  label29 string DEFAULT NULL COMMENT 'Label29', 
+  label30 string DEFAULT NULL COMMENT 'Label30', 
+  label31 string DEFAULT NULL COMMENT 'Label31', 
+  label32 string DEFAULT NULL COMMENT 'Label32', 
+  label33 string DEFAULT NULL COMMENT 'Label33', 
+  label34 string DEFAULT NULL COMMENT 'Label34', 
+  label35 string DEFAULT NULL COMMENT 'Label35', 
+  label36 string DEFAULT NULL COMMENT 'Label36', 
+  label37 string DEFAULT NULL COMMENT 'Label37', 
+  label38 string DEFAULT NULL COMMENT 'Label38', 
+  label39 string DEFAULT NULL COMMENT 'Label39', 
+  label40 string DEFAULT NULL COMMENT 'Label40', 
+  label41 string DEFAULT NULL COMMENT 'Label41', 
+  label42 string DEFAULT NULL COMMENT 'Label42', 
+  label43 string DEFAULT NULL COMMENT 'Label43', 
+  label44 string DEFAULT NULL COMMENT 'Label44', 
+  label45 string DEFAULT NULL COMMENT 'Label45', 
+  label46 string DEFAULT NULL COMMENT 'Label46', 
+  label47 string DEFAULT NULL COMMENT 'Label47', 
+  label48 string DEFAULT NULL COMMENT 'Label48', 
+  label49 string DEFAULT NULL COMMENT 'Label49', 
+  label50 string DEFAULT NULL COMMENT 'Label50', 
+  label51 string DEFAULT NULL COMMENT 'Label51', 
+  label52 string DEFAULT NULL COMMENT 'Label52', 
+  label53 string DEFAULT NULL COMMENT 'Label53', 
+  label54 string DEFAULT NULL COMMENT 'Label54', 
+  label55 string DEFAULT NULL COMMENT 'Label55', 
+  label56 string DEFAULT NULL COMMENT 'Label56', 
+  label57 string DEFAULT NULL COMMENT 'Label57', 
+  label58 string DEFAULT NULL COMMENT 'Label58', 
+  label59 string DEFAULT NULL COMMENT 'Label59', 
+  label60 string DEFAULT NULL COMMENT 'Label60', 
+  label61 string DEFAULT NULL COMMENT 'Label61', 
+  label62 string DEFAULT NULL COMMENT 'Label62', 
+  label63 string DEFAULT NULL COMMENT 'Label63', 
+  label64 string DEFAULT NULL COMMENT 'Label64', 
+  label65 string DEFAULT NULL COMMENT 'Label65', 
+  label66 string DEFAULT NULL COMMENT 'Label66', 
+  label67 string DEFAULT NULL COMMENT 'Label67', 
+  label68 string DEFAULT NULL COMMENT 'Label68', 
+  label69 string DEFAULT NULL COMMENT 'Label69', 
+  label70 string DEFAULT NULL COMMENT 'Label70', 
+  label71 string DEFAULT NULL COMMENT 'Label71', 
+  label72 string DEFAULT NULL COMMENT 'Label72', 
+  label73 string DEFAULT NULL COMMENT 'Label73', 
+  label74 string DEFAULT NULL COMMENT 'Label74', 
+  label75 string DEFAULT NULL COMMENT 'Label75', 
+  label76 string DEFAULT NULL COMMENT 'Label76', 
+  label77 string DEFAULT NULL COMMENT 'Label77', 
+  label78 string DEFAULT NULL COMMENT 'Label78', 
+  label79 string DEFAULT NULL COMMENT 'Label79', 
+  label80 string DEFAULT NULL COMMENT 'Label80', 
+  label81 string DEFAULT NULL COMMENT 'Label81', 
+  label82 string DEFAULT NULL COMMENT 'Label82', 
+  label83 string DEFAULT NULL COMMENT 'Label83', 
+  label84 string DEFAULT NULL COMMENT 'Label84', 
+  label85 string DEFAULT NULL COMMENT 'Label85', 
+  label86 string DEFAULT NULL COMMENT 'Label86', 
+  label87 string DEFAULT NULL COMMENT 'Label87', 
+  label88 string DEFAULT NULL COMMENT 'Label88', 
+  label89 string DEFAULT NULL COMMENT 'Label89', 
+  label90 string DEFAULT NULL COMMENT 'Label90', 
+  label91 string DEFAULT NULL COMMENT 'Label91', 
+  label92 string DEFAULT NULL COMMENT 'Label92', 
+  label93 string DEFAULT NULL COMMENT 'Label93', 
+  label94 string DEFAULT NULL COMMENT 'Label94', 
+  label95 string DEFAULT NULL COMMENT 'Label95', 
+  label96 string DEFAULT NULL COMMENT 'Label96', 
+  label97 string DEFAULT NULL COMMENT 'Label97', 
+  label98 string DEFAULT NULL COMMENT 'Label98', 
+  label99 string DEFAULT NULL COMMENT 'Label99', 
+  label100 string DEFAULT NULL COMMENT 'Label100', 
+  label101 string DEFAULT NULL COMMENT 'Label101', 
+  label102 string DEFAULT NULL COMMENT 'Label102', 
+  label103 string DEFAULT NULL COMMENT 'Label103', 
+  label104 string DEFAULT NULL COMMENT 'Label104', 
+  label105 string DEFAULT NULL COMMENT 'Label105', 
+  label106 string DEFAULT NULL COMMENT 'Label106', 
+  label107 string DEFAULT NULL COMMENT 'Label107', 
+  label108 string DEFAULT NULL COMMENT 'Label108', 
+  label109 string DEFAULT NULL COMMENT 'Label109', 
+  label110 string DEFAULT NULL COMMENT 'Label110', 
+  label111 string DEFAULT NULL COMMENT 'Label111', 
+  label112 string DEFAULT NULL COMMENT 'Label112', 
+  label113 string DEFAULT NULL COMMENT 'Label113', 
+  label114 string DEFAULT NULL COMMENT 'Label114', 
+  label115 string DEFAULT NULL COMMENT 'Label115', 
+  label116 string DEFAULT NULL COMMENT 'Label116', 
+  label117 string DEFAULT NULL COMMENT 'Label117', 
+  label118 string DEFAULT NULL COMMENT 'Label118', 
+  label119 string DEFAULT NULL COMMENT 'Label119', 
+  label120 string DEFAULT NULL COMMENT 'Label120'
+)
+COMMENT '客户信息 '
+stored as ES
+with shard number 10
+replication 1;
+
+DROP TABLE IF EXISTS shanglifeecif.insurancearrangement;
+CREATE  TABLE shanglifeecif.insurancearrangement(
+  iaid string NOT NULL COMMENT '保单ID', 
+  policyno string DEFAULT NULL COMMENT '保险单号 INSURANCEINFO.CONTNO', 
+  pano string DEFAULT NULL COMMENT '投保单号 INSURANCEINFO.PRTNO', 
+  agrmntage string DEFAULT NULL COMMENT '保险期限', 
+  pbinst string DEFAULT NULL COMMENT '受益分配方式', 
+  pwcomp string DEFAULT NULL COMMENT '承保分公司 HEALTH_INSURANCE_LISTING.AGENTGROUPAREA 营业区HEALTH_INSURANCE_LISTING.AGENTGROUP 营业部', 
+  pindate string DEFAULT NULL COMMENT '起保日期 POLICY_INFORMATION.CVALIDATE', 
+  pmdate string DEFAULT NULL COMMENT '终保日期 POLICY_INFORMATION.ENDDATE', 
+  pisdate string DEFAULT NULL COMMENT '签单日期 INSURANCEINFO.SIGNDATE', 
+  padate string DEFAULT NULL COMMENT '投保日期 INSURANCEINFO.POLAPPLYDATE', 
+  renewaldate string DEFAULT NULL COMMENT '续保日期', 
+  norenewal int DEFAULT NULL COMMENT '续保次数 POLICY_INFORMATION.PAYCOUNT', 
+  policytype string DEFAULT NULL COMMENT '保单类型 PERSONAL_INSURANCE.CONTTYPE,需上游给出类型枚举值', 
+  schannel string DEFAULT NULL COMMENT '销售渠道 HEALTH_INSURANCE_LISTING.SALECHANNELS 1 2 3 4 5', 
+  bsource string DEFAULT NULL COMMENT '业务来源', 
+  policystate string DEFAULT NULL COMMENT '保单状态 保单包括投保单的所处的状态,例如:录入、生效、批单等 INSURANCEINFO.APPFLAG code 0 1 2 4 9 B F', 
+  topay string DEFAULT NULL COMMENT '缴费类型', 
+  payment string DEFAULT NULL COMMENT '缴费方式 POLICY_INFORMATION.PAYINTV', 
+  risk double DEFAULT NULL COMMENT '总保额 HEALTH_INSURANCE_LISTING.AMNT(测试环境中,此表保单数据量较其他表如:POLICY_INFORMATION,INSURANCEINFO 缺少至少一个数据量级)', 
+  prem double DEFAULT NULL COMMENT '总保费 INSURANCEINFO.PREM', 
+  currency string DEFAULT NULL COMMENT '币种', 
+  npdate string DEFAULT NULL COMMENT '下次缴费日期', 
+  soinsured int DEFAULT NULL COMMENT '被保人数 HEALTH_GROUP_LISTING.PEOPLES3,团单', 
+  bsinsured double DEFAULT NULL COMMENT '基本保额 保险合同条款费率表中载明的单位保额。比如中国人寿的康宁终身保险就是这样,如果购买的基本保险金额是10万的话,那么大病的保险金额就是基本保险金额的2倍即20万;', 
+  insurvalue double DEFAULT NULL COMMENT '保单价值 保单价值,即保单现金价值。是指带有储蓄性质的人身bai保险单所具有的价值。保险人为履行合同责任通常提存责任准备金,如果您中途退保,即以该保单的责任准备金作为给付解约的退还金。被保险人要求解约或退保时,寿险公司应该发还的金额。
+在长期寿险契约中,保险人为履行契约责任,通常需要提存一定数额的责任准备金。当被保险人于保险有效期内因故要求解约或退保时,保险人按规定,将提存的责任准备金减去解约扣除后的余额退还给被保险人,这部分余额即解约金,亦即退保时保单所具有的现金价值。', 
+  applicantid string DEFAULT NULL COMMENT '投保人 根据POLICY_INFORMATION.CUSTOMERNO关联individual上游客户号,再找到individualid', 
+  applicantscustid string DEFAULT NULL COMMENT '投保人上游客户号', 
+  appname string DEFAULT NULL COMMENT '投保人名称 POLICY_INFORMATION.NAME', 
+  appphone string DEFAULT NULL COMMENT '投保人手机', 
+  appcertid string DEFAULT NULL COMMENT '投保人证件号码 POLICY_INFORMATION.IDNO', 
+  insuredid string DEFAULT NULL COMMENT '主被保险人 客户号', 
+  insuredscustid string DEFAULT NULL COMMENT '主被保险人 上游客户号POLICY_INFORMATION.insuredno', 
+  insname string DEFAULT NULL COMMENT '主被保险人名称 POLICY_INFORMATION.INSUREDNAME', 
+  insphone string DEFAULT NULL COMMENT '主被保险人手机', 
+  inscertid string DEFAULT NULL COMMENT '主被保险人证件号码 POLICY_INFORMATION.INSUREDIDNO', 
+  productid string DEFAULT NULL COMMENT '险种代码 POLICY_INFORMATION.RISKCODE', 
+  productname string DEFAULT NULL COMMENT '险种名称 INSURANCEINFO.RISKNAME', 
+  salesperson string DEFAULT NULL COMMENT '业务员', 
+  spname string DEFAULT NULL COMMENT '业务员名称 HEALTH_INSURANCE_LISTING.AGENTCODE', 
+  iaccount string DEFAULT NULL COMMENT '所属保险账户', 
+  branchcode string DEFAULT NULL COMMENT '机构代码', 
+  policybelong string DEFAULT NULL COMMENT '业绩归属 POLICY_INFORMATION.SALECOM', 
+  agentchannel string DEFAULT NULL COMMENT '代理渠道 INSURANCEINFO.SELLTYPE', 
+  agentorg string DEFAULT NULL COMMENT '代理机构', 
+  regtype string DEFAULT NULL COMMENT '户籍类型', 
+  pincome string DEFAULT NULL COMMENT '个人年收入', 
+  fincome double DEFAULT NULL COMMENT '家庭年收入', 
+  incomesource string DEFAULT NULL COMMENT '收入来源', 
+  socialinsurance string DEFAULT NULL COMMENT '是否有社保', 
+  oipolicy string DEFAULT NULL COMMENT '是否投保其他保险公司', 
+  oicompany string DEFAULT NULL COMMENT '其他保险公司', 
+  oicproduct string DEFAULT NULL COMMENT '其他保险公司险种', 
+  oiamount double DEFAULT NULL COMMENT '其他保险公司保额', 
+  drinking string DEFAULT NULL COMMENT '是否饮酒', 
+  dfavor string DEFAULT NULL COMMENT '饮酒喜好', 
+  poservice string DEFAULT NULL COMMENT '是否保全 投保人持有保单是否在AUDIT_EDORLIST.CONTNO存在', 
+  payendyear int DEFAULT NULL COMMENT '缴费年期 POLICY_INFORMATION.PAYENDYEAR', 
+  loanmoney double DEFAULT NULL COMMENT '保单质押贷款金额 AUDIT_LN_LIST.LNMONEY ', 
+  paydate string DEFAULT NULL COMMENT '缴至日期', 
+  risk_categories string DEFAULT NULL COMMENT '险种大类代码', 
+  risk_categories_name string DEFAULT NULL COMMENT '险种大类名称', 
+  created_by string DEFAULT NULL COMMENT '创建人', 
+  created_time date DEFAULT NULL COMMENT '创建时间', 
+  updated_by string DEFAULT NULL COMMENT '更新人', 
+  updated_time date DEFAULT NULL COMMENT '更新时间', 
+  sumprem double DEFAULT NULL, 
+  salecomname string DEFAULT NULL, 
+  schannelname string DEFAULT NULL, 
+  security string DEFAULT NULL
+)
+COMMENT '保单 确定参与方之间,参与方和保险公司之间的协议,使相关各方能在遵守一定的规则并履行相关义务的前提下进行产品或资源或服务的供给'
+stored as ES
+with shard number 10
+replication 1;
+
+DROP TABLE IF EXISTS shanglifeecif.insuranceclaimthread;
+CREATE TABLE shanglifeecif.insuranceclaimthread(
+  icthreadid string NOT NULL COMMENT '保险理赔Id', 
+  crno string DEFAULT NULL COMMENT '立案号', 
+  companyno string DEFAULT NULL COMMENT '公司代码', 
+  policyno string NOT NULL COMMENT '保险单号 INSURANCE_CLAIM.CONTNO', 
+  applicantid string DEFAULT NULL COMMENT '投保人ID', 
+  appname string DEFAULT NULL COMMENT '投保人名称', 
+  appphone string DEFAULT NULL COMMENT '投保人手机', 
+  appcertid string DEFAULT NULL COMMENT '投保人证件号码 INSURANCE_CLAIM.RISKDATE', 
+  cnno string DEFAULT NULL COMMENT '报案号', 
+  losstime string DEFAULT NULL COMMENT '损失发生时间', 
+  rpid string DEFAULT NULL COMMENT '报案人', 
+  rpname string DEFAULT NULL COMMENT '报案人名称', 
+  rpphone string DEFAULT NULL COMMENT '报案人电话', 
+  lpid string DEFAULT NULL COMMENT '出险人', 
+  lpscutid string DEFAULT NULL COMMENT '出险人上游客户号', 
+  lpname string DEFAULT NULL COMMENT '出险人名称', 
+  cndate string DEFAULT NULL COMMENT '报案日期 INSURANCE_CLAIM.RPTDATE', 
+  lossdescribe string DEFAULT NULL COMMENT '损失原因 案件发生的原因:INSURANCE_CLAIM.LLOCCURREASON', 
+  crdate string DEFAULT NULL COMMENT '立案日期 INSURANCE_CLAIM.RGTDATE', 
+  cndescribe string DEFAULT NULL COMMENT '报案描述 INSURANCE_CLAIM.ACCIDENTDETAIL', 
+  claimstatus string DEFAULT NULL COMMENT '理赔状态 案件的状态,例如:录入、已立案等', 
+  csdate string DEFAULT NULL COMMENT '理赔状态日期', 
+  relationship string DEFAULT NULL COMMENT '报案人与出险人关系', 
+  ccno string DEFAULT NULL COMMENT '赔案号 AUDIT_CLAIM_INSURANCE.CLMNO', 
+  ccstatus string DEFAULT NULL COMMENT '赔案状态', 
+  ccsdate string DEFAULT NULL COMMENT '赔案状态日期', 
+  productid string DEFAULT NULL COMMENT '险种代码', 
+  productname string DEFAULT NULL COMMENT '险种代码名称', 
+  ccamt double DEFAULT NULL COMMENT '赔付金额', 
+  branchcode string DEFAULT NULL COMMENT '机构代码', 
+  claimcasestatus string DEFAULT NULL COMMENT '案件状态INSURANCE_CLAIM_HEALTH.LLCLAIMSTATE', 
+  accidenttype string DEFAULT NULL COMMENT '理赔类型', 
+  created_by string DEFAULT NULL COMMENT '', 
+  created_time date DEFAULT NULL COMMENT '', 
+  updated_by string DEFAULT NULL COMMENT '', 
+  updated_time date DEFAULT NULL COMMENT ''
+)
+COMMENT '保险理赔'
+stored as ES
+with shard number 10
+replication 1;
+
+DROP TABLE IF EXISTS shanglifeecif.indrelationship;
+CREATE  TABLE shanglifeecif.indrelationship(
+  irsid string DEFAULT NULL COMMENT '',
+  rstype string DEFAULT NULL COMMENT '',
+  indid1 string DEFAULT NULL COMMENT '',
+  name1 string DEFAULT NULL COMMENT '',
+  mphone1 string DEFAULT NULL COMMENT '',
+  idcard1 string DEFAULT NULL COMMENT '',
+  role1 string DEFAULT NULL COMMENT '',
+  indid2 string DEFAULT NULL COMMENT'',
+  name2 string DEFAULT NULL COMMENT '',
+  mphone2 string DEFAULT NULL COMMENT '',
+  idcard2 string DEFAULT NULL COMMENT '',
+  role2 string DEFAULT NULL COMMENT '',
+  rsstime date DEFAULT NULL COMMENT '',
+  rsetime date DEFAULT NULL COMMENT '',
+  rsdescribe string DEFAULT NULL COMMENT '',
+  created_by string DEFAULT NULL COMMENT '',
+  created_time date DEFAULT NULL COMMENT '',
+  updated_by string DEFAULT NULL COMMENT '',
+  updated_time date DEFAULT NULL COMMENT ''
+)
+COMMENT '个体关系'
+stored as ES
+with shard number 10
+replication 1;
+
+DROP TABLE IF EXISTS shanglifeecif.partytimeline;
+CREATE  TABLE shanglifeecif.partytimeline(
+  tripid string DEFAULT NULL COMMENT '',
+  policyno string DEFAULT NULL COMMENT '',
+  partyid string DEFAULT NULL COMMENT '',
+  name string DEFAULT NULL COMMENT '',
+  pcertid string DEFAULT NULL COMMENT '',
+  pphone string DEFAULT NULL COMMENT '',
+  prole string DEFAULT NULL COMMENT '',
+  scenario string DEFAULT NULL COMMENT '',
+  sdate string DEFAULT NULL COMMENT '',
+  threadid string DEFAULT NULL COMMENT '',
+  parentid string DEFAULT NULL COMMENT '',
+  describe string DEFAULT NULL COMMENT '',
+  channel string DEFAULT NULL COMMENT '',
+  enddate string DEFAULT NULL COMMENT '',
+  created_by string DEFAULT NULL COMMENT '',
+  created_time date DEFAULT NULL COMMENT '',
+  updated_by string DEFAULT NULL COMMENT '',
+  updated_time date DEFAULT NULL COMMENT ''
+)
+COMMENT '参与方事件'
+stored as ES
+with shard number 10
+replication 1;
+
+DROP TABLE IF EXISTS shanglifeecif.age_sex_distribution;
+CREATE  TABLE shanglifeecif.age_sex_distribution(
+  id string DEFAULT NULL, 
+  labelname string DEFAULT NULL COMMENT '阶段名称', 
+  gender string DEFAULT NULL COMMENT '性别', 
+  cusnum string DEFAULT NULL COMMENT '客户数量'
+)
+COMMENT '年龄段性别分布'
+stored as ES
+with shard number 10
+replication 1;
+
+DROP TABLE IF EXISTS shanglifeecif.bdnum_distribution;
+CREATE  TABLE shanglifeecif.bdnum_distribution(
+  id string DEFAULT NULL, 
+  labelname string DEFAULT NULL COMMENT '保单件数名称', 
+  bdnum string DEFAULT NULL COMMENT '保单件数'
+)
+COMMENT '保单件数分布'
+stored as ES
+with shard number 10
+replication 1;
+
+DROP TABLE IF EXISTS shanglifeecif.customer_risk_temp;
+CREATE  TABLE shanglifeecif.customer_risk_temp(
+  id string DEFAULT NULL COMMENT '', 
+  scustid string DEFAULT NULL COMMENT '', 
+  name string DEFAULT NULL COMMENT '', 
+  gender string DEFAULT NULL COMMENT '', 
+  idcard string DEFAULT NULL COMMENT '', 
+  birthday string DEFAULT NULL COMMENT '', 
+  policyno string DEFAULT NULL COMMENT '', 
+  productname string DEFAULT NULL COMMENT '', 
+  riskcategoriesname string DEFAULT NULL COMMENT '', 
+  risk string DEFAULT NULL COMMENT ''
+)
+COMMENT '客户信息险种临时表'
+stored as ES
+with shard number 10
+replication 1;
+
+DROP TABLE IF EXISTS shanglifeecif.customertotaltemp;
+CREATE  TABLE shanglifeecif.customertotaltemp(
+  scustid string DEFAULT NULL COMMENT '',
+  name string DEFAULT NULL COMMENT '',
+  gender string DEFAULT NULL COMMENT '',
+  birthday string DEFAULT NULL COMMENT '',
+  idcard string DEFAULT NULL COMMENT '证件号码', 
+  idtype string DEFAULT NULL COMMENT '证件类型', 
+  mobile string DEFAULT NULL
+)
+COMMENT '客户信息临时总表'
+stored as ES
+with shard number 10
+replication 1;
+
+DROP TABLE IF EXISTS shanglifeecif.exception_log;
+CREATE  TABLE shanglifeecif.exception_log(
+  log_code string DEFAULT NULL COMMENT '错误代码', 
+  log_msg string DEFAULT NULL COMMENT '错误信息', 
+  log_time timestamp NOT NULL COMMENT '操作时间'
+)
+COMMENT '错误日志'
+stored as ES
+with shard number 10
+replication 1;
+
+DROP TABLE IF EXISTS shanglifeecif.riskcode_statistics;
+CREATE  TABLE shanglifeecif.riskcode_statistics(
+  id string DEFAULT NULL, 
+  kindcode string DEFAULT NULL COMMENT '险种大类代码', 
+  kindname string DEFAULT NULL COMMENT '险种大类名称', 
+  khnum string DEFAULT NULL COMMENT '客户数量', 
+  tatolprem string DEFAULT NULL COMMENT '总保额'
+)
+COMMENT '险种大类统计表'
+stored as ES
+with shard number 10
+replication 1;
+
+DROP TABLE IF EXISTS shanglifeecif.samecustomer;
+CREATE  TABLE shanglifeecif.samecustomer(
+  sid string DEFAULT NULL COMMENT '',
+  scustid string DEFAULT NULL COMMENT '',
+  custid string DEFAULT NULL COMMENT '',
+  name string DEFAULT NULL COMMENT '',
+  gender string DEFAULT NULL COMMENT '',
+  birthday string DEFAULT NULL COMMENT '',
+  idcard string DEFAULT NULL COMMENT '',
+  passport string DEFAULT NULL COMMENT '护照', 
+  dlicense string DEFAULT NULL COMMENT '驾驶证', 
+  otheridnumber string DEFAULT NULL COMMENT '其它证件号码', 
+  sametype string DEFAULT NULL COMMENT '相似类型'
+)
+COMMENT '疑似相同客户信息'
+stored as ES
+with shard number 10
+replication 1;
+
+DROP TABLE IF EXISTS shanglifeecif.effectivecustomer;
+CREATE  TABLE shanglifeecif.effectivecustomer(
+  esid string DEFAULT NULL COMMENT '唯一标识', 
+  fadatey string DEFAULT NULL COMMENT '投保年份', 
+  custclass string DEFAULT NULL COMMENT '客户等级', 
+  cnum string DEFAULT NULL COMMENT '客户数量'
+)
+COMMENT '有效客户数'
+stored as ES
+with shard number 10
+replication 1;

+ 2 - 2
sql-achievement/存储过程/人寿测试环境使用sql整理/理赔信息.sql

@@ -50,10 +50,10 @@ BEGIN
 		trim(rptdate) as rptdate,
 		trim(rptdate) as rptdate,
 		trim(lloccurreason) as lloccurreason,
 		trim(lloccurreason) as lloccurreason,
 		trim(rgtdate) as rgtdate,
 		trim(rgtdate) as rgtdate,
-		trim(accidentdetail) as accidentdetail,--报案描述
+		trim(ACCDESC) as ACCDESC,--报案描述
 		trim(llclaimstate) as llclaimstate,
 		trim(llclaimstate) as llclaimstate,
 		trim(auditdate) as auditdate,--审批日期
 		trim(auditdate) as auditdate,--审批日期
-		trim(relation) as relation,
+		trim(relationname) as relationname,
 		trim(clmno) as clmno,--赔案号
 		trim(clmno) as clmno,--赔案号
 		trim(llgettype) as llgettype,--赔案状态
 		trim(llgettype) as llgettype,--赔案状态
 		trim(riskcode) as riskcode,
 		trim(riskcode) as riskcode,

+ 1 - 1
sql-achievement/存储过程/人寿测试环境使用sql整理/相似客户.sql

@@ -86,7 +86,7 @@ SELECT
 	CASE sc1.idtype WHEN '1' THEN sc1.idcard END AS passport,
 	CASE sc1.idtype WHEN '1' THEN sc1.idcard END AS passport,
 	CASE sc1.idtype WHEN '3' THEN sc1.idcard END AS dlicense,
 	CASE sc1.idtype WHEN '3' THEN sc1.idcard END AS dlicense,
 	CASE  WHEN sc1.idtype <> '0' AND sc1.idtype <> '1' AND sc1.idtype <> '3' THEN sc1.idcard END AS otherIdnumber,
 	CASE  WHEN sc1.idtype <> '0' AND sc1.idtype <> '1' AND sc1.idtype <> '3' THEN sc1.idcard END AS otherIdnumber,
-	1
+	2
 FROM shanglifeecif.customertotaltemp sc1 
 FROM shanglifeecif.customertotaltemp sc1 
 
 
 WHERE sc1.idcard is not null and  EXISTS (SELECT 1 FROM shanglifeecif.customertotaltemp sc2 WHERE sc2.scustid!=sc1.scustid AND sc1.name = sc2.name AND sc1.idcard = sc2.idcard);
 WHERE sc1.idcard is not null and  EXISTS (SELECT 1 FROM shanglifeecif.customertotaltemp sc2 WHERE sc2.scustid!=sc1.scustid AND sc1.name = sc2.name AND sc1.idcard = sc2.idcard);

+ 75 - 3
sql-achievement/存储过程/人寿测试环境使用sql整理/险种大类统计.sql

@@ -9,6 +9,77 @@ STORED AS ES
 with shard number 10
 with shard number 10
 replication 1;
 replication 1;
 
 
+CREATE OR REPLACE PROCEDURE shanglifeecif.customer_risk_temp() 
+IS
+DECLARE
+BEGIN
+	DELETE FROM shanglifeecif.customer_risk_temp;
+     INSERT INTO shanglifeecif.customer_risk_temp(
+	id,
+	  scustid,
+	  name,
+	  gender,
+	  idcard,
+	  birthday,
+	  policyno,
+	  productname,
+	  riskcategoriesname,
+	  risk
+	) 
+	SELECT
+		row_number()over(),
+		si.scustid,
+		si.name,
+		CASE si.gender 
+			WHEN '0' THEN '男' 
+			WHEN '1' THEN '女'
+			END AS gender,
+			si.idcard,
+			to_char(si.birthday,"yyyy-MM-dd") birthday,
+			sit.policyno,
+			sit.productname,
+			sit.risk_categories_name,
+			sit.Risk
+	FROM shanglifeecif.individual si 
+	LEFT JOIN shanglifeecif.insurancearrangement sit ON si.scustid = sit.applicantscustid;			
+END	;
+
+/
+
+CREATE OR REPLACE PROCEDURE shanglifeecif.riskcode_statistics() IS
+DECLARE
+BEGIN
+     DELETE FROM shanglifeecif.riskcode_statistics; 
+	insert into shanglifeecif.riskcode_statistics (
+		id,
+		kindName,
+		khnum,
+		tatolprem
+	) --险种大类统计
+		SELECT 
+			row_number()over(),
+			temp.kindName,
+			temp.khnum,
+			temp.tatolprem
+		FROM (
+			SELECT 
+				crt.riskcategoriesname AS kindName,
+				count(DISTINCT scustid) AS khnum,
+				sum(risk) AS tatolprem
+			FROM shanglifeecif.customer_risk_temp crt 
+			WHERE crt.riskcategoriesname IS NOT null
+			GROUP BY crt.riskcategoriesname
+	
+		) temp;
+	
+	EXCEPTION
+			WHEN HIVE_EXCEPTION THEN 
+				 INSERT INTO shanglifeecif.exception_log(log_code,log_msg,log_time) VALUES (sqlcode(),sqlerrm(),sysdate());
+			WHEN Others THEN
+				INSERT INTO shanglifeecif.exception_log(log_code,log_msg,log_time) VALUES (sqlcode(),sqlerrm(),sysdate());	
+			
+END	;
+/*
 CREATE OR REPLACE PROCEDURE shanglifeecif.riskcode_statistics() IS
 CREATE OR REPLACE PROCEDURE shanglifeecif.riskcode_statistics() IS
 DECLARE
 DECLARE
 BEGIN
 BEGIN
@@ -35,7 +106,7 @@ BEGIN
 
 
 
 
 
 
-	/*insert into shanglifeecif.riskcode_statistics (
+	insert into shanglifeecif.riskcode_statistics (
 		id,
 		id,
 		kindcode,
 		kindcode,
 		kindNAme,
 		kindNAme,
@@ -55,7 +126,7 @@ BEGIN
 	count(spi.idno) AS khnum,nvl(sum(spi.prem),0) AS totalPrem FROM lmriskapp sl 
 	count(spi.idno) AS khnum,nvl(sum(spi.prem),0) AS totalPrem FROM lmriskapp sl 
 	LEFT JOIN policy_information spi ON spi.riskcode = sl.riskcode
 	LEFT JOIN policy_information spi ON spi.riskcode = sl.riskcode
 	GROUP BY sl.kindcode
 	GROUP BY sl.kindcode
-	) temp;*/
+	) temp;
 	
 	
 	EXCEPTION
 	EXCEPTION
 			WHEN HIVE_EXCEPTION THEN 
 			WHEN HIVE_EXCEPTION THEN 
@@ -63,4 +134,5 @@ BEGIN
 			WHEN Others THEN
 			WHEN Others THEN
 				INSERT INTO shanglifeecif.exception_log(log_code,log_msg,log_time) VALUES (sqlcode(),sqlerrm(),sysdate());	
 				INSERT INTO shanglifeecif.exception_log(log_code,log_msg,log_time) VALUES (sqlcode(),sqlerrm(),sysdate());	
 			
 			
-END	;
+END	;
+*/

+ 357 - 342
sql-achievement/存储过程/洛阳测试环境使用sql整理/es建表语句.sql

@@ -1,303 +1,305 @@
 -- 创建ES表。
 -- 创建ES表。
 DROP TABLE IF EXISTS shanglifeecif.individual;
 DROP TABLE IF EXISTS shanglifeecif.individual;
-CREATE TABLE shanglifeecif.Individual(
-   
-    IndID STRING  COMMENT '个体ID' ,
-    CustID STRING    COMMENT '客户号 本系统统一生成的全司范围的唯一标识' ,
-    SCustID STRING    COMMENT '上游客户号 上游系统的客户ID' ,
-    Name STRING    COMMENT '名称 T_CUSTOMER_CLASS.CUSTOMER_NAME' ,
-    Birthday STRING    COMMENT '出生日期 T_CUSTOMER_CLASS.BIRTHDATE' ,
-    NOBirth STRING    COMMENT '出生国家' ,
-    SOBirth STRING    COMMENT '出生省份' ,
-    COBirth STRING   COMMENT '出生城市' ,
-    Dday STRING    COMMENT '死亡日期' ,
-    Gender STRING    COMMENT '性别 GB/T 2261.1-2003规定的一位数字代码执行,前三位填充G00: G000:未知的性别; G001:男性; G002:女性 ; G009:未说明的性别 ';
-    Ethnic STRING    COMMENT '民族' ,
-    Nation STRING    COMMENT '国籍' ,
-    HomeAdress STRING    COMMENT '籍贯 UNDERWRITE_REPORT_LIST.POLICY_HOLDER_ADDRESS' ,
-    RegResidence STRING    COMMENT '户口所在地' ,
-    MaritalStat STRING    COMMENT '婚姻状况 一对多' ,
-    MaritalStatDate STRING    COMMENT '婚姻状况日期 一对多' ,
-    Offspring STRING    COMMENT '生育状况' ,
-    Support STRING   COMMENT '赡养状况' ,
-    EmpStat STRING    COMMENT '就业状况 一对多' ,
-    EmpStatDate STRING    COMMENT '就业状况日期 一对多' ,
-    RAID STRING   COMMENT '联系地址' ,
-    RAL STRING    COMMENT '联系地址不分段' ,
-    AL STRING    COMMENT '曾用地址不分段' ,
-    COAdress INT    COMMENT '地址登录数量' ,
-    PMPhone STRING    COMMENT '常用手机 正在使用的手机' ,
-    Mhone1 STRING    COMMENT '曾用手机1' ,
-    Mhone2 STRING    COMMENT '曾用手机2' ,
-    SOPhone INT    COMMENT '手机登录数量' ,
-    Height double    COMMENT '身高' ,
-    Weight double    COMMENT '体重' ,
-    CIllness STRING    COMMENT '当前疾病' ,
-    PIllness STRING    COMMENT '曾患疾病' ,
-    CDiseases STRING    COMMENT '先天性疾病' ,
-    BMI double    COMMENT 'BMI体制指数' ,
-    FMHistory STRING    COMMENT '家族病史' ,
-    EvaDate STRING    COMMENT '健康评估日期' ,
-    COHEvaluation INT    COMMENT '健康评估登录数量' ,
-    HPhone STRING    COMMENT '家庭电话' ,
-    OccupationId STRING    COMMENT '职业代码 UNDERWRITE_REPORT_LIST.POLICY_HOLDER_CODE' ,
-    Occupation STRING    COMMENT '职业名称 UNDERWRITE_REPORT_LIST.POLICY_HOLDER_NAME' ,
-    Odate STRING    COMMENT '职业时间 一对多' ,
-    Employer STRING    COMMENT '工作单位' ,
-    WPhone STRING    COMMENT '工作电话' ,
-    EmpDate STRING    COMMENT '工作单位时间' ,
-    LEmployer STRING    COMMENT '曾经工作单位' ,
-    IDCard STRING    COMMENT '身份证 code	codename' ,
-    Passport STRING    COMMENT '护照' ,
-    Dlicense STRING    COMMENT '驾驶证' ,
-    Education STRING    COMMENT '最高学历' ,
-    University STRING    COMMENT '毕业学校' ,
-    Edate STRING    COMMENT '学历时间' ,
-    Wechat STRING    COMMENT '微信' ,
-    Weibo STRING    COMMENT '微博' ,
-    Email STRING    COMMENT '邮箱' ,
-    QQ STRING    COMMENT 'QQ' ,
-    Tiktok STRING    COMMENT '抖音' ,
-    SAccount1 STRING    COMMENT '社交账号1' ,
-    SA1Cat STRING    COMMENT '社交账号1类别' ,
-    SAccount2 STRING    COMMENT '社交账号2' ,
-    SA2Cat STRING    COMMENT '社交账号2类别' ,
-    CType STRING    COMMENT '首选联系方式 手机,微信,微博,邮箱,QQ,抖音,其他' ,
-    Father STRING    COMMENT '父亲 HEALTH_INSURANCE_LISTING.INSUREDNAME HEALTH_INSURANCE_LISTING.RELATION:投保人与被保人关系' ,
-    Mother STRING    COMMENT '母亲' ,
-    Mate STRING    COMMENT '配偶' ,
-    child1 STRING    COMMENT '子女1' ,
-    child2 STRING    COMMENT '子女2' ,
-    COChild INT    COMMENT '子女登录数量' ,
-    RPID STRING    COMMENT '房产' ,
-    RPDescribe STRING    COMMENT '房产描述' ,
-    CORP INT    COMMENT '房产登录数量' ,
-    VID STRING    COMMENT '车辆' ,
-    VDescribe STRING    COMMENT '车辆描述' ,
-    COVehicle INT    COMMENT '车辆登录数量' ,
-    Anniversary1 STRING    COMMENT '纪念日1' ,
-    A1Describe STRING    COMMENT '纪念日1类型' ,
-    Anniversary2 STRING    COMMENT '纪念日2' ,
-    A2Describe STRING    COMMENT '纪念日2类型' ,
-    SOAnniversary INT    COMMENT '纪念日登录数量' ,
-    CustType STRING    COMMENT '客户类型' ,
-    BankName STRING    COMMENT '开户银行' ,
-    TOBankCard STRING    COMMENT '银行卡类型 如:master、visa、银联等。' ,
-    AccName STRING    COMMENT '账户名' ,
-    BankAccNo STRING    COMMENT '银行帐号' ,
-    COBAccount INT    COMMENT '账户登录数量' ,
-    SOTLIRisk double    COMMENT '传统寿险种保额合计' ,
-    SOAIRisk double    COMMENT '意外类险种保额合计' ,
-    SOSIIRisk double    COMMENT '重疾类险种保额合计' ,
-    SOMCIRisk double    COMMENT '医疗费用类险种保额合计' ,
-    SOMEIRisk double    COMMENT '医疗补贴类险种保额合计' ,
-    SOEFIRisk double    COMMENT '教育金类险种保额合计' ,
-    SOPIRisk double   COMMENT '养老金类险种保额合计' ,
-    SOWMIRisk double    COMMENT '财富管理险种保额合计' ,
-    CustClass INT    COMMENT '客户等级 T_CUSTOMER_CLASS.CLASS_VALUE' ,
-    ConValue INT    COMMENT '贡献度分' ,
-    Awarded3 INT    COMMENT '家庭加分' ,
-    Awarded2 INT    COMMENT '续期加分' ,
-    Awarded1 INT    COMMENT '保单加分' ,
-    SOValue INT    COMMENT '总分值' ,
-    EndDate STRING    COMMENT '客户等级失效日期' ,
-    SystemTag1 STRING    COMMENT '系统标签域1' ,
-    SystemTag2 STRING    COMMENT '系统标签域2' ,
-    SystemTag3 STRING    COMMENT '系统标签域3' ,
-    SystemTag4 STRING    COMMENT '系统标签域4' ,
-    SystemTag5 STRING    COMMENT '系统标签域5' ,
-    COCommunication INT    COMMENT '接触次数' ,
-    LCDate STRING    COMMENT '最近接触时间' ,
-    LCType STRING    COMMENT '最近接触类型 投诉、问询、营销' ,
-    LCMethod STRING    COMMENT '最近接触方式 外呼、呼入' ,
-    COComplaint INT    COMMENT '投诉次数 当前客户投保保单相关投诉,包括非本人投诉' ,
-    LCPTDate STRING    COMMENT '最近投诉时间 当前客户投保保单相关投诉,包括非本人投诉' ,
-    LCPTReason STRING    COMMENT '最近投诉原因 当前客户投保保单相关投诉,包括非本人投诉' ,
-    LCPTLink STRING    COMMENT '最近投诉环节 当前客户投保保单相关投诉,包括非本人投诉' ,
-    LCPTResult STRING    COMMENT '最近投诉处理结果 当前客户投保保单相关投诉,包括非本人投诉' ,
-    LCPTDuration double    COMMENT '最近投诉处理时长 当前客户投保保单相关投诉,包括非本人投诉' ,
-    LCPTPerson STRING    COMMENT '最近投诉人' ,
-    SOPPremium double    COMMENT '累计已缴保费' ,
-    LAPPDate STRING    COMMENT '最近投保日期' ,
-    CNDate STRING    COMMENT '最近报案日期' ,
-    CNStatus STRING    COMMENT '最近报案状态' ,
-    COClaim INT    COMMENT '赔付次数' ,
-    SOClaim double   COMMENT '赔付总额' ,
-    COCNotification INT    COMMENT '报案登录数量' ,
-    FADate STRING    COMMENT '首次投保日期 当前客户为投保人时' ,
-    FAChannel STRING    COMMENT '首张保单所属渠道 InsuranceArrangement.AgentChannel' ,
-    FAOrg STRING    COMMENT '首张保单所属机构 InsuranceArrangement.AgentOrg' ,
-    LPNo STRING    COMMENT '最近保险单号 当前客户为投保人时' ,
-    LPState STRING    COMMENT '最近保单状态 当前客户为投保人时' ,
-    LPName STRING    COMMENT '最近投保险种名称 当前客户为投保人时' ,
-    LPChannel STRING    COMMENT '最近保单所属渠道 InsuranceArrangement.AgentChannel' ,
-    LPOrg STRING    COMMENT '最近保单所属机构 InsuranceArrangement.AgentOrg' ,
-    COPolicy INT    COMMENT '保单登录数量' ,
-    LPOSType STRING    COMMENT '最近保全类型 AUDIT_EDORLIST.EDORNAME' ,
-    IAccNo1 STRING    COMMENT '保险账户1' ,
-    IAccName1 STRING    COMMENT '保险账户1名称' ,
-    IAccNo2 STRING    COMMENT '保险账户2' ,
-    IAccName2 STRING    COMMENT '保险账户2名称' ,
-    IAccNo3 STRING    COMMENT '保险账户3' ,
-    IAccName3 STRING    COMMENT '保险账户3名称' ,
-    SOIAccount1 double    COMMENT '保险账户1余额' ,
-    SOIAccount2 double    COMMENT '保险账户2余额' ,
-    SOIAccount3 double    COMMENT '保险账户3余额' ,
-    COIAccount INT    COMMENT '保险账户登录数量' ,
-    HOMEID STRING    COMMENT '家庭号 大数据平台HOME_NETWORK' ,
-    BranchCode STRING    COMMENT '机构代码 数据归属机构,用于权限控制' ,
-    CustState STRING    COMMENT '客户状态 party可能会合并导致当前记录不再可用' ,
-    DataSource STRING    COMMENT '数据来源' ,
-    Smoking STRING    COMMENT '吸烟情况 从不、戒烟、吸烟' ,
-    Drinking STRING    COMMENT '饮酒情况 从不、戒酒、饮酒' ,
-    Pregnancy STRING    COMMENT '怀孕情况' ,
-    Hobby1 STRING    COMMENT '兴趣爱好1' ,
-    Hobby2 STRING    COMMENT '兴趣爱好2' ,
-    Hobby3 STRING    COMMENT '兴趣爱好3' ,
-    PIncome double   COMMENT '个人年收入' ,
-    FIncome double    COMMENT '家庭年收入' ,
-	regtype string    COMMENT '户籍类型', 
-    IncomeSource STRING    COMMENT '收入来源' ,
-    SIStatus STRING    COMMENT '社保情况' ,
-    NOVPolicy INT    COMMENT '有效保单件数' ,
-    NOIVPolicy INT    COMMENT '失效保单件数' ,
-    NOSTInsurance STRING    COMMENT '短意险保单持有情况 仅持有短意险保单,持有短意险保单,无短意险保单' ,
-    NOSPInsurance STRING    COMMENT '趸交保单持有情况 仅持有趸交保单,持有趸交保单,无趸交保单' ,
-    ISelf STRING    COMMENT '本人投保情况 仅本人投保,本人已投保,本人未投保' ,
-    IParent STRING    COMMENT '父母投保情况 仅父母投保,父母已投保,父母未投保' ,
-    IChildren STRING    COMMENT '子女投保情况 仅子女投保,子女已投保,子女未·投保' ,
-    Imate STRING    COMMENT '配偶投保情况 仅配偶投保,配偶已投保,配偶未投保' ,
-	policybelong STRING  COMMENT '业绩归属', 
-     CREATED_BY STRING   COMMENT '创建人' ,
-    CREATED_TIME DATE    COMMENT '创建时间' ,
-    UPDATED_BY STRING    COMMENT '更新人' ,
-    UPDATED_TIME DATE    COMMENT '更新时间' ,
-    Label1 STRING    COMMENT 'Label1' ,
-    Label2 STRING    COMMENT 'Label2' ,
-    Label3 STRING    COMMENT 'Label3' ,
-    Label4 STRING    COMMENT 'Label4' ,
-    Label5 STRING    COMMENT 'Label5' ,
-    Label6 STRING    COMMENT 'Label6' ,
-    Label7 STRING    COMMENT 'Label7' ,
-    Label8 STRING    COMMENT 'Label8' ,
-    Label9 STRING    COMMENT 'Label9' ,
-    Label10 STRING    COMMENT 'Label10' ,
-    Label11 STRING    COMMENT 'Label11' ,
-    Label12 STRING    COMMENT 'Label12' ,
-    Label13 STRING    COMMENT 'Label13' ,
-    Label14 STRING    COMMENT 'Label14' ,
-    Label15 STRING    COMMENT 'Label15' ,
-    Label16 STRING    COMMENT 'Label16' ,
-    Label17 STRING    COMMENT 'Label17' ,
-    Label18 STRING    COMMENT 'Label18' ,
-    Label19 STRING    COMMENT 'Label19' ,
-    Label20 STRING    COMMENT 'Label20' ,
-    Label21 STRING    COMMENT 'Label21' ,
-    Label22 STRING    COMMENT 'Label22' ,
-    Label23 STRING    COMMENT 'Label23' ,
-    Label24 STRING    COMMENT 'Label24' ,
-    Label25 STRING    COMMENT 'Label25' ,
-    Label26 STRING    COMMENT 'Label26' ,
-    Label27 STRING    COMMENT 'Label27' ,
-    Label28 STRING    COMMENT 'Label28' ,
-    Label29 STRING    COMMENT 'Label29' ,
-    Label30 STRING    COMMENT 'Label30' ,
-    Label31 STRING    COMMENT 'Label31' ,
-    Label32 STRING    COMMENT 'Label32' ,
-    Label33 STRING    COMMENT 'Label33' ,
-    Label34 STRING    COMMENT 'Label34' ,
-    Label35 STRING    COMMENT 'Label35' ,
-    Label36 STRING    COMMENT 'Label36' ,
-    Label37 STRING    COMMENT 'Label37' ,
-    Label38 STRING    COMMENT 'Label38' ,
-    Label39 STRING    COMMENT 'Label39' ,
-    Label40 STRING    COMMENT 'Label40' ,
-    Label41 STRING    COMMENT 'Label41' ,
-    Label42 STRING    COMMENT 'Label42' ,
-    Label43 STRING    COMMENT 'Label43' ,
-    Label44 STRING    COMMENT 'Label44' ,
-    Label45 STRING    COMMENT 'Label45' ,
-    Label46 STRING    COMMENT 'Label46' ,
-    Label47 STRING    COMMENT 'Label47' ,
-    Label48 STRING    COMMENT 'Label48' ,
-    Label49 STRING    COMMENT 'Label49' ,
-    Label50 STRING    COMMENT 'Label50' ,
-    Label51 STRING    COMMENT 'Label51' ,
-    Label52 STRING    COMMENT 'Label52' ,
-    Label53 STRING    COMMENT 'Label53' ,
-    Label54 STRING    COMMENT 'Label54' ,
-    Label55 STRING    COMMENT 'Label55' ,
-    Label56 STRING    COMMENT 'Label56' ,
-    Label57 STRING    COMMENT 'Label57' ,
-    Label58 STRING    COMMENT 'Label58' ,
-    Label59 STRING    COMMENT 'Label59' ,
-    Label60 STRING    COMMENT 'Label60' ,
-    Label61 STRING    COMMENT 'Label61' ,
-    Label62 STRING    COMMENT 'Label62' ,
-    Label63 STRING    COMMENT 'Label63' ,
-    Label64 STRING    COMMENT 'Label64' ,
-    Label65 STRING    COMMENT 'Label65' ,
-    Label66 STRING    COMMENT 'Label66' ,
-    Label67 STRING    COMMENT 'Label67' ,
-    Label68 STRING    COMMENT 'Label68' ,
-    Label69 STRING    COMMENT 'Label69' ,
-    Label70 STRING    COMMENT 'Label70' ,
-    Label71 STRING    COMMENT 'Label71' ,
-    Label72 STRING    COMMENT 'Label72' ,
-    Label73 STRING    COMMENT 'Label73' ,
-    Label74 STRING    COMMENT 'Label74' ,
-    Label75 STRING    COMMENT 'Label75' ,
-    Label76 STRING    COMMENT 'Label76' ,
-    Label77 STRING    COMMENT 'Label77' ,
-    Label78 STRING    COMMENT 'Label78' ,
-    Label79 STRING    COMMENT 'Label79' ,
-    Label80 STRING    COMMENT 'Label80' ,
-    Label81 STRING    COMMENT 'Label81' ,
-    Label82 STRING    COMMENT 'Label82' ,
-    Label83 STRING    COMMENT 'Label83' ,
-    Label84 STRING    COMMENT 'Label84' ,
-    Label85 STRING    COMMENT 'Label85' ,
-    Label86 STRING    COMMENT 'Label86' ,
-    Label87 STRING    COMMENT 'Label87' ,
-    Label88 STRING    COMMENT 'Label88' ,
-    Label89 STRING    COMMENT 'Label89' ,
-    Label90 STRING    COMMENT 'Label90' ,
-    Label91 STRING    COMMENT 'Label91' ,
-    Label92 STRING    COMMENT 'Label92' ,
-    Label93 STRING    COMMENT 'Label93' ,
-    Label94 STRING    COMMENT 'Label94' ,
-    Label95 STRING    COMMENT 'Label95' ,
-    Label96 STRING    COMMENT 'Label96' ,
-    Label97 STRING    COMMENT 'Label97' ,
-    Label98 STRING    COMMENT 'Label98' ,
-    Label99 STRING    COMMENT 'Label99' ,
-    Label100 STRING    COMMENT 'Label100' ,
-    Label101 STRING    COMMENT 'Label101' ,
-    Label102 STRING    COMMENT 'Label102' ,
-    Label103 STRING    COMMENT 'Label103' ,
-    Label104 STRING    COMMENT 'Label104' ,
-    Label105 STRING    COMMENT 'Label105' ,
-    Label106 STRING    COMMENT 'Label106' ,
-    Label107 STRING    COMMENT 'Label107' ,
-    Label108 STRING    COMMENT 'Label108' ,
-    Label109 STRING    COMMENT 'Label109' ,
-    Label110 STRING    COMMENT 'Label110' ,
-    Label111 STRING    COMMENT 'Label111' ,
-    Label112 STRING    COMMENT 'Label112' ,
-    Label113 STRING    COMMENT 'Label113' ,
-    Label114 STRING    COMMENT 'Label114' ,
-    Label115 STRING    COMMENT 'Label115' ,
-    Label116 STRING    COMMENT 'Label116' ,
-    Label117 STRING    COMMENT 'Label117' ,
-    Label118 STRING    COMMENT 'Label118' ,
-    Label119 STRING    COMMENT 'Label119' ,
-    Label120 STRING    COMMENT 'Label120' ,
-    PRIMARY KEY (IndID)
-) COMMENT '个人信息 '
+CREATE  TABLE shanglifeecif.individual(
+  indid string DEFAULT NULL COMMENT '个体ID', 
+  custid string DEFAULT NULL COMMENT '客户号 本系统统一生成的全司范围的唯一标识', 
+  scustid string DEFAULT NULL COMMENT '上游客户号 上游系统的客户ID', 
+  name string DEFAULT NULL COMMENT '名称 T_CUSTOMER_CLASS.CUSTOMER_NAME', 
+  birthday string DEFAULT NULL COMMENT '出生日期 T_CUSTOMER_CLASS.BIRTHDATE', 
+  nobirth string DEFAULT NULL COMMENT '出生国家', 
+  sobirth string DEFAULT NULL COMMENT '出生省份', 
+  cobirth string DEFAULT NULL COMMENT '出生城市', 
+  dday string DEFAULT NULL COMMENT '死亡日期', 
+  gender string DEFAULT NULL COMMENT '性别',
+  ethnic string DEFAULT NULL COMMENT '民族', 
+  nation string DEFAULT NULL COMMENT '国籍', 
+  homeadress string DEFAULT NULL COMMENT '籍贯 UNDERWRITE_REPORT_LIST.POLICY_HOLDER_ADDRESS', 
+  regresidence string DEFAULT NULL COMMENT '户口所在地', 
+  maritalstat string DEFAULT NULL COMMENT '婚姻状况 一对多', 
+  maritalstatdate string DEFAULT NULL COMMENT '婚姻状况日期 一对多', 
+  offspring string DEFAULT NULL COMMENT '生育状况', 
+  support string DEFAULT NULL COMMENT '赡养状况', 
+  empstat string DEFAULT NULL COMMENT '就业状况 一对多', 
+  empstatdate string DEFAULT NULL COMMENT '就业状况日期 一对多', 
+  raid string DEFAULT NULL COMMENT '联系地址', 
+  ral string DEFAULT NULL COMMENT '联系地址不分段', 
+  al string DEFAULT NULL COMMENT '曾用地址不分段', 
+  coadress int DEFAULT NULL COMMENT '地址登录数量', 
+  pmphone string DEFAULT NULL COMMENT '常用手机 正在使用的手机', 
+  mhone1 string DEFAULT NULL COMMENT '曾用手机1', 
+  mhone2 string DEFAULT NULL COMMENT '曾用手机2', 
+  sophone int DEFAULT NULL COMMENT '手机登录数量', 
+  height double DEFAULT NULL COMMENT '身高', 
+  weight double DEFAULT NULL COMMENT '体重', 
+  cillness string DEFAULT NULL COMMENT '当前疾病', 
+  pillness string DEFAULT NULL COMMENT '曾患疾病', 
+  cdiseases string DEFAULT NULL COMMENT '先天性疾病', 
+  bmi double DEFAULT NULL COMMENT 'BMI体制指数', 
+  fmhistory string DEFAULT NULL COMMENT '家族病史', 
+  evadate string DEFAULT NULL COMMENT '健康评估日期', 
+  cohevaluation int DEFAULT NULL COMMENT '健康评估登录数量', 
+  hphone string DEFAULT NULL COMMENT '家庭电话', 
+  occupationid string DEFAULT NULL COMMENT '职业代码 UNDERWRITE_REPORT_LIST.POLICY_HOLDER_CODE', 
+  occupation string DEFAULT NULL COMMENT '职业名称 UNDERWRITE_REPORT_LIST.POLICY_HOLDER_NAME', 
+  odate string DEFAULT NULL COMMENT '职业时间 一对多', 
+  employer string DEFAULT NULL COMMENT '工作单位', 
+  wphone string DEFAULT NULL COMMENT '工作电话', 
+  empdate string DEFAULT NULL COMMENT '工作单位时间', 
+  lemployer string DEFAULT NULL COMMENT '曾经工作单位', 
+  idcard string DEFAULT NULL COMMENT '身份证', 
+  passport string DEFAULT NULL COMMENT '护照', 
+  dlicense string DEFAULT NULL COMMENT '驾驶证',
+  otheridnumber string DEFAULT NULL COMMENT '其它证件号码',  
+  education string DEFAULT NULL COMMENT '最高学历', 
+  university string DEFAULT NULL COMMENT '毕业学校', 
+  edate string DEFAULT NULL COMMENT '学历时间', 
+  wechat string DEFAULT NULL COMMENT '微信', 
+  weibo string DEFAULT NULL COMMENT '微博', 
+  email string DEFAULT NULL COMMENT '邮箱', 
+  qq string DEFAULT NULL COMMENT 'QQ', 
+  tiktok string DEFAULT NULL COMMENT '抖音', 
+  saccount1 string DEFAULT NULL COMMENT '社交账号1', 
+  sa1cat string DEFAULT NULL COMMENT '社交账号1类别', 
+  saccount2 string DEFAULT NULL COMMENT '社交账号2', 
+  sa2cat string DEFAULT NULL COMMENT '社交账号2类别', 
+  ctype string DEFAULT NULL COMMENT '首选联系方式 手机,微信,微博,邮箱,QQ,抖音,其他', 
+  father string DEFAULT NULL COMMENT '父亲 HEALTH_INSURANCE_LISTING.INSUREDNAMEHEALTH_INSURANCE_LISTING.RELATION:投保人与被保人关系', 
+  mother string DEFAULT NULL COMMENT '母亲', 
+  mate string DEFAULT NULL COMMENT '配偶', 
+  child1 string DEFAULT NULL COMMENT '子女1', 
+  child2 string DEFAULT NULL COMMENT '子女2', 
+  cochild int DEFAULT NULL COMMENT '子女登录数量', 
+  rpid string DEFAULT NULL COMMENT '房产', 
+  rpdescribe string DEFAULT NULL COMMENT '房产描述', 
+  corp int DEFAULT NULL COMMENT '房产登录数量', 
+  vid string DEFAULT NULL COMMENT '车辆', 
+  vdescribe string DEFAULT NULL COMMENT '车辆描述', 
+  covehicle int DEFAULT NULL COMMENT '车辆登录数量', 
+  anniversary1 string DEFAULT NULL COMMENT '纪念日1', 
+  a1describe string DEFAULT NULL COMMENT '纪念日1类型', 
+  anniversary2 string DEFAULT NULL COMMENT '纪念日2', 
+  a2describe string DEFAULT NULL COMMENT '纪念日2类型', 
+  soanniversary int DEFAULT NULL COMMENT '纪念日登录数量', 
+  custtype string DEFAULT NULL COMMENT '客户类型', 
+  bankname string DEFAULT NULL COMMENT '开户银行', 
+  tobankcard string DEFAULT NULL COMMENT '银行卡类型 如:master、visa、银联等。', 
+  accname string DEFAULT NULL COMMENT '账户名', 
+  bankaccno string DEFAULT NULL COMMENT '银行帐号', 
+  cobaccount int DEFAULT NULL COMMENT '账户登录数量', 
+  sotlirisk double DEFAULT NULL COMMENT '传统寿险种保额合计', 
+  soairisk double DEFAULT NULL COMMENT '意外类险种保额合计', 
+  sosiirisk double DEFAULT NULL COMMENT '重疾类险种保额合计', 
+  somcirisk double DEFAULT NULL COMMENT '医疗费用类险种保额合计', 
+  someirisk double DEFAULT NULL COMMENT '医疗补贴类险种保额合计', 
+  soefirisk double DEFAULT NULL COMMENT '教育金类险种保额合计', 
+  sopirisk double DEFAULT NULL COMMENT '养老金类险种保额合计', 
+  sowmirisk double DEFAULT NULL COMMENT '财富管理险种保额合计', 
+  custclass int DEFAULT NULL COMMENT '等级',
+  convalue int DEFAULT NULL COMMENT '贡献度分', 
+  awarded3 int DEFAULT NULL COMMENT '家庭加分', 
+  awarded2 int DEFAULT NULL COMMENT '续期加分', 
+  awarded1 int DEFAULT NULL COMMENT '保单加分', 
+  sovalue int DEFAULT NULL COMMENT '总分值', 
+  enddate string DEFAULT NULL COMMENT '客户等级失效日期', 
+  systemtag1 string DEFAULT NULL COMMENT '系统标签域1', 
+  systemtag2 string DEFAULT NULL COMMENT '系统标签域2', 
+  systemtag3 string DEFAULT NULL COMMENT '系统标签域3', 
+  systemtag4 string DEFAULT NULL COMMENT '系统标签域4', 
+  systemtag5 string DEFAULT NULL COMMENT '系统标签域5', 
+  cocommunication int DEFAULT NULL COMMENT '接触次数', 
+  lcdate string DEFAULT NULL COMMENT '最近接触时间', 
+  lctype string DEFAULT NULL COMMENT '最近接触类型 投诉、问询、营销', 
+  lcmethod string DEFAULT NULL COMMENT '最近接触方式 外呼、呼入', 
+  cocomplaint int DEFAULT NULL COMMENT '投诉次数 当前客户投保保单相关投诉,包括非本人投诉', 
+  lcptdate string DEFAULT NULL COMMENT '最近投诉时间 当前客户投保保单相关投诉,包括非本人投诉', 
+  lcptreason string DEFAULT NULL COMMENT '最近投诉原因 当前客户投保保单相关投诉,包括非本人投诉', 
+  lcptlink string DEFAULT NULL COMMENT '最近投诉环节 当前客户投保保单相关投诉,包括非本人投诉', 
+  lcptresult string DEFAULT NULL COMMENT '最近投诉处理结果 当前客户投保保单相关投诉,包括非本人投诉', 
+  lcptduration double DEFAULT NULL COMMENT '最近投诉处理时长 当前客户投保保单相关投诉,包括非本人投诉', 
+  lcptperson string DEFAULT NULL COMMENT '最近投诉人', 
+  soppremium double DEFAULT NULL COMMENT '累计已缴保费', 
+  lappdate string DEFAULT NULL COMMENT '最近投保日期', 
+  cndate string DEFAULT NULL COMMENT '最近报案日期', 
+  cnstatus string DEFAULT NULL COMMENT '最近报案状态', 
+  coclaim int DEFAULT NULL COMMENT '赔付次数', 
+  soclaim double DEFAULT NULL COMMENT '赔付总额', 
+  cocnotification int DEFAULT NULL COMMENT '报案登录数量', 
+  fadate string DEFAULT NULL COMMENT '首次投保日期 当前客户为投保人时', 
+  fachannel string DEFAULT NULL COMMENT '首张保单所属渠道 InsuranceArrangement.AgentChannel', 
+  faorg string DEFAULT NULL COMMENT '首张保单所属机构 InsuranceArrangement.AgentOrg', 
+  lpno string DEFAULT NULL COMMENT '最近保险单号 当前客户为投保人时', 
+  lpstate string DEFAULT NULL COMMENT '最近保单状态 当前客户为投保人时', 
+  lpname string DEFAULT NULL COMMENT '最近投保险种名称 当前客户为投保人时', 
+  lpchannel string DEFAULT NULL COMMENT '最近保单所属渠道 InsuranceArrangement.AgentChannel', 
+  lporg string DEFAULT NULL COMMENT '最近保单所属机构 InsuranceArrangement.AgentOrg', 
+  copolicy int DEFAULT NULL COMMENT '保单登录数量', 
+  lpostype string DEFAULT NULL COMMENT '最近保全类型 AUDIT_EDORLIST.EDORNAME', 
+  iaccno1 string DEFAULT NULL COMMENT '保险账户1', 
+  iaccname1 string DEFAULT NULL COMMENT '保险账户1名称', 
+  iaccno2 string DEFAULT NULL COMMENT '保险账户2', 
+  iaccname2 string DEFAULT NULL COMMENT '保险账户2名称', 
+  iaccno3 string DEFAULT NULL COMMENT '保险账户3', 
+  iaccname3 string DEFAULT NULL COMMENT '保险账户3名称', 
+  soiaccount1 double DEFAULT NULL COMMENT '保险账户1余额', 
+  soiaccount2 double DEFAULT NULL COMMENT '保险账户2余额', 
+  soiaccount3 double DEFAULT NULL COMMENT '保险账户3余额', 
+  coiaccount int DEFAULT NULL COMMENT '保险账户登录数量', 
+  homeid string DEFAULT NULL COMMENT '家庭号 大数据平台HOME_NETWORK', 
+  branchcode string DEFAULT NULL COMMENT '机构代码 数据归属机构,用于权限控制', 
+  custstate string DEFAULT NULL COMMENT '客户状态 party可能会合并导致当前记录不再可用', 
+  datasource string DEFAULT NULL COMMENT '数据来源', 
+  smoking string DEFAULT NULL COMMENT '吸烟情况 从不、戒烟、吸烟', 
+  drinking string DEFAULT NULL COMMENT '饮酒情况 从不、戒酒、饮酒', 
+  pregnancy string DEFAULT NULL COMMENT '怀孕情况', 
+  hobby1 string DEFAULT NULL COMMENT '兴趣爱好1', 
+  hobby2 string DEFAULT NULL COMMENT '兴趣爱好2', 
+  hobby3 string DEFAULT NULL COMMENT '兴趣爱好3', 
+  pincome double DEFAULT NULL COMMENT '个人年收入', 
+  fincome double DEFAULT NULL COMMENT '家庭年收入', 
+  regtype string DEFAULT NULL COMMENT '户籍类型', 
+  incomesource string DEFAULT NULL COMMENT '收入来源', 
+  sistatus string DEFAULT NULL COMMENT '社保情况', 
+  novpolicy int DEFAULT NULL COMMENT '有效保单件数', 
+  noivpolicy int DEFAULT NULL COMMENT '失效保单件数', 
+  nostinsurance string DEFAULT NULL COMMENT '短意险保单持有情况 仅持有短意险保单,持有短意险保单,无短意险保单', 
+  nospinsurance string DEFAULT NULL COMMENT '趸交保单持有情况 仅持有趸交保单,持有趸交保单,无趸交保单', 
+  iself string DEFAULT NULL COMMENT '本人投保情况 仅本人投保,本人已投保,本人未投保', 
+  iparent string DEFAULT NULL COMMENT '父母投保情况 仅父母投保,父母已投保,父母未投保', 
+  ichildren string DEFAULT NULL COMMENT '子女投保情况 仅子女投保,子女已投保,子女未·投保', 
+  imate string DEFAULT NULL COMMENT '配偶投保情况 仅配偶投保,配偶已投保,配偶未投保', 
+  policybelong string DEFAULT NULL COMMENT '业绩归属', 
+  zipcode string DEFAULT NULL COMMENT '邮政编码',
+  created_by string DEFAULT NULL COMMENT '创建人', 
+  created_time date DEFAULT NULL COMMENT '创建时间', 
+  updated_by string DEFAULT NULL COMMENT '更新人', 
+  updated_time date DEFAULT NULL COMMENT '更新时间', 
+  label1 string DEFAULT NULL COMMENT 'Label1', 
+  label2 string DEFAULT NULL COMMENT 'Label2', 
+  label3 string DEFAULT NULL COMMENT 'Label3', 
+  label4 string DEFAULT NULL COMMENT 'Label4', 
+  label5 string DEFAULT NULL COMMENT 'Label5', 
+  label6 string DEFAULT NULL COMMENT 'Label6', 
+  label7 string DEFAULT NULL COMMENT 'Label7', 
+  label8 string DEFAULT NULL COMMENT 'Label8', 
+  label9 string DEFAULT NULL COMMENT 'Label9', 
+  label10 string DEFAULT NULL COMMENT 'Label10', 
+  label11 string DEFAULT NULL COMMENT 'Label11', 
+  label12 string DEFAULT NULL COMMENT 'Label12', 
+  label13 string DEFAULT NULL COMMENT 'Label13', 
+  label14 string DEFAULT NULL COMMENT 'Label14', 
+  label15 string DEFAULT NULL COMMENT 'Label15', 
+  label16 string DEFAULT NULL COMMENT 'Label16', 
+  label17 string DEFAULT NULL COMMENT 'Label17', 
+  label18 string DEFAULT NULL COMMENT 'Label18', 
+  label19 string DEFAULT NULL COMMENT 'Label19', 
+  label20 string DEFAULT NULL COMMENT 'Label20', 
+  label21 string DEFAULT NULL COMMENT 'Label21', 
+  label22 string DEFAULT NULL COMMENT 'Label22', 
+  label23 string DEFAULT NULL COMMENT 'Label23', 
+  label24 string DEFAULT NULL COMMENT 'Label24', 
+  label25 string DEFAULT NULL COMMENT 'Label25', 
+  label26 string DEFAULT NULL COMMENT 'Label26', 
+  label27 string DEFAULT NULL COMMENT 'Label27', 
+  label28 string DEFAULT NULL COMMENT 'Label28', 
+  label29 string DEFAULT NULL COMMENT 'Label29', 
+  label30 string DEFAULT NULL COMMENT 'Label30', 
+  label31 string DEFAULT NULL COMMENT 'Label31', 
+  label32 string DEFAULT NULL COMMENT 'Label32', 
+  label33 string DEFAULT NULL COMMENT 'Label33', 
+  label34 string DEFAULT NULL COMMENT 'Label34', 
+  label35 string DEFAULT NULL COMMENT 'Label35', 
+  label36 string DEFAULT NULL COMMENT 'Label36', 
+  label37 string DEFAULT NULL COMMENT 'Label37', 
+  label38 string DEFAULT NULL COMMENT 'Label38', 
+  label39 string DEFAULT NULL COMMENT 'Label39', 
+  label40 string DEFAULT NULL COMMENT 'Label40', 
+  label41 string DEFAULT NULL COMMENT 'Label41', 
+  label42 string DEFAULT NULL COMMENT 'Label42', 
+  label43 string DEFAULT NULL COMMENT 'Label43', 
+  label44 string DEFAULT NULL COMMENT 'Label44', 
+  label45 string DEFAULT NULL COMMENT 'Label45', 
+  label46 string DEFAULT NULL COMMENT 'Label46', 
+  label47 string DEFAULT NULL COMMENT 'Label47', 
+  label48 string DEFAULT NULL COMMENT 'Label48', 
+  label49 string DEFAULT NULL COMMENT 'Label49', 
+  label50 string DEFAULT NULL COMMENT 'Label50', 
+  label51 string DEFAULT NULL COMMENT 'Label51', 
+  label52 string DEFAULT NULL COMMENT 'Label52', 
+  label53 string DEFAULT NULL COMMENT 'Label53', 
+  label54 string DEFAULT NULL COMMENT 'Label54', 
+  label55 string DEFAULT NULL COMMENT 'Label55', 
+  label56 string DEFAULT NULL COMMENT 'Label56', 
+  label57 string DEFAULT NULL COMMENT 'Label57', 
+  label58 string DEFAULT NULL COMMENT 'Label58', 
+  label59 string DEFAULT NULL COMMENT 'Label59', 
+  label60 string DEFAULT NULL COMMENT 'Label60', 
+  label61 string DEFAULT NULL COMMENT 'Label61', 
+  label62 string DEFAULT NULL COMMENT 'Label62', 
+  label63 string DEFAULT NULL COMMENT 'Label63', 
+  label64 string DEFAULT NULL COMMENT 'Label64', 
+  label65 string DEFAULT NULL COMMENT 'Label65', 
+  label66 string DEFAULT NULL COMMENT 'Label66', 
+  label67 string DEFAULT NULL COMMENT 'Label67', 
+  label68 string DEFAULT NULL COMMENT 'Label68', 
+  label69 string DEFAULT NULL COMMENT 'Label69', 
+  label70 string DEFAULT NULL COMMENT 'Label70', 
+  label71 string DEFAULT NULL COMMENT 'Label71', 
+  label72 string DEFAULT NULL COMMENT 'Label72', 
+  label73 string DEFAULT NULL COMMENT 'Label73', 
+  label74 string DEFAULT NULL COMMENT 'Label74', 
+  label75 string DEFAULT NULL COMMENT 'Label75', 
+  label76 string DEFAULT NULL COMMENT 'Label76', 
+  label77 string DEFAULT NULL COMMENT 'Label77', 
+  label78 string DEFAULT NULL COMMENT 'Label78', 
+  label79 string DEFAULT NULL COMMENT 'Label79', 
+  label80 string DEFAULT NULL COMMENT 'Label80', 
+  label81 string DEFAULT NULL COMMENT 'Label81', 
+  label82 string DEFAULT NULL COMMENT 'Label82', 
+  label83 string DEFAULT NULL COMMENT 'Label83', 
+  label84 string DEFAULT NULL COMMENT 'Label84', 
+  label85 string DEFAULT NULL COMMENT 'Label85', 
+  label86 string DEFAULT NULL COMMENT 'Label86', 
+  label87 string DEFAULT NULL COMMENT 'Label87', 
+  label88 string DEFAULT NULL COMMENT 'Label88', 
+  label89 string DEFAULT NULL COMMENT 'Label89', 
+  label90 string DEFAULT NULL COMMENT 'Label90', 
+  label91 string DEFAULT NULL COMMENT 'Label91', 
+  label92 string DEFAULT NULL COMMENT 'Label92', 
+  label93 string DEFAULT NULL COMMENT 'Label93', 
+  label94 string DEFAULT NULL COMMENT 'Label94', 
+  label95 string DEFAULT NULL COMMENT 'Label95', 
+  label96 string DEFAULT NULL COMMENT 'Label96', 
+  label97 string DEFAULT NULL COMMENT 'Label97', 
+  label98 string DEFAULT NULL COMMENT 'Label98', 
+  label99 string DEFAULT NULL COMMENT 'Label99', 
+  label100 string DEFAULT NULL COMMENT 'Label100', 
+  label101 string DEFAULT NULL COMMENT 'Label101', 
+  label102 string DEFAULT NULL COMMENT 'Label102', 
+  label103 string DEFAULT NULL COMMENT 'Label103', 
+  label104 string DEFAULT NULL COMMENT 'Label104', 
+  label105 string DEFAULT NULL COMMENT 'Label105', 
+  label106 string DEFAULT NULL COMMENT 'Label106', 
+  label107 string DEFAULT NULL COMMENT 'Label107', 
+  label108 string DEFAULT NULL COMMENT 'Label108', 
+  label109 string DEFAULT NULL COMMENT 'Label109', 
+  label110 string DEFAULT NULL COMMENT 'Label110', 
+  label111 string DEFAULT NULL COMMENT 'Label111', 
+  label112 string DEFAULT NULL COMMENT 'Label112', 
+  label113 string DEFAULT NULL COMMENT 'Label113', 
+  label114 string DEFAULT NULL COMMENT 'Label114', 
+  label115 string DEFAULT NULL COMMENT 'Label115', 
+  label116 string DEFAULT NULL COMMENT 'Label116', 
+  label117 string DEFAULT NULL COMMENT 'Label117', 
+  label118 string DEFAULT NULL COMMENT 'Label118', 
+  label119 string DEFAULT NULL COMMENT 'Label119', 
+  label120 string DEFAULT NULL COMMENT 'Label120'
+)
+COMMENT '客户信息 '
 stored as ES
 stored as ES
 with shard number 10
 with shard number 10
 replication 1;
 replication 1;
 
 
+
 DROP TABLE IF EXISTS shanglifeecif.Adress;
 DROP TABLE IF EXISTS shanglifeecif.Adress;
 CREATE  TABLE shanglifeecif.Adress(
 CREATE  TABLE shanglifeecif.Adress(
 AID	string	DEFAULT NULL COMMENT '	地址ID	',
 AID	string	DEFAULT NULL COMMENT '	地址ID	',
@@ -548,8 +550,8 @@ Name2	string	DEFAULT NULL COMMENT '	
 Mphone2	string	DEFAULT NULL COMMENT '	个体2手机	',
 Mphone2	string	DEFAULT NULL COMMENT '	个体2手机	',
 IDCard2	string	DEFAULT NULL COMMENT '	个体2证件号码	',
 IDCard2	string	DEFAULT NULL COMMENT '	个体2证件号码	',
 Role2	string	DEFAULT NULL COMMENT '	个体2角色	',
 Role2	string	DEFAULT NULL COMMENT '	个体2角色	',
-RSSTime	DATE	DEFAULT NULL COMMENT '	开始时间	',
-RSETime	DATE	DEFAULT NULL COMMENT '	结束时间	',
+RSSTime	string	DEFAULT NULL COMMENT '	开始时间	',
+RSETime	string	DEFAULT NULL COMMENT '	结束时间	',
 RSDescribe	string	DEFAULT NULL COMMENT '	关系描述	',
 RSDescribe	string	DEFAULT NULL COMMENT '	关系描述	',
 CREATED_BY	string	DEFAULT NULL COMMENT '	创建人	',
 CREATED_BY	string	DEFAULT NULL COMMENT '	创建人	',
 CREATED_TIME	date	DEFAULT NULL COMMENT '	创建时间	',
 CREATED_TIME	date	DEFAULT NULL COMMENT '	创建时间	',
@@ -593,7 +595,7 @@ replication 1;
 
 
  --创建保单表insurancearrangement
  --创建保单表insurancearrangement
 DROP TABLE IF EXISTS shanglifeecif.InsuranceArrangement;
 DROP TABLE IF EXISTS shanglifeecif.InsuranceArrangement;
-CREATE TABLE shanglifeecif.InsuranceArrangement(
+CREATE  TABLE shanglifeecif.insurancearrangement(
   iaid string NOT NULL COMMENT '保单ID', 
   iaid string NOT NULL COMMENT '保单ID', 
   policyno string DEFAULT NULL COMMENT '保险单号 INSURANCEINFO.CONTNO', 
   policyno string DEFAULT NULL COMMENT '保险单号 INSURANCEINFO.CONTNO', 
   pano string DEFAULT NULL COMMENT '投保单号 INSURANCEINFO.PRTNO', 
   pano string DEFAULT NULL COMMENT '投保单号 INSURANCEINFO.PRTNO', 
@@ -607,9 +609,9 @@ CREATE TABLE shanglifeecif.InsuranceArrangement(
   renewaldate string DEFAULT NULL COMMENT '续保日期', 
   renewaldate string DEFAULT NULL COMMENT '续保日期', 
   norenewal int DEFAULT NULL COMMENT '续保次数 POLICY_INFORMATION.PAYCOUNT', 
   norenewal int DEFAULT NULL COMMENT '续保次数 POLICY_INFORMATION.PAYCOUNT', 
   policytype string DEFAULT NULL COMMENT '保单类型 PERSONAL_INSURANCE.CONTTYPE,需上游给出类型枚举值', 
   policytype string DEFAULT NULL COMMENT '保单类型 PERSONAL_INSURANCE.CONTTYPE,需上游给出类型枚举值', 
-  schannel string DEFAULT NULL COMMENT '销售渠道 HEALTH_INSURANCE_LISTING.SALECHANNELS 1 2 3 4 5',
+  schannel string DEFAULT NULL COMMENT '销售渠道 HEALTH_INSURANCE_LISTING.SALECHANNELS 1 2 3 4 5', 
   bsource string DEFAULT NULL COMMENT '业务来源', 
   bsource string DEFAULT NULL COMMENT '业务来源', 
-  policystate string DEFAULT NULL COMMENT '保单状态 保单包括投保单的所处的状态,例如:录入、生效、批单等 INSURANCEINFO.APPFLAG code 0 1 2 4 9 B F',
+  policystate string DEFAULT NULL COMMENT '保单状态 保单包括投保单的所处的状态,例如:录入、生效、批单等 INSURANCEINFO.APPFLAG code 0 1 2 4 9 B F', 
   topay string DEFAULT NULL COMMENT '缴费类型', 
   topay string DEFAULT NULL COMMENT '缴费类型', 
   payment string DEFAULT NULL COMMENT '缴费方式 POLICY_INFORMATION.PAYINTV', 
   payment string DEFAULT NULL COMMENT '缴费方式 POLICY_INFORMATION.PAYINTV', 
   risk double DEFAULT NULL COMMENT '总保额 HEALTH_INSURANCE_LISTING.AMNT(测试环境中,此表保单数据量较其他表如:POLICY_INFORMATION,INSURANCEINFO 缺少至少一个数据量级)', 
   risk double DEFAULT NULL COMMENT '总保额 HEALTH_INSURANCE_LISTING.AMNT(测试环境中,此表保单数据量较其他表如:POLICY_INFORMATION,INSURANCEINFO 缺少至少一个数据量级)', 
@@ -617,9 +619,8 @@ CREATE TABLE shanglifeecif.InsuranceArrangement(
   currency string DEFAULT NULL COMMENT '币种', 
   currency string DEFAULT NULL COMMENT '币种', 
   npdate string DEFAULT NULL COMMENT '下次缴费日期', 
   npdate string DEFAULT NULL COMMENT '下次缴费日期', 
   soinsured int DEFAULT NULL COMMENT '被保人数 HEALTH_GROUP_LISTING.PEOPLES3,团单', 
   soinsured int DEFAULT NULL COMMENT '被保人数 HEALTH_GROUP_LISTING.PEOPLES3,团单', 
-  bsinsured double DEFAULT NULL COMMENT '基本保额 比如中国人寿的康宁终身保险就是这样,如果购买的基本保险金额是10万的话,那么大病的保险金额就是基本保险金额的2倍即20万;', 
-  insurvalue double DEFAULT NULL COMMENT '保单价值', 
-  applicantid string DEFAULT NULL COMMENT '投保人 根据POLICY_INFORMATION.CUSTOMERNO关联individual上游客户号,再找到individualid', 
+  bsinsured double DEFAULT NULL COMMENT '基本保额 ', 
+  insurvalue double DEFAULT NULL COMMENT '保单价值 ', 
   applicantscustid string DEFAULT NULL COMMENT '投保人上游客户号', 
   applicantscustid string DEFAULT NULL COMMENT '投保人上游客户号', 
   appname string DEFAULT NULL COMMENT '投保人名称 POLICY_INFORMATION.NAME', 
   appname string DEFAULT NULL COMMENT '投保人名称 POLICY_INFORMATION.NAME', 
   appphone string DEFAULT NULL COMMENT '投保人手机', 
   appphone string DEFAULT NULL COMMENT '投保人手机', 
@@ -651,15 +652,15 @@ CREATE TABLE shanglifeecif.InsuranceArrangement(
   dfavor string DEFAULT NULL COMMENT '饮酒喜好', 
   dfavor string DEFAULT NULL COMMENT '饮酒喜好', 
   poservice string DEFAULT NULL COMMENT '是否保全 投保人持有保单是否在AUDIT_EDORLIST.CONTNO存在', 
   poservice string DEFAULT NULL COMMENT '是否保全 投保人持有保单是否在AUDIT_EDORLIST.CONTNO存在', 
   payendyear int DEFAULT NULL COMMENT '缴费年期 POLICY_INFORMATION.PAYENDYEAR', 
   payendyear int DEFAULT NULL COMMENT '缴费年期 POLICY_INFORMATION.PAYENDYEAR', 
-  loanmoney double DEFAULT NULL COMMENT '保单质押贷款金额 AUDIT_LN_LIST.LNMONEY ',
-  paydate string DEFAULT NULL COMMENT '缴至日期',
-  risk_categories string COMMENT '险种大类代码',
-  risk_categories_name string COMMENT '险种大类名称',
+  loanmoney double DEFAULT NULL COMMENT '保单质押贷款金额 AUDIT_LN_LIST.LNMONEY ', 
+  paydate string DEFAULT NULL COMMENT '缴至日期', 
+  risk_categories string DEFAULT NULL COMMENT '险种大类代码', 
+  risk_categories_name string DEFAULT NULL COMMENT '险种大类名称', 
   created_by string DEFAULT NULL COMMENT '创建人', 
   created_by string DEFAULT NULL COMMENT '创建人', 
   created_time date DEFAULT NULL COMMENT '创建时间', 
   created_time date DEFAULT NULL COMMENT '创建时间', 
   updated_by string DEFAULT NULL COMMENT '更新人', 
   updated_by string DEFAULT NULL COMMENT '更新人', 
   updated_time date DEFAULT NULL COMMENT '更新时间'
   updated_time date DEFAULT NULL COMMENT '更新时间'
-) 
+)
 COMMENT '保单 确定参与方之间,参与方和保险公司之间的协议,使相关各方能在遵守一定的规则并履行相关义务的前提下进行产品或资源或服务的供给'
 COMMENT '保单 确定参与方之间,参与方和保险公司之间的协议,使相关各方能在遵守一定的规则并履行相关义务的前提下进行产品或资源或服务的供给'
 stored as ES
 stored as ES
 with shard number 10
 with shard number 10
@@ -725,41 +726,42 @@ with shard number 10
 replication 1;
 replication 1;
 
 
 DROP TABLE IF EXISTS shanglifeecif.InsuranceClaimThread;
 DROP TABLE IF EXISTS shanglifeecif.InsuranceClaimThread;
-CREATE  TABLE shanglifeecif.InsuranceClaimThread(
-  icthreadid string NOT NULL  COMMENT '保险理赔Id',
-  crno string DEFAULT NULL COMMENT '立案号',
-  companyno string DEFAULT NULL COMMENT '公司代码',
-  policyno string NOT NULL COMMENT '保险单号 INSURANCE_CLAIM.CONTNO',
-  applicantid string DEFAULT NULL COMMENT '投保人ID',
-  appname string DEFAULT NULL COMMENT '投保人名称',
-  appphone string DEFAULT NULL COMMENT '投保人手机',
-  appcertid string DEFAULT NULL COMMENT '投保人证件号码 INSURANCE_CLAIM.RISKDATE',
-  cnno string DEFAULT NULL COMMENT '报案号',
-  losstime date DEFAULT NULL COMMENT '损失发生时间',
-  rpid string DEFAULT NULL COMMENT '报案人',
-  rpname string DEFAULT NULL COMMENT '报案人名称',
-  rpphone string DEFAULT NULL COMMENT '报案人电话',
-  lpid string DEFAULT NULL COMMENT '出险人	根据INSURANCE_CLAIM.INSUREDNO获取indid',
-  lpscutid string DEFAULT NULL COMMENT '出险人上游客户号	根据INSURANCE_CLAIM',
-  lpname string DEFAULT NULL COMMENT '出险人名称',
-  cndate date DEFAULT NULL COMMENT '报案日期 INSURANCE_CLAIM.RPTDATE',
-  lossdescribe string DEFAULT NULL COMMENT '损失原因 案件发生的原因:INSURANCE_CLAIM.LLOCCURREASON',
-  crdate date DEFAULT NULL COMMENT '立案日期 INSURANCE_CLAIM.RGTDATE',
-  cndescribe string DEFAULT NULL COMMENT '报案描述 INSURANCE_CLAIM.ACCIDENTDETAIL',
-  claimstatus string DEFAULT NULL COMMENT '理赔状态 案件的状态,例如:录入、已立案等',
-  csdate date DEFAULT NULL COMMENT '理赔状态日期',
-  relationship string DEFAULT NULL COMMENT '报案人与出险人关系',
-  ccno string DEFAULT NULL COMMENT '赔案号 AUDIT_CLAIM_INSURANCE.CLMNO',
-  ccstatus string DEFAULT NULL COMMENT '赔案状态',
-  ccsdate date DEFAULT NULL COMMENT '赔案状态日期',
-  productid string DEFAULT NULL COMMENT '险种代码	INSURANCE_CLAIM_HEALTH.RISKCODE',
-  productname string DEFAULT NULL COMMENT '险种代码	INSURANCE_CLAIM_HEALTH.RISKNAME',
-  ccamt double DEFAULT NULL COMMENT '赔付金额	INSURANCE_CLAIM_HEALTH.REALPAY',
-  branchcode string DEFAULT NULL COMMENT '机构代码',
-  claimcasestatus string DEFAULT NULL COMMENT '案件状态INSURANCE_CLAIM_HEALTH.LLCLAIMSTATE',
-  created_by string DEFAULT NULL COMMENT '',
-  created_time date DEFAULT NULL COMMENT '',
-  updated_by string DEFAULT NULL COMMENT '',
+CREATE  TABLE shanglifeecif.insuranceclaimthread(
+  icthreadid string NOT NULL COMMENT '保险理赔Id', 
+  crno string DEFAULT NULL COMMENT '立案号', 
+  companyno string DEFAULT NULL COMMENT '公司代码', 
+  policyno string NOT NULL COMMENT '保险单号 INSURANCE_CLAIM.CONTNO', 
+  applicantid string DEFAULT NULL COMMENT '投保人ID', 
+  appname string DEFAULT NULL COMMENT '投保人名称', 
+  appphone string DEFAULT NULL COMMENT '投保人手机', 
+  appcertid string DEFAULT NULL COMMENT '投保人证件号码 INSURANCE_CLAIM.RISKDATE', 
+  cnno string DEFAULT NULL COMMENT '报案号', 
+  losstime string DEFAULT NULL COMMENT '损失发生时间', 
+  rpid string DEFAULT NULL COMMENT '报案人', 
+  rpname string DEFAULT NULL COMMENT '报案人名称', 
+  rpphone string DEFAULT NULL COMMENT '报案人电话', 
+  lpid string DEFAULT NULL COMMENT '出险人',
+  lpscutid string DEFAULT NULL COMMENT '出险人上游客户号',
+  lpname string DEFAULT NULL COMMENT '出险人名称', 
+  cndate string DEFAULT NULL COMMENT '报案日期 INSURANCE_CLAIM.RPTDATE', 
+  lossdescribe string DEFAULT NULL COMMENT '损失原因 案件发生的原因:INSURANCE_CLAIM.LLOCCURREASON', 
+  crdate string DEFAULT NULL COMMENT '立案日期 INSURANCE_CLAIM.RGTDATE', 
+  cndescribe string DEFAULT NULL COMMENT '报案描述 INSURANCE_CLAIM.ACCIDENTDETAIL', 
+  claimstatus string DEFAULT NULL COMMENT '理赔状态 案件的状态,例如:录入、已立案等', 
+  csdate string DEFAULT NULL COMMENT '理赔状态日期', 
+  relationship string DEFAULT NULL COMMENT '报案人与出险人关系', 
+  ccno string DEFAULT NULL COMMENT '赔案号 AUDIT_CLAIM_INSURANCE.CLMNO', 
+  ccstatus string DEFAULT NULL COMMENT '赔案状态', 
+  ccsdate string DEFAULT NULL COMMENT '赔案状态日期', 
+  productid string DEFAULT NULL COMMENT '险种代码',
+  productname string DEFAULT NULL COMMENT '险种代码名称',
+  ccamt double DEFAULT NULL COMMENT '赔付金额',
+  branchcode string DEFAULT NULL COMMENT '机构代码', 
+  claimcasestatus string DEFAULT NULL COMMENT '案件状态INSURANCE_CLAIM_HEALTH.LLCLAIMSTATE', 
+  accidenttype string DEFAULT NULL COMMENT '理赔类型', 
+  created_by string DEFAULT NULL COMMENT '', 
+  created_time date DEFAULT NULL COMMENT '', 
+  updated_by string DEFAULT NULL COMMENT '', 
   updated_time date DEFAULT NULL COMMENT ''
   updated_time date DEFAULT NULL COMMENT ''
 )
 )
 COMMENT '保险理赔'
 COMMENT '保险理赔'
@@ -902,3 +904,16 @@ COMMENT '
 stored as ES
 stored as ES
 with shard number 10
 with shard number 10
 replication 1;
 replication 1;
+
+
+
+DROP TABLE IF EXISTS shanglifeecif.exception_log;
+CREATE  TABLE shanglifeecif.exception_log(
+  log_code STRING DEFAULT NULL COMMENT '错误代码',  -- dialect: ORACLE
+  log_msg string DEFAULT NULL COMMENT '错误信息', 
+  log_time timestamp NOT NULL COMMENT '操作时间'
+)
+COMMENT '错误日志'
+stored as ES
+with shard number 10
+replication 1;

+ 39 - 118
sql-achievement/存储过程/洛阳测试环境使用sql整理/个体关系存储过程.sql

@@ -1,176 +1,97 @@
-DROP TABLE IF EXISTS shanglifeecif.indrelationship_tmp;
-CREATE  TABLE shanglifeecif.indrelationship_tmp(
-  id string DEFAULT NULL COMMENT 'id', 
-  rstype string DEFAULT NULL COMMENT '关系类型 其他、配偶、祖父母、外祖父母、祖孙、外祖孙、本人、父母子女', 
-  indid1 string DEFAULT NULL COMMENT '个体1', 
-  scustid1 string DEFAULT NULL COMMENT '个体1上游客户号', 
-  name1 string DEFAULT NULL COMMENT '个体1名称', 
-  sex1 string DEFAULT NULL COMMENT '个体性别1', 
-  mphone1 string DEFAULT NULL COMMENT '个体1手机', 
-  idcard1 string DEFAULT NULL COMMENT '个体1证件号码', 
-  role1 string DEFAULT NULL COMMENT '个体1角色 父亲、母亲、儿子、女儿、妻子、丈夫', 
-  indid2 string DEFAULT NULL COMMENT '个体2', 
-  scustid2 string DEFAULT NULL COMMENT '个体2上游客户号', 
-  name2 string DEFAULT NULL COMMENT '个体2名称', 
-  sex2 string DEFAULT NULL COMMENT '个体性别2', 
-  mphone2 string DEFAULT NULL COMMENT '个体2手机', 
-  idcard2 string DEFAULT NULL COMMENT '个体2证件号码', 
-  role2 string DEFAULT NULL COMMENT '个体2角色 父亲、母亲、儿子、女儿、妻子、丈夫', 
-  rsstime timestamp DEFAULT NULL COMMENT '开始时间', 
-  rsetime timestamp DEFAULT NULL COMMENT '结束时间'
-)
-COMMENT '个体关系临时表'
-stored as ES
-with shard number 10
-replication 1;
-
-CREATE OR REPLACE PROCEDURE shanglifeecif.init_indrelationship_tmp( ) 
+CREATE OR REPLACE PROCEDURE shanglifeecif.init_indrelationship_main( ) 
 IS
 IS
-DECLARE
-	strsql string 
 BEGIN
 BEGIN
-	--删除数据
-	DELETE shanglifeecif.indrelationship_tmp;
-	--插入数据
-	INSERT INTO shanglifeecif.indrelationship_tmp(
-		id,
+	DELETE FROM shanglifeecif.IndRelationShip;
+	--从保单信息表(POLICY_INFORMATION)获取投保人和被保人的关系并
+	insert into shanglifeecif.IndRelationShip(
+		irsid,
 		RSType,
 		RSType,
-		SCustID1,
+		IndID1,
 		Name1,
 		Name1,
-		sex1,
 		IDCard1,
 		IDCard1,
 		Role1,
 		Role1,
-		SCustID2,
+		IndID2,
 		Name2,
 		Name2,
-		sex2,
 		IDCard2,
 		IDCard2,
 		RSSTime,
 		RSSTime,
 		Role2
 		Role2
-		)
+	)
 	SELECT 
 	SELECT 
-		row_number()over() AS IRSID,
-		max(RELATIONTOAPPNT) AS RSType,
-		CUSTOMERNO AS IndID1,
-		max(NAME) AS Name1,
-		max(sex) AS sex1,
-		max(IDNO) AS IDCard1,
-		CASE max(RELATIONTOAPPNT) 
+	row_number()over(),
+	max(p.RELATIONTOAPPNT),
+	p.CUSTOMERNO,
+	max(p.NAME),
+	max(p.IDNO),
+	CASE max(p.RELATIONTOAPPNT) 
 			WHEN '子女' 
 			WHEN '子女' 
-				THEN CASE max(sex) 
+				THEN CASE max(p.sex) 
 					WHEN 1 THEN '母亲' 
 					WHEN 1 THEN '母亲' 
 					WHEN 0 THEN '父亲' 
 					WHEN 0 THEN '父亲' 
 				END
 				END
 		    WHEN '父母' 
 		    WHEN '父母' 
-		    	THEN CASE max(sex) 
+		    	THEN CASE max(p.sex) 
 		    		WHEN 1 THEN '女儿' 
 		    		WHEN 1 THEN '女儿' 
 		    		WHEN 0 THEN '儿子' 
 		    		WHEN 0 THEN '儿子' 
 		    	END
 		    	END
 		    WHEN '配偶' 
 		    WHEN '配偶' 
-		    	THEN CASE max(sex) 
+		    	THEN CASE max(p.sex) 
 		    		WHEN 1 THEN '妻子' 
 		    		WHEN 1 THEN '妻子' 
 		    		WHEN 0 THEN '丈夫' 
 		    		WHEN 0 THEN '丈夫' 
 		    	END
 		    	END
 		    WHEN '祖父母、外祖父母' 
 		    WHEN '祖父母、外祖父母' 
-		    	THEN CASE max(sex) 
+		    	THEN CASE max(p.sex) 
 		    		WHEN 1 THEN '(外)孙女' 
 		    		WHEN 1 THEN '(外)孙女' 
 		    		WHEN 0 THEN '(外)祖孙' 
 		    		WHEN 0 THEN '(外)祖孙' 
 		    	END
 		    	END
 		    WHEN '祖孙、外祖孙' 
 		    WHEN '祖孙、外祖孙' 
-		    	THEN CASE max(sex) 
+		    	THEN CASE max(p.sex) 
 		    		WHEN 1 THEN '(外)祖母' 
 		    		WHEN 1 THEN '(外)祖母' 
 		    		WHEN 0 THEN '(外)祖父' 
 		    		WHEN 0 THEN '(外)祖父' 
 		    	END
 		    	END
-			ELSE max(RELATIONTOAPPNT) 
+			ELSE max(p.RELATIONTOAPPNT) 
 		END AS Role1,
 		END AS Role1,
-		INSUREDNO AS IndID2,
-		max(INSUREDNAME) AS Name2,
-		max(insuredsex) AS sex2,
-		max(INSUREDIDNO) AS IDCard2,
-		min(CUSTOMGETPOLDATE) AS RSSTime,
-		CASE max(RELATIONTOAPPNT) 
+	p.INSUREDNO,
+	max(p.INSUREDNAME),
+	max(p.INSUREDIDNO),
+	min(p.CUSTOMGETPOLDATE),
+   CASE max(p.RELATIONTOAPPNT) 
 			WHEN '子女' 
 			WHEN '子女' 
-				THEN CASE max(INSUREDSEX) 
+				THEN CASE max(p.INSUREDSEX) 
 					WHEN 1 THEN '女儿' 
 					WHEN 1 THEN '女儿' 
 					WHEN 0 THEN '儿子' 
 					WHEN 0 THEN '儿子' 
 				END
 				END
 		    WHEN '父母' 
 		    WHEN '父母' 
-		    	THEN CASE max(INSUREDSEX) 
+		    	THEN CASE max(p.INSUREDSEX) 
 		    		WHEN 1 THEN '母亲' 
 		    		WHEN 1 THEN '母亲' 
 		    		WHEN 0 THEN '父亲' 
 		    		WHEN 0 THEN '父亲' 
 		    	END
 		    	END
 		    WHEN '配偶' 
 		    WHEN '配偶' 
-		    	THEN CASE max(INSUREDSEX) 
+		    	THEN CASE max(p.INSUREDSEX) 
 		    		WHEN 1 THEN '妻子' 
 		    		WHEN 1 THEN '妻子' 
 		    		WHEN 0 THEN '丈夫' 
 		    		WHEN 0 THEN '丈夫' 
 		    	END
 		    	END
 		    WHEN '祖父母、外祖父母' 
 		    WHEN '祖父母、外祖父母' 
-		    	THEN CASE max(INSUREDSEX) 
+		    	THEN CASE max(p.INSUREDSEX) 
 		    		WHEN 1 THEN '(外)祖母' 
 		    		WHEN 1 THEN '(外)祖母' 
 		    		WHEN 0 THEN '(外)祖父' 
 		    		WHEN 0 THEN '(外)祖父' 
 		    	END
 		    	END
 		    WHEN '祖孙、外祖孙' 
 		    WHEN '祖孙、外祖孙' 
-		    	THEN CASE max(INSUREDSEX) 
+		    	THEN CASE max(p.INSUREDSEX) 
 		    		WHEN 1 THEN '(外)孙女' 
 		    		WHEN 1 THEN '(外)孙女' 
 		    		WHEN 0 THEN '(外)祖孙' 
 		    		WHEN 0 THEN '(外)祖孙' 
 		    	END
 		    	END
-			ELSE max(RELATIONTOAPPNT) 
+			ELSE max(p.RELATIONTOAPPNT) 
 		END AS Role2
 		END AS Role2
-	FROM shanghailifeecif.POLICY_INFORMATION 
-	WHERE RELATIONTOAPPNT<>'本人' AND RELATIONTOAPPNT IS NOT NULL
-	GROUP BY CUSTOMERNO,INSUREDNO;
+		FROM shanghailifeecif.POLICY_INFORMATION p
+		WHERE p.RELATIONTOAPPNT<>'本人'
+		GROUP BY p.CUSTOMERNO,p.INSUREDNO;
 	
 	
-
-	--更新临时表的indid1 indid2
-	UPDATE shanglifeecif.indrelationship_tmp a set indid1 = 
-		(SELECT b.indid FROM (select 
-			indid,row_number() over(partition by scustid) rn ,SCustID
-		from shanglifeecif.individual) b where a.SCustID1 = b.SCustID AND b.rn = 1);
-	UPDATE shanglifeecif.indrelationship_tmp a set indid2 = 
-		(SELECT b.indid FROM (select 
-			indid,row_number() over(partition by scustid) rn ,SCustID
-		from shanglifeecif.individual) b where a.SCustID2 = b.SCustID AND b.rn = 1);
-
-END;
-
-/
-CREATE OR REPLACE PROCEDURE shanglifeecif.init_indrelationship( ) 
-IS
-DECLARE
-BEGIN
+	--此时插入IndRelationShip的IndID1,IndID2为上游系统客户号,根据Individual.SCustID更新为Individual.IndID	
 	
 	
-	DELETE FROM shanglifeecif.indrelationship;
-	--插入数据
-	INSERT INTO shanglifeecif.indrelationship(
-		IRSID, --'个体关系ID' 
-		RSType, --'关系类型 其他、配偶、祖父母、外祖父母、祖孙、外祖孙、本人、父母子女' ,
-		IndID1, --'个体1' ,
-		Name1, --个体1名称
+	UPDATE shanglifeecif.IndRelationShip sirs SET sirs.indid1 = 
+	(SELECT si.indid FROM shanglifeecif.individual si WHERE si.scustid = sirs.indid1);
 	
 	
-		IDCard1, --个体1证件号码
-		Role1,--个体1角色 父亲、母亲、儿子、女儿、妻子、丈夫
-		IndID2,--个体2
-		Name2,--个体2名称	sex2,--个体2手机
-		IDCard2,--个体2证件号码
-		Role2,--个体2角色 父亲、母亲、儿子、女儿、妻子、丈夫
-		RSSTime,--开始时间
-		CREATED_BY,--创建人
-		CREATED_TIME--
-		)
-	SELECT 
-		id,
-		RSType,
-		indid1,
-		Name1,
-		IDCard1,
-		Role1,
-		indid2,
-		Name2,
-		IDCard2,
-		Role2,
-		RSSTime,
-		'admin',
-		sysdate
-	FROM shanglifeecif.indrelationship_tmp where indid1 is not null and indid2 is not null
+	UPDATE shanglifeecif.IndRelationShip sirs SET sirs.indid2 = 
+	(SELECT si.indid FROM shanglifeecif.individual si WHERE si.scustid = sirs.indid2);
 
 
-	
 END;
 END;

+ 14 - 2
sql-achievement/存储过程/洛阳测试环境使用sql整理/保单件数分布统计.sql

@@ -17,7 +17,19 @@ BEGIN
 		bdnum
 		bdnum
 	) SELECT row_number()over(),t.labelName,t.bdnum FROM (
 	) SELECT row_number()over(),t.labelName,t.bdnum FROM (
 		SELECT si.label25 labelName,count(1) bdnum FROM shanglifeecif.individual si GROUP BY si.label25 
 		SELECT si.label25 labelName,count(1) bdnum FROM shanglifeecif.individual si GROUP BY si.label25 
-	) t
-	
+	) t;
 	
 	
+		
+	UPDATE shanglifeecif.Individual si1 SET si1.Label25 = (
+		CASE 
+				WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) == 0 THEN '无保单' 
+				WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) == 1 THEN '1件保单' 
+				WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) == 2 THEN '2件保单'  
+				WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) >= 3  AND (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) <= 5 THEN '3-5件保单'  
+				WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) >= 6  AND (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) <= 10 THEN '6-10件保单'  
+				WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) >= 11  AND (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0))<= 20 THEN '11-20件保单'  
+				WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) >= 21  AND (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) <= 50 THEN '21-50件保单'  
+				WHEN (nvl(si1.NOVPolicy,0) + nvl(si1.NOIVPolicy,0)) > 50 THEN '50件保单以上' 
+		END 
+			) where 1 = 1;	
 END	;
 END	;

+ 37 - 174
sql-achievement/存储过程/洛阳测试环境使用sql整理/保单信息存储过程.sql

@@ -3,12 +3,8 @@ IS
 BEGIN
 BEGIN
 	--根据policy_information 更新保单表
 	--根据policy_information 更新保单表
 	shanglifeecif.init_insurancearrangement_policy_information();
 	shanglifeecif.init_insurancearrangement_policy_information();
-
-	--根据health_insurance_listing 更新相关字段
-	shanglifeecif.up_insurancearrangement_health_insurance_listing();
-
-	--其他标的字段 更新
-	shanglifeecif.up_insurancearrangement_other();
+	--更新险种大类
+	shanglifeecif.update_risk_categories();
 END;
 END;
 
 
 
 
@@ -41,38 +37,42 @@ INSERT INTO shanglifeecif.insurancearrangement(
   Risk,--保额
   Risk,--保额
   NPDate,--下次缴费日期
   NPDate,--下次缴费日期
   PADate,--投保日期
   PADate,--投保日期
+  pisdate,--签单日期
   AgentOrg,--代理机构
   AgentOrg,--代理机构
   schannel,--销售渠道
   schannel,--销售渠道
+   POService,--保全标志
   PWComp,--承保分公司
   PWComp,--承保分公司
   agrmntage ,--保险期限
   agrmntage ,--保险期限
   created_by ,-- '创建人', 
   created_by ,-- '创建人', 
-  created_time -- '创建时间', 
+  created_time -- '创建时间' 
 
 
 ) 
 ) 
 SELECT 
 SELECT 
 	row_number()over(),
 	row_number()over(),
-	CONTNO,--policyno ,-- '保险单号 INSURANCEINFO.CONTNO', 
-	CVALIDATE,--pindate ,-- '起保日期 POLICY_INFORMATION.CVALIDATE', 
-	ENDDATE,--pmdate ,-- '终保日期 POLICY_INFORMATION.ENDDATE', 
+	trim(CONTNO) as CONTNO,--policyno ,-- '保险单号 INSURANCEINFO.CONTNO', 
+	trim(CVALIDATE) as CVALIDATE,--pindate ,-- '起保日期 POLICY_INFORMATION.CVALIDATE', 
+	trim(ENDDATE) as ENDDATE,--pmdate ,-- '终保日期 POLICY_INFORMATION.ENDDATE', 
 	PAYCOUNT,--norenewal ,-- '续保次数 POLICY_INFORMATION.PAYCOUNT', 
 	PAYCOUNT,--norenewal ,-- '续保次数 POLICY_INFORMATION.PAYCOUNT', 
-	PAYINTV,--payment ,-- '缴费方式 POLICY_INFORMATION.PAYINTV', 
-	CUSTOMERNO,--applicantid ,-- '投保人 根据POLICY_INFORMATION.CUSTOMERNO关联individual上游客户号,再找到individualid', 
-	NAME,--appname ,-- '投保人名称 POLICY_INFORMATION.NAME', 
-	IDNO,--appcertid ,-- '投保人证件号码 POLICY_INFORMATION.IDNO', 
-	insuredno,--insuredid ,-- '主被保险人 insuredno', 
-	INSUREDNAME,--insname ,-- '主被保险人名称 POLICY_INFORMATION.INSUREDNAME', 
-	INSUREDIDNO,--inscertid ,-- '主被保险人证件号码 POLICY_INFORMATION.INSUREDIDNO', 
-	RISKCODE,--productid ,-- '险种代码 POLICY_INFORMATION.RISKCODE', 
-	RISKNAME, --productname 险种名称
-	SALECOM,--policybelong ,-- '业绩归属 POLICY_INFORMATION.SALECOM', 
+	trim(PAYINTV) as PAYINTV,--payment ,-- '缴费方式 POLICY_INFORMATION.PAYINTV', 
+	trim(CUSTOMERNO) as CUSTOMERNO,--applicantid ,-- '投保人 根据POLICY_INFORMATION.CUSTOMERNO关联individual上游客户号,再找到individualid', 
+	trim(NAME) as NAME,--appname ,-- '投保人名称 POLICY_INFORMATION.NAME', 
+	trim(IDNO) as IDNO,--appcertid ,-- '投保人证件号码 POLICY_INFORMATION.IDNO', 
+	trim(insuredno) as insuredno,--insuredid ,-- '主被保险人 insuredno', 
+	trim(INSUREDNAME) as INSUREDNAME,--insname ,-- '主被保险人名称 POLICY_INFORMATION.INSUREDNAME', 
+	trim(INSUREDIDNO) as INSUREDIDNO,--inscertid ,-- '主被保险人证件号码 POLICY_INFORMATION.INSUREDIDNO', 
+	trim(RISKCODE) as RISKCODE,--productid ,-- '险种代码 POLICY_INFORMATION.RISKCODE', 
+	trim(RISKNAME) as RISKNAME, --productname 险种名称
+	trim(SALECOM) as SALECOM,--policybelong ,-- '业绩归属 POLICY_INFORMATION.SALECOM', 
 	PAYENDYEAR,--payendyear ,-- '缴费年期 POLICY_INFORMATION.PAYENDYEAR', 
 	PAYENDYEAR,--payendyear ,-- '缴费年期 POLICY_INFORMATION.PAYENDYEAR', 
-	APPFLAG, --保单状态
+	trim(APPFLAG) as APPFLAG, --保单状态
 	prem,--保费
 	prem,--保费
 	AMNT,--保额
 	AMNT,--保额
-	PAYTODATE,--下次缴费日期
-	CUSTOMGETPOLDATE,--投保日期
-	AGENTCOM,--代理机构
-	SALECHNL,--销售渠道
+	trim(PAYTODATE) as PAYTODATE,--下次缴费日期
+	trim(CUSTOMGETPOLDATE) as CUSTOMGETPOLDATE,--投保日期
+	trim(SIGNDATE) as SIGNDATE,--签单日期
+	trim(AGENTCOM) as AGENTCOM,--代理机构
+	trim(SALECHNL) as SALECHNL,--销售渠道
+	trim(PRESERVATIONFLAG) as PRESERVATIONFLAG,--保全标志
 	"上海人寿上海分公司",
 	"上海人寿上海分公司",
 	case
 	case
 		when security ='终身' then 42720
 		when security ='终身' then 42720
@@ -101,65 +101,31 @@ SELECT
 	sysdate() 
 	sysdate() 
 	FROM shanghailifeecif.policy_information 
 	FROM shanghailifeecif.policy_information 
 	
 	
-	--更新投保人和被保人id  因为 scustid有重复所以需要去下重
-
-	UPDATE shanglifeecif.insurancearrangement a SET (
-		applicantid --'投保人ID',
-	) = (
-	   select
-	   	c.indid
-	   from (
-		   	select
-				row_number()over(PARTITION BY b.scustid) rn,
-				b.indid,
-				b.scustid
-			from shanglifeecif.individual b
-	   ) c
-	   WHERE c.scustid  = a.applicantscustid and c.rn=1
-	) WHERE 1=1 ;
-
-
-	UPDATE shanglifeecif.insurancearrangement a SET (
-		insuredid --'投保人ID',
-	) = (
-	   select
-	   	c.indid
-	   from (
-		   	select
-				row_number()over(PARTITION BY b.scustid) rn,
-				b.indid,
-				b.scustid
-			from shanglifeecif.individual b
-	   ) c
-	   WHERE c.scustid  = a.insuredscustid and c.rn=1
-	) WHERE 1=1 ;
-
 	--更新INSURANCEINFO 表中的信息
 	--更新INSURANCEINFO 表中的信息
 
 
 	UPDATE shanglifeecif.insurancearrangement a SET (
 	UPDATE shanglifeecif.insurancearrangement a SET (
 		pano ,-- '投保单号 INSURANCEINFO.PRTNO',  
 		pano ,-- '投保单号 INSURANCEINFO.PRTNO',  
-		pisdate ,-- '签单日期 INSURANCEINFO.SIGNDATE', 
-		padate ,-- '投保日期 INSURANCEINFO.POLAPPLYDATE', 
-		policystate ,--INSURANCEINFO,appflag
-		prem ,-- '总保费 INSURANCEINFO.PREM', 
-		productname ,-- '险种名称	 INSURANCEINFO.RISKNAME'
+		--pisdate ,-- '签单日期 INSURANCEINFO.SIGNDATE', 
+		--padate ,-- '投保日期 INSURANCEINFO.POLAPPLYDATE', 
+		--policystate ,--INSURANCEINFO,appflag
+		--prem ,-- '总保费 INSURANCEINFO.PREM', 
+		--productname ,-- '险种名称	 INSURANCEINFO.RISKNAME'
 		agentchannel -- '代理渠道 INSURANCEINFO.SELLTYPE', 
 		agentchannel -- '代理渠道 INSURANCEINFO.SELLTYPE', 
 	) = (
 	) = (
 		select
 		select
-			PRTNO,--pano ,-- '投保单号 INSURANCEINFO.PRTNO',  
-			SIGNDATE,--pisdate ,-- '签单日期 INSURANCEINFO.SIGNDATE', 
-			POLAPPLYDATE,--padate ,-- '投保日期 INSURANCEINFO.POLAPPLYDATE', 
-			appflag,--policystate ,--INSURANCEINFO,appflag
-			PREM,--prem ,-- '总保费 INSURANCEINFO.PREM', 
-			RISKNAME,--productname ,-- '险种名称	 INSURANCEINFO.RISKNAME'
-			SELLTYPE--agentchannel ,-- '代理渠道 INSURANCEINFO.SELLTYPE', 
+			trim(b.PRTNO) as PRTNO,--pano ,-- '投保单号 INSURANCEINFO.PRTNO',  
+			--SIGNDATE,--pisdate ,-- '签单日期 INSURANCEINFO.SIGNDATE', 
+			--POLAPPLYDATE,--padate ,-- '投保日期 INSURANCEINFO.POLAPPLYDATE', 
+			--appflag,--policystate ,--INSURANCEINFO,appflag
+			--PREM,--prem ,-- '总保费 INSURANCEINFO.PREM', 
+			--RISKNAME,--productname ,-- '险种名称	 INSURANCEINFO.RISKNAME'
+			trim(b.SELLTYPE) as SELLTYPE--agentchannel ,-- '代理渠道 INSURANCEINFO.SELLTYPE', 
 		from shanghailifeecif.INSURANCEINFO b
 		from shanghailifeecif.INSURANCEINFO b
 		where b.contno  = a.policyno
 		where b.contno  = a.policyno
 	) WHERE 1=1 ;
 	) WHERE 1=1 ;
 
 
 END;
 END;
 /
 /
-
 CREATE OR REPLACE PROCEDURE shanglifeecif.update_risk_categories() -- 创建主存储过程
 CREATE OR REPLACE PROCEDURE shanglifeecif.update_risk_categories() -- 创建主存储过程
 IS    
 IS    
 BEGIN
 BEGIN
@@ -185,106 +151,3 @@ BEGIN
 
 
 END;
 END;
 
 
---临时表
-
-CREATE TABLE shanglifeecif.insurancearrangement_health_tmp(
-    id string,
-    orderid string  DEFAULT NULL COMMENT '用于分组的排序号',
-    contno string DEFAULT NULL COMMENT '保单号',
-  	AGENTGROUP string DEFAULT NULL COMMENT '承保分公司',--pwcomp ,-- '承保分公司 HEALTH_INSURANCE_LISTING.AGENTGROUPAREA 营业区HEALTH_INSURANCE_LISTING.AGENTGROUP 营业部', 
-	SALECHANNELS string DEFAULT NULL COMMENT '销售渠道',--schannel ,-- '销售渠道 HEALTH_INSURANCE_LISTING.SALECHANNELS 1 2 3 4 5',
-	AMNT string DEFAULT NULL COMMENT '总保额',--risk ,-- '总保额 HEALTH_INSURANCE_LISTING.AMNT(测试环境中,此表保单数据量较其他表如:POLICY_INFORMATION,INSURANCEINFO 缺少至少一个数据量级)', 
-	AGENTCODE  string DEFAULT NULL COMMENT'业务员名称'--spname ,-- '业务员名称 HEALTH_INSURANCE_LISTING.AGENTCODE', 
-) COMMENT '保单处理个险承保清单自助分析 数据临时表 '
-STORED AS ES
-with shard number 10
-replication 1;
-
-
-CREATE OR REPLACE PROCEDURE shanglifeecif.up_insurancearrangement_health_insurance_listing() -- 创建主存储过程
-IS    
-BEGIN
-	--清空临时表数据
-	delete from shanglifeecif.insurancearrangement_health_tmp;
-
-	--初始化临时表
-	insert into shanglifeecif.insurancearrangement_health_tmp (
-		id,
-		orderid,
-		contno,
-		agentgroup,
-		SALECHANNELS,
-		AMNT,
-		AGENTCODE
-	) select 
-		row_number()over(),
-		row_number()over(PARTITION BY contno),
-		contno,
-		agentgroup,
-		SALECHANNELS,
-		AMNT,
-		AGENTCODE
-	from shanghailifeecif.HEALTH_INSURANCE_LISTING
-
-	--根据临时表更新insurancearrangement 表
-	UPDATE shanglifeecif.insurancearrangement a SET (
-		pwcomp ,-- '承保分公司 HEALTH_INSURANCE_LISTING.AGENTGROUPAREA 营业区HEALTH_INSURANCE_LISTING.AGENTGROUP 营业部', 
-		schannel ,-- '销售渠道 HEALTH_INSURANCE_LISTING.SALECHANNELS 1 2 3 4 5',
-		risk ,-- '总保额 HEALTH_INSURANCE_LISTING.AMNT(测试环境中,此表保单数据量较其他表如:POLICY_INFORMATION,INSURANCEINFO 缺少至少一个数据量级)', 
-		spname -- '业务员名称 HEALTH_INSURANCE_LISTING.AGENTCODE', 
-	) = (
-		select
-			b.AGENTGROUP,--pwcomp ,-- '承保分公司 HEALTH_INSURANCE_LISTING.AGENTGROUPAREA 营业区HEALTH_INSURANCE_LISTING.AGENTGROUP 营业部', 
-			b.SALECHANNELS,--schannel ,-- '销售渠道 HEALTH_INSURANCE_LISTING.SALECHANNELS 1 2 3 4 5',
-			b.AMNT,--risk ,-- '总保额 HEALTH_INSURANCE_LISTING.AMNT(测试环境中,此表保单数据量较其他表如:POLICY_INFORMATION,INSURANCEINFO 缺少至少一个数据量级)', 
-			b.AGENTCODE--spname ,-- '业务员名称 HEALTH_INSURANCE_LISTING.AGENTCODE', 
-		from shanglifeecif.insurancearrangement_health_tmp b
-		where b.contno  = a.policyno
-		and b.orderid = 1
-	) WHERE 1=1 ;
-
-
-END;
-
-/
-CREATE OR REPLACE PROCEDURE shanglifeecif.up_insurancearrangement_other() -- 创建主存储过程
-IS    
-BEGIN
-	
-
-
-	UPDATE shanglifeecif.insurancearrangement a SET (
-		policytype  -- '保单类型', 
-	) = (
-	   select
-	   	c.CONTTYPE
-	   from (
-		   	select
-				row_number()over(PARTITION BY b.contno) rn,
-				b.CONTTYPE,
-				b.contno
-			from shanghailifeecif.PERSONAL_INSURANCE b
-	   ) c
-	   WHERE c.contno  = a.policyno and c.rn=1
-	) WHERE 1=1 ;
-
-	UPDATE shanglifeecif.insurancearrangement a SET (
-		poservice	  -- '是否保全', 
-	) = (
-	   SELECT
-	   	IF(count(b.CONTNO) >0,1,0)
-	   FROM shanghailifeecif.AUDIT_EDORLIST b
-	   where b.contno  = a.policyno
-	) WHERE 1=1 ;
-
-
-	UPDATE shanglifeecif.insurancearrangement a SET (
-		soinsured-- '被保人数', 
-	) = (
-	   SELECT
-	   		PEOPLES3
-	   FROM shanghailifeecif.HEALTH_GROUP_LISTING b
-	   where b.contno  = a.policyno
-	) WHERE 1=1 ;
-
-END;

+ 165 - 184
sql-achievement/存储过程/洛阳测试环境使用sql整理/客户信息存储过程.sql

@@ -22,7 +22,9 @@ BEGIN
 	shanglifeecif.up_t_customers_class_1();
 	shanglifeecif.up_t_customers_class_1();
 	
 	
 	--更新职业信息
 	--更新职业信息
-	shanglifeecif.up_health_insurance_listing_1();
+	--shanglifeecif.up_health_insurance_listing_1();
+	--更新其它信息
+	shanglifeecif.up_other_customerinfo()
 
 
 END;
 END;
 
 
@@ -35,55 +37,49 @@ BEGIN
 	insert into shanglifeecif.individual (
 	insert into shanglifeecif.individual (
 		indid,
 		indid,
 		custid,
 		custid,
-
 		scustid,
 		scustid,
 	 	name,
 	 	name,
 	 	gender,
 	 	gender,
 	 	birthday,
 	 	birthday,
 	 	idcard,
 	 	idcard,
-		custtype,
 	 	created_time,
 	 	created_time,
 	 	created_by
 	 	created_by
 	)
 	)
 	SELECT 
 	SELECT 
 		row_number()over(),
 		row_number()over(),
 		'CP'||lpad(row_number()over(),10,'0'),	
 		'CP'||lpad(row_number()over(),10,'0'),	
-
 		scustid ,
 		scustid ,
-		name,
-		gender ,
-		birthday,
-		idcard ,
-		max(custtype) AS custtype,
+		max(name) as name,
+		max(gender) as gender ,
+		max(birthday) as birthday,
+		max(idcard) as idcard,
 		sysdate,
 		sysdate,
 		'admin'
 		'admin'
 		FROM (
 		FROM (
 			SELECT
 			SELECT
-				customerno AS scustid,--投保人
-				name AS name,
-				sex AS gender,
-				birthday AS  birthday,
-				idtype AS idtype , 
-				idno AS idcard,
-				"投保人" AS custtype
+				trim(customerno) AS scustid,--投保人
+				trim(name) AS name,
+				trim(sex) AS gender,
+				trim(birthday) AS  birthday,
+				trim(idtype) AS idtype , 
+				trim(idno) AS idcard
 			FROM
 			FROM
 				shanghailifeecif.policy_information 
 				shanghailifeecif.policy_information 
 			WHERE customerno IS NOT NULL AND idtype=0
 			WHERE customerno IS NOT NULL AND idtype=0
 			UNION 
 			UNION 
 			SELECT 
 			SELECT 
-				insuredno AS scustid,--被保人
-				insuredname AS name,
-				insuredsex AS gender,
-				insuredbirthday AS  birthday,
-				insuredidtype AS idtype , 
-				insuredidno AS idcard,
-				"被保人" AS custtype
+				trim(insuredno) AS scustid,--被保人
+				trim(insuredname) AS name,
+				trim(insuredsex) AS gender,
+				trim(insuredbirthday) AS  birthday,
+				trim(insuredidtype) AS idtype , 
+				trim(insuredidno) AS idcard
 			FROM
 			FROM
 				shanghailifeecif.policy_information
 				shanghailifeecif.policy_information
 			WHERE insuredno IS NOT NULL AND insuredidtype=0
 			WHERE insuredno IS NOT NULL AND insuredidtype=0
-			) tmpTable GROUP BY scustid ,name,gender,birthday,idcard
-	--已经存在的数据行数
-	select count(0) into individual_count from shanglifeecif.individual
+			) tmpTable GROUP BY scustid
+		--已经存在的数据行数
+		select count(0) into individual_count from shanglifeecif.individual
 
 
 END;
 END;
 /
 /
@@ -95,54 +91,47 @@ BEGIN
 	insert into shanglifeecif.individual (
 	insert into shanglifeecif.individual (
 			indid,
 			indid,
 			custid,
 			custid,
-		 	
 			scustid,
 			scustid,
 		 	name,
 		 	name,
 		 	gender,
 		 	gender,
 		 	birthday,
 		 	birthday,
 		 	passport,
 		 	passport,
-		 	custtype,
-		 	
 		 	created_time,
 		 	created_time,
 		 	created_by
 		 	created_by
 	)
 	)
 	SELECT 
 	SELECT 
-		row_number()over()+individual_count,
-		'CP'||lpad(row_number()over()+individual_count,10,'0'),
-
+		row_number()over(),
+		'CP'||lpad(row_number()over(),10,'0'),	
 		scustid ,
 		scustid ,
-		name,
-		gender ,
-		birthday,
-		idcard ,
-		max(custtype) as custtype,
+		max(name) as name,
+		max(gender) as gender ,
+		max(birthday) as birthday,
+		max(idcard) as idcard,
 		sysdate,
 		sysdate,
 		'admin'
 		'admin'
 		FROM (
 		FROM (
 			SELECT
 			SELECT
-				customerno AS scustid,--投保人
-				name AS name,
-				sex AS gender,
-				birthday AS  birthday,
-				idtype AS idtype , 
-				idno AS idcard,
-				"投保人" as custtype
+				trim(customerno) AS scustid,--投保人
+				trim(name) AS name,
+				trim(sex) AS gender,
+				trim(birthday) AS  birthday,
+				trim(idtype) AS idtype , 
+				trim(idno) AS idcard
 			FROM
 			FROM
 				shanghailifeecif.policy_information 
 				shanghailifeecif.policy_information 
 			WHERE customerno IS NOT NULL AND idtype=1
 			WHERE customerno IS NOT NULL AND idtype=1
 			UNION 
 			UNION 
 			SELECT 
 			SELECT 
-				insuredno AS scustid,--被保人
-				insuredname AS name,
-				insuredsex AS gender,
-				insuredbirthday AS  birthday,
-				insuredidtype AS idtype , 
-				insuredidno AS idcard,
-				"被保人" as custtype
+				trim(insuredno) AS scustid,--被保人
+				trim(insuredname) AS name,
+				trim(insuredsex) AS gender,
+				trim(insuredbirthday) AS  birthday,
+				trim(insuredidtype) AS idtype , 
+				trim(insuredidno) AS idcard
 			FROM
 			FROM
 				shanghailifeecif.policy_information
 				shanghailifeecif.policy_information
 			WHERE insuredno IS NOT NULL AND insuredidtype=1
 			WHERE insuredno IS NOT NULL AND insuredidtype=1
-			) tmpTable GROUP BY scustid ,name,gender ,birthday,idcard
+			) tmpTable GROUP BY scustid
 
 
 	--已经存在的数据行数
 	--已经存在的数据行数
 	select count(0) into individual_count from shanglifeecif.individual
 	select count(0) into individual_count from shanglifeecif.individual
@@ -150,7 +139,7 @@ BEGIN
 
 
 END;
 END;
 /
 /
-CREATE OR REPLACE PROCEDURE shanglifeecif.init_individual_3(individual_count INOUT  int) -- 初始化 
+CREATE OR REPLACE PROCEDURE shanglifeecif.init_individual_3(individual_count INOUT  int) -- 初始化 
 IS    
 IS    
 BEGIN
 BEGIN
 	
 	
@@ -158,59 +147,53 @@ BEGIN
 	insert into shanglifeecif.individual(
 	insert into shanglifeecif.individual(
 		indid,
 		indid,
 		custid,
 		custid,
-
 		scustid,
 		scustid,
 	 	name,
 	 	name,
 	 	gender,
 	 	gender,
 	 	birthday,
 	 	birthday,
 	 	dlicense,
 	 	dlicense,
-		custtype,
 	 	created_time,
 	 	created_time,
 	 	created_by
 	 	created_by
 	)
 	)
 	SELECT 
 	SELECT 
-		row_number()over()+individual_count,
-		'CP'||lpad(row_number()over()+individual_count,10,'0'),
-		
+		row_number()over(),
+		'CP'||lpad(row_number()over(),10,'0'),	
 		scustid ,
 		scustid ,
-		name,
-		gender ,
-		birthday,
-		idcard ,
-		max(custtype) as custtype,
+		max(name) as name,
+		max(gender) as gender ,
+		max(birthday) as birthday,
+		max(idcard) as idcard,
 		sysdate,
 		sysdate,
 		'admin'
 		'admin'
 		FROM (
 		FROM (
 			SELECT
 			SELECT
-				customerno AS scustid,--投保人
-				name AS name,
-				sex AS gender,
-				birthday AS  birthday,
-				idtype AS idtype , 
-				idno AS idcard,
-				"投保人" as custtype
+				trim(customerno) AS scustid,--投保人
+				trim(name) AS name,
+				trim(sex) AS gender,
+				trim(birthday) AS  birthday,
+				trim(idtype) AS idtype , 
+				trim(idno) AS idcard
 			FROM
 			FROM
 				shanghailifeecif.policy_information 
 				shanghailifeecif.policy_information 
 			WHERE customerno IS NOT NULL AND idtype=3
 			WHERE customerno IS NOT NULL AND idtype=3
 			UNION 
 			UNION 
 			SELECT 
 			SELECT 
-				insuredno AS scustid,--被保人
-				insuredname AS name,
-				insuredsex AS gender,
-				insuredbirthday AS  birthday,
-				insuredidtype AS idtype , 
-				insuredidno AS idcard,
-				"被保人" as custtype
+				trim(insuredno) AS scustid,--被保人
+				trim(insuredname) AS name,
+				trim(insuredsex) AS gender,
+				trim(insuredbirthday) AS  birthday,
+				trim(insuredidtype) AS idtype , 
+				trim(insuredidno) AS idcard
 			FROM
 			FROM
 				shanghailifeecif.policy_information
 				shanghailifeecif.policy_information
 			WHERE insuredno IS NOT NULL AND insuredidtype=3
 			WHERE insuredno IS NOT NULL AND insuredidtype=3
-			) tmpTable GROUP BY scustid ,name,gender ,birthday,idcard
+			) tmpTable GROUP BY scustid
 
 
 	--已经存在的数据行数
 	--已经存在的数据行数
 	select count(0) into individual_count from shanglifeecif.individual
 	select count(0) into individual_count from shanglifeecif.individual
 END;
 END;
 /
 /
-CREATE OR REPLACE PROCEDURE shanglifeecif.init_individual_other(individual_count INOUT  int) -- 初始化了以上三种证件信息
+CREATE OR REPLACE PROCEDURE shanglifeecif.init_individual_other(individual_count INOUT  int) -- 初始化了以上三种证件信息
 IS    
 IS    
 BEGIN
 BEGIN
 	
 	
@@ -218,54 +201,50 @@ BEGIN
 	insert into shanglifeecif.individual(
 	insert into shanglifeecif.individual(
 			indid,
 			indid,
 			custid,
 			custid,
-		 
 			scustid,
 			scustid,
 		 	name,
 		 	name,
 		 	gender,
 		 	gender,
 		 	birthday,
 		 	birthday,
-		 	
-		 	
+		 	otheridnumber,
 		 	created_time,
 		 	created_time,
 		 	created_by
 		 	created_by
 	)
 	)
 	SELECT 
 	SELECT 
-		row_number()over()+individual_count,
-		'CP'||lpad(row_number()over()+individual_count,10,'0'),
+		row_number()over(),
+		'CP'||lpad(row_number()over(),10,'0'),	
 		scustid ,
 		scustid ,
-		name,
-		gender ,
-		birthday,
+		max(name) as name,
+		max(gender) as gender ,
+		max(birthday) as birthday,
+		max(idcard) as idcard,
 		sysdate,
 		sysdate,
 		'admin'
 		'admin'
 		FROM (
 		FROM (
 			SELECT
 			SELECT
-				customerno AS scustid,--投保人
-				name AS name,
-				sex AS gender,
-				birthday AS  birthday,
-				idtype AS idtype , 
-				idno AS idcard,
-				"投保人" as custtype
+				trim(customerno) AS scustid,--投保人
+				trim(name) AS name,
+				trim(sex) AS gender,
+				trim(birthday) AS  birthday,
+				trim(idtype) AS idtype , 
+				trim(idno) AS idcard
 			FROM
 			FROM
 				shanghailifeecif.policy_information 
 				shanghailifeecif.policy_information 
 			WHERE customerno IS NOT NULL AND idtype not in (0,1,3)
 			WHERE customerno IS NOT NULL AND idtype not in (0,1,3)
-			UNION
+			UNION 
 			SELECT 
 			SELECT 
-				insuredno AS scustid,--被保人
-				insuredname AS name,
-				insuredsex AS gender,
-				insuredbirthday AS  birthday,
-				insuredidtype AS idtype , 
-				insuredidno AS idcard,
-				"被保人" as custtype
+				trim(insuredno) AS scustid,--被保人
+				trim(insuredname) AS name,
+				trim(insuredsex) AS gender,
+				trim(insuredbirthday) AS  birthday,
+				trim(insuredidtype) AS idtype , 
+				trim(insuredidno) AS idcard
 			FROM
 			FROM
 				shanghailifeecif.policy_information
 				shanghailifeecif.policy_information
-			WHERE insuredno IS NOT NULL AND insuredidtype in (0,1,3)
-			) tmpTable GROUP BY scustid ,name,gender ,birthday,idcard
+			WHERE insuredno IS NOT NULL AND insuredidtype not in (0,1,3)
+			) tmpTable GROUP BY scustid
 
 
 	--已经存在的数据行数
 	--已经存在的数据行数
-	select count(0) into individual_count from shanglifeecif.individual
-
+	select count(0) into individual_count from shanglifeecif.individual	
 
 
 END;
 END;
 /
 /
@@ -301,100 +280,102 @@ BEGIN
 			RAL    --联系地址
 			RAL    --联系地址
 		) = (
 		) = (
 			select 
 			select 
-					CLASS_VALUE	,--客户等级
-					CONTRIBUTION_VALUE ,--贡献度分
-					AWARDED3, --家庭加分
-					AWARDED2, --续期加分
-					AWARDED1, --保单加分
-					TOTAL_VALUE, --总分值
-					END_DATE, --失效日期
-					STATURE,	--身高
-					AVOIRDUPOIS,--体重
-					BMI,        --根据身高体重计算
-					YEARINCOME,	--个人年收入
-					FAMILYYEARSALARY,	--家庭年收入
-					INCOMESOURCE,	--收入来源
-					SOCIALINSUFLAG,	--社保情况
-					NATIONALITY, --民族情况
-					NATIVEPLACE, --国籍
-					MARRIAGE,--婚姻
-					GRPNAME,--工作单位名称
-					DEGREE,--学历
-					DEATHDATE,--死亡日期
-					DENTYPE,--户籍类型
-					ZIPCODE,--邮编
-					PHONE,--电话
-					MOBILE,--手机
-					EMAIL,--邮箱
-					POSTALADDRESS --联系地址
-
+					b.CLASS_VALUE,--客户等级
+					b.CONTRIBUTION_VALUE,--贡献度分
+					b.AWARDED3, --家庭加分
+					b.AWARDED2, --续期加分
+					b.AWARDED1, --保单加分
+					b.TOTAL_VALUE, --总分值
+					trim(b.END_DATE) as END_DATE, --失效日期
+					b.STATURE,	--身高
+					b.AVOIRDUPOIS,--体重
+					b.BMI,        --根据身高体重计算
+					b.YEARINCOME,	--个人年收入
+					b.FAMILYYEARSALARY,	--家庭年收入
+					trim(b.INCOMESOURCE) as INCOMESOURCE,	--收入来源
+					trim(b.SOCIALINSUFLAG) as SOCIALINSUFLAG,	--社保情况
+					trim(b.NATIONALITY) as NATIONALITY, --民族情况
+					trim(b.NATIVEPLACE) as NATIVEPLACE, --国籍
+					trim(b.MARRIAGE) as MARRIAGE,--婚姻
+					trim(b.GRPNAME) as GRPNAME,--工作单位名称
+					trim(b.DEGREE) as DEGREE,--学历
+					trim(b.DEATHDATE) as DEATHDATE,--死亡日期
+					trim(b.DENTYPE) as DENTYPE,--户籍类型
+					trim(b.ZIPCODE) as ZIPCODE,--邮编
+					trim(b.PHONE) as PHONE,--电话
+					trim(b.MOBILE) as MOBILE,--手机
+					trim(b.EMAIL) as EMAIL,--邮箱
+					trim(b.POSTALADDRESS) as POSTALADDRESS --联系地址
 				from shanghailifeecif.t_customer_class b
 				from shanghailifeecif.t_customer_class b
 				where b.CUSTOMER_ID = a.scustid
 				where b.CUSTOMER_ID = a.scustid
 		) WHERE 1=1 ;
 		) WHERE 1=1 ;
 
 
 END;
 END;
 /
 /
-DROP TABLE IF EXISTS shanglifeecif.occupation_tmp;
-CREATE  TABLE shanglifeecif.occupation_tmp(
-  scustid string not NULL COMMENT '客户号',   
-  OccupationId string DEFAULT NULL COMMENT '名称', 
-  Occupation string DEFAULT NULL COMMENT '出生日期' ,
-   HomeAdress string DEFAULT NULL COMMENT '籍贯'
-  )
- COMMENT 'occupation_tmp 客户职业临时表' STORED AS ES 
-with shard number 10
-replication 1;
-
-CREATE OR REPLACE PROCEDURE shanglifeecif.up_health_insurance_listing_1() -- 创建存储过程
+CREATE OR REPLACE PROCEDURE shanglifeecif.up_other_customerinfo() -- 创建存储过程
 IS    
 IS    
 BEGIN
 BEGIN
-	--清楚临时表数据
-	delete shanglifeecif.occupation_tmp;
-	--插入去重数据到临时表
-	insert into shanglifeecif.occupation_tmp(
-		scustid,
-		OccupationId,
-		Occupation,
-		HomeAdress
+	
+	--更新客户类型投保人
+	UPDATE shanglifeecif.individual i SET i.custtype = '投保人' WHERE 
+	i.scustid IN (SELECT p.customerno FROM shanghailifeecif.policy_information p);
+	--更新客户类型投保人、被保人
+	UPDATE shanglifeecif.individual i SET i.custtype = '被保人' WHERE 
+	i.scustid IN (SELECT pi.insuredno FROM shanghailifeecif.policy_information pi);
+	--更新客户类型投保人、被保人
+	UPDATE shanglifeecif.individual i SET i.custtype = '投保人、被保人' WHERE 
+	i.scustid IN (SELECT p.customerno FROM shanghailifeecif.policy_information p)
+	AND i.scustid IN (SELECT pi.insuredno FROM shanghailifeecif.policy_information pi);
+	
+	--更新业绩归属
+	UPDATE shanglifeecif.Individual si1 SET si1.policybelong = (
+		SELECT trim(t.SALECOM) FROM (
+			SELECT row_number()OVER(PARTITION BY p.customerno ORDER BY p.CUSTOMGETPOLDATE desc) rd,p.customerno,p.SALECOM FROM shanghailifeecif.policy_information p
+		) t WHERE t.rd = 1 AND si1.scustid = t.customerno
 	)
 	)
-	select 
-		appntno,
-		appntoccupationcode	,--职业代码
-		appntoccupationname ,
-		APPNTHOMEADDRESS--职业名称
-	from shanghailifeecif.HEALTH_INSURANCE_LISTING 
-	WHERE appntoccupationcode is not null
-	and appntoccupationname is not null
-	group by appntno,appntoccupationcode,appntoccupationname,APPNTHOMEADDRESS
-
+	
+	UPDATE shanglifeecif.Individual si1 SET si1.policybelong = (
+		SELECT trim(t.SALECOM) FROM (
+			SELECT row_number()OVER(PARTITION BY p.insuredno ORDER BY p.CUSTOMGETPOLDATE desc) rd,p.insuredno,p.SALECOM FROM shanghailifeecif.policy_information p
+		) t WHERE t.rd = 1 AND si1.scustid = t.insuredno
+	)
+	
+END;
+/
+/*
+CREATE OR REPLACE PROCEDURE shanglifeecif.up_health_insurance_listing_1() -- 创建存储过程
+IS    
+BEGIN
 	--更新个人信息表
 	--更新个人信息表
-
 	UPDATE shanglifeecif.individual a SET (
 	UPDATE shanglifeecif.individual a SET (
 		OccupationId	,--	职业代码
 		OccupationId	,--	职业代码
 		Occupation,	--	职业名称
 		Occupation,	--	职业名称
 		HomeAdress
 		HomeAdress
 	) = (
 	) = (
-		select 
-			OccupationId	,--职业代码
-			Occupation,--职业名称
-			HomeAdress 
-		from shanglifeecif.occupation_tmp b
-		where b.scustid = a.scustid 
-	) WHERE 1=1 ;
-
-	/*--更新被保人手机号
-	UPDATE shanglifeecif.individual a SET (
-		PMPhone
-	) = (
-		select 
-			INSUREDMOBILE
-			
-		from shanghailifeecif.policy_information b
-		where b.INSUREDNO = a.scustid 
-	) WHERE 1=1 ;*/
+		SELECT 
+			t.appntoccupationcode,
+			t.appntoccupationname,
+			t.APPNTHOMEADDRESS
+		FROM (
+			select 
+				 appntno,
+				 max(appntoccupationcode) appntoccupationcode,--职业代码
+				 max(appntoccupationname) appntoccupationname,--职业名称
+				max(APPNTHOMEADDRESS) APPNTHOMEADDRESS --住址 
+			from shanghailifeecif.HEALTH_INSURANCE_LISTING 
+			WHERE appntoccupationcode is not null
+			and appntoccupationname is not NULL
+			group by appntno
+		) t WHERE t.appntno = a.scustid 
+	);
 	
 	
 END;
 END;
-/
+*/
 BEGIN
 BEGIN
 	shanglifeecif.init_individual_main();
 	shanglifeecif.init_individual_main();
-end ;
+end ;
+
+
+
+
+

+ 1 - 0
sql-achievement/存储过程/洛阳测试环境使用sql整理/客户标签koucx20210126.sql

@@ -3,6 +3,7 @@ CREATE OR REPLACE PROCEDURE shanglifeecif.updateIndividualLable() IS
 DECLARE
 DECLARE
 BEGIN
 BEGIN
 	--label1: 无来源。Individual.Education
 	--label1: 无来源。Individual.Education
+	
 	--label2: Individual.Occupation,逻辑见上
 	--label2: Individual.Occupation,逻辑见上
 	UPDATE shanglifeecif.Individual si1 SET si1.label2 = (SELECT si2.Occupation FROM shanglifeecif.Individual si2 WHERE si1.indid = si2.indid);
 	UPDATE shanglifeecif.Individual si1 SET si1.label2 = (SELECT si2.Occupation FROM shanglifeecif.Individual si2 WHERE si1.indid = si2.indid);
 	--标签3 根据Individual.Birthday年代,更新为70后,80后等
 	--标签3 根据Individual.Birthday年代,更新为70后,80后等

+ 20 - 48
sql-achievement/存储过程/洛阳测试环境使用sql整理/理赔信息储存过程.sql

@@ -40,57 +40,29 @@ BEGIN
 		-- updated_by
 		-- updated_by
 	) select 
 	) select 
    		row_number()over(),--1
    		row_number()over(),--1
-   		rgtno,--2
-		contno,--3
-		rptno,--报案号4
-		riskdate,--损失发生的时间5
-		rptorname,--报案人名称6
-   		INSUREDNO,--出险人 上游客户号
-   		INSUREDNAME,
-		rptdate,
-		lloccurreason,
-		rgtdate,
-		accidentdetail,--报案描述
-		llclaimstate,
-		auditdate,--审批日期
-		relation,
-		clmno,--赔案号
-		llgettype,--赔案状态
-		riskcode,
-		riskname,
+   		trim(rgtno) as rgtno,--2
+		trim(contno) as contno,--3
+		trim(rptno) as rptno,--报案号4
+		trim(riskdate) as riskdate,--损失发生的时间5
+		trim(rptorname) as rptorname,--报案人名称6
+   		trim(INSUREDNO) as INSUREDNO,--出险人 上游客户号
+   		trim(INSUREDNAME) as INSUREDNAME,
+		trim(rptdate) as rptdate,
+		trim(lloccurreason) as lloccurreason,
+		trim(rgtdate) as rgtdate,
+		trim(accidentdetail) as accidentdetail,--报案描述
+		trim(llclaimstate) as llclaimstate,
+		trim(auditdate) as auditdate,--审批日期
+		trim(relation) as relation,
+		trim(clmno) as clmno,--赔案号
+		trim(llgettype) as llgettype,--赔案状态
+		trim(riskcode) as riskcode,
+		trim(riskname) as riskname,
 		realpay,
 		realpay,
-		llclaimstate,--案件状态
-		accidenttype,
+		trim(llclaimstate) as llclaimstate,--案件状态
+		trim(accidenttype) as accidenttype,
 		'admin',
 		'admin',
 		sysdate()
 		sysdate()
 	from shanghailifeecif.INSURANCE_CLAIM where contno is not null 
 	from shanghailifeecif.INSURANCE_CLAIM where contno is not null 
 
 
-	/*UPDATE shanglifeecif.insuranceclaimthread a SET (
-			applicantid ,--'投保人ID',
-			appname ,--'投保人名称',
-			appphone ,--'投保人手机',
-			appcertid, --'投保人证件号码 INSURANCE_CLAIM.RISKDATE',
-			branchcode-- '机构代码',
-		) = (
-		
-			SELECT 
-				temp.applicantid ,--'投保人ID',
-				temp.appname ,--'投保人名称',
-				temp.appphone ,--'投保人手机',
-				temp.appcertid, --'投保人证件号码 INSURANCE_CLAIM.RISKDATE',
-				temp.branchcode-- '机构代码',
-			FROM (
-				select 
-				row_number() over(partition by applicantid) rn,
-				applicantid ,--'投保人ID',
-				appname ,--'投保人名称',
-				appphone ,--'投保人手机',
-				appcertid, --'投保人证件号码 INSURANCE_CLAIM.RISKDATE',
-				branchcode,-- '机构代码',
-				policyno
-			from shanglifeecif.insurancearrangement b
-			--where b.policyno  = a.policyno
-			
-			) temp WHERE temp.policyno = a.policyno AND temp.rn = 1);
-*/
 END;
 END;