diff --git a/lis-module-grp-nb-service/src/main/java/com/sinosoft/lis/controller/g_app/LCPropPrintBL.java b/lis-module-grp-nb-service/src/main/java/com/sinosoft/lis/controller/g_app/LCPropPrintBL.java index edb93806..fac76bfb 100644 --- a/lis-module-grp-nb-service/src/main/java/com/sinosoft/lis/controller/g_app/LCPropPrintBL.java +++ b/lis-module-grp-nb-service/src/main/java/com/sinosoft/lis/controller/g_app/LCPropPrintBL.java @@ -198,6 +198,13 @@ public class LCPropPrintBL implements BusinessService { inquirygroupbackupSchema.setREMARK3(transBody.getRemark3()); inquirygroupbackupSchema.setPAYINTV(transBody.getPayIntv()); inquirygroupbackupSchema.setEXPSUMPREM(transBody.getExPsumPrem()); + inquirygroupbackupSchema.setPREMSHARETYPE(transBody.getPremShareType()); + inquirygroupbackupSchema.setAPPNTRATE(transBody.getAppntRate()); + inquirygroupbackupSchema.setINSUREDRATE(transBody.getInsuredRate()); + inquirygroupbackupSchema.setOTHERNODE(transBody.getOtherNode()); + inquirygroupbackupSchema.setSETTLEMENTMETHOD(transBody.getSettlementMethod()); + inquirygroupbackupSchema.setSETTLEMENTFREQ(transBody.getSettlementFreq()); + inquirygroupbackupSchema.setSETTLEMENTAMT(transBody.getSettlementAmt()); inquirygroupbackupSchema.setOTHERREQDESTIME(transBody.getOtherReqDesTime()); UUID uuid = UUID.randomUUID(); inquirygroupbackupSchema.setID(uuid.toString()); @@ -456,7 +463,7 @@ public class LCPropPrintBL implements BusinessService { lsQuotPlanDetailSchema.setExceptPrem(plan.getPrem());//exceptprem 期望保费/费率/折扣 lsQuotPlanDetailSchema.setStandValue(plan.getStandardPrem());//standvalue 参考保费/费率 lsQuotPlanDetailSchema.setUWValue(plan.getStandardPrem());//uwvalue 核保值 - lsQuotPlanDetailSchema.setFinalValue(plan.getStandardPrem());//finalvalue 最终值 + lsQuotPlanDetailSchema.setFinalValue(plan.getPrem());//finalvalue 最终值 lsQuotPlanDetailSchema.setFinalPrem(plan.getStandardPrem());//finalprem 最终保费 lsQuotPlanDetailSchema.setFinalAmnt(plan.getAmnt());//finalamnt 最终保额 lsQuotPlanDetailSchema.setFreeRisk("0");// 赠险 todo 默认否 @@ -494,29 +501,56 @@ public class LCPropPrintBL implements BusinessService { mMMap.put(lsQuotPlanDetailSubSet, MMap.Action.DELETE_INSERT); } } - if (StringUtils.isNotEmpty(transBody.getPriMartFlag())) { - //lsquotcoinsurance(询价共保表) - LSQuotCoinsuranceSchema lsQuotCoinsuranceSchema = new LSQuotCoinsuranceSchema(); - String serialsNo = LSQuotPubFun.getCoinsuranceNo(); - lsQuotCoinsuranceSchema.setSerialNo(serialsNo); //quotno 报价单号 页面映射 - lsQuotCoinsuranceSchema.setQuotNo(AskNo); //quotno 报价单号 页面映射 - lsQuotCoinsuranceSchema.setQuotBatNo(AskBatchNo);///quotbatno 报价批次号 页面映射 - lsQuotCoinsuranceSchema.setMasterSlaveFlag(transBody.getPriMartFlag());//masterslaveflag 主从标志 页面输入 共保主/从方标志 - lsQuotCoinsuranceSchema.setCoinComCode(transBody.getPriMaryName());//coincomcode 共保公司代码 todo 公司名称 -// lsQuotCoinsuranceSchema.setAmntShareRate();//amntsharerate 保额分摊比例 页面输入 保额分摊比例 - lsQuotCoinsuranceSchema.setPremShareRate(transBody.getAssumePart());//premsharerate 保费分摊比例 页面输入 保费分摊比例 - lsQuotCoinsuranceSchema.setSegment1("0");//segment1 分段标识1 默认0 - lsQuotCoinsuranceSchema.setSegment2("0"); //segment2 分段标识2 默认0 - lsQuotCoinsuranceSchema.setSegment3("0"); //segment3 分段标识3 默认0 - lsQuotCoinsuranceSchema.setMakeOperator(operator);//makeoperator 创建人 - lsQuotCoinsuranceSchema.setMakeDate(DateUtil.getCurrentDate());//makedate 创建日期 - lsQuotCoinsuranceSchema.setMakeTime(DateUtil.getCurrentTime());//maketime 创建时间 - lsQuotCoinsuranceSchema.setModifyOperator("");//modifyoperator 修改人 - lsQuotCoinsuranceSchema.setModifyDate(DateUtil.getCurrentDate());//modifydate 修改日期 - lsQuotCoinsuranceSchema.setModifyTime(DateUtil.getCurrentTime());//modifytime 修改时间 - if (lsQuotCoinsuranceSchema != null) { - mMMap.put(lsQuotCoinsuranceSchema, MMap.Action.DELETE_INSERT); + List coInsurers = transBody.getCoInsurers(); + if (StringUtils.isNotEmpty(transBody.getPriMartFlag()) && coInsurers != null) { + for (int i = 0; i < coInsurers.size(); i++) { + TXResponse.CoInsurer coInsurer = coInsurers.get(i); + //lsquotcoinsurance(询价共保表) + LSQuotCoinsuranceSchema lsQuotCoinsuranceSchema = new LSQuotCoinsuranceSchema(); + String serialsNo = LSQuotPubFun.getCoinsuranceNo(); + lsQuotCoinsuranceSchema.setSerialNo(serialsNo); //quotno 报价单号 页面映射 + lsQuotCoinsuranceSchema.setQuotNo(AskNo); //quotno 报价单号 页面映射 + lsQuotCoinsuranceSchema.setQuotBatNo(AskBatchNo);///quotbatno 报价批次号 页面映射 + lsQuotCoinsuranceSchema.setMasterSlaveFlag("1".equals(coInsurer.getLeaderFlag()) ? "0" : "1");//masterslaveflag 主从标志 0主 1从 共保主/从方标志 + lsQuotCoinsuranceSchema.setCoinComCode(coInsurer.getCoInsurName());//coincomcode 共保公司代码 todo 公司名称 + lsQuotCoinsuranceSchema.setAmntShareRate(coInsurer.getAmntShareRatio());//amntsharerate 保额分摊比例 页面输入 保额分摊比例 + lsQuotCoinsuranceSchema.setPremShareRate(coInsurer.getPremShareRatio());//premsharerate 保费分摊比例 页面输入 保费分摊比例 + lsQuotCoinsuranceSchema.setSegment1("0");//segment1 分段标识1 默认0 + lsQuotCoinsuranceSchema.setSegment2("0"); //segment2 分段标识2 默认0 + lsQuotCoinsuranceSchema.setSegment3("0"); //segment3 分段标识3 默认0 + lsQuotCoinsuranceSchema.setMakeOperator(operator);//makeoperator 创建人 + lsQuotCoinsuranceSchema.setMakeDate(DateUtil.getCurrentDate());//makedate 创建日期 + lsQuotCoinsuranceSchema.setMakeTime(DateUtil.getCurrentTime());//maketime 创建时间 + lsQuotCoinsuranceSchema.setModifyOperator("");//modifyoperator 修改人 + lsQuotCoinsuranceSchema.setModifyDate(DateUtil.getCurrentDate());//modifydate 修改日期 + lsQuotCoinsuranceSchema.setModifyTime(DateUtil.getCurrentTime());//modifytime 修改时间 + if (lsQuotCoinsuranceSchema != null) { + mMMap.put(lsQuotCoinsuranceSchema, MMap.Action.DELETE_INSERT); + } } + +// //lsquotcoinsurance(询价共保表) +// LSQuotCoinsuranceSchema lsQuotCoinsuranceSchema = new LSQuotCoinsuranceSchema(); +// String serialsNo = LSQuotPubFun.getCoinsuranceNo(); +// lsQuotCoinsuranceSchema.setSerialNo(serialsNo); //quotno 报价单号 页面映射 +// lsQuotCoinsuranceSchema.setQuotNo(AskNo); //quotno 报价单号 页面映射 +// lsQuotCoinsuranceSchema.setQuotBatNo(AskBatchNo);///quotbatno 报价批次号 页面映射 +// lsQuotCoinsuranceSchema.setMasterSlaveFlag(transBody.getPriMartFlag());//masterslaveflag 主从标志 页面输入 共保主/从方标志 +// lsQuotCoinsuranceSchema.setCoinComCode(transBody.getPriMaryName());//coincomcode 共保公司代码 todo 公司名称 +//// lsQuotCoinsuranceSchema.setAmntShareRate();//amntsharerate 保额分摊比例 页面输入 保额分摊比例 +// lsQuotCoinsuranceSchema.setPremShareRate(transBody.getAssumePart());//premsharerate 保费分摊比例 页面输入 保费分摊比例 +// lsQuotCoinsuranceSchema.setSegment1("0");//segment1 分段标识1 默认0 +// lsQuotCoinsuranceSchema.setSegment2("0"); //segment2 分段标识2 默认0 +// lsQuotCoinsuranceSchema.setSegment3("0"); //segment3 分段标识3 默认0 +// lsQuotCoinsuranceSchema.setMakeOperator(operator);//makeoperator 创建人 +// lsQuotCoinsuranceSchema.setMakeDate(DateUtil.getCurrentDate());//makedate 创建日期 +// lsQuotCoinsuranceSchema.setMakeTime(DateUtil.getCurrentTime());//maketime 创建时间 +// lsQuotCoinsuranceSchema.setModifyOperator("");//modifyoperator 修改人 +// lsQuotCoinsuranceSchema.setModifyDate(DateUtil.getCurrentDate());//modifydate 修改日期 +// lsQuotCoinsuranceSchema.setModifyTime(DateUtil.getCurrentTime());//modifytime 修改时间 +// if (lsQuotCoinsuranceSchema != null) { +// mMMap.put(lsQuotCoinsuranceSchema, MMap.Action.DELETE_INSERT); +// } } String tMissionID = PubFun1.CreateMaxNo("MissionID", 20); LWMissionSchema lwMissionSchema = new LWMissionSchema(); diff --git a/lis-module-grp-nb-service/src/main/java/com/sinosoft/lis/response/g_app/TXResponse.java b/lis-module-grp-nb-service/src/main/java/com/sinosoft/lis/response/g_app/TXResponse.java index 0fdb2734..41a07c3e 100644 --- a/lis-module-grp-nb-service/src/main/java/com/sinosoft/lis/response/g_app/TXResponse.java +++ b/lis-module-grp-nb-service/src/main/java/com/sinosoft/lis/response/g_app/TXResponse.java @@ -228,11 +228,64 @@ public class TXResponse { @XmlElement(name = "ExPsumPrem") private String exPsumPrem; + /** + * 缴费构成 + * 01-投保人出资;02-被保险人出资;03-投被保人共同出资;04-其他(字典premsharetype) + */ + @XmlElement(name = "PremShareType") + private String premShareType; + + /** + * 投保人出资比例 + * premShareType=03时有效 + */ + @XmlElement(name = "AppntRate") + private String appntRate; + + /** + * 被保险人出资比例 + * premShareType=03时有效 + */ + @XmlElement(name = "InsuredRate") + private String insuredRate; + + /** + * 其他缴费构成说明 + * premShareType=04时填写 + */ + @XmlElement(name = "OtherNode") + private String otherNode; + + /** + * 定期结算方式 + * 0-开通;1-关闭(取首条明细) + */ + @XmlElement(name = "SettlementMethod") + private String settlementMethod; + + /** + * 定期结算频率 + * 01-月结;03-季结;06-半年结;12-年结 + */ + @XmlElement(name = "SettlementFreq") + private String settlementFreq; + + /** + * 结算金额(保留2位小数) + */ + @XmlElement(name = "SettlementAmt") + private String settlementAmt; + // 处理嵌套的 Plan 列表 @XmlElementWrapper(name = "ContPlans") @XmlElement(name = "Plan") private List contPlans; + // 处理嵌套的 Plan 列表 + @XmlElementWrapper(name = "CoInsurers") + @XmlElement(name = "CoInsurer") + private List coInsurers; + @XmlElement(name = "BankService") private String bankService; @XmlElement(name = "Remark1") @@ -386,4 +439,29 @@ public class TXResponse { @XmlElement(name = "TrafficaccIdentTypes") private String trafficaccIdentTypes; } + + @Data + @XmlAccessorType(XmlAccessType.FIELD) + public static class CoInsurer { + /** + * 共保主/从方标识 1-主共保,2-从共保 + */ + @XmlElement(name = "LeaderFlag") + private String leaderFlag; + /** + * 共保公司 + */ + @XmlElement(name = "CoInsurName") + private String coInsurName; + /** + * 保额分摊比例 保留2位小数 + */ + @XmlElement(name = "AmntShareRatio") + private String amntShareRatio; + /** + * 保费分摊比例 保留2位小数 + */ + @XmlElement(name = "PremShareRatio") + private String premShareRatio; + } } diff --git a/lis-module-grp-quotation-schema/src/main/java/com/sinosoft/lis/schema/INQUIRYGROUPBACKUPSchema.java b/lis-module-grp-quotation-schema/src/main/java/com/sinosoft/lis/schema/INQUIRYGROUPBACKUPSchema.java index 6ccb7fa9..fd11b310 100644 --- a/lis-module-grp-quotation-schema/src/main/java/com/sinosoft/lis/schema/INQUIRYGROUPBACKUPSchema.java +++ b/lis-module-grp-quotation-schema/src/main/java/com/sinosoft/lis/schema/INQUIRYGROUPBACKUPSchema.java @@ -390,8 +390,77 @@ public class INQUIRYGROUPBACKUPSchema extends Entity implements Schema