Преглед изворни кода

Merge remote-tracking branch 'origin/master'

liuqiwen пре 3 година
родитељ
комит
470de3f312

+ 43 - 173
sql-achievement/存储过程/个人信息开发qxp.sql

@@ -48,9 +48,9 @@ STORED AS CSVFILE ;
 LOAD DATA INPATH '/tmp/myData/policy_information.txt' OVERWRITE INTO TABLE qxp.policy_information;
 
 --------------------------------------------------------------------------------------------------------------------
-TRUNCATE TABLE individual_search;
+TRUNCATE TABLE individual;
 --创建search目的表
-DROP TABLE IF EXISTS individual_search;
+DROP TABLE IF EXISTS individual;
 CREATE  TABLE qxp.individual_search(
   indid string DEFAULT NULL COMMENT '个体ID', 
   custid string DEFAULT NULL COMMENT '全局客户号',
@@ -311,7 +311,7 @@ replication 1;
 ---------------------------------------------------------------------------------------、
 --创建 自增id
 --创建序列
-DROP SEQUENCE IF EXISTS globaleCusId_sequence;
+
 CREATE SEQUENCE globaleCusId_sequence
     INCREMENT BY 1
 	START WITH 1
@@ -320,153 +320,21 @@ CREATE SEQUENCE globaleCusId_sequence
 	NOCYCLE
 	CACHE 1;
 
---------------------------------------------------------------------------------------------
---创建存储过程 插入individual_search 
-!set plsqlUseSlash true
-CREATE OR REPLACE PROCEDURE test_insert_individual_search_1() -- 创建存储过程
-IS    
-DECLARE
-	--五要素行变量
-	TYPE  main_columns_type IS RECORD (scustid  string, name string,gender string,birthday timestamp,idtype int,idcard string)
-	mainrecord main_columns_type
-	--等级信息行变量
-	t_record  t_customer_class%ROWTYPE
-	cnt int --判断目标数据库中是否有值
-	cnt_t int --判断t_customer_class是否有值
-	custid_tmp string
-	CURSOR main_cursor IS 
-		--查询所有的人 根据5要素
-		select scustid ,name,gender ,birthday,idtype,idcard
-		from (
-			SELECT
-				CUSTOMERNO AS scustid,--投保人
-				NAME AS name,
-				sex AS gender,
-				BIRTHDAY AS  birthday,
-				IDTYPE AS idtype , 
-				IDNO AS idcard
-			FROM
-				policy_information 
-			UNION 
-			SELECT 
-				INSUREDNO AS scustid,--被保人
-				INSUREDNAME AS name,
-				INSUREDSEX AS gender,
-				INSUREDBIRTHDAY AS  birthday,
-				INSUREDIDTYPE AS idtype , 
-				INSUREDIDNO AS idcard
-			FROM
-				policy_information
-			) tmpTable
-		WHERE scustid IS NOT NULL
-		group by scustid ,name,gender ,birthday,idtype,idcard
-		LIMIT 0,100;
-BEGIN
-OPEN main_cursor; -- 打开游标
- LOOP -- 开始循环体,myLoop为自定义循环名,结束循环时用到
-    FETCH main_cursor INTO mainrecord; -- 将游标当前读取行的数据顺序赋予自定义变量12
-		--判断是否是身份证
-		if mainrecord.idtype !=0 then
-			mainrecord.idcard := null
-		end if 
-		-- 判断是否添加
-		select count(1) into cnt from individual_search where scustid = mainrecord.scustid and name = mainrecord.name and birthday = mainrecord.birthday
-			and gender = mainrecord.gender and idcard = mainrecord.idcard
-		if cnt ==0 then 
-			--	生成 全局id
-			custid_tmp:='CP'||lpad(globaleCusId_sequence.nextval,10,'0')
-			--获取 等级信息
-			select count(1) into cnt_t from t_customer_class where CUSTOMER_ID = mainrecord.scustid ;
-			if cnt_t ==0 then
-				t_record.CLASS_VALUE:=0;	--	CustClass	客户等级
-				t_record.CONTRIBUTION_VALUE:=0;	--	ConValue	贡献度分
-				t_record.Awarded3:=0;	--	Awarded3	家庭加分
-				t_record.AWARDED2:=0;	--	Awarded2	续期加分
-				t_record.AWARDED1:=0;	--	Awarded1	保单加分
-				t_record.TOTAL_VALUE:=0;	--	SOValue	总分值
-				t_record.end_date:=null;	--	EndDate	客户等级失效日期
-			else 
-				
-
-			end if
-			--插入数据
-			Insert into individual_search(
-				CREATED_BY	,--	创建人
-				CREATED_TIME	,--	创建时间
-				UPDATED_BY	,--	更新人
-				UPDATED_TIME	,--	更新时间
-				--IndID	,--	个体ID
-				CustID	,--	客户号
-				SCustID,--上游客户号
-				Name	,--	名称
-				Birthday	,--	出生日期
-				Gender	,--	性别
-				
-				IDCard	,--	身份证
-		
-				CustClass	,--	客户等级
-				ConValue	,--	贡献度分
-				Awarded3	,--	家庭加分
-				Awarded2	,--	续期加分
-				Awarded1	,--	保单加分
-				SOValue	,--	总分值
-				EndDate	--	客户等级失效日期
-			)values(  
-				'qxp' ,	--	CREATED_BY	创建人
-				SYSDATE ,	--	CREATED_TIME	创建时间
-				NULL ,	--	UPDATED_BY	更新人
-				SYSDATE ,	--	UPDATED_TIME	更新时间
-				--NULL,	--	IndID	个体ID
-				custid_tmp, --CustID	客户号
-				mainrecord.scustid,	--	sCustID	上游客户号
-				mainrecord.Name,	--	Name	名称
-				mainrecord.Birthday,	--	Birthday	出生日期
-				mainrecord.gender,	--	Gender	性别
-				
-				mainrecord.IDCard,	--	IDCard	身份证
-				
-				t_record.CLASS_VALUE,	--	CustClass	客户等级
-				t_record.CONTRIBUTION_VALUE,	--	ConValue	贡献度分
-				t_record.Awarded3,	--	Awarded3	家庭加分
-				t_record.AWARDED2,	--	Awarded2	续期加分
-				t_record.AWARDED1,	--	Awarded1	保单加分
-				t_record.TOTAL_VALUE,	--	SOValue	总分值
-				t_record.end_date	--	EndDate	客户等级失效日期
-			)
-		end if
-		cnt :=0
-  EXIT WHEN main_cursor%NOTFOUND
-  END LOOP; -- 结束自定义循环体
-  CLOSE main_cursor; -- 关闭游标
-END; -- 结束存储过
-
-
-----------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------
-CREATE OR REPLACE PROCEDURE test_etl_main_1() -- 创建存储过程
-IS
-BEGIN
-	test_insert_individual_search_2();--插入五要素
-	test_up_t_customers_class_1();--更新用户等级等信息
-
-END;
 
 
 -----------------------------------------------------------------------------------
---不用游标的做法
+-- 增量数据
 --------------------------------------------------------------------------------------------
 --创建存储过程 插入individual_search 
 !set plsqlUseSlash true
 SET plsql.catch.hive.exception=true; --使用HIVE_EXCEPTION捕获Hive异常
 --set plsql.compile.dml.check.semantic=false; --禁止编译过程对PL/SQL内部语法进行检查。
-CREATE OR REPLACE PROCEDURE test_insert_individual_search_2() -- 创建存储过程
+CREATE OR REPLACE PROCEDURE insertOrUpdate_individual() -- 创建存储过程
 IS    
 DECLARE
 
 BEGIN
-	MERGE INTO individual_search is1 using 
+	MERGE INTO individual is1 using 
 	(
 		SELECT scustid ,name,gender ,birthday, idcard
 		FROM (
@@ -520,9 +388,9 @@ BEGIN
 	 	)
 	EXCEPTION
 			WHEN HIVE_EXCEPTION THEN 
-				 log_exception('test_insert_individual_search_2',sqlerrm(),sqlcode())
+				 log_exception('insertOrUpdate_individual',sqlerrm(),sqlcode())
 			WHEN Others THEN
-				 log_exception('test_insert_individual_search_2',sqlerrm(),sqlcode())
+				 log_exception('insertOrUpdate_individual',sqlerrm(),sqlcode())
 END;
 
 --------------------------------------------------------------------------------------------
@@ -556,10 +424,11 @@ END;
 -- 港澳台居民居住证 J 
 -- 港澳居民居住证 K 
 -- 台湾居民居住证 M 
+DROP SEQUENCE IF EXISTS globaleCusId_sequence;
 !set plsqlUseSlash true
 SET plsql.catch.hive.exception=true; --使用HIVE_EXCEPTION捕获Hive异常
 --set plsql.compile.dml.check.semantic=false; --禁止编译过程对PL/SQL内部语法进行检查。
-CREATE OR REPLACE PROCEDURE init_individual_search_main() -- 初始化 数据全部插入
+CREATE OR REPLACE PROCEDURE init_individual_main() -- 初始化 数据全部插入
 IS    
 DECLARE
 	individual_count int
@@ -567,17 +436,17 @@ DECLARE
 BEGIN
 	--先验是否一个客户id有多条记录对应不通的证件类别
 	--初始化 身份证 用户
-	init_individual_search_0(individual_count);
+	init_individual_0(individual_count);
 
 	--初始化  护照用户
 	individual_count:=individual_count+1;
-	init_individual_search_1(individual_count);
+	init_individual_1(individual_count);
 	--初始化 驾照用户
 	individual_count:=individual_count+1;
-	init_individual_search_3(individual_count);
+	init_individual_3(individual_count);
 	--其他 证件类型用户
 	individual_count:=individual_count+1;
-	init_individual_search_other(individual_count);
+	init_individual_other(individual_count);
 
 	--初始化 全局序列
 	individual_count:=individual_count+1;
@@ -596,16 +465,16 @@ BEGIN
 	EXECUTE IMMEDIATE strsql
 
 	--更新用户等级信息
-	test_up_t_customers_class_1();
+	up_t_customers_class_1();
 	
 	--更新职业信息
 	up_health_insurance_listing_1();
 
 	EXCEPTION
 			WHEN HIVE_EXCEPTION THEN 
-				 log_exception('init_individual_search_main',sqlerrm(),sqlcode())
+				 log_exception('init_individual_main',sqlerrm(),sqlcode())
 			WHEN Others THEN
-				 log_exception('init_individual_search_main',sqlerrm(),sqlcode())
+				 log_exception('init_individual_main',sqlerrm(),sqlcode())
 END;
 
 
@@ -616,12 +485,12 @@ END;
 !set plsqlUseSlash true
 SET plsql.catch.hive.exception=true; --使用HIVE_EXCEPTION捕获Hive异常
 --set plsql.compile.dml.check.semantic=false; --禁止编译过程对PL/SQL内部语法进行检查。
-CREATE OR REPLACE PROCEDURE init_individual_search_0( individual_count OUT int) -- 初始化 省份证
+CREATE OR REPLACE PROCEDURE init_individual_0( individual_count OUT int) -- 初始化 省份证
 IS    
 BEGIN
 	
 	--查询出此次处理的数据并出表中
-	insert into individual_search1 (
+	insert into individual (
 		indid,
 		custid,
 
@@ -670,24 +539,24 @@ BEGIN
 			WHERE insuredno IS NOT NULL AND insuredidtype=0
 			) tmpTable
 	--已经存在的数据行数
-	select count(0) into individual_count from individual_search1
+	select count(0) into individual_count from individual
 	EXCEPTION
 			WHEN HIVE_EXCEPTION THEN 
-				 log_exception('init_individual_search_0',sqlerrm(),sqlcode())
+				 log_exception('init_individual_0',sqlerrm(),sqlcode())
 			WHEN Others THEN
-				 log_exception('init_individual_search_0',sqlerrm(),sqlcode())
+				 log_exception('init_individual_0',sqlerrm(),sqlcode())
 END;
 
 
 !set plsqlUseSlash true
 SET plsql.catch.hive.exception=true; --使用HIVE_EXCEPTION捕获Hive异常
 --set plsql.compile.dml.check.semantic=false; --禁止编译过程对PL/SQL内部语法进行检查。
-CREATE OR REPLACE PROCEDURE init_individual_search_1(individual_count INOUT  int) -- 初始化 护照
+CREATE OR REPLACE PROCEDURE init_individual_1(individual_count INOUT  int) -- 初始化 护照
 IS    
 BEGIN
 	
 	--查询出此次处理的数据并出表中
-	insert into individual_search1 (
+	insert into individual (
 			indid,
 			custid,
 		 	
@@ -738,23 +607,23 @@ BEGIN
 			) tmpTable
 
 	--已经存在的数据行数
-	select count(0) into individual_count from individual_search1
+	select count(0) into individual_count from individual
 
 	EXCEPTION
 			WHEN HIVE_EXCEPTION THEN 
-				 log_exception('init_individual_search_1',sqlerrm(),sqlcode())
+				 log_exception('init_individual_1',sqlerrm(),sqlcode())
 			WHEN Others THEN
-				 log_exception('init_individual_search_1',sqlerrm(),sqlcode())
+				 log_exception('init_individual_1',sqlerrm(),sqlcode())
 END;
 !set plsqlUseSlash true
 SET plsql.catch.hive.exception=true; --使用HIVE_EXCEPTION捕获Hive异常
 --set plsql.compile.dml.check.semantic=false; --禁止编译过程对PL/SQL内部语法进行检查。
-CREATE OR REPLACE PROCEDURE init_individual_search_3(individual_count INOUT  int) -- 初始化 护照
+CREATE OR REPLACE PROCEDURE init_individual_3(individual_count INOUT  int) -- 初始化 护照
 IS    
 BEGIN
 	
 	--查询出此次处理的数据并出表中
-	insert into individual_search1(
+	insert into individual(
 		indid,
 		custid,
 
@@ -804,24 +673,24 @@ BEGIN
 			) tmpTable
 
 	--已经存在的数据行数
-	select count(0) into individual_count from individual_search1
+	select count(0) into individual_count from individual
 
 	EXCEPTION
 			WHEN HIVE_EXCEPTION THEN 
-				 log_exception('init_individual_search_3',sqlerrm(),sqlcode())
+				 log_exception('init_individual_3',sqlerrm(),sqlcode())
 			WHEN Others THEN
-				 log_exception('init_individual_search_3',sqlerrm(),sqlcode())
+				 log_exception('init_individual_3',sqlerrm(),sqlcode())
 END;
 
 !set plsqlUseSlash true
 SET plsql.catch.hive.exception=true; --使用HIVE_EXCEPTION捕获Hive异常
 --set plsql.compile.dml.check.semantic=false; --禁止编译过程对PL/SQL内部语法进行检查。
-CREATE OR REPLACE PROCEDURE init_individual_search_other(individual_count INOUT  int) -- 初始化 护照
+CREATE OR REPLACE PROCEDURE init_individual_other(individual_count INOUT  int) -- 初始化 护照
 IS    
 BEGIN
 	
 	--查询出此次处理的数据并出表中
-	insert into individual_search1(
+	insert into individual(
 			indid,
 			custid,
 		 
@@ -868,26 +737,26 @@ BEGIN
 			) tmpTable
 
 	--已经存在的数据行数
-	select count(0) into individual_count from individual_search1
+	select count(0) into individual_count from individual
 
 	EXCEPTION
 			WHEN HIVE_EXCEPTION THEN 
-				 log_exception('init_individual_search_other',sqlerrm(),sqlcode())
+				 log_exception('init_individual_other',sqlerrm(),sqlcode())
 			WHEN Others THEN
-				 log_exception('init_individual_search_other',sqlerrm(),sqlcode())
+				 log_exception('init_individual_other',sqlerrm(),sqlcode())
 END;
 
 --创建存储过程 插入individual_search 
 !set plsqlUseSlash true
 SET plsql.catch.hive.exception=true; --使用HIVE_EXCEPTION捕获Hive异常
 --set plsql.compile.dml.check.semantic=false; --禁止编译过程对PL/SQL内部语法进行检查。
-CREATE OR REPLACE PROCEDURE test_up_t_customers_class_1() -- 创建存储过程
+CREATE OR REPLACE PROCEDURE up_t_customers_class_1() -- 创建存储过程
 IS    
 BEGIN
-	UPDATE individual_search1 a SET (
+	UPDATE individual a SET (
 			CustClass	,--	客户等级
 			ConValue	,--	贡献度分
-			Awarded3	,--	家庭加分
+			Awarded3	,--	家庭加分2
 			Awarded2	,--	续期加分
 			Awarded1	,--	保单加分
 			SOValue	,--	总分值
@@ -906,9 +775,9 @@ BEGIN
 		) WHERE 1=1 ;
 	EXCEPTION
 			WHEN HIVE_EXCEPTION THEN 
-				 log_exception('test_up_t_customers_class_1',sqlerrm(),sqlcode())
+				 log_exception('up_t_customers_class_1',sqlerrm(),sqlcode())
 			WHEN Others THEN
-				 log_exception('test_up_t_customers_class_1',sqlerrm(),sqlcode())
+				 log_exception('up_t_customers_class_1',sqlerrm(),sqlcode())
 END;
 /
 DROP TABLE IF EXISTS occupation_tmp;
@@ -946,7 +815,7 @@ BEGIN
 
 	--更新个人信息表
 
-	UPDATE individual_search1 a SET (
+	UPDATE individual a SET (
 		OccupationId	,--	职业代码
 		Occupation,	--	职业名称
 		HomeAdress

+ 44 - 0
sql-achievement/存储过程/个体关系koucx.sql

@@ -0,0 +1,44 @@
+--初始化个体关系
+CREATE OR REPLACE PROCEDURE shanglifeecif.initIndRelationShip() IS
+DECLARE
+BEGIN
+	DELETE FROM shanglifeecif.IndRelationShip;
+	--从保单信息表(POLICY_INFORMATION)获取投保人和被保人的关系并
+	insert into shanglifeecif.IndRelationShip(irsid,RSType,IndID1,Name1,IDCard1,IndID2,Name2,IDCard2,RSSTime,Role2)
+	SELECT row_number()over(),max(RELATIONTOAPPNT),CUSTOMERNO,max(NAME),max(IDNO),INSUREDNO,max(INSUREDNAME),max(INSUREDIDNO),min(CUSTOMGETPOLDATE),
+   CASE max(RELATIONTOAPPNT) 
+   		WHEN '子女' THEN case max(INSUREDSEX) when 1 THEN '女儿' WHEN 0 THEN '儿子' end
+        when '父母' THEN case max(INSUREDSEX) when 1 THEN '母亲' WHEN 0 THEN '父亲' end
+        WHEN '配偶' THEN case max(INSUREDSEX) when 1 THEN '妻子' WHEN 0 THEN '丈夫' end
+        when '祖父母、外祖父母' THEN case max(INSUREDSEX) when 1 THEN '(外)祖母' WHEN 0 THEN '(外)祖父' end
+        when '祖孙、外祖孙' THEN case max(INSUREDSEX) when 1 THEN '(外)孙女' WHEN 0 THEN '(外)祖孙' end
+        ELSE max(RELATIONTOAPPNT) END
+		FROM shanghailifeecif.POLICY_INFORMATION 
+		WHERE RELATIONTOAPPNT<>'本人'
+		GROUP BY CUSTOMERNO,INSUREDNO;
+	--更新IndRelationShip.Role1为IndRelationShip.Role2的相对角色,即role2为母亲则role1为父亲等	
+	UPDATE shanglifeecif.IndRelationShip sirs SET sirs.role1 = (SELECT 
+	CASE slirs.role2 
+		WHEN '父亲' THEN '母亲' 
+		WHEN '母亲' THEN '父亲' 
+		WHEN '丈夫' THEN '妻子' 
+		WHEN '妻子' THEN '丈夫' 
+		WHEN '儿子' THEN '女儿' 
+		WHEN '女儿' THEN '儿子'
+	ELSE '其它' END	
+	FROM shanglifeecif.IndRelationShip slirs WHERE sirs.irsid = slirs.irsid);
+	--此时插入IndRelationShip的IndID1,IndID2为上游系统客户号,根据Individual.SCustID更新为Individual.IndID	
+	
+	UPDATE shanglifeecif.IndRelationShip sirs SET (sirs.indid1) = 
+	(SELECT si.indid FROM shanglifeecif.individual si WHERE si.scustid = sirs.indid1);
+	
+	UPDATE shanglifeecif.IndRelationShip sirs SET (sirs.indid2) = 
+	(SELECT si.indid FROM shanglifeecif.individual si WHERE si.scustid = sirs.indid2);
+	
+	
+   	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	;

+ 246 - 0
sql-achievement/存储过程/保单qxp.sql

@@ -0,0 +1,246 @@
+--数据源 policy_information 表结构	
+
+-- CREATE  TABLE shanghailifeecif.policy_information(
+--   contno varchar2(200) DEFAULT NULL COMMENT '保单号',  -- dialect: ORACLE
+--   riskcode varchar2(200) DEFAULT NULL COMMENT '险种代码',  -- dialect: ORACLE
+--   riskname varchar2(200) DEFAULT NULL COMMENT '险种名称',  -- dialect: ORACLE
+--   riskperiod varchar2(200) DEFAULT NULL COMMENT '险种分类',  -- dialect: ORACLE
+--   risktype varchar2(200) DEFAULT NULL COMMENT '险种设计类型',  -- dialect: ORACLE
+--   payintv varchar2(200) DEFAULT NULL COMMENT '缴费方式',  -- dialect: ORACLE
+--   security varchar2(200) DEFAULT NULL COMMENT '保障年期',  -- dialect: ORACLE
+--   payendyear decimal(10,2) DEFAULT NULL COMMENT '缴费年期', 
+--   payendyearflag varchar2(200) DEFAULT NULL COMMENT '缴费年期单位',  -- dialect: ORACLE
+--   insuyear decimal(10,2) DEFAULT NULL COMMENT '保险年期', 
+--   insuyearflag varchar2(200) DEFAULT NULL COMMENT '保险年期单位',  -- dialect: ORACLE
+--   paycount decimal(10,2) DEFAULT NULL COMMENT '续保次数', 
+--   signdate string DEFAULT NULL COMMENT '承保日期', 
+--   cvalidate string DEFAULT NULL COMMENT '保单生效日期', 
+--   enddate string DEFAULT NULL COMMENT '保单终止日期', 
+--   modifydate string DEFAULT NULL COMMENT '修改日期', 
+--   prem decimal(10,2) DEFAULT NULL COMMENT '保费', 
+--   appflag varchar2(200) DEFAULT NULL COMMENT '保单状态',  -- dialect: ORACLE
+--   customerno varchar2(200) DEFAULT NULL COMMENT '客户号',  -- dialect: ORACLE
+--   name varchar2(200) DEFAULT NULL COMMENT '客户姓名',  -- dialect: ORACLE
+--   sex varchar2(200) DEFAULT NULL COMMENT '客户性别',  -- dialect: ORACLE
+--   birthday string DEFAULT NULL COMMENT '客户出生日期', 
+--   idtype varchar2(200) DEFAULT NULL COMMENT '证件类型',  -- dialect: ORACLE
+--   idno varchar2(200) DEFAULT NULL COMMENT '证件号码',  -- dialect: ORACLE
+--   insuredno varchar2(200) DEFAULT NULL COMMENT '被保人号',  -- dialect: ORACLE
+--   insuredname varchar2(200) DEFAULT NULL COMMENT '被保人姓名',  -- dialect: ORACLE
+--   insuredsex varchar2(200) DEFAULT NULL COMMENT '被保人性别',  -- dialect: ORACLE
+--   insuredbirthday string DEFAULT NULL COMMENT '被保人出生日期', 
+--   insuredidtype varchar2(200) DEFAULT NULL COMMENT '被保人证件类型',  -- dialect: ORACLE
+--   insuredidno varchar2(200) DEFAULT NULL COMMENT '被保人证件号码',  -- dialect: ORACLE
+--   relationtoappnt varchar2(200) DEFAULT NULL COMMENT '与投保人关系',  -- dialect: ORACLE
+--   salechnl varchar2(200) DEFAULT NULL COMMENT '销售渠道',  -- dialect: ORACLE
+--   salecom varchar2(200) DEFAULT NULL COMMENT '业绩归属',  -- dialect: ORACLE
+--   salechannels varchar2(200) DEFAULT NULL COMMENT '二级业绩归属',  -- dialect: ORACLE
+--   customgetpoldate string DEFAULT NULL COMMENT '客户投保日期', 
+--   prem_js decimal(10,2) DEFAULT NULL COMMENT ''
+-- )
+
+
+
+
+======================================================================================================================================================
+--创建保单表insurancearrangement
+DROP TABLE IF EXISTS insurancearrangement;
+CREATE  TABLE 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 date DEFAULT NULL COMMENT '起保日期 POLICY_INFORMATION.CVALIDATE', 
+  pmdate date DEFAULT NULL COMMENT '终保日期 POLICY_INFORMATION.ENDDATE', 
+  pisdate date DEFAULT NULL COMMENT '签单日期 INSURANCEINFO.SIGNDATE', 
+  padate date DEFAULT NULL COMMENT '投保日期 INSURANCEINFO.POLAPPLYDATE', 
+  renewaldate date 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 date 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 date 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;
+
+
+CREATE OR REPLACE PROCEDURE init_insurancearrangement_main() -- 创建主存储过程
+IS    
+BEGIN
+
+INSERT INTO insurancearrangement(
+  iaid ,--'保单ID', 
+  policyno ,-- '保险单号 INSURANCEINFO.CONTNO', 
+  pindate ,-- '起保日期 POLICY_INFORMATION.CVALIDATE', 
+  pmdate ,-- '终保日期 POLICY_INFORMATION.ENDDATE', 
+  norenewal ,-- '续保次数 POLICY_INFORMATION.PAYCOUNT', 
+  payment ,-- '缴费方式 POLICY_INFORMATION.PAYINTV', 
+  applicantscustid ,-- '投保人 上游客户号,再找到individualid', 
+  appname ,-- '投保人名称 POLICY_INFORMATION.NAME', 
+  appcertid ,-- '投保人证件号码 POLICY_INFORMATION.IDNO', 
+  insuredscustid ,-- '主被保险人 游客户号', 
+  insname ,-- '主被保险人名称 POLICY_INFORMATION.INSUREDNAME', 
+  inscertid ,-- '主被保险人证件号码 POLICY_INFORMATION.INSUREDIDNO', 
+  productid ,-- '险种代码 POLICY_INFORMATION.RISKCODE', 
+  policybelong ,-- '业绩归属 POLICY_INFORMATION.SALECOM',  
+  payendyear ,-- '缴费年期 POLICY_INFORMATION.PAYENDYEAR', 
+  created_by ,-- '创建人', 
+  created_time -- '创建时间', 
+
+) 
+SELECT 
+	row_number()over(),
+	CONTNO,--policyno ,-- '保险单号 INSURANCEINFO.CONTNO', 
+	CVALIDATE,--pindate ,-- '起保日期 POLICY_INFORMATION.CVALIDATE', 
+	ENDDATE,--pmdate ,-- '终保日期 POLICY_INFORMATION.ENDDATE', 
+	PAYCOUNT,--norenewal ,-- '续保次数 POLICY_INFORMATION.PAYCOUNT', 
+	PAYINTV,--payment ,-- '缴费方式 POLICY_INFORMATION.PAYINTV', 
+	individual,--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', 
+	SALECOM,--policybelong ,-- '业绩归属 POLICY_INFORMATION.SALECOM', 
+	PAYENDYEAR,--payendyear ,-- '缴费年期 POLICY_INFORMATION.PAYENDYEAR', 
+	'koucx',
+	sysdate() 
+	FROM shanghailifeecif.policy_information 
+
+	--更新投保人和被保人id
+
+	UPDATE insurancearrangement a SET (
+		applicantid --'投保人ID',
+	) = (
+		select 
+			indid ,--'投保人ID',
+		from individual b
+		where b.scustid  = a.applicantscustid
+	) WHERE 1=1 ;
+
+	UPDATE insurancearrangement a SET (
+		insuredid --'主保险人ID',
+	) = (
+		select 
+			indid ,--'投保人ID',
+		from individual b
+		where b.scustid  = a.insuredscustid
+	) WHERE 1=1 ;
+
+	--更新INSURANCEINFO 表中的信息
+
+	UPDATE insurancearrangement a SET (
+		pano ,-- '投保单号 INSURANCEINFO.PRTNO',  
+		pisdate ,-- '签单日期 INSURANCEINFO.SIGNDATE', 
+		padate ,-- '投保日期 INSURANCEINFO.POLAPPLYDATE', 
+		policystate ,--INSURANCEINFO,appflag
+		prem ,-- '总保费 INSURANCEINFO.PREM', 
+		productname ,-- '险种名称	 INSURANCEINFO.RISKNAME'
+		agentchannel ,-- '代理渠道 INSURANCEINFO.SELLTYPE', 
+	) = (
+		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', 
+		from shanghailifeecif.INSURANCEINFO b
+		where b.contno  = a.policyno
+	) WHERE 1=1 ;
+
+
+
+
+	EXCEPTION
+		WHEN HIVE_EXCEPTION THEN 
+			 log_exception('init_insurancearrangement_main',sqlerrm(),sqlcode())
+		WHEN Others THEN
+			 log_exception('init_insurancearrangement_main',sqlerrm(),sqlcode())
+END;
+
+
+=====================================================================================================================================
+--数据分析sql
+
+
+SELECT count(1) FROM shanghailifeecif.POLICY_INFORMATION ;
+--2185616
+SELECT count(1) FROM
+(
+	SELECT count(1) FROM shanghailifeecif.POLICY_INFORMATION GROUP BY CONTNO
+);
+--1466424
+
+
+SELECT count(1) FROM shanghailifeecif.INSURANCEINFO GROUP BY CONTNO;
+--1520720
+
+SELECT count(1) FROM
+(
+SELECT count(1) FROM shanghailifeecif.INSURANCEINFO GROUP BY CONTNO
+);
+--1520720
+
+SELECT count(1) FROM shanghailifeecif.health_insurance_listing WHERE agentgrouparea IS NOT NULL;
+--121
+SELECT count(1) FROM shanghailifeecif.health_insurance_listing WHERE agentgroup IS NOT NULL;
+--10275
+
+SELECT count(1) FROM shanghailifeecif.health_insurance_listing WHERE agentgroup IS  NULL;
+--	0

+ 99 - 0
sql-achievement/存储过程/保单处理增量数据koucx.sql

@@ -0,0 +1,99 @@
+--处理增量的保单信息
+CREATE OR REPLACE PROCEDURE shanglifeecif.incrementInsuranceArrangement2() IS
+DECLARE
+sianum INT;
+BEGIN
+	
+	SELECT COUNT(*) INTO sianum FROM  shanglifeecif.InsuranceArrangement; 
+	MERGE INTO shanglifeecif.InsuranceArrangement sia using 
+		(SELECT * FROM shanghailifeecif.policy_information) si ON sia.policyno = si.CONTNO AND sia.ProductID = si.RISKCODE
+	WHEN MATCHED THEN UPDATE SET sia.pindate = si.CVALIDATE, sia.pmdate = si.ENDDATE,sia.norenewal = si.PAYCOUNT,
+	sia.payment = si.PAYINTV,sia.applicantid = si.individual,
+	sia.appname = si.NAME,sia.appcertid = si.IDNO,sia.insuredid= si.insuredno,sia.insname = si.INSUREDNAME,sia.inscertid = si.INSUREDIDNO,
+	sia.productid= si.RISKCODE,sia.policybelong = si.SALECOM,sia.payendyear = si.PAYENDYEAR
+	WHEN NOT MATCHED THEN 
+	INSERT ( iaid ,--'保单ID', 
+  policyno ,-- '保险单号 INSURANCEINFO.CONTNO', 
+  pindate ,-- '起保日期 POLICY_INFORMATION.CVALIDATE', 
+  pmdate ,-- '终保日期 POLICY_INFORMATION.ENDDATE', 
+  norenewal ,-- '续保次数 POLICY_INFORMATION.PAYCOUNT', 
+  payment ,-- '缴费方式 POLICY_INFORMATION.PAYINTV', 
+  applicantscustid ,-- '投保人 上游客户号,再找到individualid', 
+  appname ,-- '投保人名称 POLICY_INFORMATION.NAME', 
+  appcertid ,-- '投保人证件号码 POLICY_INFORMATION.IDNO', 
+  insuredscustid ,-- '主被保险人 游客户号', 
+  insname ,-- '主被保险人名称 POLICY_INFORMATION.INSUREDNAME', 
+  inscertid ,-- '主被保险人证件号码 POLICY_INFORMATION.INSUREDIDNO', 
+  productid ,-- '险种代码 POLICY_INFORMATION.RISKCODE', 
+  policybelong ,-- '业绩归属 POLICY_INFORMATION.SALECOM',  
+  payendyear ,-- '缴费年期 POLICY_INFORMATION.PAYENDYEAR', 
+  created_by ,-- '创建人', 
+  created_time -- '创建时间', 
+  ) 
+   	values(row_number()over()+sianum,
+	CONTNO,--policyno ,-- '保险单号 INSURANCEINFO.CONTNO', 
+	CVALIDATE,--pindate ,-- '起保日期 POLICY_INFORMATION.CVALIDATE', 
+	ENDDATE,--pmdate ,-- '终保日期 POLICY_INFORMATION.ENDDATE', 
+	PAYCOUNT,--norenewal ,-- '续保次数 POLICY_INFORMATION.PAYCOUNT', 
+	PAYINTV,--payment ,-- '缴费方式 POLICY_INFORMATION.PAYINTV', 
+	individual,--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', 
+	SALECOM,--policybelong ,-- '业绩归属 POLICY_INFORMATION.SALECOM', 
+	PAYENDYEAR,--payendyear ,-- '缴费年期 POLICY_INFORMATION.PAYENDYEAR', 
+	'koucx',
+	sysdate() );
+		
+		
+	UPDATE insurancearrangement a SET (
+		applicantid --'投保人ID',
+	) = (
+		select 
+			indid ,--'投保人ID',
+		from individual b
+		where b.scustid  = a.applicantscustid
+	) WHERE 1=1 ;
+
+	UPDATE insurancearrangement a SET (
+		insuredid --'主保险人ID',
+	) = (
+		select 
+			indid ,--'投保人ID',
+		from individual b
+		where b.scustid  = a.insuredscustid
+	) WHERE 1=1 ;
+
+	--更新INSURANCEINFO 表中的信息
+
+	UPDATE insurancearrangement a SET (
+		pano ,-- '投保单号 INSURANCEINFO.PRTNO',  
+		pisdate ,-- '签单日期 INSURANCEINFO.SIGNDATE', 
+		padate ,-- '投保日期 INSURANCEINFO.POLAPPLYDATE', 
+		policystate ,--INSURANCEINFO,appflag
+		prem ,-- '总保费 INSURANCEINFO.PREM', 
+		productname ,-- '险种名称	 INSURANCEINFO.RISKNAME'
+		agentchannel ,-- '代理渠道 INSURANCEINFO.SELLTYPE', 
+	) = (
+		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', 
+		from shanghailifeecif.INSURANCEINFO b
+		where b.contno  = a.policyno
+	) WHERE 1=1 ;	
+					
+	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	;

+ 17 - 4
sql-achievement/存储过程/参与方事件.sql

@@ -83,22 +83,29 @@ BEGIN
    --1.从保全清单表中初始化 参与事件
   select count(0) into partytimeline_count from PartyTimeLine;
   partytimeline_count:=partytimeline_count+1;
+  DBMS_OUTPUT.PUT_LINE(partytimeline_count);
   init_insuranceclaimthread_edorlist(partytimeline_count)
  
   --2.从保全表中初始化 参与事件
   select count(0) into partytimeline_count from PartyTimeLine;
   partytimeline_count:=partytimeline_count+1;
+  DBMS_OUTPUT.PUT_LINE(partytimeline_count);
   init_insuranceclaimthread_edorinfo(partytimeline_count)
   
   --  3.初始化理赔相关信息
   select count(0) into partytimeline_count from PartyTimeLine;
   partytimeline_count:=partytimeline_count+1;
+  DBMS_OUTPUT.PUT_LINE(partytimeline_count);
   init_insuranceclaimthread_insuranceclaimthread(partytimeline_count)
   
   --  4.初始化投保赔相关信息
   select count(0) into partytimeline_count from PartyTimeLine;
   partytimeline_count:=partytimeline_count+1;
+  DBMS_OUTPUT.PUT_LINE(partytimeline_count);
   init_insuranceclaimthread_InsuranceArrangement(partytimeline_count)
+  
+  partytimeline_count:=partytimeline_count+1;
+  DBMS_OUTPUT.PUT_LINE(partytimeline_count);
 
   --  用于以后更新时是用的序列
   strsql:='
@@ -120,7 +127,6 @@ BEGIN
          log_exception('init_partytimeline_main',sqlerrm(),sqlcode())
 END;
 
-
 /*audit_edorlist 表
  managecom varchar2(200) DEFAULT NULL COMMENT '管理机构',  -- dialect: ORACLE
   managename varchar2(200) DEFAULT NULL COMMENT '管理机构名称',  -- dialect: ORACLE
@@ -295,7 +301,7 @@ BEGIN
     lcidno,
     EDORAPPDATE,
     EDORCVALIDATE
-  from shanghailifeecif.audit_edorlist;
+  from shanghailifeecif.edorinfo;
 
   --更新临时表信息
   UPDATE PartyTimeLine_edor_tmp a SET (
@@ -485,8 +491,6 @@ END;
 --带理赔和保单一共插入 2086136   保单总数 1520720
 
 
-
-
 SELECT count(1) FROM audit_edorlist ; --620066
 
 SELECT count(1) FROM (
@@ -503,4 +507,13 @@ SELECT count(1) a,contno FROM audit_edorlist GROUP BY contno,cusappdate ORDER BY
 SELECT * FROM audit_edorlist WHERE contno = '2018020800060078';
 
 
+
+SELECT count(1) FROM PartyTimeLine WHERE scenario = "保全"  ;  --619713
+SELECT count(1) FROM PartyTimeLine WHERE Scenario ='投保'  ; --1466423
+SELECT count(1) FROM PartyTimeLine WHERE Scenario ='报案'  ; --11490
+SELECT count(1) FROM PartyTimeLine; --2097626
+
+SELECT count(1) FROM shanglifeecif.InsuranceArrangement; --1520720  
+
+SELECT count(1) FROM shanglifeecif.insuranceclaimthread; --13957
 --

+ 104 - 0
sql-achievement/存储过程/客户信息koucx.sql

@@ -0,0 +1,104 @@
+--初始化个人信息
+CREATE OR REPLACE PROCEDURE shanglifeecif.initIndividual() IS
+DECLARE
+indidcount INT;
+BEGIN
+	--清空数据
+	DELETE FROM shanglifeecif.individual;
+	indidcount :=1;
+	--初始化非本人身份证客户信息
+	INSERT INTO shanglifeecif.individual(
+					indid,
+					CustID,
+					scustid,
+					name,
+					gender,
+					birthday,
+					idcard,
+					Passport,
+					Dlicense,
+					CREATED_BY,
+					CREATED_TIME) 
+	SELECT row_number()over(),"CP" || lpad(row_number()over(),9,'0'),pi.CUSTOMERNO,pi.NAME,pi.SEX,to_char(pi.BIRTHDAY,'yyyy-MM-dd HH:mm:ss'),pi.idcard,pi.Passport,pi.Dlicense,'koucx',sysdate() FROM(
+		SELECT CUSTOMERNO,NAME,SEX,BIRTHDAY,
+			max(CASE IDTYPE WHEN '0' THEN IDNO ELSE null END) idcard,
+			max(CASE IDTYPE WHEN '1' THEN IDNO ELSE NULL END) Passport,
+			max(CASE IDTYPE WHEN '3' THEN IDNO ELSE NULL END) Dlicense
+			FROM shanghailifeecif.policy_information WHERE IDNO IS NOT NULL GROUP BY CUSTOMERNO,NAME,SEX,BIRTHDAY,IDTYPE,IDNO
+		UNION 
+		SELECT INSUREDNO AS CUSTOMERNO,INSUREDNAME AS NAME,INSUREDSEX AS SEX,INSUREDBIRTHDAY AS BIRTHDAY,
+			max(CASE INSUREDIDTYPE WHEN '0' THEN insuredidno ELSE null END) idcard,
+			max(CASE INSUREDIDTYPE WHEN '1' THEN insuredidno ELSE NULL END) Passport,
+			max(CASE INSUREDIDTYPE WHEN '3' THEN insuredidno ELSE NULL END) Dlicense
+		FROM shanghailifeecif.policy_information WHERE INSUREDIDNO IS NOT NULL GROUP BY INSUREDNO,INSUREDNAME,INSUREDSEX,INSUREDBIRTHDAY,INSUREDIDTYPE,insuredidno
+	) AS pi;
+	
+	/*SELECT count(*) INTO indidcount FROM shanglifeecif.individual; 
+	--初始化非本人护照客户信息
+	INSERT INTO shanglifeecif.individual(
+					indid,
+					CustID,
+					scustid,
+					name,
+					gender,
+					birthday,
+					Passport,
+					CREATED_BY,
+					CREATED_TIME) 
+	SELECT row_number()over()+indidcount+1,"CP" || lpad(row_number()over()+indidcount,9,'0'),pi.CUSTOMERNO,pi.NAME,pi.SEX,to_char(pi.BIRTHDAY,'yyyy-MM-dd HH:mm:ss'),pi.IDNO,'koucx',sysdate() FROM(
+		SELECT CUSTOMERNO,NAME,SEX,BIRTHDAY,IDTYPE,IDNO FROM shanghailifeecif.policy_information WHERE IDNO IS NOT NULL AND IDTYPE = 1 AND RELATIONTOAPPNT<>'本人' GROUP BY CUSTOMERNO,NAME,SEX,BIRTHDAY,IDTYPE,IDNO
+		UNION 
+		SELECT INSUREDNO AS CUSTOMERNO,INSUREDNAME AS NAME,INSUREDSEX AS SEX,INSUREDBIRTHDAY AS BIRTHDAY,INSUREDIDTYPE AS IDTYPE,insuredidno AS IDNO FROM shanghailifeecif.policy_information WHERE INSUREDIDNO IS NOT NULL AND INSUREDIDTYPE = 1 AND RELATIONTOAPPNT<>'本人' GROUP BY INSUREDNO,INSUREDNAME,INSUREDSEX,INSUREDBIRTHDAY,INSUREDIDTYPE,insuredidno
+	) AS pi;
+	
+	SELECT count(*) INTO indidcount FROM shanglifeecif.individual; 
+	--初始化非本人驾驶证客户信息
+	INSERT INTO shanglifeecif.individual(
+					indid,
+					CustID,
+					scustid,
+					name,
+					gender,
+					birthday,
+					Dlicense,
+					CREATED_BY,
+					CREATED_TIME) 
+	SELECT row_number()over()+indidcount+1,"CP" || lpad(row_number()over()+indidcount,9,'0'),pi.CUSTOMERNO,pi.NAME,pi.SEX,to_char(pi.BIRTHDAY,'yyyy-MM-dd HH:mm:ss'),pi.IDNO,'koucx',sysdate() FROM(
+		SELECT CUSTOMERNO,NAME,SEX,BIRTHDAY,
+			max(CASE IDTYPE WHEN '0' THEN IDNO ELSE null END) idcard,
+			max(CASE IDTYPE WHEN '1' THEN IDNO ELSE NULL END) Passport,
+			max(CASE IDTYPE WHEN '3' THEN IDNO ELSE NULL END) Dlicense
+			FROM shanghailifeecif.policy_information WHERE IDNO IS NOT NULL AND IDTYPE = 3 AND RELATIONTOAPPNT<>'本人' GROUP BY CUSTOMERNO,NAME,SEX,BIRTHDAY,IDTYPE,IDNO
+		UNION 
+		SELECT INSUREDNO AS CUSTOMERNO,INSUREDNAME AS NAME,INSUREDSEX AS SEX,INSUREDBIRTHDAY AS BIRTHDAY,INSUREDIDTYPE AS IDTYPE,insuredidno AS IDNO FROM shanghailifeecif.policy_information WHERE INSUREDIDNO IS NOT NULL AND INSUREDIDTYPE = 3 AND RELATIONTOAPPNT<>'本人' GROUP BY INSUREDNO,INSUREDNAME,INSUREDSEX,INSUREDBIRTHDAY,INSUREDIDTYPE,insuredidno
+	) AS pi;
+	
+	
+	SELECT count(*) INTO indidcount FROM shanglifeecif.individual; 
+	--初始化单独处理本人客户信息
+	INSERT INTO shanglifeecif.individual(
+					indid,
+					CustID,
+					scustid,
+					name,
+					gender,
+					birthday,
+					idcard,
+					Passport,
+					Dlicense,
+					CREATED_BY,
+					CREATED_TIME) 
+	SELECT row_number()over()+indidcount+1,"CP" || lpad(row_number()over()+indidcount,9,'0'),pi.CUSTOMERNO,pi.NAME,pi.SEX,to_char(pi.BIRTHDAY,'yyyy-MM-dd HH:mm:ss'),pi.idcard,pi.Passport,pi.Dlicense,'koucx',sysdate() FROM(
+		SELECT CUSTOMERNO,NAME,SEX,BIRTHDAY,
+		max(CASE IDTYPE WHEN '0' THEN IDNO ELSE CASE INSUREDIDTYPE WHEN '0' THEN insuredidno ELSE null END END) idcard,
+		max(CASE IDTYPE WHEN '1' THEN IDNO ELSE CASE INSUREDIDTYPE WHEN '1' THEN insuredidno ELSE NULL END END) Passport,
+		max(CASE IDTYPE WHEN '3' THEN IDNO ELSE CASE INSUREDIDTYPE WHEN '3' THEN insuredidno ELSE NULL END END) Dlicense
+		 FROM shanghailifeecif.policy_information WHERE IDNO IS NOT NULL AND RELATIONTOAPPNT ='本人' GROUP BY CUSTOMERNO,NAME,SEX,BIRTHDAY,IDTYPE,IDNO
+	) AS pi;*/
+	
+	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	;

Разлика између датотеке није приказан због своје велике величине
+ 226 - 0
sql-achievement/存储过程/客户标签.sql


Разлика између датотеке није приказан због своје велике величине
+ 226 - 0
sql-achievement/存储过程/客户标签koucx.sql


+ 945 - 0
sql-achievement/存储过程/所有目的表表结构.sql

@@ -0,0 +1,945 @@
+-- 创建ES表。
+DROP TABLE IF EXISTS shanglifeecif.individual;
+CREATE TABLE shanglifeecif.Individual(
+   
+    IndID STRING  COMMENT '个体ID' ,
+    CustID STRING    COMMENT '客户号 本系统统一生成的全司范围的唯一标识' ,
+    SCustID STRING    COMMENT '上游客户号 上游系统的客户ID' ,
+    Name STRING NOT NULL   COMMENT '名称 T_CUSTOMER_CLASS.CUSTOMER_NAME' ,
+    Birthday DATE    COMMENT '出生日期 T_CUSTOMER_CLASS.BIRTHDATE' ,
+    NOBirth STRING    COMMENT '出生国家' ,
+    SOBirth STRING    COMMENT '出生省份' ,
+    COBirth STRING   COMMENT '出生城市' ,
+    Dday DATE    COMMENT '死亡日期' ,
+    Gender STRING    COMMENT '性别 GB/T 2261.1-2003规定的一位数字代码执行,前三位填充G00: G000:未知的性别; G001:男性; G002:女性 ; G009:未说明的性别 ;
+T_CUSTOMER_CLASS.GENDER
+code	codename
+0	男
+1	女' ,
+    Ethnic STRING    COMMENT '民族' ,
+    Nation STRING    COMMENT '国籍' ,
+    HomeAdress STRING    COMMENT '籍贯 UNDERWRITE_REPORT_LIST.POLICY_HOLDER_ADDRESS' ,
+    RegResidence STRING    COMMENT '户口所在地' ,
+    MaritalStat STRING    COMMENT '婚姻状况 一对多' ,
+    MaritalStatDate DATE    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 DECIMAL(8,2)    COMMENT '身高' ,
+    Weight DECIMAL(8,2)    COMMENT '体重' ,
+    CIllness STRING    COMMENT '当前疾病' ,
+    PIllness STRING    COMMENT '曾患疾病' ,
+    CDiseases STRING    COMMENT '先天性疾病' ,
+    BMI DECIMAL(8,2)    COMMENT 'BMI体制指数' ,
+    FMHistory STRING    COMMENT '家族病史' ,
+    EvaDate DATE    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 DATE    COMMENT '职业时间 一对多' ,
+    Employer STRING    COMMENT '工作单位' ,
+    WPhone STRING    COMMENT '工作电话' ,
+    EmpDate DATE    COMMENT '工作单位时间' ,
+    LEmployer STRING    COMMENT '曾经工作单位' ,
+    IDCard STRING    COMMENT '身份证 code	codename
+0	身份证
+1	护照
+2	军人证(军官证)
+3	驾照
+4	户口本
+5	学生证
+6	工作证
+7	出生证
+8	其它
+9	无证件
+A	士兵证
+B	回乡证
+C	临时身份证
+D	警官证
+E	台胞证
+F	港、澳通行证
+I	外国人永久居留身份证
+J	港澳台居民居住证
+K	港澳居民居住证
+M	台湾居民居住证
+T_CUSTOMER_CLASS.ID_NO' ,
+    Passport STRING    COMMENT '护照' ,
+    Dlicense STRING    COMMENT '驾驶证' ,
+    Education STRING    COMMENT '最高学历' ,
+    University STRING    COMMENT '毕业学校' ,
+    Edate DATE    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 DATE    COMMENT '纪念日1' ,
+    A1Describe STRING    COMMENT '纪念日1类型' ,
+    Anniversary2 DATE    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 DECIMAL(32,8)    COMMENT '传统寿险种保额合计' ,
+    SOAIRisk DECIMAL(32,8)    COMMENT '意外类险种保额合计' ,
+    SOSIIRisk DECIMAL(32,8)    COMMENT '重疾类险种保额合计' ,
+    SOMCIRisk DECIMAL(32,8)    COMMENT '医疗费用类险种保额合计' ,
+    SOMEIRisk DECIMAL(32,8)    COMMENT '医疗补贴类险种保额合计' ,
+    SOEFIRisk DECIMAL(32,8)    COMMENT '教育金类险种保额合计' ,
+    SOPIRisk DECIMAL(32,8)    COMMENT '养老金类险种保额合计' ,
+    SOWMIRisk DECIMAL(32,8)    COMMENT '财富管理险种保额合计' ,
+    CustClass INT    COMMENT '客户等级 T_CUSTOMER_CLASS.CLASS_VALUE
+code	codename
+1	钻石
+2	白金
+3	黄金
+4	普通
+0	无' ,
+    ConValue INT    COMMENT '贡献度分' ,
+    Awarded3 INT    COMMENT '家庭加分' ,
+    Awarded2 INT    COMMENT '续期加分' ,
+    Awarded1 INT    COMMENT '保单加分' ,
+    SOValue INT    COMMENT '总分值' ,
+    EndDate DATE    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 DATE    COMMENT '最近接触时间' ,
+    LCType STRING    COMMENT '最近接触类型 投诉、问询、营销' ,
+    LCMethod STRING    COMMENT '最近接触方式 外呼、呼入' ,
+    COComplaint INT    COMMENT '投诉次数 当前客户投保保单相关投诉,包括非本人投诉' ,
+    LCPTDate DATE    COMMENT '最近投诉时间 当前客户投保保单相关投诉,包括非本人投诉' ,
+    LCPTReason STRING    COMMENT '最近投诉原因 当前客户投保保单相关投诉,包括非本人投诉' ,
+    LCPTLink STRING    COMMENT '最近投诉环节 当前客户投保保单相关投诉,包括非本人投诉' ,
+    LCPTResult STRING    COMMENT '最近投诉处理结果 当前客户投保保单相关投诉,包括非本人投诉' ,
+    LCPTDuration DECIMAL(8,2)    COMMENT '最近投诉处理时长 当前客户投保保单相关投诉,包括非本人投诉' ,
+    LCPTPerson STRING    COMMENT '最近投诉人' ,
+    SOPPremium DECIMAL(32,8)    COMMENT '累计已缴保费' ,
+    LAPPDate DATE    COMMENT '最近投保日期' ,
+    CNDate DATE    COMMENT '最近报案日期' ,
+    CNStatus STRING    COMMENT '最近报案状态' ,
+    COClaim INT    COMMENT '赔付次数' ,
+    SOClaim DECIMAL(32,8)    COMMENT '赔付总额' ,
+    COCNotification INT    COMMENT '报案登录数量' ,
+    FADate DATE    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 DECIMAL(32,8)    COMMENT '保险账户1余额' ,
+    SOIAccount2 DECIMAL(32,8)    COMMENT '保险账户2余额' ,
+    SOIAccount3 DECIMAL(32,8)    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 DECIMAL(32,8)    COMMENT '个人年收入' ,
+    FIncome DECIMAL(32,8)    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 '配偶投保情况 仅配偶投保,配偶已投保,配偶未投保' ,
+     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 '个人信息 '
+stored as ES
+with shard number 10
+replication 1;
+
+DROP TABLE IF EXISTS shanglifeecif.Adress;
+CREATE  TABLE shanglifeecif.Adress(
+AID	string	DEFAULT NULL COMMENT '	地址ID	',
+PartyID	string		DEFAULT NULL COMMENT '	参与方ID	',
+PartyName	string		DEFAULT NULL COMMENT '	参与方名称	',
+PartyPhone	string		DEFAULT NULL COMMENT '	参与方手机号',
+PartyIDCard	string		DEFAULT NULL COMMENT '	参与方证件号码',
+ACountry	string		DEFAULT NULL COMMENT '	地址_国家	',
+AState	string		DEFAULT NULL COMMENT '	地址_省	',
+ACity	string		DEFAULT NULL COMMENT '	地址_市县	',
+ATown	string		DEFAULT NULL COMMENT '	地址_区镇	',
+AStreet	string		DEFAULT NULL COMMENT '	地址_街道	',
+AStreetNo	string		DEFAULT NULL COMMENT '	地址_门牌号	',
+APostCode	string		DEFAULT NULL COMMENT '	地址_邮政编码	',
+APhone	string		DEFAULT NULL COMMENT '	地址_电话	',
+ADescribe	string		DEFAULT NULL COMMENT '	地址描述	',
+ADate	DATE		DEFAULT NULL COMMENT '	地址时间	',
+Longitude	string		DEFAULT NULL COMMENT '	经度	',
+Latitude	string		DEFAULT NULL COMMENT '	纬度	',
+AType	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.Organisation;
+CREATE  TABLE shanglifeecif.Organisation(
+
+OID	string	DEFAULT NULL COMMENT '	团体ID	',
+CustID	string	DEFAULT NULL COMMENT '	客户ID	',
+SCustID	string	DEFAULT NULL COMMENT '	上游客户ID	',
+Name	string	DEFAULT NULL COMMENT '	名称	',
+OCID	string	DEFAULT NULL COMMENT '	联系人	',
+OCName	string	DEFAULT NULL COMMENT '	联系人姓名	',
+OCPhone	string	DEFAULT NULL COMMENT '	联系人电话	',
+OFCID	string	DEFAULT NULL COMMENT '	财务联系人	',
+OFCName	string	DEFAULT NULL COMMENT '	财务联系人姓名	',
+OFCPhone	string	DEFAULT NULL COMMENT '	财务联系人电话	',
+OLevel	string	DEFAULT NULL COMMENT '	组织层级	',
+SCCode	string	DEFAULT NULL COMMENT '	统一社会信用代码	',
+OLPerson	string	DEFAULT NULL COMMENT '	法人	',
+BizType	string	DEFAULT NULL COMMENT '	行业类型	',
+RegDate	DATE	DEFAULT NULL COMMENT '	注册日期	',
+LegalStruct	string	DEFAULT NULL COMMENT '	企业性质	',
+RegAddress	string	DEFAULT NULL COMMENT '	注册地址	',
+RegFun	double	DEFAULT NULL COMMENT '	注册资金	',
+NuOfEmployees	INT	DEFAULT NULL COMMENT '	员工人数	',
+OState	string	DEFAULT NULL COMMENT '	经营状况	',
+OSDate	DATE	DEFAULT NULL COMMENT '	经营状况日期	',
+BranchCode	string	DEFAULT NULL COMMENT '	机构代码	',
+systemtag1 string DEFAULT NULL COMMENT '系统标签域1', 
+systemtag2 string DEFAULT NULL COMMENT '系统标签域2', 
+systemtag3 string DEFAULT NULL COMMENT '系统标签域3', 
+Wechat1	string	DEFAULT NULL COMMENT '	微信公众号	',
+Wechat2	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类别',  -- dialect: ORACLE
+  saccount2 string DEFAULT NULL COMMENT '社交账号2', 
+  sa2cat string DEFAULT NULL COMMENT '社交账号2类别',  -- dialect: ORACLE
+  ctype string DEFAULT NULL COMMENT '客户类型',  -- dialect: ORACLE
+  bankname string DEFAULT NULL COMMENT '开户银行',  -- dialect: ORACLE
+  tobankcard string DEFAULT NULL COMMENT '银行卡类型',  -- dialect: ORACLE
+  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 DATE DEFAULT NULL COMMENT '客户等级失效日期', 
+  cocommunication INT DEFAULT NULL COMMENT '接触次数', 
+  lcdate DATE DEFAULT NULL COMMENT '最近接触时间', 
+  lctype string DEFAULT NULL COMMENT '最近接触类型',  -- dialect: ORACLE
+  cocomplaint INT DEFAULT NULL COMMENT '投诉次数', 
+  lcptdate DATE DEFAULT NULL COMMENT '最近投诉时间', 
+  lcptreason string DEFAULT NULL COMMENT '最近投诉原因',  -- dialect: ORACLE
+  lcptlink string DEFAULT NULL COMMENT '最近投诉环节',  -- dialect: ORACLE
+  lcptresult string DEFAULT NULL COMMENT '最近投诉处理结果',  -- dialect: ORACLE
+  lcptduration double DEFAULT NULL COMMENT '最近投诉处理时长', 
+  lcptperson string DEFAULT NULL COMMENT '最近投诉人',  -- dialect: ORACLE
+  soppremium double DEFAULT NULL COMMENT '累计已缴保费', 
+  lappdate DATE DEFAULT NULL COMMENT '最近投保日期', 
+  cndate DATE DEFAULT NULL COMMENT '最近报案日期', 
+  cnstatus string DEFAULT NULL COMMENT '最近报案状态',  -- dialect: ORACLE
+  cocnotification INT DEFAULT NULL COMMENT '报案登录数量', 
+  fadate DATE DEFAULT NULL COMMENT '首次投保日期', 
+  ladate DATE DEFAULT NULL COMMENT '最近投保日期', 
+  lpno string DEFAULT NULL COMMENT '最近保险单号', 
+  lpstate string DEFAULT NULL COMMENT '最近保单状态',  -- dialect: ORACLE
+  lpname string DEFAULT NULL COMMENT '最近投保险种名称', 
+  copolicy INT DEFAULT NULL COMMENT '保单登录数量', 
+  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 '保险账户登录数量',
+  CustState string DEFAULT NULL COMMENT '客户状态', 
+  DataSource string DEFAULT NULL COMMENT '数据来源',
+  CREATED_BY	string DEFAULT NULL COMMENT '	创建人	',
+	CREATED_TIME	TIMESTAMP	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.PrivacyPreferenceInstructions;
+CREATE  TABLE shanglifeecif.PrivacyPreferenceInstructions(
+CREATED_BY	string	DEFAULT NULL COMMENT '	创建人	',
+CREATED_TIME	date	DEFAULT NULL COMMENT '	创建时间	',
+UPDATED_BY	string	DEFAULT NULL COMMENT '	更新人	',
+UPDATED_TIME	date	DEFAULT NULL COMMENT '	更新时间	',
+PPIID	string	DEFAULT NULL COMMENT '	偏好ID	',
+IndID	string	DEFAULT NULL COMMENT '	个体ID	',
+IndPhone	string	DEFAULT NULL COMMENT '	个人手机号	',
+IndIDCard	string	DEFAULT NULL COMMENT '	个人证件	',
+IndName	string	DEFAULT NULL COMMENT '	个人名称	',
+Type	string	DEFAULT NULL COMMENT '	类别	',
+W1Stime	string	DEFAULT NULL COMMENT '	周一起始时间	',
+W1Etime	string	DEFAULT NULL COMMENT '	周一结束时间	',
+W2Stime	string	DEFAULT NULL COMMENT '	周二起始时间	',
+W2Etime	string	DEFAULT NULL COMMENT '	周二结束时间	',
+W3Stime	string	DEFAULT NULL COMMENT '	周三起始时间	',
+W3Etime	string	DEFAULT NULL COMMENT '	周三结束时间	',
+W4Stime	string	DEFAULT NULL COMMENT '	周四起始时间	',
+W4Etime	string	DEFAULT NULL COMMENT '	周四结束时间	',
+W5Stime	string	DEFAULT NULL COMMENT '	周五起始时间	',
+W5Etime	string	DEFAULT NULL COMMENT '	周五结束时间	',
+W6Stime	string	DEFAULT NULL COMMENT '	周六起始时间	',
+W6Etime	string	DEFAULT NULL COMMENT '	周六结束时间	',
+W7Stime	string	DEFAULT NULL COMMENT '	周日起始时间	',
+W7Etime	string	DEFAULT NULL COMMENT '	周日结束时间	'
+)
+COMMENT '隐私偏好设定'
+stored as ES
+with shard number 10
+replication 1;
+
+DROP TABLE IF EXISTS shanglifeecif.HealthStatus;
+CREATE  TABLE shanglifeecif.HealthStatus(
+CREATED_BY	string	DEFAULT NULL COMMENT '	创建人	',
+CREATED_TIME	date	DEFAULT NULL COMMENT '	创建时间	',
+UPDATED_BY	string	DEFAULT NULL COMMENT '	更新人	',
+UPDATED_TIME	date	DEFAULT NULL COMMENT '	更新时间	',
+HSID	string	DEFAULT NULL COMMENT '	健康状况ID	',
+IndID	string	DEFAULT NULL COMMENT '	个体ID	',
+IndName	string	DEFAULT NULL COMMENT '	个人名称	',
+IndPhone	string	DEFAULT NULL COMMENT '	个人手机	',
+IndIDCard	string	DEFAULT NULL COMMENT '	个人证件号码	',
+EvaDate	DATE	DEFAULT NULL COMMENT '	评估日期	',
+Height	double	DEFAULT NULL COMMENT '	身高	',
+Weight	double	DEFAULT NULL COMMENT '	体重	',
+CIllness	string	DEFAULT NULL COMMENT '	当前疾病	',
+PIllness	string	DEFAULT NULL COMMENT '	曾患疾病	',
+BMI	double	DEFAULT NULL COMMENT '	BMI体制指数	'
+)
+COMMENT '健康状况'
+stored as ES
+with shard number 10
+replication 1;
+
+DROP TABLE IF EXISTS shanglifeecif.RealProperty;
+CREATE  TABLE shanglifeecif.RealProperty(
+CREATED_BY	string	DEFAULT NULL COMMENT '	创建人	',
+CREATED_TIME	date	DEFAULT NULL COMMENT '	创建时间	',
+UPDATED_BY	string	DEFAULT NULL COMMENT '	更新人	',
+UPDATED_TIME	date	DEFAULT NULL COMMENT '	更新时间	',
+RPID	string	DEFAULT NULL COMMENT '	房产ID	',
+IndID	string	DEFAULT NULL COMMENT '	IndID	',
+IndName	string	DEFAULT NULL COMMENT '	个人名称	',
+IndPhone	string	DEFAULT NULL COMMENT '	个人手机	',
+IndIDCard	string	DEFAULT NULL COMMENT '	个人证件号码	',
+RPAID	string	DEFAULT NULL COMMENT '	房产地址	',
+RPAL	string	DEFAULT NULL COMMENT '	房产地址不分段	',
+RPRegNo	string	DEFAULT NULL COMMENT '	产权证号码	',
+BLDGType	string	DEFAULT NULL COMMENT '	房产结构	',
+BLDGStyle	string	DEFAULT NULL COMMENT '	房型	',
+RPType	string	DEFAULT NULL COMMENT '	房产类型	',
+RPOSize	double	DEFAULT NULL COMMENT '	建筑面积	',
+RPTSize	double	DEFAULT NULL COMMENT '	实得面积	',
+RPSTime	DATE	DEFAULT NULL COMMENT '	开始时间	',
+RPETime	DATE	DEFAULT NULL COMMENT '	结束时间	'
+)
+COMMENT '房产'
+stored as ES
+with shard number 10
+replication 1;
+
+DROP TABLE IF EXISTS shanglifeecif.Vehicle;
+CREATE  TABLE shanglifeecif.Vehicle(
+CREATED_BY	string	DEFAULT NULL COMMENT '	创建人	',
+CREATED_TIME	date	DEFAULT NULL COMMENT '	创建时间	',
+UPDATED_BY	string	DEFAULT NULL COMMENT '	更新人	',
+UPDATED_TIME	date	DEFAULT NULL COMMENT '	更新时间	',
+VID	string	DEFAULT NULL COMMENT '	车辆ID	',
+IndID	string	DEFAULT NULL COMMENT '	个人ID	',
+VMake	string	DEFAULT NULL COMMENT '	车型	',
+VModel	string	DEFAULT NULL COMMENT '	型号	',
+VINNumber	string	DEFAULT NULL COMMENT '	VIN码	',
+VCNumber	string	DEFAULT NULL COMMENT '	车架号	',
+VRNumber	string	DEFAULT NULL COMMENT '	牌照号码	',
+VSTime	DATE	DEFAULT NULL COMMENT '	开始时间	',
+VETime	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 '	个体关系ID	',
+RSType	string	DEFAULT NULL COMMENT '	关系类型	',
+IndID1	string	DEFAULT NULL COMMENT '	个体1	',
+Name1	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	',
+Name2	string	DEFAULT NULL COMMENT '	个体2名称	',
+Mphone2	string	DEFAULT NULL COMMENT '	个体2手机	',
+IDCard2	string	DEFAULT NULL COMMENT '	个体2证件号码	',
+Role2	string	DEFAULT NULL COMMENT '	个体2角色	',
+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.IndOrgRelationShip;
+CREATE  TABLE shanglifeecif.IndOrgRelationShip(
+CREATED_BY	string	DEFAULT NULL COMMENT '	创建人	',
+CREATED_TIME	date	DEFAULT NULL COMMENT '	创建时间	',
+UPDATED_BY	string	DEFAULT NULL COMMENT '	更新人	',
+UPDATED_TIME	date	DEFAULT NULL COMMENT '	更新时间	',
+IORSID	string	DEFAULT NULL COMMENT '	关系ID	',
+RSType	string	DEFAULT NULL COMMENT '	关系类型	',
+IndID	string	DEFAULT NULL COMMENT '	个体	',
+IndName	string	DEFAULT NULL COMMENT '	个体名称	',
+Mphone	string	DEFAULT NULL COMMENT '	个体手机	',
+IDCard	string	DEFAULT NULL COMMENT '	个体证件号码	',
+IRole	string	DEFAULT NULL COMMENT '	个体角色	',
+OID	string	DEFAULT NULL COMMENT '	团体	',
+SCCode	string	DEFAULT NULL COMMENT '	统一社会信用代码	',
+OrgName	string	DEFAULT NULL COMMENT '	团体名称	',
+OCID	string	DEFAULT NULL COMMENT '	联系人	',
+OCName	string	DEFAULT NULL COMMENT '	联系人姓名	',
+OCPhone	string	DEFAULT NULL COMMENT '	联系人电话	',
+ORole	string	DEFAULT NULL COMMENT '	团体角色	',
+RSSTime	DATE	DEFAULT NULL COMMENT '	开始时间	',
+RSETime	DATE	DEFAULT NULL COMMENT '	结束时间	',
+RSDescribe	string	DEFAULT NULL COMMENT '	关系描述	'
+)
+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    COMMENT '保险单号 INSURANCEINFO.CONTNO' ,
+    PANo STRING    COMMENT '投保单号 INSURANCEINFO.PRTNO' ,
+    AGRMNTAge STRING    COMMENT '保险期限' ,
+    PBInst STRING    COMMENT '受益分配方式' ,
+    PWComp STRING    COMMENT '承保分公司 HEALTH_INSURANCE_LISTING.AGENTGROUPAREA 营业区HEALTH_INSURANCE_LISTING.AGENTGROUP 营业部' ,
+    PINDate DATE    COMMENT '起保日期 POLICY_INFORMATION.CVALIDATE' ,
+    PMDate DATE    COMMENT '终保日期 POLICY_INFORMATION.ENDDATE' ,
+    PISDate DATE    COMMENT '签单日期 INSURANCEINFO.SIGNDATE' ,
+    PADate DATE    COMMENT '投保日期 INSURANCEINFO.POLAPPLYDATE' ,
+    RenewalDate DATE    COMMENT '续保日期' ,
+    NORenewal INT    COMMENT '续保次数 POLICY_INFORMATION.PAYCOUNT' ,
+    PolicyType STRING    COMMENT '保单类型 PERSONAL_INSURANCE.CONTTYPE,需上游给出类型枚举值' ,
+    SChannel STRING    COMMENT '销售渠道 HEALTH_INSURANCE_LISTING.SALECHANNELS
+1	团险渠道
+2	个人营销
+3	银行代理
+4	中介渠道
+5	网销渠道' ,
+    BSource STRING    COMMENT '业务来源' ,
+    PolicyState STRING   COMMENT '保单状态 保单包括投保单的所处的状态,例如:录入、生效、批单等
+INSURANCEINFO.APPFLAG
+code	codename
+0	未承保
+1	承保
+2	新增附加险
+4	终止
+9	续保
+B	未对账
+F	对账失败' ,
+    TOPay STRING   COMMENT '缴费类型' ,
+    Payment STRING   COMMENT '缴费方式 POLICY_INFORMATION.PAYINTV' ,
+    Risk DOUBLE    COMMENT '总保额 HEALTH_INSURANCE_LISTING.AMNT(测试环境中,此表保单数据量较其他表如:POLICY_INFORMATION,INSURANCEINFO 缺少至少一个数据量级)' ,
+    Prem DOUBLE   COMMENT '总保费 INSURANCEINFO.PREM' ,
+    Currency STRING    COMMENT '币种' ,
+    NPDate DATE    COMMENT '下次缴费日期' ,
+    SOInsured INT    COMMENT '被保人数 HEALTH_GROUP_LISTING.PEOPLES3,团单' ,
+    BSInsured DOUBLE    COMMENT '基本保额 保险合同条款费率表中载明的单位保额。比如中国人寿的康宁终身保险就是这样,如果购买的基本保险金额是10万的话,那么大病的保险金额就是基本保险金额的2倍即20万;' ,
+    InsurValue DOUBLE    COMMENT '保单价值 保单价值,即保单现金价值。是指带有储蓄性质的人身bai保险单所具有的价值。保险人为履行合同责任通常提存责任准备金,如果您中途退保,即以该保单的责任准备金作为给付解约的退还金。被保险人要求解约或退保时,寿险公司应该发还的金额。
+在长期寿险契约中,保险人为履行契约责任,通常需要提存一定数额的责任准备金。当被保险人于保险有效期内因故要求解约或退保时,保险人按规定,将提存的责任准备金减去解约扣除后的余额退还给被保险人,这部分余额即解约金,亦即退保时保单所具有的现金价值。' ,
+    ApplicantID STRING    COMMENT '投保人 根据POLICY_INFORMATION.CUSTOMERNO关联individual上游客户号,再找到individualid' ,
+    AppName STRING   COMMENT '投保人名称 POLICY_INFORMATION.NAME' ,
+    AppPhone STRING COMMENT '投保人手机' ,
+    AppCertID STRING  COMMENT '投保人证件号码 POLICY_INFORMATION.IDNO' ,
+    InsuredID STRING    COMMENT '主被保险人' ,
+    InsName STRING  COMMENT '主被保险人名称 POLICY_INFORMATION.INSUREDNAME' ,
+    InsPhone STRING  COMMENT '主被保险人手机' ,
+    InsCertID STRING   COMMENT '主被保险人证件号码 POLICY_INFORMATION.INSUREDIDNO' ,
+    ProductID STRING   COMMENT '险种代码 POLICY_INFORMATION.RISKCODE' ,
+    ProductName STRING   COMMENT '险种名称 INSURANCEINFO.RISKNAME' ,
+    SalesPerson STRING   COMMENT '业务员' ,
+    SPName STRING   COMMENT '业务员名称 HEALTH_INSURANCE_LISTING.AGENTCODE' ,
+    IAccount STRING  COMMENT '所属保险账户' ,
+    BranchCode STRING  COMMENT '机构代码' ,
+    PolicyBelong STRING   COMMENT '业绩归属 POLICY_INFORMATION.SALECOM' ,
+    AgentChannel STRING  COMMENT '代理渠道 INSURANCEINFO.SELLTYPE' ,
+    AgentOrg STRING   COMMENT '代理机构' ,
+    RegType STRING  COMMENT '户籍类型' ,
+    PIncome STRING  COMMENT '个人年收入' ,
+    FIncome DOUBLE   COMMENT '家庭年收入' ,
+    IncomeSource STRING   COMMENT '收入来源' ,
+    SocialInsurance STRING   COMMENT '是否有社保' ,
+    OIPolicy STRING   COMMENT '是否投保其他保险公司' ,
+    OICompany STRING  COMMENT '其他保险公司' ,
+    OICProduct STRING  COMMENT '其他保险公司险种' ,
+    OIAmount DOUBLE   COMMENT '其他保险公司保额' ,
+    Drinking STRING   COMMENT '是否饮酒' ,
+    DFavor STRING  COMMENT '饮酒喜好' ,
+    POService STRING  COMMENT '是否保全 投保人持有保单是否在AUDIT_EDORLIST.CONTNO存在' ,
+    PayEndYear INT    COMMENT '缴费年期 POLICY_INFORMATION.PAYENDYEAR' ,
+    LoanMoney DOUBLE COMMENT '保单质押贷款金额' ,
+    CREATED_BY STRING   COMMENT '创建人' ,
+    CREATED_TIME DATE    COMMENT '创建时间' ,
+    UPDATED_BY STRING   COMMENT '更新人' ,
+    UPDATED_TIME DATE   COMMENT '更新时间' 
+) 
+COMMENT '保单 确定参与方之间,参与方和保险公司之间的协议,使相关各方能在遵守一定的规则并履行相关义务的前提下进行产品或资源或服务的供给'
+stored as ES
+with shard number 10
+replication 1;
+
+ALTER TABLE shanglifeecif.InsuranceArrangement ADD COLUMNS (LoanMoney double);
+
+
+DROP TABLE IF EXISTS shanglifeecif.IndIARelationShip;
+CREATE  TABLE shanglifeecif.IndIARelationShip(
+CREATED_BY	string	DEFAULT NULL COMMENT '	创建人	',
+CREATED_TIME	date	DEFAULT NULL COMMENT '	创建时间	',
+UPDATED_BY	string	DEFAULT NULL COMMENT '	更新人	',
+UPDATED_TIME	date	DEFAULT NULL COMMENT '	更新时间	',
+IIARSID	string	DEFAULT NULL COMMENT '	关系ID	',
+IndID	string	DEFAULT NULL COMMENT '	个人ID	',
+IndName	string	DEFAULT NULL COMMENT '	个人名称	',
+IndPhone	string	DEFAULT NULL COMMENT '	个人手机	',
+IndIDCard	string	DEFAULT NULL COMMENT '	个人证件号码	',
+RolePlayer	string	DEFAULT NULL COMMENT '	角色	',
+ROBeneficiary	double	DEFAULT NULL COMMENT '	受益比例	',
+IAID	string	DEFAULT NULL COMMENT '	保单号	',
+PolicyNo	string	DEFAULT NULL COMMENT '	保险单号	',
+PANo	string	DEFAULT NULL COMMENT '	投保单号	',
+PolicyState	string	DEFAULT NULL COMMENT '	保单状态	',
+RSSTime	DATE	DEFAULT NULL COMMENT '	开始时间	',
+RSEtime	DATE	DEFAULT NULL COMMENT '	结束时间	'
+)
+COMMENT '个人保单关系'
+stored as ES
+with shard number 10
+replication 1;
+
+DROP TABLE IF EXISTS shanglifeecif.Communication;
+CREATE  TABLE shanglifeecif.Communication(
+CREATED_BY	string	DEFAULT NULL COMMENT '	创建人	',
+CREATED_TIME	date	DEFAULT NULL COMMENT '	创建时间	',
+UPDATED_BY	string	DEFAULT NULL COMMENT '	更新人	',
+UPDATED_TIME	date	DEFAULT NULL COMMENT '	更新时间	',
+CommID	string	DEFAULT NULL COMMENT '	接触ID	',
+IndID	string	DEFAULT NULL COMMENT '	接触人ID	',
+CPName	string	DEFAULT NULL COMMENT '	接触人名称	',
+CPPhone	string	DEFAULT NULL COMMENT '	接触人手机	',
+CPCertID	string	DEFAULT NULL COMMENT '	接触人证件号码	',
+PolicyNo	string	DEFAULT NULL COMMENT '	保险单号	',
+CommType	string	DEFAULT NULL COMMENT '	接触类型	',
+CommChannel	string	DEFAULT NULL COMMENT '	接触渠道	',
+Reason	string	DEFAULT NULL COMMENT '	接触原因	',
+CommTime	date	DEFAULT NULL COMMENT '	接触时间	',
+CommDescribe	string	DEFAULT NULL COMMENT '	接触描述	',
+CompLink	string	DEFAULT NULL COMMENT '	投诉环节	',
+CompReason	string	DEFAULT NULL COMMENT '	投诉原因	',
+ProcedureResult	string	DEFAULT NULL COMMENT '	处理结果	',
+CommLevel	string	DEFAULT NULL COMMENT '	接触等级	',
+RVType	string	DEFAULT NULL COMMENT '	回访类型	',
+RVDate	DATE	DEFAULT NULL COMMENT '	回访时间	',
+RVDuration	double	DEFAULT NULL COMMENT '	回访时长	',
+CPTDuration	double	DEFAULT NULL COMMENT '	投诉处理时长	'
+)
+COMMENT '接触'
+stored as ES
+with shard number 10
+replication 1;
+
+DROP TABLE IF EXISTS shanglifeecif.InsuranceClaimThread;
+CREATE  TABLE shanglifeecif.InsuranceClaimThread(
+ICThreadID	string	DEFAULT NULL COMMENT '	保险理赔Id	',
+CRNo	string	DEFAULT NULL COMMENT '	立案号	',
+CompanyNo	string	DEFAULT NULL COMMENT '	公司代码	',
+PolicyNo	string	DEFAULT NULL COMMENT '	保险单号	',
+ApplicantID	string	DEFAULT NULL COMMENT '	投保人	',
+AppName	string	DEFAULT NULL COMMENT '	投保人名称	',
+AppPhone	string	DEFAULT NULL COMMENT '	投保人手机	',
+AppCertID	string	DEFAULT NULL COMMENT '	投保人证件号码	',
+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 '	出险人	',
+LPName	string	DEFAULT NULL COMMENT '	出险人名称	',
+CNDate	DATE	DEFAULT NULL COMMENT '	报案日期	',
+LossDescribe	string	DEFAULT NULL COMMENT '	损失原因	',
+CRDate	DATE	DEFAULT NULL COMMENT '	立案日期	',
+CNDescribe	string	DEFAULT NULL COMMENT '	报案描述	',
+ClaimStatus	string	DEFAULT NULL COMMENT '	理赔状态	',
+CSDate	DATE	DEFAULT NULL COMMENT '	理赔状态日期	',
+RelationShip	string	DEFAULT NULL COMMENT '	报案人与出险人关系	',
+CCNo1	string	DEFAULT NULL COMMENT '	赔案号1	',
+CCStatus1	string	DEFAULT NULL COMMENT '	赔案状态1	',
+CCSDate1	DATE	DEFAULT NULL COMMENT '	赔案状态日期1	',
+ProductID1	string	DEFAULT NULL COMMENT '	险种代码1	',
+CCAMT1	double	DEFAULT NULL COMMENT '	赔付金额1	',
+CCNo2	string	DEFAULT NULL COMMENT '	赔案号2	',
+CCStatus2	string	DEFAULT NULL COMMENT '	赔案状态2	',
+CCSDate2	DATE	DEFAULT NULL COMMENT '	赔案状态日期2	',
+ProductID2	string	DEFAULT NULL COMMENT '	险种代码2	',
+CCAMT2	double	DEFAULT NULL COMMENT '	赔付金额2	',
+BranchCode	string	DEFAULT NULL COMMENT '	机构代码	',
+ClaimCaseStatus	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.Payment;
+CREATE  TABLE shanglifeecif.Payment(
+CREATED_BY	string	DEFAULT NULL COMMENT '	创建人	',
+CREATED_TIME	date	DEFAULT NULL COMMENT '	创建时间	',
+UPDATED_BY	string	DEFAULT NULL COMMENT '	更新人	',
+UPDATED_TIME	date	DEFAULT NULL COMMENT '	更新时间	',
+PaymentID	string	DEFAULT NULL COMMENT '	收付交易 ID	',
+IndID	string	DEFAULT NULL COMMENT '	个人ID	',
+PlolicyNo	string	DEFAULT NULL COMMENT '	保险单号	',
+PaymentReason	string	DEFAULT NULL COMMENT '	收付原因	',
+PaymentItem	string	DEFAULT NULL COMMENT '	收付项目	',
+PaymentChannel	string	DEFAULT NULL COMMENT '	收付方式	',
+BankAccNo	string	DEFAULT NULL COMMENT '	银行账号	',
+Currency	string	DEFAULT NULL COMMENT '	币种	',
+SOPayment	double	DEFAULT NULL COMMENT '	收付金额	',
+IndName	string	DEFAULT NULL COMMENT '	个人名称	',
+IndPhone	string	DEFAULT NULL COMMENT '	个人手机	',
+IndIDCard	string	DEFAULT NULL COMMENT '	个人证件号码	',
+DOPPayment	DATE	DEFAULT NULL COMMENT '	计划收付日期	',
+DOAPayment	DATE	DEFAULT NULL COMMENT '	实付日期	'
+)
+COMMENT '收付交易'
+stored as ES
+with shard number 10
+replication 1;
+
+DROP TABLE IF EXISTS shanglifeecif.InsuranceAccount;
+CREATE  TABLE shanglifeecif.InsuranceAccount(
+CREATED_BY	string	DEFAULT NULL COMMENT '	创建人	',
+CREATED_TIME	date	DEFAULT NULL COMMENT '	创建时间	',
+UPDATED_BY	string	DEFAULT NULL COMMENT '	更新人	',
+UPDATED_TIME	date DEFAULT NULL COMMENT '	更新时间	',
+IAccID	string	DEFAULT NULL COMMENT '	保险账户ID	',
+IndID	string	DEFAULT NULL COMMENT '	个人ID	',
+IndName	string	DEFAULT NULL COMMENT '	个人名称	',
+IndPhone	string	DEFAULT NULL COMMENT '	个人手机	',
+IndIDCard	string	DEFAULT NULL COMMENT '	个人证件号码	',
+RegDate	DATE	DEFAULT NULL COMMENT '	开户日期	',
+UnRegDate	DATE	DEFAULT NULL COMMENT '	销户日期	',
+IAccName	string	DEFAULT NULL COMMENT '	保险账户名称	',
+IAccType	string	DEFAULT NULL COMMENT '	保险账户类型	',
+IAccStatus	string	DEFAULT NULL COMMENT '	保险账户状态	',
+FixedRate	double	DEFAULT NULL COMMENT '	固定利率	',
+AccCDate	DATE	DEFAULT NULL COMMENT '	账户变动日期	',
+AccBalance	double	DEFAULT NULL COMMENT '	账户余额	',
+FrozenCapital	double	DEFAULT NULL COMMENT '	冻结余额	',
+OutstdInterest	double	DEFAULT NULL COMMENT '	未结算利息	',
+LBdate	DATE	DEFAULT NULL COMMENT '	上次结算日期	',
+LABalance	double	DEFAULT NULL COMMENT '	上次结算余额	',
+InterestType	string	DEFAULT NULL COMMENT '	计息类型	',
+SettlementCycle	INT	DEFAULT NULL COMMENT '	结算周期	',
+SettlementTime	date	DEFAULT NULL COMMENT '	结算时点	',
+SettlementType	string	DEFAULT NULL COMMENT '	结算类型	'
+)
+COMMENT '保险账户'
+stored as ES
+with shard number 10
+replication 1;
+
+DROP TABLE IF EXISTS shanglifeecif.PartyLabel;
+CREATE  TABLE shanglifeecif.PartyLabel(
+CREATED_BY	string	DEFAULT NULL COMMENT '	创建人	',
+CREATED_TIME	date	DEFAULT NULL COMMENT '	创建时间	',
+UPDATED_BY	string	DEFAULT NULL COMMENT '	更新人	',
+UPDATED_TIME	date	DEFAULT NULL COMMENT '	更新时间	',
+LabelID	string	DEFAULT NULL COMMENT '	标签ID	',
+PartyID	string	DEFAULT NULL COMMENT '	参与方ID	',
+LabelName	string	DEFAULT NULL COMMENT '	标签名称	',
+LabelDescribe	string	DEFAULT NULL COMMENT '	标签描述	',
+LabelType	string	DEFAULT NULL COMMENT '	标签类别	',
+LabelLevel	INT	DEFAULT NULL COMMENT '	标签层级	',
+LCDate	date	DEFAULT NULL COMMENT '	标签创建BrancheCode日期	',
+LabelStatus	string	DEFAULT NULL COMMENT '	标签状态	',
+AuthorID	string	DEFAULT NULL COMMENT '	标签创建人	',
+BrancheCode	string	DEFAULT NULL COMMENT '	机构代码	',
+PartyName	string	DEFAULT NULL COMMENT '	参与方名称	',
+PartyIDNumber	string	DEFAULT NULL COMMENT '	参与方证件号码	',
+PartyPhone	string	DEFAULT NULL COMMENT '	参与方电话	',
+LabelCode	string	DEFAULT NULL COMMENT '	标签生成逻辑	'
+)
+COMMENT '参与方标签'
+stored as ES
+with shard number 10
+replication 1;
+
+DROP TABLE IF EXISTS shanglifeecif.MergeRelationship;
+CREATE  TABLE shanglifeecif.MergeRelationship(
+CREATED_BY	string	DEFAULT NULL COMMENT '	创建人	',
+CREATED_TIME	date	DEFAULT NULL COMMENT '	创建时间	',
+UPDATED_BY	string	DEFAULT NULL COMMENT '	更新人	',
+UPDATED_TIME	date	DEFAULT NULL COMMENT '	更新时间	',
+MRSID	string	DEFAULT NULL COMMENT '	合并关系ID	',
+Party1ID	string	DEFAULT NULL COMMENT '	合并方	',
+Party2ID	string	DEFAULT NULL COMMENT '	被合并方	',
+Party1Name	string	DEFAULT NULL COMMENT '	合并方名称	',
+Party1IDCard	string	DEFAULT NULL COMMENT '	合并方证件号码	',
+Party1Phone	string	DEFAULT NULL COMMENT '	合并方电话	',
+Party2Name	string	DEFAULT NULL COMMENT '	被合并方名称	',
+Party2IDCard	string	DEFAULT NULL COMMENT '	被合并方证件号码	',
+Party2Phone	string	DEFAULT NULL COMMENT '	被合并方电话	',
+MergeDate	date	DEFAULT NULL COMMENT '	合并日期	',
+MergeMethod	string	DEFAULT NULL COMMENT '	合并方式	',
+MergeAuditorID	string	DEFAULT NULL COMMENT '	合并批准人	',
+MergeAuditorName	string	DEFAULT NULL COMMENT '	合并批准人名称	',
+Party1Backup	string	DEFAULT NULL COMMENT '	合并方备份	',
+MRSStatus	string	DEFAULT NULL COMMENT '	合并关系状态	'
+)
+COMMENT '参与方合并关系'
+stored as ES
+with shard number 10
+replication 1;
+
+DROP TABLE IF EXISTS shanglifeecif.PartyTimeLine;
+CREATE  TABLE shanglifeecif.PartyTimeLine(
+CREATED_BY	string	DEFAULT NULL COMMENT '	创建人	',
+CREATED_TIME	date	DEFAULT NULL COMMENT '	创建时间	',
+UPDATED_BY	string	DEFAULT NULL COMMENT '	更新人	',
+UPDATED_TIME	date	DEFAULT NULL COMMENT '	更新时间	',
+TripID	string	DEFAULT NULL COMMENT '	旅程ID	',
+PartyID	string	DEFAULT NULL COMMENT '	参与方ID	',
+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	date	DEFAULT NULL COMMENT '	发生日期	',
+ThreadID	string	DEFAULT NULL COMMENT '	关联ID	',
+ParentID	string	DEFAULT NULL COMMENT '	父ID	',
+Describe	string	DEFAULT NULL COMMENT '	描述	',
+Channel	string	DEFAULT NULL COMMENT '	来源	'
+)
+COMMENT '参与方事件'
+stored as ES
+with shard number 10
+replication 1;

+ 163 - 181
sql-achievement/存储过程/理赔qxp.sql

@@ -1,3 +1,64 @@
+
+-- -----------------------------------------------------------------------
+-- CREATE TABLE shanghailifeecif.insurance_claim(
+--    batno varchar2(40) DEFAULT NULL COMMENT '批次号',  -- dialect: ORACLE
+--   contno varchar2(40) DEFAULT NULL COMMENT '保单号',  -- dialect: ORACLE
+--   clmno varchar2(40) DEFAULT NULL COMMENT '赔案号',  -- dialect: ORACLE
+--   cvalidate timestamp DEFAULT NULL COMMENT '保单生效日', 
+--   riskdate timestamp DEFAULT NULL COMMENT '出险日期', 
+--   ageofdanger decimal(3,0) DEFAULT NULL COMMENT '被保险人出险时年龄', 
+--   riskcode varchar2(40) DEFAULT NULL COMMENT '险种代码',  -- dialect: ORACLE
+--   riskname varchar2(512) DEFAULT NULL COMMENT '险种名称',  -- dialect: ORACLE
+--   lloccurreason varchar2(512) DEFAULT NULL COMMENT '出险原因',  -- dialect: ORACLE
+--   accresult1 varchar2(512) DEFAULT NULL COMMENT '出险结果1',  -- dialect: ORACLE
+--   accresult2 varchar2(512) DEFAULT NULL COMMENT '出险结果2',  -- dialect: ORACLE
+--   accidentdetail varchar2(512) DEFAULT NULL COMMENT '意外细节',  -- dialect: ORACLE
+--   llgettype varchar2(512) DEFAULT NULL COMMENT '赔付结论',  -- dialect: ORACLE
+--   realpay decimal(12,2) DEFAULT NULL COMMENT '赔付金额', 
+--   applydate timestamp DEFAULT NULL COMMENT '申请日期', 
+--   accepteddate timestamp DEFAULT NULL COMMENT '交接日期', 
+--   rptdate timestamp DEFAULT NULL COMMENT '报案日期', 
+--   rgtdate timestamp DEFAULT NULL COMMENT '立案日期', 
+--   auditdate timestamp DEFAULT NULL COMMENT '审核日期', 
+--   examdate timestamp DEFAULT NULL COMMENT '审批日期', 
+--   senddate timestamp DEFAULT NULL COMMENT '抽盘日期', 
+--   returndate timestamp DEFAULT NULL COMMENT '回盘日期', 
+--   llclaimstate varchar2(512) DEFAULT NULL COMMENT '目前状态',  -- dialect: ORACLE
+--   operator varchar2(512) DEFAULT NULL COMMENT '立案人',  -- dialect: ORACLE
+--   auditper varchar2(512) DEFAULT NULL COMMENT '审核人',  -- dialect: ORACLE
+--   examper varchar2(512) DEFAULT NULL COMMENT '审批人',  -- dialect: ORACLE
+--   isinvestigated varchar2(10) DEFAULT NULL COMMENT '是否调查件',  -- dialect: ORACLE
+--   idno varchar2(40) DEFAULT NULL COMMENT '被保险人身份证件号码',  -- dialect: ORACLE
+--   insuredname varchar2(40) DEFAULT NULL COMMENT '姓名',  -- dialect: ORACLE
+--   isfromwx varchar2(10) DEFAULT NULL COMMENT '是否微信申请理赔标志',  -- dialect: ORACLE
+--   insuredno varchar2(40) DEFAULT NULL COMMENT '出险人客户号',  -- dialect: ORACLE
+--   amnt decimal(12,2) DEFAULT NULL COMMENT '保额', 
+--   managecom varchar2(10) DEFAULT NULL COMMENT '管理机构',  -- dialect: ORACLE
+--   estimatedreparations varchar2(40) DEFAULT NULL COMMENT '预估赔款金额',  -- dialect: ORACLE
+--   risktype varchar2(40) DEFAULT NULL COMMENT '险种类型',  -- dialect: ORACLE
+--   getdutycode varchar2(40) DEFAULT NULL COMMENT '给付责任编码',  -- dialect: ORACLE
+--   getdutyname varchar2(512) DEFAULT NULL COMMENT '给付责任名称',  -- dialect: ORACLE
+--   salechnl varchar2(40) DEFAULT NULL COMMENT '销售渠道',  -- dialect: ORACLE
+--   accname varchar2(200) DEFAULT NULL COMMENT '申请人',  -- dialect: ORACLE
+--   accidenttype varchar2(200) DEFAULT NULL COMMENT '理赔类型',  -- dialect: ORACLE
+--   enddate timestamp DEFAULT NULL COMMENT '保单终止日期', 
+--   salechnl2 varchar2(200) DEFAULT NULL COMMENT '销售二级渠道',  -- dialect: ORACLE
+--   insuredsex varchar2(200) DEFAULT NULL COMMENT '被保险人性别',  -- dialect: ORACLE
+--   insuredjob 	varchar2(200) DEFAULT NULL COMMENT '职业类别',  -- dialect: ORACLE
+--   paystatus varchar2(200) DEFAULT NULL COMMENT '支付状态',  -- dialect: ORACLE
+--   RGTNO varchar2(200) DEFAULT NULL COMMENT '立案号',
+--   RPTNO varchar2(200) DEFAULT NULL COMMENT '报案号',
+--   RPTORNAME varchar2(200) DEFAULT NULL COMMENT '报案人名称',
+--   RELATION varchar2(200) DEFAULT NULL COMMENT '报案人与出险人关系',
+--   ACCDESC varchar2(200) DEFAULT NULL COMMENT '报案描述',
+--   ins_time timestamp DEFAULT NULL
+-- )
+-------------------------------------------------------------------------------------
+--数据解析
+--SELECT llgettype FROM shanghailifeecif.insurance_claim GROUP BY llgettype  --通融给付、正常给付、全部拒付
+--SELECT count(1) a,contno,clmno FROM shanghailifeecif.insurance_claim GROUP BY contno,clmno ORDER BY a DESC; 按照保单和理赔去重 最大重复数为3
+--且三条理赔的险种不一样
+
 ---------------------保单数据处理
 
 --创建保险理赔表insuranceclaimthread
@@ -17,6 +78,7 @@ CREATE  TABLE insuranceclaimthread(
   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',
@@ -25,16 +87,12 @@ CREATE  TABLE insuranceclaimthread(
   claimstatus string DEFAULT NULL COMMENT '理赔状态 案件的状态,例如:录入、已立案等',
   csdate date DEFAULT NULL COMMENT '理赔状态日期',
   relationship string DEFAULT NULL COMMENT '报案人与出险人关系',
-  ccno1 string DEFAULT NULL COMMENT '赔案号1 AUDIT_CLAIM_INSURANCE.CLMNO',
-  ccstatus1 string DEFAULT NULL COMMENT '赔案状态1',
-  ccsdate1 date DEFAULT NULL COMMENT '赔案状态日期1',
-  productid1 string DEFAULT NULL COMMENT '险种代码1	INSURANCE_CLAIM_HEALTH.RISKCODE',
-  ccamt1 double DEFAULT NULL COMMENT '赔付金额1	INSURANCE_CLAIM_HEALTH.REALPAY',
-  ccno2 string DEFAULT NULL COMMENT '赔案号2',
-  ccstatus2 string DEFAULT NULL COMMENT '赔案状态2',
-  ccsdate2 date DEFAULT NULL COMMENT '赔案状态日期2',
-  productid2 string DEFAULT NULL COMMENT '险种代码2',
-  ccamt2 double DEFAULT NULL COMMENT '赔付金额2',
+  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 '',
@@ -48,203 +106,127 @@ with shard number 10
 replication 1;
 
 
-DROP TABLE IF EXISTS insuranceclaimthread_tmp;
-CREATE  TABLE insuranceclaimthread_tmp(
-  contno string NOT NULL COMMENT '保单号',  
-  rownumber int not null comment '同保单号 按照出险日期倒叙排列的行号', 
-
-  CLMNO string NOT NULL COMMENT '赔案号',
-
-  LPID string DEFAULT NULL COMMENT '出险人客户号',
-  LPName string DEFAULT NULL COMMENT '出险人名称',
-  scustid string NOT NULL COMMENT '出险人上游客户id',
-  
-  rptdate  date DEFAULT NULL COMMENT '报案日期',
-  rgtdate date DEFAULT NULL COMMENT '立案日期',
-  riskdate date DEFAULT NULL COMMENT '出险日期',
 
-  lloccurreason string DEFAULT NULL COMMENT '出险原因',  -- dialect: ORACLE
-  accidentdetail string DEFAULT NULL COMMENT '意外细节',  -- dialect: ORACLE
-  llclaimstate string DEFAULT NULL COMMENT '目前状态', -- dialect: ORACLE
-  riskcode string DEFAULT NULL COMMENT '险种代码',
-  realpay double DEFAULT NULL COMMENT '赔付金额'
-
- 
-  )
- COMMENT 'insuranceclaimthread临时表' 
- CLUSTERED BY (contno) INTO 1 BUCKETS
- STORED AS ORC 	
- TBLPROPERTIES ("transactional"="true");
-
-
-------------------------------------------------------------------------------------------------------------------------------------------
 CREATE OR REPLACE PROCEDURE insuranceclaimthread_main() -- 创建主存储过程
 IS    
 BEGIN
-	--1.获取主要信息插入主表 如保单号  客户名称
-	init_insuranceclaimthread()
-	--2.更新 投保人相关信息
-
-
-	EXCEPTION
-			WHEN HIVE_EXCEPTION THEN 
-				 log_exception('insuranceclaimthread_main',sqlerrm(),sqlcode())
-			WHEN Others THEN
-				 log_exception('insuranceclaimthread_main',sqlerrm(),sqlcode())
-END;
-
-
-
-
-
-----------------------利用insuranceinfo 插入或更新信息临时表
-CREATE OR REPLACE PROCEDURE init_insuranceclaimthread() -- 创建存储过程
-IS    
-BEGIN
-	delete insuranceclaimthread_tmp;
-
-	--插入主要信息
-	insert into insuranceclaimthread_tmp(
-			contno,-- '保单号',   
-			rownumber ,--'同保单号 按照出险日期倒叙排列的行号', 
-
-			CLMNO ,-- '赔案号',
-
-			scustid ,--'上游客户号'
-			LPName ,--出险人名称
-
-			rptdate  ,--'报案日期',
-			rgtdate ,--'立案日期',
-			riskdate ,--'出险日期',
-
-			lloccurreason ,-- '出险原因',  -- dialect: ORACLE
-			accidentdetail ,-- '意外细节',  -- dialect: ORACLE
-			llclaimstate ,-- '目前状态', -- dialect: ORACLE
-			riskcode ,-- '险种代码',
-			realpay -- '赔付金额'
-		)
-    	select 
-    		contno,
-    		row_number()over(PARTITION BY contno ORDER BY riskdate desc),
-    		CLMNO,
-
-    		insuredno,
-   			insuredname,
-
-			rptdate  ,--'报案日期',
-			rgtdate ,--'立案日期',
-			riskdate ,--'出险日期',
-
-			lloccurreason ,-- '出险原因',  -- dialect: ORACLE
-			accidentdetail ,-- '意外细节',  -- dialect: ORACLE
-			llclaimstate ,-- '目前状态', -- dialect: ORACLE
-			riskcode ,-- '险种代码',
-			realpay -- '赔付金额'
-
-   		from shanghailifeecif.insurance_claim 
-
-   	--更新 临时表的客户号
-   	UPDATE insuranceclaimthread_tmp a set LPID = (select indid from scustid_unique_tmp b where a.scustid = b.scustid ) WHERE 1=1;
-   
-
-   	--插入 最近的
-   	insert into insuranceclaimthread (
-		icthreadid , -- '保险理赔Id',
-
+	insert into insuranceclaimthread (
+		icthreadid ,--'保险理赔Id',
+		crno ,--'立案号',
+		--companyno ,-- '公司代码',
 		policyno ,--'保险单号 INSURANCE_CLAIM.CONTNO',
-		
-		
-		lpid ,--'出险人	根据INSURANCE_CLAIM.INSUREDNO获取indid',
-		lpname ,--'出险人名称',
-
+		--applicantid ,--'投保人ID',
+		--appname ,--'投保人名称',
+		--appphone ,--'投保人手机',
+		--appcertid ,--'投保人证件号码 INSURANCE_CLAIM.RISKDATE',
+		cnno ,--'报案号',
 		losstime ,-- '损失发生时间',
-		cndate ,-- '报案日期 INSURANCE_CLAIM.RPTDATE',
-		crdate ,-- '立案日期 INSURANCE_CLAIM.RGTDATE',
-
+		--rpid ,-- '报案人',
+		rpname ,--'报案人名称',
+		--rpphone ,-- '报案人电话',
+		--lpid ,--'出险人	根据INSURANCE_CLAIM.INSUREDNO获取indid',
+		lpscutid,--'出险人上游客户号
+		--lpname ,-- '出险人名称',
+		cndate ,--'报案日期 INSURANCE_CLAIM.RPTDATE',
 		lossdescribe ,-- '损失原因 案件发生的原因:INSURANCE_CLAIM.LLOCCURREASON',
-		cndescribe ,-- '报案描述 INSURANCE_CLAIM.ACCIDENTDETAIL',
+		crdate ,-- '立案日期 INSURANCE_CLAIM.RGTDATE',
+		cndescribe ,--'报案描述 INSURANCE_CLAIM.ACCIDENTDETAIL',
 		claimstatus ,--'理赔状态 案件的状态,例如:录入、已立案等',
-	
-		
-		ccno1 ,--'赔案号1 AUDIT_CLAIM_INSURANCE.CLMNO',
-		ccstatus1 ,-- '赔案状态1',
-		productid1 ,--'险种代码1	INSURANCE_CLAIM_HEALTH.RISKCODE',
-		ccamt1 ,--'赔付金额1	INSURANCE_CLAIM_HEALTH.REALPAY',
-		
-		
+		csdate ,--'理赔状态日期',
+		relationship ,-- '报案人与出险人关系',
+		ccno ,-- '赔案号 AUDIT_CLAIM_INSURANCE.CLMNO',
+		ccstatus ,--'赔案状态',
+		--ccsdate ,-- '赔案状态日期',
+		productid ,--'险种代码	INSURANCE_CLAIM_HEALTH.RISKCODE',
+		productname, --'险种名称	INSURANCE_CLAIM_HEALTH.RISKNAME',
+		ccamt ,--'赔付金额	INSURANCE_CLAIM_HEALTH.realpay',
+		--branchcode,-- '机构代码',
+		claimcasestatus ,--'案件状态INSURANCE_CLAIM_HEALTH.LLCLAIMSTATE',
 		created_by ,
-		created_time
+		created_time 
+		-- updated_time,
+		-- updated_by
 	) select 
    		row_number()over(),
-   		contno,
+   		rgtno,
+
+		contno,
+
 
-   		lpid,
-   		lpname,
 
-   		riskdate,
-   		rptdate,
-   		rgtdate,
+		rptno,--报案号
+		riskdate,--损失发生的时间
 
-   		lloccurreason ,-- '出险原因',  -- dialect: ORACLE
-		accidentdetail ,-- '意外细节',  -- dialect: ORACLE
-		llclaimstate ,-- '目前状态', -- dialect: ORACLE
-		
-		CLMNO ,
+		rptorname,--报案人名称
+
+
+   		INSUREDNO,--出险人 上游客户号
+   		--lpname,
+		rptdate,
+		lloccurreason,
+		rgtdate,
+		accidentdetail,--报案描述
 		llclaimstate,
-		riskcode ,-- '险种代码',
-		realpay, -- '赔付金额'
-		
-		'admin',
-		sysdate()
+		auditdate,--审批日期
+		relation,
+		clmno,--赔案号
+		llgettype,--赔案状态
 
-	from insuranceclaimthread_tmp
-	where rownumber =1;
+		riskcode,
+		riskname,
+		realpay,
 
-	--更新第二近的
+		llclaimstate,--案件状态
+		'admin',
+		sysdate()
+	from shanghailifeecif.INSURANCE_CLAIM where contno is not null 
+	
 	update insuranceclaimthread a set (
-		ccno2,--'赔案号1 AUDIT_CLAIM_INSURANCE.CLMNO',
-		ccstatus2 ,-- '赔案状态1',
-		productid2 ,--'险种代码1	INSURANCE_CLAIM_HEALTH.RISKCODE',
-		ccamt2 --'赔付金额1	INSURANCE_CLAIM_HEALTH.REALPAY',
-	) = (
+		lpid,
+		lpname
+	) = ( 
 		select 
-			CLMNO ,
-			llclaimstate,
-			riskcode ,-- '险种代码',
-			realpay -- '赔付金额'
-		from insuranceclaimthread_tmp b 
-		where b.rownumber =2 and a.policyno = b.contno
-	) 
-	where 1=1
+			b.indid,
+			b.name
+		from individual_search1 b
+		where a.lpscutid = b.SCustID
+	)where 1=1
+
+
+	UPDATE insuranceclaimthread a SET (
+			applicantid ,--'投保人ID',
+			appname ,--'投保人名称',
+			appphone ,--'投保人手机',
+			appcertid, --'投保人证件号码 INSURANCE_CLAIM.RISKDATE',
+			branchcode-- '机构代码',
+		) = (
+			select 
+				applicantid ,--'投保人ID',
+				appname ,--'投保人名称',
+				appphone ,--'投保人手机',
+				appcertid, --'投保人证件号码 INSURANCE_CLAIM.RISKDATE',
+				branchcode-- '机构代码',
+			from shanglifeecif.insurancearrangement b
+			where b.policyno  = a.policyno
+		) WHERE 1=1 ;
+
 
 
 	EXCEPTION
 			WHEN HIVE_EXCEPTION THEN 
-				 log_exception('init_insuranceclaimthread',sqlerrm(),sqlcode())
+				 log_exception('insuranceclaimthread_main',sqlerrm(),sqlcode())
 			WHEN Others THEN
-				 log_exception('init_insuranceclaimthread',sqlerrm(),sqlcode())
+				 log_exception('insuranceclaimthread_main',sqlerrm(),sqlcode())
 END;
 
+
+
+
+
+----------------------利用insuranceinfo 插入或更新信息临时表
+
+
 ====================================================================================================================
 =============================================数据查询语句============================================================
 ====================================================================================================================
---contno 保单号
-SELECT count(1) FROM (
-	select contno from shanghailifeecif.insurance_claim group by contno
-);  11521
-11490
-
-
---contno 保单号
-SELECT count(1) FROM (
-	select contno,insuredname,insuredno from shanghailifeecif.insurance_claim group by contno,insuredname,insuredno  
-);
-select contno,count(contno) a from shanghailifeecif.insurance_claim group by contno  ORDER BY a DESC;
-SELECT * FROM shanghailifeecif.insurance_claim WHERE contno = 2019101200159088;
-SELECT * FROM shanghailifeecif.insurance_claim WHERE contno = 2018122000202088;
-
-select CLMNO,count(CLMNO) a from shanghailifeecif.insurance_claim group by CLMNO  ORDER BY a DESC;
-SELECT count(1) FROM (
-	select contno,CLMNO from shanghailifeecif.insurance_claim group by contno,CLMNO 
-);
-SELECT * FROM shanghailifeecif.insurance_claim WHERE CLMNO = 3631815101227631;
+ SELECT count(1) FROM insuranceclaimthread;  --

BIN
sql-achievement/存储过程/表结构和字段.xls