Commit c93fa3ba authored by 王东's avatar 王东

指标计算承保字段调整

parent 795380f8
...@@ -46,5 +46,19 @@ from ODS.SOURCE_RMQ_ENDOR_PRD.ENDOR ...@@ -46,5 +46,19 @@ from ODS.SOURCE_RMQ_ENDOR_PRD.ENDOR
insert into ODS.ODS_REDIS.SET_VARCHAR
select
CONCAT('MQ_ENDOR/', LEFT(DataAccEndorUDF( date_time,'get'),10)) as `key` ,
DataAccEndorUDF( date_time,'get') as val
from (
select
DATE_FORMAT(LOCALTIMESTAMP,'yyyy-MM-dd HH:mm:ss') as date_time -- 批单累加器 yyyy-MM-dd:num
from ODS.SOURCE_RMQ_ENDOR_PRD.ENDOR
-- 在select与where条件中同时调用该参数 acc,会执行两次UDF函数 ,所以通过定义函数记录该参数 DataAccEndorLogUDF
where LEFT(DataAccEndorUDF( DATE_FORMAT(LOCALTIMESTAMP,'yyyy-MM-dd HH:mm:ss'),'set'),10) <> 'xxxx-xx-xx' -- 将该参数保留
) s1
;
...@@ -47,7 +47,18 @@ from ODS.SOURCE_RMQ_POLICY_PRD.POLICY ...@@ -47,7 +47,18 @@ from ODS.SOURCE_RMQ_POLICY_PRD.POLICY
; ;
insert into ODS.ODS_REDIS.SET_VARCHAR
select
CONCAT('MQ_POLICY/', LEFT(DataAccPolicyUDF( date_time,'get'),10)) as `key` ,
DataAccPolicyUDF( date_time,'get') as val
from (
select
DATE_FORMAT(LOCALTIMESTAMP,'yyyy-MM-dd HH:mm:ss') as date_time -- 批单累加器 yyyy-MM-dd:num
from ODS.SOURCE_RMQ_POLICY_PRD.POLICY
-- 在select与where条件中同时调用该参数 acc,会执行两次UDF函数 ,所以通过定义函数记录该参数 DataAccEndorLogUDF
where LEFT(DataAccPolicyUDF( DATE_FORMAT(LOCALTIMESTAMP,'yyyy-MM-dd HH:mm:ss'),'set'),10) <> 'xxxx-xx-xx' -- 将该参数保留
) s1
;
......
-- XF_DWD_ENDOR XF_DWD_批单业务数据
select
s1.endorseNo , -- 1 批单号
s1.businessOffice , -- 新核心车险批单-保单归属机构代码
s1.productCode , -- 新核心车险批单-险种代码
s1.businessNatureCode , -- 新核心车险批单-业务来源
s1.channelType , -- 5 渠道类型
s1.uwConclueDate , -- 6 核批完成时间
s1.plpEndorse ,
s1.recordClerkCode , -- 14 归属业务员ID
s1.recordClerkName , -- 15 归属业务员名称
s1.businessChannelCode , -- 27 新核心车险批单-清分后渠道
s1.businessChannelName , -- 28 业务渠道名
s1.newPolicyFlag , -- 20 新核心车险批单-新保标识 1:是,0:否
s1.autoTransrenewFlag , -- 21 新核心车险批单-自动续保标识 1:是,4:跨险种自动续保,0:否
s1.transferPolicyFlag , -- 22 新核心车险批单-转保标识1:是,0:否
s1.transrenewFlag , -- 23 新核心车险批单-续保标识 1:是,4:跨险种续保,0:否
s1.policyCreatDate , -- 新核心车险批单-核保通过时间
s1.plcSolution ,
s1.policyNo , -- 新核心车险批单-保单号
s1.businessOfficeName , -- 新核心车险批单-保单归属机构名称
s1.startTime , -- 新核心车险批单-起保时间
s1.endTime , -- 新核心车险批单-终保时间
s1.netPremium , -- 新核心车险批单-不含税保费
s1.premium , -- 新核心车险批单-含税保费
s1.plcCar05 ,
s1.plcApplicant ,
s1.plcPublicInsurant ,
s1.saleaman , -- 新核心车险批单-代理机构代码
s1.saleamanName , -- 新核心车险批单-代理机构名称
s1.policySort , -- 新核心车险批单-保单种类
s1.sigAndStaExchangeRate , -- 8 到人民币汇率 除了粤港车,车险没有存汇率,模型默认0
s1.log_time as log_time , -- 加工平台处理数据时间
s1.signDate , -- 指标新增_保单统计日期
s1.endorseTime , -- 指标新增_批单计算起保时间
s1.mainSalesmanCode , -- 指标新增_归属业务员ID
s1.mainSalesmanName , -- 指标新增_归属业务员名称
s1.coinsCode , -- 指标新增_共保标识代码 0 非共保 1,主共,2从共,车险无共保,仅有联保
s1.coinsLinkCode , -- 指标新增_联保标志代码 0 非联保 3,主联,4从联
s1.actualId , -- 指标新增_唯一标识需验证
s1.businessNo , -- 业务单号
t1.LEVEL1COMCODE -- 分公司代码
from ODS.ODS_KAFKA.ENDOR s1
left join ZB_ODS.ZB_ODS_MYSQL.CD_COM_ALL for system_time as of s1.proctime as t1 on s1.businessOffice = t1.COMCODE
-- ODS_POLICY ODS_保单业务数据 -- XF_DWD_POLICY XF_DWD_保单业务数据
-- XF_DWD.XF_DWD_KAFKA.分公司TOPIC
select select
s1.endorseNo , -- 1 批单号
s1.policyNo , -- 2 保单号 s1.policyNo , -- 2 保单号
s1.businessNo , -- 3 业务号 s1.businessNo , -- 3 业务号
s1.uwConclueDate , -- 4 核保通过时间 s1.uwConclueDate , -- 4 核保通过时间
...@@ -32,8 +30,18 @@ select ...@@ -32,8 +30,18 @@ select
s1.policyCreatDate , -- 保单创建时间 s1.policyCreatDate , -- 保单创建时间
s1.sigAndStaExchangeRate , -- 费率 s1.sigAndStaExchangeRate , -- 费率
s1.policySort , -- 新核心车险保单-保单种类 s1.policySort , -- 新核心车险保单-保单种类
s1.businessType , -- 新核心车险保单-业务类型 s1.businessType , -- 新核心车险保单-业务类型
t1.LEVEL1COMCODE s1.log_time as log_time , -- 加工平台处理数据时间
s1.channelType , -- 指标新增_渠道类型
s1.signDate , -- 指标新增_保单统计日期
s1.mainSalesmanCode , -- 指标新增_归属业务员ID
s1.mainSalesmanName , -- 指标新增_归属业务员名称
s1.coinsCode , -- 指标新增_共保标识代码 0 非共保 1,主共,2从共,车险无共保,仅有联保
s1.coinsLinkCode , -- 指标新增_联保标志代码 0 非联保 3,主联,4从联
s1.amount , -- 指标新增_保额
s1.actualId , -- 指标新增_唯一标识需验证
t1.LEVEL1COMCODE -- 分公司代码
from ODS.ODS_KAFKA.POLICY s1 from ODS.ODS_KAFKA.POLICY s1
left join ZB_ODS.ZB_ODS_MYSQL.CD_COM_ALL for system_time as of s1.proctime as t1 on s1.businessOffice = t1.COMCODE left join ZB_ODS.ZB_ODS_MYSQL.CD_COM_ALL for system_time as of s1.proctime as t1 on s1.businessOffice = t1.COMCODE
......
-- XF_DWD_REGIST XF_DWD_理赔报案业务数据
select
s1.actualData ,
DATE_FORMAT(LOCALTIMESTAMP,'yyyy-MM-dd HH:mm:ss') as log_time , -- 加工平台处理数据时间
t1.LEVEL1COMCODE -- 分公司代码
from ODS.ODS_KAFKA.POLICY s1
left join ZB_ODS.ZB_ODS_MYSQL.CD_COM_ALL for system_time as of s1.proctime as t1 on s1.businessOffice = t1.COMCODE
{ "systemName": "流计算平台", "systemCode": "D030", "sendTime": "${.now?string("yyyy-MM-dd HH:mm:ss")}", "msgCode": "carpolicy" "msgName": "新核心车险保单信息", "data":[{ "policyNo" :"${policyNo!}" <#-- "xx",//保单号 --> ,"businessNo" :"${businessNo!}" <#-- "xx",//业务号 --> ,"underWriteEndDate" :"${policyCreatDate!?c}" <#-- "xx",//核保通过时间 --> ,"comCode" :"${businessOffice!}" <#-- "xx",//保单归属机构代码 --> ,"comName" :"${businessOfficeName!}" <#-- "xx",//保单归属机构名称 --> ,"riskCode" :"${productCode!}" <#-- "xx",//险种代码 --> ,"businessNature" :"${businessNatureCode!}" <#-- "xx",//业务来源 --> ,"startDate" :"${startTime!?c}" <#-- "xx",//起保时间 --> ,"endDate" :"${endTime!?c}" <#-- "xx",//终保时间 --> ,"sumPremium" :"${netPremium!}" <#-- "xx",//不含税保费 --> ,"premium" :"${premium!}" <#-- "xx",//含税保费 --> ,"licenseNo" :"${plcCar05.licensePlateNo!}" <#-- "xx",//车牌号 --> ,"frameNo" :"${plcCar05.frameNo!}" <#-- "xx",//车架号 --> ,"modelCode" :"${plcCar05.vehicleId!}" <#-- "xx",//车型 --> ,"newVehicleFlag" :"${plcCar05.newVehicleFlag!}" <#-- "xx",//新车标识 --> ,"appliName" :"<#if plcApplicant??><#list plcApplicant as s1>${s1.customerName}<#if plcApplicant?size-1 gt s1?index >|</#if></#list></#if>" <#-- "xx",//投保人名称 --> ,"insuredName" :"<#if plcPublicInsurant??><#list plcPublicInsurant as s1>${s1.customerName}<#if plcPublicInsurant?size-1 gt s1?index >|</#if></#list></#if>" <#-- "xx",//被保人名称 --> ,"newPolicyFlag" :"${newPolicyFlag!}" <#-- "xx",//新保标识 --> ,"autoTransreNewFlag" :"${autoTransrenewFlag!}" <#-- "xx",//自动续保标识 --> ,"transferPolicyFlag" :"${transferPolicyFlag!}" <#-- "xx",//转保标识 --> ,"transreNewFlag" : "${transrenewFlag!}" <#-- "xx",//续保标识 --> ,"artifSelfPricesRat" :"<#if plcSolution??><#list plcSolution as s1>${s1.PlcRation.artifSelfPricesRat}<#if plcSolution?size-1 gt s1?index >|</#if></#list></#if>" <#-- "xx",//自主定价系数 --> ,"artifReviewPrem" :"<#if plcSolution??><#list plcSolution as s1>${s1.PlcRation.artifReviewPrem}<#if plcSolution?size-1 gt s1?index >|</#if></#list></#if>" <#-- "xx",//总保费 --> ,"agentFee" :"<#if plcSolution??><#list plcSolution as s1><#list s1.plcCommissionDetail as item>${item.agentFee}<#if s1.plcCommissionDetail?size-1 gt item?index >|</#if></#list></#list></#if>" <#-- "xx",//手续费含税金额 --> ,"agentNetFee" :"<#if plcSolution??><#list plcSolution as s1><#list s1.plcCommissionDetail as item>${item.agentNetFee}<#if s1.plcCommissionDetail?size-1 gt item?index >|</#if></#list></#list></#if>" <#-- "xx",//手续费不含税金额 --> ,"agentComCode" :"${saleaman!}" <#-- "xx",//代理机构代码 --> ,"agentComName" :"${saleamanName!}" <#-- "xx",//代理机构名称 --> ,"newChnlType" :"${businessChannelCode!}" <#-- "xx",//清分后渠道 --> ,"carKindCode" :"${plcCar05.carKindCode!}" <#-- "xx",//车辆种类 --> ,"useNatureCode" :"${plcCar05.carUserNatureCode!}" <#-- "xx",//车辆使用性质 --> ,"policySort" :"${policySort!}" <#-- "xx",//保单种类 --> ,"actualvalue" :"${plcCar05.actualvalue!}" <#-- "xx",//实际价值 --> ,"businessType" :"${businessType!}" <#-- "xx",//业务类型 --> }]}
{ {
"systemName": "流计算平台", "systemName": "流计算平台",
"systemCode": "D030", "systemCode": "D030",
......
-- REGIST 车险报案
业务对象命名:
REGIST
REGIST_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 array<row(
comCode String , -- 承保机构代码
comName String , -- 承保机构名称
riskCode String , -- 险种代码
riskName String , -- 险种名称
licenseNo String -- 车牌号
)> ,
prplcarlossdetail array<row(
prplcar row(
brandCode String , -- 品牌
carModelCode String -- 车型
)
)> ,
prplcdamage row(
prpldamageaddress row(
longitude String , -- 经度
latitude String -- 纬度
) ,
damageName String , -- 出险原因
damageCourse String -- 出险经过
)
)
}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
-- XF_ODS_CD_REALTIME_KAFKA_NEWTOPIC XF_ODS_新核心车险机构代码与topic关系表 -- XF_ODS_CD_REALTIME_KAFKA_NEWTOPIC XF_ODS_新核心车险机构代码与topic关系表
insert into XF_ODS.XF_ODS_MYSQL.XF_ODS_CD_REALTIME_KAFKA_NEWTOPIC insert into XF_ODS.XF_ODS_MYSQL.CD_REALTIME_KAFKA_NEWTOPIC
select select
COMCODE , COMCODE ,
TOPICNAME , TOPICNAME ,
......
create table ANAQUERY.CHECK_REALTIME(
signDate varchar2(64) primary key,
ysqdsl decimal(18,2) default null, -- 原始签单数量
cxqdsl decimal(18,2) default null, -- 车险签单数量
jcqdsl decimal(18,2) default null, -- 军车签单数量
fcfnqdsl decimal(18,2) default null, -- 非车非农签单数量
nxqdsl decimal(18,2) default null, -- 农险签单数量
ysqdbf decimal(18,2) default null, -- 原始签单保费(万)
cxqdbf decimal(18,2) default null, -- 车险签单保费(万)
jcqdbf decimal(18,2) default null, -- 军车签单保费(万)
fcfnqdbf decimal(18,2) default null, -- 非车非农签单保费(万)
nxqdbf decimal(18,2) default null, -- 农险签单保费(万)
log_time varchar2(64) default null
)
;
COMMENT ON COLUMN CHECK_REALTIME.ysqdsl IS '原始签单数量';
COMMENT ON COLUMN CHECK_REALTIME.cxqdsl IS '车险签单数量';
COMMENT ON COLUMN CHECK_REALTIME.jcqdsl IS '军车签单数量';
COMMENT ON COLUMN CHECK_REALTIME.fcfnqdsl IS '非车非农签单数量';
COMMENT ON COLUMN CHECK_REALTIME.nxqdsl IS '农险签单数量';
COMMENT ON COLUMN CHECK_REALTIME.ysqdbf IS '原始签单保费(万)';
COMMENT ON COLUMN CHECK_REALTIME.cxqdbf IS '车险签单保费(万)';
COMMENT ON COLUMN CHECK_REALTIME.jcqdbf IS '军车签单保费(万)';
COMMENT ON COLUMN CHECK_REALTIME.fcfnqdbf IS '非车非农签单保费(万)';
COMMENT ON COLUMN CHECK_REALTIME.nxqdbf IS '农险签单保费(万)';
-- ZB_CK_CHECK_REALTIME ZB_CK_实时和统计日增量检验
insert into ZB_CK.ZB_CK_ORACLE_ANAQUERY.CHECK_REALTIME
select
DATE_FORMAT(TIMESTAMPADD(day,-1,LOCALTIMESTAMP),'yyyyMMdd') as signDate
,cast(sum(1) as decimal(18,0)) as ysqdsl -- 原始签单数量
,cast(sum(if(LEFT(s1.productCode,2) = '05',1,0)) as decimal(18,0)) as cxqdsl -- 车险签单数量
,cast(0 as decimal(18,0)) as jcqdsl -- 军车签单数量
,cast(sum(if(LEFT(s1.productCode,2) <>'05' and LEFT(s1.productCode,1) <> '3',1,0)) as decimal(18,0)) as fcfnqdsl -- 非车非农签单数量
,cast(sum(if(LEFT(s1.productCode,1) = '3',1,0)) as decimal(18,0)) as nxqdsl -- 农险签单数量
,cast(sum(s1.cost)/10000 as decimal(18,2)) as ysqdbf -- 原始签单保费(万)
,cast(sum(if(LEFT(s1.productCode,2) = '05',s1.cost,0) ) /10000 as decimal(18,2)) as cxqdbf -- 车险签单保费(万)
,cast(0 as decimal(18,2)) as jcqdbf -- 军车签单保费(万)
,cast(sum(if(LEFT(s1.productCode,2) <>'05' and LEFT(s1.productCode,1) <> '3',s1.cost,0))/10000 as decimal(18,2)) as fcfnqdbf -- 非车非农签单保费(万)
,cast(sum(if(LEFT(s1.productCode,1) = '3',s1.cost,0)) /10000 as decimal(18,2)) as nxqdbf -- 农险签单保费(万)
,DATE_FORMAT(LOCALTIMESTAMP,'yyyy-MM-dd HH:mm:ss') as log_time
from(
select
policyNo
,businessNo
,businessOffice
,signDate
,productCode
,coinsCode
,cast(cast(netPremium as decimal(30,4))
* cast(sigAndStaExchangeRate as decimal(30,4))
*(
case
when coinsCode = '0' then (
case
when coinsLinkCode = '0' then 1 -- 非共保非联保
else cast(LinkCoinsRate as decimal(30,4)) /100 -- 纯联保
end
)
else (
case
when coinsLinkCode = '0' then cast(CoinsCoinsRate as decimal(30,4)) /100 -- 纯共保
else (
cast(CoinsCoinsRate as decimal(30,4)) /100
)* (
cast(LinkCoinsRate as decimal(30,4)) /100
) -- 即联又共
end
)
end
)
as decimal (30,4)) as `cost` -- 不含税保费
,ROW_NUMBER() OVER(PARTITION BY COALESCE(policyNo,businessNo) ,businessOffice,netPremium ORDER BY signDate DESC) as rownum
from ZB_CK.ZB_CK_MYSQL.KAFKA_POLICY
where signDate = DATE_FORMAT(TIMESTAMPADD(DAY,-1,LOCALTIMESTAMP),'yyyyMMdd')
and (
LEFT(COALESCE(policyNo,businessNo) ,2) = '66'
or
LEFT(COALESCE(policyNo,businessNo) ,1) = '8'
)
) s1
where s1.rownum = 1
;
\ No newline at end of file
SELECT CAST('1******************************\n ' ||
TO_CHAR(TO_DATE(TO_CHAR(TRUNC(DATE), 'yyyy-MM-DD'),
'YYYY-MM-DD') - 1,
'YYYY-MM-DD') ||
'\n 实时和统计日增量检验\n****************************** \n(新核心)实时-统计' AS
VARCHAR(1000)) AS CONTENT
FROM PCDEVW.CD_CLASS
GROUP BY 1
UNION ALL
SELECT '2原始签单数量差异(件):\n' || TRIM(A."原始签单数量") || '-' || TRIM(B."原始签单数量") || '=' ||
TO_CHAR(A."原始签单数量" - B."原始签单数量") || '\n' || '车险签单数量差异(件):\n' ||
TRIM(A."车险签单数量") || '-' || TRIM(B."车险签单数量") || '=' ||
TO_CHAR(A."车险签单数量" - B."车险签单数量") || '\n' || '其中军车签单数量差异(件):\n' ||
TRIM(A."军车签单数量") || '-' || TRIM(B."军车签单数量") || '=' ||
TO_CHAR(A."军车签单数量" - B."军车签单数量") || '\n' || '非车非农签单数量差异(件):\n' ||
TRIM(A."非车非农签单数量") || '-' || TRIM(B."非车非农签单数量") || '=' ||
TO_CHAR(A."非车非农签单数量" - B."非车非农签单数量") || '\n' || '农险签单数量差异(件):\n' ||
TRIM(A."农险签单数量") || '-' || TRIM(B."农险签单数量") || '=' ||
TO_CHAR(A."农险签单数量" - B."农险签单数量") || '\n'
|| '原始签单保费差异(万):\n' || TRIM(A."原始签单保费(万)") || '-' ||
TRIM(B."原始签单保费(万)") || '=' || TO_CHAR(A."原始签单保费(万)" - B."原始签单保费(万)") || '\n' ||
'车险签单保费差异(万):\n' || TRIM(A."车险签单保费(万)") || '-' ||
TRIM(B."车险签单保费(万)") || '=' || TO_CHAR(A."车险签单保费(万)" - B."车险签单保费(万)") || '\n' ||
'其中军车签单保费差异(万):\n' || TRIM(A."军车签单保费(万)") || '-' ||
TRIM(B."军车签单保费(万)") || '=' || TO_CHAR(A."军车签单保费(万)" - B."军车签单保费(万)") || '\n' ||
'非车非农签单保费差异(万):\n' || TRIM(A."非车非农签单保费(万)") || '-' ||
TRIM(B."非车非农签单保费(万)") || '=' ||
TO_CHAR(A."非车非农签单保费(万)" - B."非车非农签单保费(万)") || '\n' ||
'农险签单保费差异(万):\n' || TRIM(A."农险签单保费(万)") || '-' ||
TRIM(B."农险签单保费(万)") || '=' || TO_CHAR(A."农险签单保费(万)" - B."农险签单保费(万)") || '\n'
FROM (SELECT '新核心' aa,
NVL(COUNT(*), 0) "原始签单数量",
NVL(COUNT(CASE
WHEN P1.RISKCODE LIKE '05%' THEN
BUSINESSNO
END),
0) "车险签单数量",
NVL(COUNT(CASE
WHEN P1.RISKCODE LIKE '05%' AND
((SUBSTR(P1.COMCODE, 1, 2) IN ('31', '11') AND
P2.LICENSEKINDCODE IN ('81', '82')) OR
(SUBSTR(P1.COMCODE, 1, 2) NOT IN ('31', '11') AND
P2.LICENSEKINDCODE IN ('31', '32'))) THEN
BUSINESSNO
END),
0) "军车签单数量",
NVL(COUNT(CASE
WHEN P1.RISKCODE NOT LIKE '05%' AND
P1.RISKCODE NOT LIKE '3%' THEN
BUSINESSNO
END),
0) "非车非农签单数量",
NVL(COUNT(CASE
WHEN P1.RISKCODE LIKE '3%' THEN
BUSINESSNO
END),
0) "农险签单数量",
NVL(CAST(SUM(BAOFEI) / 10000 AS NUMBER(18, 2)), 0) "原始签单保费(万)",
NVL(CAST(SUM(CASE
WHEN P1.RISKCODE LIKE '05%' THEN
BAOFEI
END) / 10000 AS NUMBER(18, 2)),
0) "车险签单保费(万)",
NVL(CAST(SUM(CASE
WHEN P1.RISKCODE LIKE '05%' AND
((SUBSTR(P1.COMCODE, 1, 2) IN ('31', '11') AND
P2.LICENSEKINDCODE IN ('81', '82')) OR
(SUBSTR(P1.COMCODE, 1, 2) NOT IN ('31', '11') AND
P2.LICENSEKINDCODE IN ('31', '32'))) THEN
BAOFEI
END) / 10000 AS NUMBER(18, 2)),
0) "军车签单保费(万)",
NVL(CAST(SUM(CASE
WHEN P1.RISKCODE NOT LIKE '05%' AND
P1.RISKCODE NOT LIKE '3%' THEN
BAOFEI
END) / 10000 AS NUMBER(18, 2)),
0) "非车非农签单保费(万)",
NVL(CAST(SUM(CASE
WHEN P1.RISKCODE LIKE '3%' THEN
BAOFEI
END) / 10000 AS NUMBER(18, 2)),
0) "农险签单保费(万)"
FROM BASVW.WEB_REALTIME_BUSINESS_INFO P1
LEFT JOIN PODSVW.ODS_CITEMCAR P2
ON P1.BUSINESSNO = P2.POLICYNO
WHERE SUBSTR(P1.UNDERWRITEENDDATE, 1, 10) =
TO_CHAR(DATE - 1, 'YYYY-MM-DD')
AND SUBSTR(BUSINESSNO, 1, 2) = '66') a
LEFT JOIN (SELECT '新核心' aa,
NVL(SUM(CASE
WHEN P1.RISKCODE LIKE '05%' AND P1.COINSFLAG = '4' THEN
0
ELSE
1
END),
0) "原始签单数量",
NVL(COUNT(CASE
WHEN P1.RISKCODE LIKE '05%' AND P1.COINSFLAG <> '4' THEN
P1.POLICYNO
END),
0) "车险签单数量",
NVL(COUNT(CASE
WHEN P1.RISKCODE LIKE '05%' AND
((SUBSTR(P1.COMCODE, 1, 2) IN ('31', '11') AND
P2.LICENSEKINDCODE IN ('81', '82')) OR
(SUBSTR(P1.COMCODE, 1, 2) NOT IN ('31', '11') AND
P2.LICENSEKINDCODE IN ('31', '32'))) THEN
P1.POLICYNO
END),
0) "军车签单数量",
NVL(COUNT(CASE
WHEN P1.RISKCODE NOT LIKE '05%' AND
P1.RISKCODE NOT LIKE '3%' THEN
P1.POLICYNO
END),
0) "非车非农签单数量",
NVL(COUNT(CASE
WHEN P1.RISKCODE LIKE '3%' THEN
P1.POLICYNO
END),
0) "农险签单数量",
NVL(CAST(SUM(SUMPREMIUM * P1.EXCHRATE * P1.COINSRATE / 100) /
10000 AS DECIMAL(18, 2)),
0) "原始签单保费(万)",
NVL(CAST(SUM(CASE
WHEN P1.RISKCODE LIKE '05%' AND P1.COINSFLAG <> '4' THEN
SUMPREMIUM * P1.EXCHRATE * P1.COINSRATE / 100
END) / 10000 AS NUMBER(18, 2)),
0) "车险签单保费(万)",
NVL(CAST(SUM(CASE
WHEN P1.RISKCODE LIKE '05%' AND
((SUBSTR(P1.COMCODE, 1, 2) IN ('31', '11') AND
P2.LICENSEKINDCODE IN ('81', '82')) OR
(SUBSTR(P1.COMCODE, 1, 2) NOT IN ('31', '11') AND
P2.LICENSEKINDCODE IN ('31', '32'))) THEN
SUMPREMIUM * P1.EXCHRATE * P1.COINSRATE / 100
END) / 10000 AS NUMBER(18, 2)),
0) "军车签单保费(万)",
NVL(CAST(SUM(CASE
WHEN P1.RISKCODE NOT LIKE '05%' AND
P1.RISKCODE NOT LIKE '3%' THEN
SUMPREMIUM * P1.EXCHRATE * P1.COINSRATE / 100
END) / 10000 AS NUMBER(18, 2)),
0) "非车非农签单保费(万)",
NVL(CAST(SUM(CASE
WHEN P1.RISKCODE LIKE '3%' THEN
SUMPREMIUM * P1.EXCHRATE * P1.COINSRATE / 100
END) / 10000 AS NUMBER(18, 2)),
0) "农险签单保费(万)"
FROM PMIDVW.MID_CMAINORIGIN P1
LEFT JOIN PODSVW.ODS_CITEMCAR P2
ON P1.POLICYNO = P2.POLICYNO
WHERE TRUNC(P1.UNDERWRITEENDDATE, 'dd') = TRUNC(DATE - 1)
AND SUBSTR(P1.POLICYNO, 1, 2) = '66') b
ON a.aa = b.aa
UNION ALL
SELECT '3------------------------------------------------\n(老核心)实时-统计' AS CONTENT
FROM PCDEVW.CD_CLASS
GROUP BY 1
UNION ALL
SELECT '4原始签单数量差异(件):\n' || TRIM(A."原始签单数量") || '-' || TRIM(B."原始签单数量") || '=' ||
TO_CHAR(A."原始签单数量" - B."原始签单数量") || '\n' || '车险签单数量差异(件):\n' ||
TRIM(A."车险签单数量") || '-' || TRIM(B."车险签单数量") || '=' ||
TO_CHAR(A."车险签单数量" - B."车险签单数量") || '\n' || '其中军车签单数量差异(件):\n' ||
TRIM(A."军车签单数量") || '-' || TRIM(B."军车签单数量") || '=' ||
TO_CHAR(A."军车签单数量" - B."军车签单数量") || '\n' || '非车非农签单数量差异(件):\n' ||
TRIM(A."非车非农签单数量") || '-' || TRIM(B."非车非农签单数量") || '=' ||
TO_CHAR(A."非车非农签单数量" - B."非车非农签单数量") || '\n' || '农险签单数量差异(件):\n' ||
TRIM(A."农险签单数量") || '-' || TRIM(B."农险签单数量") || '=' ||
TO_CHAR(A."农险签单数量" - B."农险签单数量") || '\n'
|| '原始签单保费差异(万):\n' || TRIM(A."原始签单保费(万)") || '-' ||
TRIM(B."原始签单保费(万)") || '=' || TO_CHAR(A."原始签单保费(万)" - B."原始签单保费(万)") || '\n' ||
'车险签单保费差异(万):\n' || TRIM(A."车险签单保费(万)") || '-' ||
TRIM(B."车险签单保费(万)") || '=' || TO_CHAR(A."车险签单保费(万)" - B."车险签单保费(万)") || '\n' ||
'其中军车签单保费差异(万):\n' || TRIM(A."军车签单保费(万)") || '-' ||
TRIM(B."军车签单保费(万)") || '=' || TO_CHAR(A."军车签单保费(万)" - B."军车签单保费(万)") || '\n' ||
'非车非农签单保费差异(万):\n' || TRIM(A."非车非农签单保费(万)") || '-' ||
TRIM(B."非车非农签单保费(万)") || '=' ||
TO_CHAR(A."非车非农签单保费(万)" - B."非车非农签单保费(万)") || '\n' ||
'农险签单保费差异(万):\n' || TRIM(A."农险签单保费(万)") || '-' ||
TRIM(B."农险签单保费(万)") || '=' || TO_CHAR(A."农险签单保费(万)" - B."农险签单保费(万)") || '\n'
FROM (SELECT
'老核心' aa,
NVL(COUNT(*), 0) "原始签单数量",
NVL(COUNT(CASE
WHEN P1.RISKCODE LIKE '05%' THEN
BUSINESSNO
END),
0) "车险签单数量",
NVL(COUNT(CASE
WHEN P1.RISKCODE LIKE '05%' AND
((SUBSTR(P1.COMCODE, 1, 2) IN ('31', '11') AND
P2.LICENSEKINDCODE IN ('81', '82')) OR
(SUBSTR(P1.COMCODE, 1, 2) NOT IN ('31', '11') AND
P2.LICENSEKINDCODE IN ('31', '32'))) THEN
BUSINESSNO
END),
0) "军车签单数量",
NVL(COUNT(CASE
WHEN P1.RISKCODE NOT LIKE '05%' AND P1.RISKCODE NOT LIKE '3%' THEN
BUSINESSNO
END),
0) "非车非农签单数量",
NVL(COUNT(CASE
WHEN P1.RISKCODE LIKE '3%' THEN
BUSINESSNO
END),
0) "农险签单数量",
NVL(CAST(SUM(BAOFEI) / 10000 AS NUMBER(18, 2)), 0) "原始签单保费(万)",
NVL(CAST(SUM(CASE
WHEN P1.RISKCODE LIKE '05%' THEN
BAOFEI
END) / 10000 AS NUMBER(18, 2)),
0) "车险签单保费(万)",
NVL(CAST(SUM(CASE
WHEN P1.RISKCODE LIKE '05%' AND
((SUBSTR(P1.COMCODE, 1, 2) IN ('31', '11') AND
P2.LICENSEKINDCODE IN ('81', '82')) OR
(SUBSTR(P1.COMCODE, 1, 2) NOT IN ('31', '11') AND
P2.LICENSEKINDCODE IN ('31', '32'))) THEN
BAOFEI
END) / 10000 AS NUMBER(18, 2)),
0) "军车签单保费(万)",
NVL(CAST(SUM(CASE
WHEN P1.RISKCODE NOT LIKE '05%' AND P1.RISKCODE NOT LIKE '3%' THEN
BAOFEI
END) / 10000 AS NUMBER(18, 2)),
0) "非车非农签单保费(万)",
NVL(CAST(SUM(CASE
WHEN P1.RISKCODE LIKE '3%' THEN
BAOFEI
END) / 10000 AS NUMBER(18, 2)),
0) "农险签单保费(万)"
FROM BASVW.WEB_REALTIME_BUSINESS_INFO P1
LEFT JOIN PODSVW.ODS_CITEMCAR P2
ON P1.BUSINESSNO = P2.POLICYNO
WHERE SUBSTR(P1.UNDERWRITEENDDATE, 1, 10) =
TO_CHAR(DATE - 1, 'YYYY-MM-DD')
AND SUBSTR(BUSINESSNO, 1, 1) = '8') a
LEFT JOIN (SELECT '老核心' aa,
NVL(COUNT(*), 0) "原始签单数量",
NVL(COUNT(CASE
WHEN P1.RISKCODE LIKE '05%' THEN
P1.POLICYNO
END),
0) "车险签单数量",
NVL(COUNT(CASE
WHEN P1.RISKCODE LIKE '05%' AND
((SUBSTR(P1.COMCODE, 1, 2) IN ('31', '11') AND
P2.LICENSEKINDCODE IN ('81', '82')) OR
(SUBSTR(P1.COMCODE, 1, 2) NOT IN ('31', '11') AND
P2.LICENSEKINDCODE IN ('31', '32'))) THEN
P1.POLICYNO
END),
0) "军车签单数量",
NVL(COUNT(CASE
WHEN P1.RISKCODE NOT LIKE '05%' AND
P1.RISKCODE NOT LIKE '3%' THEN
P1.POLICYNO
END),
0) "非车非农签单数量",
NVL(COUNT(CASE
WHEN P1.RISKCODE LIKE '3%' THEN
P1.POLICYNO
END),
0) "农险签单数量",
NVL(CAST(SUM(PREMIUM * P1.EXCHRATE * P1.COINSRATE / 100) /
10000 AS DECIMAL(18, 2)),
0) "原始签单保费(万)",
NVL(CAST(SUM(CASE
WHEN P1.RISKCODE LIKE '05%' THEN
PREMIUM * P1.EXCHRATE * P1.COINSRATE / 100
END) / 10000 AS NUMBER(18, 2)),
0) "车险签单保费(万)",
NVL(CAST(SUM(CASE
WHEN P1.RISKCODE LIKE '05%' AND
((SUBSTR(P1.COMCODE, 1, 2) IN ('31', '11') AND
P2.LICENSEKINDCODE IN ('81', '82')) OR
(SUBSTR(P1.COMCODE, 1, 2) NOT IN ('31', '11') AND
P2.LICENSEKINDCODE IN ('31', '32'))) THEN
PREMIUM * P1.EXCHRATE * P1.COINSRATE / 100
END) / 10000 AS NUMBER(18, 2)),
0) "军车签单保费(万)",
NVL(CAST(SUM(CASE
WHEN P1.RISKCODE NOT LIKE '05%' AND
P1.RISKCODE NOT LIKE '3%' THEN
PREMIUM * P1.EXCHRATE * P1.COINSRATE / 100
END) / 10000 AS NUMBER(18, 2)),
0) "非车非农签单保费(万)",
NVL(CAST(SUM(CASE
WHEN P1.RISKCODE LIKE '3%' THEN
PREMIUM * P1.EXCHRATE * P1.COINSRATE / 100
END) / 10000 AS NUMBER(18, 2)),
0) "农险签单保费(万)"
FROM BASVW.WEB_LIST_CMAINORIGIN P1
LEFT JOIN PODSVW.ODS_CITEMCAR P2
ON P1.POLICYNO = P2.POLICYNO
WHERE TRUNC(P1.UNDERWRITEENDDATE, 'dd') = TRUNC(DATE - 1)
AND SUBSTR(P1.POLICYNO, 1, 1) = '8') b
ON a.aa = b.aa
UNION ALL
SELECT '5******************************' AS CONTENT
FROM PCDEVW.CD_CLASS
GROUP BY 1
...@@ -71,7 +71,7 @@ from ( ...@@ -71,7 +71,7 @@ from (
) )
end end
) as decimal (30,4)) as `cost` -- 不含税保费 ) as decimal (30,4)) as `cost` -- 不含税保费
,businessNo as `no` -- 保单号 ,case when policyNo is not null then policyNo else businessNo end as `no` -- 保单号
,case ,case
when LEFT(productCode,2) = '05' and (newPolicyFlag = '1' or autoTransrenewFlag = '1' or autoTransrenewFlag = '4' or transferPolicyFlag = '1' or transrenewFlag = '1' or transrenewFlag ='4') then '1' when LEFT(productCode,2) = '05' and (newPolicyFlag = '1' or autoTransrenewFlag = '1' or autoTransrenewFlag = '4' or transferPolicyFlag = '1' or transrenewFlag = '1' or transrenewFlag ='4') then '1'
when LEFT(productCode,2) <> '05' and (newPolicyFlag = '0' or autoTransrenewFlag = '1' or autoTransrenewFlag = '4' or transferPolicyFlag = '2' or transrenewFlag = '1' ) then '1' when LEFT(productCode,2) <> '05' and (newPolicyFlag = '0' or autoTransrenewFlag = '1' or autoTransrenewFlag = '4' or transferPolicyFlag = '2' or transrenewFlag = '1' ) then '1'
...@@ -115,7 +115,7 @@ from ( ...@@ -115,7 +115,7 @@ from (
) )
end end
) as decimal (30,4)) as `cost` -- 不含税保费 ) as decimal (30,4)) as `cost` -- 不含税保费
,businessNo as `no` -- 批单号 ,case when endorseNo is not null then endorseNo else businessNo end as `no` -- 批单号
,case ,case
when LEFT(productCode,2) = '05' and (newPolicyFlag = '1' or autoTransrenewFlag = '1' or autoTransrenewFlag = '4' or transferPolicyFlag = '1' or transrenewFlag = '1' or transrenewFlag ='4') then '1' when LEFT(productCode,2) = '05' and (newPolicyFlag = '1' or autoTransrenewFlag = '1' or autoTransrenewFlag = '4' or transferPolicyFlag = '1' or transrenewFlag = '1' or transrenewFlag ='4') then '1'
when LEFT(productCode,2) <> '05' and (newPolicyFlag = '0' or autoTransrenewFlag = '1' or autoTransrenewFlag = '4' or transferPolicyFlag = '2' or transrenewFlag = '1' ) then '1' when LEFT(productCode,2) <> '05' and (newPolicyFlag = '0' or autoTransrenewFlag = '1' or autoTransrenewFlag = '4' or transferPolicyFlag = '2' or transrenewFlag = '1' ) then '1'
......
EXCEPTION: "null:异常信息:NullPointerException nullLEFT(com.ydwf.bridge.DATAPROCESS.dprunplan.v2.DpRunPlanSave.createDirectory(DpRunPlanSave.java:302)
com.ydwf.bridge.DATAPROCESS.dprunplan.v2.DpRunPlanSave.execServer(DpRunPlanSave.java:104)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
com.ydwf.component.baseserver.exec(baseserver.java:1086)
com.ydwf.component.baseserver.StartFlow(baseserver.java:883)
com.ydwf.cloud.service.ServiceObject.exec(ServiceObject.java:187)
com.ydwf.cloud.controller.ServiceController.baseService(ServiceController.java:322)
com.ydwf.cloud.controller.ServiceController.service(ServiceController.java:188)
sun.reflect.GeneratedMethodAccessor105.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798)
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
javax.servlet.http.HttpServlet.service(HttpServlet.java:665)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:755)
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1617)
com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:123)
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
org.springframework.boot.actuate.web.trace.servlet.HttpTraceFilter.doFilterInternal(HttpTraceFilter.java:88)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
com.ydwf.cloud.filter.ServiceAuthenticationFilter.doFilter(ServiceAuthenticationFilter.java:224)
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:94)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.filterAndRecordMetrics(WebMvcMetricsFilter.java:114)
org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:104)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:545)
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:590)
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1607)
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1297)
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:485)
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1577)
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1212)
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
org.eclipse.jetty.server.Server.handle(Server.java:500)
org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383)
org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:547)
org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375)
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:270)
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:388)
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)
java.lang.Thread.run(Thread.java:748)
"
This source diff could not be displayed because it is too large. You can view the blob instead.
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