Commit 99a9a600 authored by 胡涛's avatar 胡涛

质量校验理赔sql脚本

parent 5353ab76
-- 理赔业务数据
create table CKODSREGIST(
checkDate varchar(64) -- 勘察日期
,linkerPhoneNo varchar(64) -- 联系人手机
,damageStartDate varchar(64) -- 出险时间
,claimDate varchar(64) -- 立案日期
,sumclaim varchar(64) -- 估损金额
,compensateVericDate varchar(64) -- 核赔日期
,closeCaseDate varchar(64) -- 结案时间
,sumThisPaid varchar(64) -- 总赔付金额
,sumDutyPaid varchar(64) -- 直接理赔费用总金额原币金额
,recaseDate varchar(64) -- 案件重开时间
,completeDate varchar(64) -- 资料接收齐全时间
,indemnityDutyRate varchar(32) -- 车赔付比例
,paidRate varchar(32) -- 财赔付比例
,originPaidRate varchar(32) -- 人赔付比例
,crippleDegreeOne varchar(64) -- 伤残等级、伤残代码
,damageName varchar(64) -- 出险原因名称
,damageTypeCode varchar(64) -- 事故分类代码
,damageTypeName varchar(64) -- 事故分类名称
,accidentDealType varchar(64) -- 处理方式代码
,accidentDealTypeName varchar(64) -- 处理方式名称
,repairFactoryName varchar(128) -- 修理厂名称
,damageCode varchar(64) -- 出险原因码值
,injurySiteCode varchar(64) -- 受伤部位
,crippleDegreeOne varchar(64) -- 伤残程度代码
,crippleDegreeOneName varchar(64) -- 伤残程度名称
,treatedType varchar(64) -- 伤亡人员医疗类型
,hospitalName varchar(128) -- 医疗机构名称
,nonlocalIdentFlag varchar(64) -- 异地鉴定标志
,subCertiType varchar(64) -- 责任认定书类型代码
,subCertiTypeName varchar(64) -- 责任认定书类型名称
,verifyLoss varchar(64) -- 车核定损失金额
,verifyLoss varchar(64) -- 财核定损失金额
,verifyLoss varchar(64) -- 人核定损失金额
,subjectTypeCode varchar(64) -- 被追偿方类型
,subjectTypeName varchar(64) -- 被追偿方名称
,log_time varchar(32) -- 加工平台处理数据时间
) ;
\ No newline at end of file
-- CK_ODS_CKODSPOLICY CK_ODS_保单业务数据
insert into CK_ODS.CK_ODS_KAFKA.CKODSREGIST -- topic CKODSPOLICY
select
s1.actualData.prplccheck.checkDate as checkDate -- 勘察日期
,s1.actualData.prplcregist.prpllinker.linkerPhoneNo as linkerPhoneNo -- 联系人手机
,s1.actualData.damageStartDate as damageStartDate -- 出险时间
,s1.actualData.prplclaim[1].claimDate as claimDate -- 立案日期
,s1.actualData.prplclaim[1].sumclaim as sumclaim -- 估损金额
,s1.actualData.prplccompensate[1].compensateVericDate as compensateVericDate -- 核赔日期
,s1.actualData.prplendcase[1].closeCaseDate as closeCaseDate -- 结案时间
,s1.actualData.prplccompensate[1].sumThisPaid as sumThisPaid -- 总赔付金额
,s1.actualData.prplccompensate[1].sumDutyPaid as sumDutyPaid -- 直接理赔费用总金额原币金额
,s1.actualData.prplcrecase[1].recaseDate as recaseDate -- 案件重开时间
,s1.actualData.prplcertify.completeDate as completeDate -- 资料接收齐全时间
,s1.actualData.prplcarlossdetail[1].indemnityDutyRate as indemnityDutyRate -- 车赔付比例
,s1.actualData.prplproplossdetail[1].prplproploss[1].paidRate as paidRate -- 财赔付比例
,s1.actualData.prplpersondetail[1].prplperson[1].originPaidRate as originPaidRate -- 人赔付比例
,s1.actualData.prplpersondetail[1].PrpLHospital[1].crippleDegreeOne as crippleDegreeOne -- 伤残等级、伤残代码
,s1.actualData.damageName as damageName -- 出险原因名称
,s1.actualData.prplaccident.damageTypeCode as damageTypeCode -- 事故分类代码
,s1.actualData.prplaccident.damageTypeName as damageTypeName -- 事故分类名称
,s1.actualData.prplaccident.accidentDealType as accidentDealType -- 处理方式代码
,s1.actualData.prplaccident.accidentDealTypeName as accidentDealTypeName -- 处理方式名称
,s1.actualData.prplcarlossdetail[1].prplrepairfactory[1].repairFactoryName as repairFactoryName -- 修理厂名称
,s1.actualData.damageCode as damageCode -- 出险原因码值
,s1.actualData.prplcarlossdetail[1].prplcarcertain.injurySiteCode as injurySiteCode -- 受伤部位
,s1.actualData.prplpersondetail[1].PrpLHospital[1].crippleDegreeOne as crippleDegreeOne -- 伤残程度代码
,s1.actualData.prplpersondetail[1].PrpLHospital[1].crippleDegreeOneName as crippleDegreeOneName -- 伤残程度名称
,s1.actualData.prplpersondetail[1].PrpLHospital[1].treatedType as treatedType -- 伤亡人员医疗类型
,s1.actualData.prplpersondetail[1].PrpLHospital[1].hospitalName as hospitalName -- 医疗机构名称
,s1.actualData.prplpersondetail[1].prplsdisabilityassess[1].nonlocalIdentFlag as nonlocalIdentFlag -- 异地鉴定标志
,s1.actualData.prplflag.subCertiType as subCertiType -- 责任认定书类型代码
,s1.actualData.prplflag.subCertiTypeName as subCertiTypeName -- 责任认定书类型名称
,s1.actualData.prplcarlossdetail[1].verifyLoss as verifyLoss -- 车核定损失金额
,s1.actualData.prplproplossdetail[1].verifyLoss as verifyLoss -- 财核定损失金额
,s1.actualData.prplpersondetail[1].verifyLoss as verifyLoss -- 人核定损失金额
,s1.actualData.prplcreplevy[1].prplreplevyclaim[1].prplreplevyobject[1].subjectTypeCode as subjectTypeCode -- 被追偿方类型
,s1.actualData.prplcreplevy[1].prplreplevyclaim[1].prplreplevyobject[1].subjectTypeName as subjectTypeName -- 被追偿方名称
, DATE_FORMAT(LOCALTIMESTAMP,'yyyy-MM-dd HH:mm:ss') as log_time -- 加工平台处理数据时间
from ODS.ODS_KAFKA.REGIST s1
cross join unnest(s1.plcApplicant) as u1 (customerName,identifyNumber,identifyType)
where substring(s1.actualData.accidentNo,3,2) = '05'
;
-- HISREGIST 车险报案
业务对象命名:
HISREGIST
HISREGIST_ACTUALDATA
REGIST_ACTUALDATA_PRPLCREGIST
REGIST_ACTUALDATA_PRPLCREGIST_PRPLREPORTER
REGIST_ACTUALDATA_PRPLCREGIST_PRPLLINKER
REGIST_ACTUALDATA_PRPLPOLICY
REGIST_ACTUALDATA_PRPLCARLOSSDETAIL
REGIST_ACTUALDATA_PRPLCARLOSSDETAIL_PRPLCAR
REGIST_ACTUALDATA_PRPLCDAMAGE
REGIST_ACTUALDATA_PRPLCDAMAGE_PRPLDAMAGEADDRESS
{
actualData row(
accidentNo String , -- 事故号
damageStartDate String , -- 出险时间 无需转码 2021-06-27 19:25:00
reportDate String , -- 报案时间 无需转码 2021-06-27 19:37:18
damageAddress String , -- 出险地点
prplcregist array<row(
policyNo String , -- 保单号
registNo String , -- 报案号
deptCode String , -- 理赔机构代码
deptName String , -- 理赔机构名称
prplreporter row(
reporterName String , -- 报案人名称
reporterMobileNo String -- 报案人电话
) ,
prpllinker row(
linkerName String , -- 联系人名称
linkerPhoneNo String -- 联系人电话
)
)> ,
prplpolicy String ,
prplcarlossdetail array<row(
prplcar row(
brandCode String , -- 品牌
carModelCode String -- 车型
)
)> ,
prplcdamage row(
prpldamageaddress row(
longitude String , -- 经度
latitude String -- 纬度
) ,
damageName String , -- 出险原因
damageCourse String -- 出险经过
)
),
log_time String ,
nodeCode String
}
\ No newline at end of file
...@@ -9,8 +9,19 @@ REGIST_ACTUALDATA_PRPLCREGIST_PRPLLINKER ...@@ -9,8 +9,19 @@ REGIST_ACTUALDATA_PRPLCREGIST_PRPLLINKER
REGIST_ACTUALDATA_PRPLPOLICY REGIST_ACTUALDATA_PRPLPOLICY
REGIST_ACTUALDATA_PRPLCARLOSSDETAIL REGIST_ACTUALDATA_PRPLCARLOSSDETAIL
REGIST_ACTUALDATA_PRPLCARLOSSDETAIL_PRPLCAR REGIST_ACTUALDATA_PRPLCARLOSSDETAIL_PRPLCAR
REGIST_ACTUALDATA_PRPLCARLOSSDETAIL_PRPLREPAIRFACTORY
REGIST_ACTUALDATA_PRPLCARLOSSDETAIL_PRPLCARCERTAIN
REGIST_ACTUALDATA_PRPLCDAMAGE REGIST_ACTUALDATA_PRPLCDAMAGE
REGIST_ACTUALDATA_PRPLCDAMAGE_PRPLDAMAGEADDRESS REGIST_ACTUALDATA_PRPLCDAMAGE_PRPLDAMAGEADDRESS
REGIST_ACTUALDATA_PRPLCCHECK
REGIST_ACTUALDATA_PRPLCLAIM
REGIST_ACTUALDATA_PRPLCCOMPENSATE
REGIST_ACTUALDATA_PRPLENDCASE
REGIST_ACTUALDATA_PRPLCRECASE
REGIST_ACTUALDATA_PRPLCERTIFY
REGIST_ACTUALDATA_PRPLACCIDENT
REGIST_ACTUALDATA_PRPLFLAG
{ {
actualData row( actualData row(
...@@ -46,7 +57,14 @@ REGIST_ACTUALDATA_PRPLCDAMAGE_PRPLDAMAGEADDRESS ...@@ -46,7 +57,14 @@ REGIST_ACTUALDATA_PRPLCDAMAGE_PRPLDAMAGEADDRESS
brandCode String , -- 品牌 brandCode String , -- 品牌
carModelCode String -- 车型 carModelCode String -- 车型
) , ) ,
indemnityDutyRate 车赔付比例 indemnityDutyRate String , -- 车赔付比例
prplrepairfactory array<row(
repairFactoryName String -- 修理厂名称
)> ,
prplcarcertain row(
injurySiteCode String -- 受伤部位
) ,
verifyLoss String -- 车核定损失金额
)> , )> ,
prplcdamage row( prplcdamage row(
prpldamageaddress row( prpldamageaddress row(
...@@ -57,39 +75,70 @@ REGIST_ACTUALDATA_PRPLCDAMAGE_PRPLDAMAGEADDRESS ...@@ -57,39 +75,70 @@ REGIST_ACTUALDATA_PRPLCDAMAGE_PRPLDAMAGEADDRESS
damageCourse String -- 出险经过 damageCourse String -- 出险经过
) , ) ,
prplccheck row( prplccheck row(
checkDate 查勘日期 checkDate String -- 查勘日期
) , ) ,
prplclaim row( prplclaim row(
claimDate 出险时间 claimDate String , -- 出险时间
sumclaim 估损金额 sumclaim String -- 估损金额
) , ) ,
prplccompensate array<row( prplccompensate array<row(
compensateVericDate 核赔日期 compensateVericDate String , -- 核赔日期
sumThisPaid 总赔付金额 sumThisPaid String , -- 总赔付金额
sumDutyPaid 直接理赔费用总金额原币金额 sumDutyPaid String -- 直接理赔费用总金额原币金额
)> , )> ,
prplendcase array<row( prplendcase array<row(
closeCaseDate 结案时间 closeCaseDate String -- 结案时间
)> , )> ,
prplcrecase array<row( prplcrecase array<row(
recaseDate 案件重开时间 recaseDate String -- 案件重开时间
)> , )> ,
prplcertify row( prplcertify row(
completeDate 资料接收齐全时间 completeDate String -- 资料接收齐全时间
) , ) ,
prplproplossdetail array<row( -- miss prplproplossdetail array<row( -- miss
prplproploss array<row( -- miss prplproploss array<row( -- miss
paidRate 财赔付比例 paidRate String -- 财赔付比例
)> )> ,
verifyLoss String -- 财核定损失金额
)> , )> ,
prplpersondetail array<row( -- miss prplpersondetail array<row( -- miss
prplperson array<row( -- miss prplperson array<row( -- miss
originPaidRate 人赔付比例 originPaidRate String -- 人赔付比例
)> )>,
)> PrpLHospital array<row( -- miss
crippleDegreeOne String , -- 伤残等级、伤残代码、伤残程度代码
crippleDegreeOneName String , -- 伤残程度名称
treatedType String , -- 伤亡人员医疗类型
hospitalName String -- 医疗机构名称
)> ,
prplsdisabilityassess array<row( -- miss
nonlocalIdentFlag String -- 异地鉴定标志
)>,
verifyLoss String -- 人核定损失金额
)> ,
damageName String , -- 出险原因名称
damageCode String , -- 出险原因码值
prplaccident row(
damageTypeCode String , -- 事故分类代码
damageTypeName String , -- 事故分类名称
accidentDealType String , -- 处理方式代码
accidentDealTypeName String -- 处理方式名称
) ,
prplflag row(
subCertiType String , -- 责任认定书类型代码
subCertiTypeName String -- 责任认定书类型名称
) ,
prplcreplevy array<row( -- miss
prplreplevyclaim array<row( -- miss
prplreplevyobject array<row( -- miss
subjectTypeCode String , -- 被追偿方类型
subjectTypeName String -- 被追偿方名称
)>
)>
)> ,
), ),
log_time String , log_time String ,
nodeCode String nodeCode String
} }
\ No newline at end of file
-- ODS_REGIST ODS_报案业务数据 -- ODS_REGIST ODS_报案业务数据
insert into ODS.ODS_KAFKA_FIRSTHAND.HISREGIST -- topic HISREGIST 无需去重 insert into ODS.ODS_KAFKA_FIRSTHAND.REGIST -- topic REGIST 无需去重
select select
s1.actualData , s1.actualData ,
nodeCode nodeCode
from ODS.SOURCE_KAFKA_REGIST_PRD.HISREGIST s1 -- topic ClaimCase from ODS.SOURCE_KAFKA_REGIST_PRD.REGIST s1 -- topic ClaimCase
where s1.nodeCode = 'RegistCar' -- where s1.nodeCode = 'RegistCar'
; ;
...@@ -17,7 +17,7 @@ select ...@@ -17,7 +17,7 @@ select
from ( from (
select select
DATE_FORMAT(LOCALTIMESTAMP,'yyyy-MM-dd HH:mm:ss') as date_time -- 批单累加器 yyyy-MM-dd:num DATE_FORMAT(LOCALTIMESTAMP,'yyyy-MM-dd HH:mm:ss') as date_time -- 批单累加器 yyyy-MM-dd:num
from ODS.SOURCE_KAFKA_REGIST_PRD.HISREGIST from ODS.SOURCE_KAFKA_REGIST_PRD.REGIST
-- 在select与where条件中同时调用该参数 acc,会执行两次UDF函数 ,所以通过定义函数记录该参数 DataAccEndorLogUDF -- 在select与where条件中同时调用该参数 acc,会执行两次UDF函数 ,所以通过定义函数记录该参数 DataAccEndorLogUDF
where LEFT(DataAccRegistUDF( DATE_FORMAT(LOCALTIMESTAMP,'yyyy-MM-dd HH:mm:ss'),'set'),10) <> 'xxxx-xx-xx' -- 将该参数保留 where LEFT(DataAccRegistUDF( DATE_FORMAT(LOCALTIMESTAMP,'yyyy-MM-dd HH:mm:ss'),'set'),10) <> 'xxxx-xx-xx' -- 将该参数保留
) s1 ) s1
......
-- DUPLICK_REGIST DUPLICK_报案业务数据
insert into ODS.ODS_KAFKA.REGIST -- topic REGIST 无需去重
select
s1.actualData ,
DATE_FORMAT(LOCALTIMESTAMP,'yyyy-MM-dd HH:mm:ss') as log_time , -- 加工平台处理数据时间
nodeCode
from ODS.ODS_KAFKA_FIRSTHAND.REGIST s1 -- topic HISREGIST
;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment