|
|
@@ -27,6 +27,8 @@ import lombok.NoArgsConstructor;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
import java.math.BigInteger;
|
|
|
+import java.time.LocalDateTime;
|
|
|
+import java.time.format.DateTimeFormatter;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
|
|
|
@@ -1091,8 +1093,31 @@ public class SubmitRequest {
|
|
|
@JacksonXmlProperty(localName = "sumGrossPremium")
|
|
|
private BigDecimal sumGrossPremium;
|
|
|
|
|
|
+
|
|
|
+ public static int isZeroOClock(String timeStr) {
|
|
|
+ // 空值直接返回 false
|
|
|
+ if (timeStr == null || timeStr.isEmpty()) {
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ try {
|
|
|
+ // 解析字符串时间
|
|
|
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
+ LocalDateTime dateTime = LocalDateTime.parse(timeStr, formatter);
|
|
|
+
|
|
|
+ // 判断是否 00:00:00
|
|
|
+ return dateTime.getHour() == 0
|
|
|
+ && dateTime.getMinute() == 0
|
|
|
+ && dateTime.getSecond() == 0 ? 0 : 1;
|
|
|
+
|
|
|
+ } catch (Exception e) {
|
|
|
+ // 时间格式错误也返回 false
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
public static List<Risk> buildRiskList(InsOrders insOrders,InsAreaCompany insAreaCompany) {
|
|
|
- List<RiskInfoVo> riskInfoVoList = insOrders.getRisk().toJavaList(RiskInfoVo.class);
|
|
|
+ List<RiskInfoVo> riskInfoVoList = insAreaCompany.getRiskinfo().toJavaList(RiskInfoVo.class);
|
|
|
List<Risk> riskList = new ArrayList<>();
|
|
|
for (RiskInfoVo riskInfoVo : riskInfoVoList) {
|
|
|
Risk risk = new Risk();
|
|
|
@@ -1100,13 +1125,13 @@ public class SubmitRequest {
|
|
|
risk.setRiskCode("0801");
|
|
|
risk.setStartDate(XmlDateTimeFormatter.format(riskInfoVo.getStartDate()));
|
|
|
risk.setEndDate(XmlDateTimeFormatter.format(riskInfoVo.getEndDate()));
|
|
|
- risk.setEffectFlag(riskInfoVo.getInstantFlag());
|
|
|
+ risk.setEffectFlag(String.valueOf(isZeroOClock(riskInfoVo.getStartDate())));
|
|
|
risk.setSumGrossPremium(insAreaCompany.getJqpremium());
|
|
|
} else if (riskInfoVo.getRiskCode().equals("0510")) {
|
|
|
risk.setRiskCode("0808");
|
|
|
risk.setStartDate(XmlDateTimeFormatter.format(riskInfoVo.getStartDate()));
|
|
|
risk.setEndDate(XmlDateTimeFormatter.format(riskInfoVo.getEndDate()));
|
|
|
- risk.setEffectFlag(riskInfoVo.getInstantFlag());
|
|
|
+ risk.setEffectFlag(String.valueOf(isZeroOClock(riskInfoVo.getStartDate())));
|
|
|
risk.setSumGrossPremium(insAreaCompany.getSypremium());
|
|
|
}
|
|
|
riskList.add(risk);
|