Просмотр исходного кода

阳光即时起保问题修改
诚泰即时起保问题修改

Qchen 2 месяцев назад
Родитель
Сommit
45c27ba6e1

+ 24 - 2
tenant/insurance/quotation-chengtai/src/main/java/com/jzg/quotation/chengtai/api/entity/request/PremiumCalculationRequest.java

@@ -18,6 +18,7 @@ import lombok.NoArgsConstructor;
 
 import java.math.BigDecimal;
 import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
@@ -656,13 +657,24 @@ public class PremiumCalculationRequest {
         private String endDate;
 
         public static List<Risk> buildRiskList(RiskInfoVo ciRiskInfoVo,RiskInfoVo biRiskInfoVo) {
+            String today = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
             List<Risk> riskList = new ArrayList<>();
             if (ciRiskInfoVo != null) {
                 Risk risk = new Risk();
                 risk.setRiskCode("0801");
                 risk.setStartDate(XmlDateTimeFormatter.format(ciRiskInfoVo.getStartDate()));
                 risk.setEndDate(XmlDateTimeFormatter.format(ciRiskInfoVo.getEndDate()));
-                risk.setEffectFlag(ciRiskInfoVo.isInstantFlag() ? "1" : "0");
+                String startDate = ciRiskInfoVo.getStartDate();
+                // 判断及时起保 是否为今天 是否为0点
+                if (startDate != null && startDate.length() >= 19) {
+                    String datePart = startDate.substring(0, 10);
+                    String timePart = startDate.substring(11);
+                    if (today.equals(datePart) && !"00:00:00".equals(timePart)) {
+                        risk.setEffectFlag("1");
+                    } else {
+                        risk.setEffectFlag("0");
+                    }
+                }
                 riskList.add(risk);
             }
             if (biRiskInfoVo != null) {
@@ -670,7 +682,17 @@ public class PremiumCalculationRequest {
                 risk.setRiskCode("0808");
                 risk.setStartDate(XmlDateTimeFormatter.format(biRiskInfoVo.getStartDate()));
                 risk.setEndDate(XmlDateTimeFormatter.format(biRiskInfoVo.getEndDate()));
-                risk.setEffectFlag(biRiskInfoVo.isInstantFlag() ? "1" : "0");
+                String startDate = biRiskInfoVo.getStartDate();
+                // 判断及时起保 是否为今天 是否为0点
+                if (startDate != null && startDate.length() >= 19) {
+                    String datePart = startDate.substring(0, 10);
+                    String timePart = startDate.substring(11);
+                    if (today.equals(datePart) && !"00:00:00".equals(timePart)) {
+                        risk.setEffectFlag("1");
+                    } else {
+                        risk.setEffectFlag("0");
+                    }
+                }
                 riskList.add(risk);
             }
             return riskList;

+ 10 - 2
tenant/insurance/quotation-yangguang/src/main/java/com/jzg/quotation/yangguang/api/entity/request/YangGuangAccuracyCalculateRequest.java

@@ -240,7 +240,11 @@ public class YangGuangAccuracyCalculateRequest extends YangGuangBaseRequest{
             }
             this.CiStartDate = ciStartTime.format(formatter);
             this.CiEndDate = ciEndTime.format(formatter);
-            this.CiImmediateFlag = quoteVo.getCiRiskInfoVo().isInstantFlag() ? "1" : "0";
+            if (quoteVo.getCiRiskInfoVo().getStartDate().endsWith("00:00:00")) {
+                this.CiImmediateFlag = "0";
+            } else {
+                this.CiImmediateFlag = "1";
+            }
         }
         if (Objects.nonNull(quoteVo.getBiRiskInfoVo())) {
             // 基础保险期限计算
@@ -256,7 +260,11 @@ public class YangGuangAccuracyCalculateRequest extends YangGuangBaseRequest{
             }
             this.BiStartDate = biStartTime.format(formatter);
             this.BiEndDate = biEndTime.format(formatter);
-            this.BiImmediateFlag = quoteVo.getBiRiskInfoVo().isInstantFlag() ? "1" : "0";
+            if (quoteVo.getBiRiskInfoVo().getStartDate().endsWith("00:00:00")) {
+                this.BiImmediateFlag = "0";
+            } else {
+                this.BiImmediateFlag = "1";
+            }
         }
         if (quoteVo.getCiRiskInfoVo() != null && quoteVo.getBiRiskInfoVo() != null) {
             this.PolicyType = "3";