|
|
@@ -258,6 +258,14 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
|
|
|
rr = this.getResponse(m, vinNo);
|
|
|
}
|
|
|
|
|
|
+ //1、商业险重复投保处理
|
|
|
+ boo = commerceRepetitionInsure(rr, m);
|
|
|
+ if (!boo) {
|
|
|
+ InsuranceLog.infoLog(InsuranceEnum.AICS.getPinyin(), "\n\n---------> {} - 商业险重复投保处理", vinNo);
|
|
|
+ rr = this.getResponse(m, vinNo);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
//2、转保处理
|
|
|
boo = reinsurance(rr, m);
|
|
|
if (!boo) {
|
|
|
@@ -350,30 +358,23 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ //endregion
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 报价 交强险 重复 投保业务处理
|
|
|
*/
|
|
|
public boolean ciRepetitionInsure(RuoteResponse rr, Ruote m) {
|
|
|
String errorMsg = rr.getHead().getErrorMessage();
|
|
|
- if (rr.getHead().getErrorCode().equals("009999") && errorMsg.contains("重复投保")) {
|
|
|
+
|
|
|
+ if (rr.getHead().getErrorCode().equals("009999") && errorMsg.contains("重复投保") && errorMsg.contains("机动车交通事故强制险")) {
|
|
|
requestInfoList.add(errorMsg);
|
|
|
log.info("永诚API方式 - xml请求 ------------报价 -> 交强重复投保----------------");
|
|
|
|
|
|
//截取0 到 机动车交通事故强制险
|
|
|
String ciMsg = errorMsg;
|
|
|
//终保日期
|
|
|
- String coverageEndDate = null;
|
|
|
-
|
|
|
- if(errorMsg.contains("终保日期")){
|
|
|
- coverageEndDate = ciMsg.substring(ciMsg.indexOf("终保日期") + 5, ciMsg.indexOf("终保日期") + 5 + 16);
|
|
|
- } else if (errorMsg.contains("保险止期")) {
|
|
|
- coverageEndDate = ciMsg.substring(ciMsg.indexOf("保险止期") + 6, ciMsg.indexOf("保险止期") + 6 + 16);
|
|
|
- }
|
|
|
-
|
|
|
- if(StringUtils.isEmpty(coverageEndDate)){
|
|
|
- throw new SystemException(ciMsg);
|
|
|
- }
|
|
|
-
|
|
|
+ String coverageEndDate = ciMsg.substring(ciMsg.indexOf("终保日期") + 5, ciMsg.indexOf("终保日期") + 5 + 16);
|
|
|
LocalDateTime start = DateTimeUtil.parseLocalDateTime(coverageEndDate, DateTimeUtil.DATETIME_PATTERN_EXT1);
|
|
|
LocalDateTime end = start.plusYears(1L).minusDays(1L);
|
|
|
String newStartDate = DateTimeUtil.getStartTimeOfDayStr(start, DateTimeUtil.DATETIME_PATTERN);
|
|
|
@@ -396,9 +397,51 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
|
|
|
}
|
|
|
return true;
|
|
|
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 报价 商业 重复 投保业务处理
|
|
|
+ */
|
|
|
+ public boolean commerceRepetitionInsure(RuoteResponse rr, Ruote m) {
|
|
|
+ String errorMsg = rr.getHead().getErrorMessage();
|
|
|
+ if (rr.getHead().getErrorCode().equals("009999") && errorMsg.contains("重复投保") && errorMsg.contains("机动车综合商业保险")) {
|
|
|
+ requestInfoList.add(errorMsg);
|
|
|
+ log.info("永诚API方式 - xml请求 ------------报价 -> 商业险重复投保----------------");
|
|
|
+
|
|
|
+ //截取0 到 机动车交通事故强制险
|
|
|
+ String ciMsg = errorMsg;
|
|
|
+ //终保日期
|
|
|
+ String coverageEndDate = ciMsg.substring(ciMsg.indexOf("保险止期") + 6, ciMsg.indexOf("保险止期") + 6 + 19);
|
|
|
+ LocalDateTime start;
|
|
|
+
|
|
|
+ if(coverageEndDate.contains("23:59:59")){
|
|
|
+ start = DateTimeUtil.parseLocalDateTime(coverageEndDate, DateTimeUtil.DATETIME_PATTERN).plusSeconds(1);
|
|
|
+ }else {
|
|
|
+ start = DateTimeUtil.parseLocalDateTime(coverageEndDate, DateTimeUtil.DATETIME_PATTERN);
|
|
|
+ }
|
|
|
+
|
|
|
+ LocalDateTime end = start.plusYears(1L).minusDays(1L);
|
|
|
+
|
|
|
+ String newStartDate = DateTimeUtil.getStartTimeOfDayStr(start, DateTimeUtil.DATETIME_PATTERN);
|
|
|
+ String newEndDate = DateTimeUtil.getEndTimeOfDayStr(end, DateTimeUtil.DATETIME_PATTERN);
|
|
|
+ System.err.println("商业新起:" + newStartDate);
|
|
|
+ System.err.println("商业新止:" + newEndDate);
|
|
|
+
|
|
|
+ m.getRequestLabel().getCondition().getBase().setTInsrncBgnTmSY(newStartDate);
|
|
|
+ m.getRequestLabel().getCondition().getBase().setTInsrncEndTmSY(newEndDate);
|
|
|
+
|
|
|
+ //转保信息清空 重新报价
|
|
|
+ m.getRequestLabel().getCondition().getVhl().setCBusType("0");
|
|
|
+
|
|
|
+ return false;
|
|
|
+
|
|
|
+ }
|
|
|
+ return true;
|
|
|
|
|
|
}
|
|
|
|
|
|
+
|
|
|
/**
|
|
|
* 报价 商业险 重复 投保业务处理
|
|
|
*/
|