CREATE OR REPLACE PROCEDURE shanglifeecif.insuranceclaimthread_main() -- 创建主存储过程
IS    
BEGIN
	insert into shanglifeecif.insuranceclaimthread (
		icthreadid ,--'保险理赔Id',1
		crno ,--'立案号',2
		--companyno ,-- '公司代码',
		policyno ,--'保险单号 INSURANCE_CLAIM.CONTNO',3
		--applicantid ,--'投保人ID',
		--appname ,--'投保人名称',
		--appphone ,--'投保人手机',
		--appcertid ,--'投保人证件号码 INSURANCE_CLAIM.RISKDATE',
		cnno ,--'报案号',4
		losstime ,-- '损失发生时间',5
		--rpid ,-- '报案人',
		rpname ,--'报案人名称',6
		--rpphone ,-- '报案人电话',
		--lpid ,--'出险人	根据INSURANCE_CLAIM.INSUREDNO获取indid',
		lpscutid,--'出险人上游客户号7
		--lpname ,-- '出险人名称',
		cndate ,--'报案日期 INSURANCE_CLAIM.RPTDATE',
		lossdescribe ,-- '损失原因 案件发生的原因:INSURANCE_CLAIM.LLOCCURREASON',
		crdate ,-- '立案日期 INSURANCE_CLAIM.RGTDATE',
		cndescribe ,--'报案描述 INSURANCE_CLAIM.ACCIDENTDETAIL',
		claimstatus ,--'理赔状态 案件的状态，例如：录入、已立案等',
		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 
		-- updated_time,
		-- updated_by
	) select 
   		row_number()over(),--1
   		rgtno,--2
		contno,--3
		rptno,--报案号4
		riskdate,--损失发生的时间5
		rptorname,--报案人名称6
   		INSUREDNO,--出险人 上游客户号
   		--lpname,
		rptdate,
		lloccurreason,
		rgtdate,
		accidentdetail,--报案描述
		llclaimstate,
		auditdate,--审批日期
		relation,
		clmno,--赔案号
		llgettype,--赔案状态
		riskcode,
		riskname,
		realpay,
		llclaimstate,--案件状态
		'admin',
		sysdate()
	from shanghailifeecif.INSURANCE_CLAIM where contno is not null 
	
	update shanglifeecif.insuranceclaimthread a set (
		lpid,
		lpname
	) = (SELECT 
			temp.indid,
			temp.name
			FROM (
				select 
				b.indid,
				row_number() over(partition by b.scustid) rn,
				b.scustid,
				b.name
			from shanglifeecif.individual b
			) temp WHERE a.lpscutid = temp.scustid AND temp.rn = 1);


	UPDATE shanglifeecif.insuranceclaimthread a SET (
			applicantid ,--'投保人ID',
			appname ,--'投保人名称',
			appphone ,--'投保人手机',
			appcertid, --'投保人证件号码 INSURANCE_CLAIM.RISKDATE',
			branchcode-- '机构代码',
		) = (
		
			SELECT 
				temp.applicantid ,--'投保人ID',
				temp.appname ,--'投保人名称',
				temp.appphone ,--'投保人手机',
				temp.appcertid, --'投保人证件号码 INSURANCE_CLAIM.RISKDATE',
				temp.branchcode-- '机构代码',
			FROM (
				select 
				row_number() over(partition by applicantid) rn,
				applicantid ,--'投保人ID',
				appname ,--'投保人名称',
				appphone ,--'投保人手机',
				appcertid, --'投保人证件号码 INSURANCE_CLAIM.RISKDATE',
				branchcode,-- '机构代码',
				policyno
			from shanglifeecif.insurancearrangement b
			--where b.policyno  = a.policyno
			
			) temp WHERE temp.policyno = a.policyno AND temp.rn = 1);

END;