1、保全核保设计文档版本历史版本/状态 作者 参与者 日期 备注1.0 李波 2009-03-16 保全核保设计第一版。1.1 李波 2009-03-19 保全核保设计第二版。1.2 李波 2009-03-29 保全核保设计第三版。1.3 李波 2009-04-20 保全核保设计第四版。1.4 李波 2009-07-03 修改 BPM 接口输入报文IReceiveCheckInsurance.xml一:保全核保流程二:数据库设计自核不过入人工核保池新建表保全核保表 WORKLIST_BAOQUAN。表字段说明:FE 服务收到请求调用 CSC 自核接口BPM 调用 FE 服务发出核保请求转人工核保池
2、FE 服务返回 BPM 请求结果调用 BPM 服务提交核保结论BPM 服务收到核保结论BPM 服务返回 FE 提交结果调用 CSC 接口提交核保意见自核通过自核不通过COYNUM VARCHAR(4), -分公司PLYNUM VARCHAR(15), -保单号BATCHNO VARCHAR(30), -保全申请号BRANCHNUM VARCHAR(8), -中支VERSIONNO VARCHAR(3), -保全核保请求核保次数PLCYMESS VARCHAR(5), -保全项(按照数据字典的代码)GETTIME TIMESTAMP, -受理时间 INSTRUCTIONS VARCHAR(500
3、), -备注信息(可能多项)(其中每项用| 分割,每项中的内容用三:接口设计FE 和 BPM 两方的接口采用 webservice,入参和出参为 org.w3c.dom.Document。FE 接口输入报文 IApplyCheckInsurance.xml:BatchNo VersionNo PlcyNo PlcyMess CompanyNo StationNo GetTime FE 接口输出报文 OApplyCheckInsurance.xml:false BPM 接口输入报文 IReceiveCheckInsurance.xml:BatchNo 11119040300009041111Ve
4、rsionNo 3CheckMess 3CheckInstructMess 资料不全.Worker 沙波.Department 北京西城分公司CheckTime 2009-4-3 11:23:11王二加费原因主险号 11111附险号 aaaa险种代码 ABC险种信息 XXX450加费类型 I0.10.20主险号 11111附险号 bbbb险种代码 EFG险种信息 ZZZ300.0加费类型 V1200.00.1王四加费原因主险号 11111附险号 aaaa险种代码 ABC险种信息 XXX450加费类型 I0.10.20主险号 11111附险号 bbbb险种代码 EFG险种信息 ZZZ300.0加
5、费类型 V1200.00.1被保人 XXX111 reason111 insuranceTypeName100000.0150000.0450.0被保人 YYY111 reason111 insuranceTypeName100000.0150000.0450.0111 contractSpecified黄六2王二5被保险人王二身份证与啥啥不符,请提供正确身份证号;还有其它一些啥内容也不符。 。 。 aaa insurantaaa healthCheckTimeaaa hospitala ccc b ccc c ccc insurant bbbhealthCheckTime bbbbbb ho
6、spitalabbc asdf ffff some aaaa why refuse.BPM 接口输出报文 OReceiveCheckInsurance.xml:false 四:模块设计1. 自核FE 收到 BPM 核保请求后调用 CSC 自核接口,自核规则在自核接口中处理,自核完成后有三种结果,一是自核通过,二是自核不通过,还有一种接口异常。自核通过的调用 BPM 的服务接口提交核保结论,同时也要提交 CSC 接口核保结论。自核不过的进入人工核保池,在保全核保列表页显示。出现异常的时候为了不丢失请求核保的单子,也可进入人工核保池操作。2. 人工核保自核不过的进入人工核保列表,自核出异常的进入人
7、工核保池。核保详细页面的信息通过查询接口获得。人工核保进行完成后调用 BPM 的服务接口提交核保结论,同时也要提交 CSC 接口核保结论。五:异常处理1. FE 服务异常FE 服务出现异常会通知 BPM,说明核保请求没有收到,需要 BPM 重新调用 FE服务。如果调用服务超时 BPM 会捕捉这个异常并处理。2. BPM 服务异常BPM 服务出现异常会通知 FE,说明核保结论没有收到,需要 FE 重新调用 BPM服务。如果调用服务超时 FE 会捕捉这个异常并处理(在人工核保池重新操作) 。3. 自核异常自核出现异常可以转人工核保池,并说明自核失败的原因。这样可以避免出现异常后丢失核保请求的单子,
8、避免线程挂起影响自核接口的调用。4. 人工核保后提交接口异常人工核保后首先提交 CSC,如果出现异常,则不会提交 BPM。如何解决 BO 接口的超时异常:建议 BO 接口可以处理重复提交的问题,可以根据 分公司+保单号+保全项+核保次数 来确定核保意见是否已经提交过,如果提交过更新否则添加。六:权限设置1:操作权限:分公司用户的公司操作权限为本公司,总公司用户不受限制。2:菜单权限:1) 保全核保用户:保全核保。七:技术难点1. BPM 调用 FE 服务后的逻辑处理BPM 调用 FE 服务后首先要返回通知给 BPM,告知 BPM 请求结果(收到核保请求) ,然后要调用 CSC 自核接口进行自核
9、。这个过程是后台程序自动完成的,为了能及时返回 BPM 请求结果,必须先返回结果再进行自核(返回结果的过程是同步的,不能等待自核后再返回请求结果) 。这样设计有两种解决方案:1.1 使用多线程处理自核,不影响请求结果的返回。 (在返回请求结果前先触发一个线程进行自核,而不必等待自核的完成就可以返回请求结果)1.2 收到请求后先入数据库,紧接着返回请求结果。然后使用类似于黑箱的程序自动检测收到的核保请求并调用 CSC 自核接口。方案比较:两种方案都是使用多线程处理,推荐使用第一方案。第二方案开发量大,还要开发额外的自动自核服务。2. 异常处理可能出现异常的地方:A BPM 和 FE 服务之间的互相调用异常B CSC 自核接口和 BO 接口调用异常这里可以考虑 FE 接收到 BPM 的核保请求后如果出现异常直接转到人工核保池处理,这样可以避免信息丢失(如:自核接口调用失败) 。八:其他问题1. 核保级别怎样确定?(在列表页要作为筛选条件,库里要有级别)在转入核保池前先查出保额计算出核保级别,在入池时添加该级别。2. 核保完成后记录是否删除核保完成后删除该记录(前提是保证提交 CSC 和 BPM 都成功)