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

Merge remote-tracking branch 'origin/master'

Qchen 4 месяцев назад
Родитель
Сommit
fa95c7a472
17 измененных файлов с 131 добавлено и 39 удалено
  1. 4 1
      commons/src/main/java/com/jzg/commons/entity/po/PtlAgreement.java
  2. 4 1
      commons/src/main/java/com/jzg/commons/entity/po/PtlAgreementCost.java
  3. 50 15
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/aop/FactorMatch.java
  4. 6 8
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/aop/aspect/AuditVerificationAspect.java
  5. 5 1
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/aop/aspect/QuoteVerificationAspect.java
  6. 24 0
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/client/PtlNewAgreementClient.java
  7. 2 2
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/controller/UnifyOrderManager.java
  8. 7 0
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsOrdersCostsServiceImpl.java
  9. 1 2
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsOrdersServiceImpl.java
  10. 1 1
      tenant/organization/src/main/java/com/jzg/organization/client/InsFeeOrdersClient.java
  11. 4 3
      tenant/organization/src/main/java/com/jzg/organization/controller/AgreementController.java
  12. 11 0
      tenant/organization/src/main/java/com/jzg/organization/controller/PtlNewAgreementController.java
  13. 2 2
      tenant/organization/src/main/java/com/jzg/organization/service/PtlAgreementService.java
  14. 1 0
      tenant/organization/src/main/java/com/jzg/organization/service/impl/PtlAgreementCostServiceImpl.java
  15. 1 0
      tenant/organization/src/main/java/com/jzg/organization/service/impl/PtlAgreementServiceImpl.java
  16. 7 2
      tenant/organization/src/main/java/com/jzg/organization/service/impl/ReceivableServiceImpl.java
  17. 1 1
      tenant/organization/src/main/resources/mapper/ReceivableMapper.xml

+ 4 - 1
commons/src/main/java/com/jzg/commons/entity/po/PtlAgreement.java

@@ -1,5 +1,6 @@
 package com.jzg.commons.entity.po;
 
+import java.io.Serial;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
 
@@ -10,12 +11,14 @@ import lombok.Data;
 
 /**
  * 协议信息表
- * @TableName ptl_agreement
+ * ptl_agreement
  */
 @Schema(description = "协议管理表")
 @Data
 public class PtlAgreement extends BaseModel {
 
+    @Serial
+    private static final long serialVersionUID = 8962555764674070017L;
     /** 主键 */
     @Schema(description = "主键")
     private String id;

+ 4 - 1
commons/src/main/java/com/jzg/commons/entity/po/PtlAgreementCost.java

@@ -7,18 +7,21 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.jzg.commons.core.base.BaseModel;
 import lombok.Data;
 
+import java.io.Serial;
 import java.time.LocalDateTime;
 import java.util.Date;
 
 
 /**
- * @author: JZG 协议费用管理
+ * @author JZG 协议费用管理
  */
 
 @Data
 @TableName("ptl_agreement_cost")
 public class PtlAgreementCost extends BaseModel {
 
+    @Serial
+    private static final long serialVersionUID = -985496146546865007L;
     @TableId(type = IdType.ASSIGN_ID)
     private String id;
 

+ 50 - 15
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/aop/FactorMatch.java

@@ -1,9 +1,12 @@
 package com.jzg.quotation.summary.aop;
 
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
 import com.jzg.commons.constants.quote.enums.quote.EnergyTypeCode;
 import com.jzg.commons.entity.po.PtlAgreementCostRule;
 import com.jzg.commons.entity.po.PtlAgreementUndwrtRulesAttr;
 import com.jzg.commons.entity.po.PtlAgreementUndwrtRulesAttrLink;
+import com.jzg.commons.entity.po.PtlAgreementUndwrtRulesDictLabal;
 import com.jzg.commons.entity.vo.RuleAttrMappingVo;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -11,11 +14,9 @@ import org.slf4j.LoggerFactory;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
 import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.stream.Collectors;
 
 /**
  * 因子匹配类
@@ -33,7 +34,7 @@ public class FactorMatch {
      * @return
      */
     public static boolean judgements(List<PtlAgreementCostRule> ptlAgreementCostRuleList, List<RuleAttrMappingVo> ruleAttrMappingVoList,
-                                     List<PtlAgreementUndwrtRulesAttr> undwrtRulesAttrList, StringBuilder logs) {
+                                     List<PtlAgreementUndwrtRulesAttr> undwrtRulesAttrList, StringBuilder logs,  List<PtlAgreementUndwrtRulesDictLabal> undwrtRulesDictList) {
         boolean useFlag = true;
         for (PtlAgreementCostRule ptlAgreementProductCostsAttrLink : ptlAgreementCostRuleList) {
             //查找规则中的 传值属性
@@ -69,15 +70,33 @@ public class FactorMatch {
                         .filter(x -> x.getAttrCode().equals(ptlAgreementProductCostsAttrLink.getAttrCode()))
                         .toList();
 
+                Map<String, String> codeToNameMap = new HashMap<>();
+                if (CollUtil.isNotEmpty(undwrtRulesDictList)){
+                    Map<Integer, List<PtlAgreementUndwrtRulesDictLabal>> dictMap = undwrtRulesDictList.stream()
+                            .collect(Collectors.groupingBy(PtlAgreementUndwrtRulesDictLabal::getDictId));
+                    List<PtlAgreementUndwrtRulesDictLabal> ptlAgreementUndwrtRulesDictLabals = dictMap.getOrDefault(ptlAgreementUndwrtRulesAttr.getDictId(), CollUtil.newArrayList());
+                    if (CollUtil.isNotEmpty(ptlAgreementUndwrtRulesDictLabals)){
+                        codeToNameMap = ptlAgreementUndwrtRulesDictLabals.stream()
+                                .collect(Collectors.toMap(
+                                        PtlAgreementUndwrtRulesDictLabal::getCode,
+                                        PtlAgreementUndwrtRulesDictLabal::getName,
+                                        (existing, replacement) -> existing
+                                ));
+                    }
+                }
+
                 if (ptlAgreementProductCostsAttrLink.getMin() != null) {
-                    logs.append("检验的值:" + ptlAgreementProductCostsAttrLink.getMin() + "\n");
+                    String min = codeToNameMap.getOrDefault(ptlAgreementProductCostsAttrLink.getMin(), StrUtil.EMPTY);
+                    logs.append("检验的值:" + (StrUtil.isNotBlank(min) ? min : ptlAgreementProductCostsAttrLink.getMin()) + "\n");
                 } else {
-                    logs.append("检验的值:" + ptlAgreementProductCostsAttrLink.getMax() + "\n");
+                    String max = codeToNameMap.getOrDefault(ptlAgreementProductCostsAttrLink.getMax(), StrUtil.EMPTY);
+                    logs.append("检验的值:" + (StrUtil.isNotBlank(max) ? max : ptlAgreementProductCostsAttrLink.getMax()) + "\n");
                 }
 
-                logs.append("传入的值:" + ruleAttrMappingVo.getValue() + "\n");
+                String val = codeToNameMap.getOrDefault(ruleAttrMappingVo.getValue(), StrUtil.EMPTY);
+                logs.append("传入的值:" + (StrUtil.isNotBlank(val) ? val : ruleAttrMappingVo.getValue()) + "\n");
 
-                if (!collect.isEmpty()) {
+                if (CollUtil.isNotEmpty(collect)) {
 //                    logs.append("<span style=\"color:red;\">规则匹配失败:" + collect.get(0).getAttrName() + "</span>\n");
                     logs.append("规则匹配失败:" + collect.get(0).getAttrName() + "\n");
                 }
@@ -90,7 +109,7 @@ public class FactorMatch {
 
 
     public static boolean judgementsUnderwrite(List<PtlAgreementUndwrtRulesAttrLink> ptlAgreementCostRuleList, List<RuleAttrMappingVo> ruleAttrMappingVoList,
-                                     List<PtlAgreementUndwrtRulesAttr> undwrtRulesAttrList, StringBuilder logs) {
+                                     List<PtlAgreementUndwrtRulesAttr> undwrtRulesAttrList, StringBuilder logs, List<PtlAgreementUndwrtRulesDictLabal> undwrtRulesDictList) {
         boolean useFlag = true;
         for (PtlAgreementUndwrtRulesAttrLink ptlAgreementProductCostsAttrLink : ptlAgreementCostRuleList) {
             //查找规则中的 传值属性
@@ -134,20 +153,36 @@ public class FactorMatch {
                 log.info("传入的值:" + ruleAttrMappingVo.getValue());
                 log.info("规则匹配失败:" + ptlAgreementProductCostsAttrLink.getAttrCode());
 
-
                 List<PtlAgreementUndwrtRulesAttr> collect = undwrtRulesAttrList.stream()
                         .filter(x -> x.getAttrCode().equals(ptlAgreementProductCostsAttrLink.getAttrCode()))
                         .toList();
 
+                Map<String, String> codeToNameMap = new HashMap<>();
+                if (CollUtil.isNotEmpty(undwrtRulesDictList)){
+                    Map<Integer, List<PtlAgreementUndwrtRulesDictLabal>> dictMap = undwrtRulesDictList.stream()
+                            .collect(Collectors.groupingBy(PtlAgreementUndwrtRulesDictLabal::getDictId));
+                    List<PtlAgreementUndwrtRulesDictLabal> ptlAgreementUndwrtRulesDictLabals = dictMap.getOrDefault(ptlAgreementUndwrtRulesAttr.getDictId(), CollUtil.newArrayList());
+                    if (CollUtil.isNotEmpty(ptlAgreementUndwrtRulesDictLabals)){
+                        codeToNameMap = ptlAgreementUndwrtRulesDictLabals.stream()
+                                .collect(Collectors.toMap(
+                                        PtlAgreementUndwrtRulesDictLabal::getCode,
+                                        PtlAgreementUndwrtRulesDictLabal::getName,
+                                        (existing, replacement) -> existing
+                                ));
+                    }
+                }
                 if (ptlAgreementProductCostsAttrLink.getMin() != null) {
-                    logs.append("检验的值4:" + ptlAgreementProductCostsAttrLink.getMin() + "\n");
+                    String min = codeToNameMap.getOrDefault(ptlAgreementProductCostsAttrLink.getMin(), StrUtil.EMPTY);
+                    logs.append("检验的值4:" + (StrUtil.isNotBlank(min) ? min : ptlAgreementProductCostsAttrLink.getMin()) + "\n");
                 } else {
-                    logs.append("检验的值5:" + ptlAgreementProductCostsAttrLink.getMax() + "\n");
+                    String max = codeToNameMap.getOrDefault(ptlAgreementProductCostsAttrLink.getMax(), StrUtil.EMPTY);
+                    logs.append("检验的值5:" + (StrUtil.isNotBlank(max) ? max : ptlAgreementProductCostsAttrLink.getMax()) + "\n");
                 }
 
-                logs.append("传入的值:" + ruleAttrMappingVo.getValue() + "\n");
+                String val = codeToNameMap.getOrDefault(ruleAttrMappingVo.getValue(), StrUtil.EMPTY);
+                logs.append("传入的值:" + (StrUtil.isNotBlank(val) ? val : ruleAttrMappingVo.getValue()) + "\n");
 
-                if (!collect.isEmpty()) {
+                if (CollUtil.isNotEmpty(collect)) {
                     logs.append("<span style=\"color:red;\">规则匹配失败:" + collect.get(0).getAttrName() + "</span>\n");
                 }
 

+ 6 - 8
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/aop/aspect/AuditVerificationAspect.java

@@ -7,17 +7,14 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.jzg.commons.core.base.BaseController;
 import com.jzg.commons.core.page.HttpResult;
 import com.jzg.commons.entity.orders.po.*;
-import com.jzg.commons.entity.po.InsFeeOrders;
-import com.jzg.commons.entity.po.PtlAgreementCost;
-import com.jzg.commons.entity.po.PtlAgreementUndwrtRulesAttr;
-import com.jzg.commons.entity.po.PtlAgreementUndwrtRulesAttrLink;
+import com.jzg.commons.entity.po.*;
 import com.jzg.commons.entity.quote.vo.aggregated.UnderwritingVo;
-import com.jzg.commons.entity.vo.CostsListVo;
 import com.jzg.commons.entity.vo.RuleAttrMappingVo;
 import com.jzg.commons.exception.SystemException;
 import com.jzg.commons.util.AssertionUtils;
 import com.jzg.quotation.commons.client.OrgClient;
 import com.jzg.quotation.summary.aop.FactorMatch;
+import com.jzg.quotation.summary.client.PtlNewAgreementClient;
 import com.jzg.quotation.summary.service.*;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -26,7 +23,6 @@ import org.aspectj.lang.annotation.Aspect;
 import org.aspectj.lang.annotation.Before;
 import org.springframework.stereotype.Component;
 
-import java.math.BigDecimal;
 import java.time.format.DateTimeFormatter;
 import java.util.List;
 import java.util.Objects;
@@ -59,6 +55,8 @@ public class AuditVerificationAspect {
 
     private final BaseController baseController;
 
+    private final PtlNewAgreementClient ptlNewAgreementClient;
+
 
 
     @Before("@annotation(com.jzg.quotation.summary.aop.AuditVerification)")
@@ -130,11 +128,11 @@ public class AuditVerificationAspect {
         List<RuleAttrMappingVo> ruleAttrMappingVoList = RuleAttrMappingVo.getRuleAttrMappingVoList(insOrdersOther,insOrdersCarInfo,
                 riskList, insOrdersCarUserInfos, kindList, insOrdersCosts, insOrdersAccidentalDriving, isNewCar);
 
-
+        List<PtlAgreementUndwrtRulesDictLabal> undwrtRulesDictList = ptlNewAgreementClient.getUndwrtRulesDictList();
         for (int i = 0; i < ruleAttrMappingVoList.size(); i++) {
 //            logs.append("触发承保规则:" + ruleAttrMappingVoList.get(i).getAttrCode() + "\n");
             //判断是否匹配
-            if (!FactorMatch.judgementsUnderwrite(ptlAgreementUndwrtRulesNews, ruleAttrMappingVoList, undwrtRulesAttrList, logs)) {
+            if (!FactorMatch.judgementsUnderwrite(ptlAgreementUndwrtRulesNews, ruleAttrMappingVoList, undwrtRulesAttrList, logs, undwrtRulesDictList)) {
                 throw new SystemException(logs.toString());
             }else{
                 //如果没有出现异常则清空匹配消息

+ 5 - 1
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/aop/aspect/QuoteVerificationAspect.java

@@ -16,6 +16,7 @@ import com.jzg.commons.entity.quote.vo.aggregated.QuoteResultsVo;
 import com.jzg.commons.entity.vo.*;
 import com.jzg.quotation.commons.client.OrgClient;
 import com.jzg.quotation.summary.aop.FactorMatch;
+import com.jzg.quotation.summary.client.PtlNewAgreementClient;
 import com.jzg.quotation.summary.service.*;
 import lombok.RequiredArgsConstructor;
 import org.aspectj.lang.JoinPoint;
@@ -64,6 +65,7 @@ public class QuoteVerificationAspect {
     private static final Logger log = LoggerFactory.getLogger("fee");
 
     private final BaseController baseController;
+    private final PtlNewAgreementClient ptlNewAgreementClient;
 
     @AfterReturning(pointcut = "@annotation(com.jzg.quotation.summary.aop.QuoteVerification)", returning = "result")
     public void doAfter(HttpResult<QuoteResultsVo> result) {
@@ -207,7 +209,9 @@ public class QuoteVerificationAspect {
 //            log.debug("费用因子备注:" + agreementProductCosts.get(i).getCostsDescription());
 //            logs.append("费用id:" + agreementProductCosts.get(i).getId() + "\n");
 //            logs.append("费用因子描述:" + agreementProductCosts.get(i).getCostsDescription() + "\n");
-            if (FactorMatch.judgements(agreementProductCosts.get(i).getPtlAgreementCostRuleList(),ruleAttrMappingVoList,undwrtRulesAttrList,logs)) {
+            List<PtlAgreementUndwrtRulesDictLabal> undwrtRulesDictList = ptlNewAgreementClient.getUndwrtRulesDictList();
+
+            if (FactorMatch.judgements(agreementProductCosts.get(i).getPtlAgreementCostRuleList(),ruleAttrMappingVoList,undwrtRulesAttrList,logs, undwrtRulesDictList)) {
                 return agreementProductCosts.get(i).getId();
             }
             log.debug("当前费用因子匹配结束\n");

+ 24 - 0
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/client/PtlNewAgreementClient.java

@@ -0,0 +1,24 @@
+package com.jzg.quotation.summary.client;
+
+import com.jzg.commons.entity.po.PtlAgreementUndwrtRulesDictLabal;
+import com.jzg.quotation.summary.entity.Result;
+import com.jzg.quotation.summary.entity.dto.*;
+import com.jzg.quotation.summary.utils.FeignConfig;
+import jakarta.validation.Valid;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 调用生活服务平台client
+ */
+@FeignClient(value = "jzg-organization", configuration = FeignConfig.class)
+public interface PtlNewAgreementClient {
+    /**
+     * 获取字典列表
+     * @return
+     */
+    @PostMapping("/pltAgreement/attr/getUndwrtRulesDictList")
+    List<PtlAgreementUndwrtRulesDictLabal> getUndwrtRulesDictList();
+}

+ 2 - 2
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/controller/UnifyOrderManager.java

@@ -23,7 +23,6 @@ import com.jzg.commons.entity.enums.MessageCodeEnum;
 import com.jzg.commons.entity.enums.YesNoEnum;
 import com.jzg.commons.entity.orders.po.*;
 import com.jzg.commons.entity.po.*;
-import com.jzg.commons.entity.quote.vo.AttributionInformationVo;
 import com.jzg.commons.entity.quote.vo.QuoteVo;
 import com.jzg.commons.entity.quote.vo.aggregated.*;
 import com.jzg.commons.entity.quote.vo.base.LoginBase;
@@ -39,7 +38,6 @@ import com.jzg.commons.util.AssertionUtils;
 import com.jzg.quotation.commons.client.OrgClient;
 import com.jzg.quotation.commons.client.PlatformClient;
 import com.jzg.quotation.commons.entity.GetCaptchaRequest;
-import com.jzg.quotation.commons.entity.GetCaptchaResponse;
 import com.jzg.quotation.commons.service.GetCaptchaBaseService;
 import com.jzg.quotation.commons.service.QuotationBaseService;
 import com.jzg.quotation.commons.utils.SnowFlakeUtil;
@@ -286,7 +284,9 @@ public class UnifyOrderManager {
                 QuoteInfoConverter.converterKindInfoVo(quoteVo.getKindInfoVo(), quoteKindMappingMap.get(QuoteRuleCategory.KIND.getCode()), quoteVo.getCarInfoVo());
             }
             log.info("报价后数据");
+            log.info("调用保险公司的api进行报价:报价参数: quoteVO=[{}]", JSONUtil.toJsonStr(quoteVo));
             quoteResultsVo = quoteService.quote(quoteVo);
+            log.info("调用保险公司的api进行报价:报价结果: quoteResultsVo=[{}]", JSONUtil.toJsonStr(quoteResultsVo));
             // 格式化保费为两位小数
             QuoteResultsVo.CostsVo costs = quoteResultsVo.getCosts();
             if (BeanUtil.isNotEmpty(costs)) {

+ 7 - 0
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsOrdersCostsServiceImpl.java

@@ -1,24 +1,31 @@
 package com.jzg.quotation.summary.service.impl;
 
+import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.jzg.commons.entity.orders.po.InsOrders;
 import com.jzg.commons.entity.orders.po.InsOrdersCosts;
 import com.jzg.quotation.summary.mapper.InsOrdersCostsMapper;
 import com.jzg.quotation.summary.service.InsOrdersCostsService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
 @Service
 public class InsOrdersCostsServiceImpl extends ServiceImpl<InsOrdersCostsMapper, InsOrdersCosts> implements InsOrdersCostsService {
+
+    private static final Logger log = LoggerFactory.getLogger(InsOrdersCostsServiceImpl.class);
     @Override
     public void createCosts(InsOrders insOrders) {
         InsOrdersCosts insOrdersCosts = new InsOrdersCosts();
         insOrdersCosts.setOrderNo(insOrders.getId());
+        log.info("新增订单的费用信息:insOrdersCosts=[{}]", JSONUtil.toJsonStr(insOrdersCosts));
         this.save(insOrdersCosts);
     }
 
     @Override
     public void updateMainCosts(InsOrders insOrders) {
         InsOrdersCosts byId = this.getById(insOrders.getId());
+        log.info("更新订单的费用信息:byId=[{}]", JSONUtil.toJsonStr(byId));
 //        this.updateById(byId);
 
     }

+ 1 - 2
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsOrdersServiceImpl.java

@@ -80,7 +80,6 @@ import java.net.URL;
 import java.time.Instant;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
-import java.time.ZonedDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -320,7 +319,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
             // 插入订单信息,如果插入失败,则返回错误信息
             int insertResult = insOrdersMapper.updateById(insOrders);
             if (insertResult <= 0) {
-                log.error("订单插入失败,订单信息: {}");
+                log.error("订单插入失败,订单信息: {}", JSONUtil.toJsonStr(insOrders));
                 return HttpResult.error("修改订单失败");
             }
             String quoteNo = insOrders.getId();

+ 1 - 1
tenant/organization/src/main/java/com/jzg/organization/client/InsFeeOrdersClient.java

@@ -10,7 +10,7 @@ import java.util.List;
 /**
  * 订单费用接口
  */
-@FeignClient(name = "jzg-insurance")
+@FeignClient(name = "quotation-summary")
 public interface InsFeeOrdersClient {
 
     /**

+ 4 - 3
tenant/organization/src/main/java/com/jzg/organization/controller/AgreementController.java

@@ -9,6 +9,7 @@ import com.jzg.commons.entity.dto.*;
 import com.jzg.commons.entity.enums.YesNoEnum;
 import com.jzg.commons.entity.po.PtlAgreement;
 import com.jzg.commons.entity.po.PtlAgreementCostExternal;
+import com.jzg.commons.entity.vo.AgreementInfoVo;
 import com.jzg.commons.entity.vo.AgreementVo;
 import com.jzg.commons.entity.vo.UpAndDownVo;
 import com.jzg.commons.util.AssertionUtils;
@@ -59,12 +60,12 @@ public class AgreementController extends BaseController {
 
     /**
      * 协议信息查询
-     * @param id
-     * @return
+     * @param id 协议id
+     * @return HttpResult<AgreementInfoVo>
      */
     @GetMapping(value = { "/agreementGet"})
     @Operation(summary = "协议信息查询")
-    public HttpResult agreementGet(String id) {
+    public HttpResult<AgreementInfoVo> agreementGet(String id) {
         return HttpResult.ok(agreementService.queryById(id));
     }
 

+ 11 - 0
tenant/organization/src/main/java/com/jzg/organization/controller/PtlNewAgreementController.java

@@ -5,7 +5,9 @@ import com.jzg.commons.core.page.HttpResult;
 import com.jzg.commons.entity.agreement.vo.PtlAgreementUndwrtRulesAttrQueryVo;
 import com.jzg.commons.entity.dto.RulesAttParam;
 import com.jzg.commons.entity.po.PtlAgreementUndwrtRulesAttr;
+import com.jzg.commons.entity.po.PtlAgreementUndwrtRulesDictLabal;
 import com.jzg.organization.service.PtlAgreementUndwrtRulesAttrService;
+import com.jzg.organization.service.PtlAgreementUndwrtRulesDictService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -25,6 +27,8 @@ public class PtlNewAgreementController {
 
     @Autowired
     private PtlAgreementUndwrtRulesAttrService ptlAgreementUndwrtRulesAttrService;
+    @Autowired
+    private PtlAgreementUndwrtRulesDictService ptlAgreementUndwrtRulesDictService;
 
     @Operation(summary = "协议承保规则属性列表")
     @GetMapping("/attr/list")
@@ -47,6 +51,13 @@ public class PtlNewAgreementController {
         return HttpResult.ok(ptlAgreementUndwrtRulesAttrService.attrGroup(param));
     }
 
+    @Operation(summary = "获取协议字典列表")
+    @PostMapping("/attr/getUndwrtRulesDictList")
+    public List<PtlAgreementUndwrtRulesDictLabal> getUndwrtRulesDictList() {
+        List<PtlAgreementUndwrtRulesDictLabal> undwrtRulesDictList = ptlAgreementUndwrtRulesDictService.getUndwrtRulesDictList();
+        return undwrtRulesDictList;
+    }
+
 
 
 }

+ 2 - 2
tenant/organization/src/main/java/com/jzg/organization/service/PtlAgreementService.java

@@ -38,8 +38,8 @@ public interface PtlAgreementService extends IService<PtlAgreement> {
 
     /**
      * 协议明细查询
-     * @param id
-     * @return
+     * @param id 协议ID值
+     * @return AgreementInfoVo 协议详细信息
      */
     AgreementInfoVo queryById(String id);
 

+ 1 - 0
tenant/organization/src/main/java/com/jzg/organization/service/impl/PtlAgreementCostServiceImpl.java

@@ -205,6 +205,7 @@ public class PtlAgreementCostServiceImpl extends ServiceImpl<PtlAgreementCostMap
 
     @Override
     public HttpResult queryById(Long id) {
+        log.info("查询协议的费用信息:协议费用id=[{}]", id);
         PtlAgreementCostVo ptlAgreementCostVo = ptlAgreementCostMapper.queryById(id);
         if (ObjectUtil.isEmpty(ptlAgreementCostVo)){
             return HttpResult.ok(ptlAgreementCostVo);

+ 1 - 0
tenant/organization/src/main/java/com/jzg/organization/service/impl/PtlAgreementServiceImpl.java

@@ -148,6 +148,7 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
 
     @Override
     public AgreementInfoVo queryById(String id) {
+        log.info("根据协议id=[{}]查询协议详情", id);
         AgreementVo agreementVo = this.isExistById(id);
         if(StringUtils.isNotBlank(agreementVo.getFileName())){
             String fileUrl = MinioUtils.getPresignedObjectUrl(bucketName,agreementVo.getFileName());

+ 7 - 2
tenant/organization/src/main/java/com/jzg/organization/service/impl/ReceivableServiceImpl.java

@@ -1357,11 +1357,12 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
     public void exportSuperviseSettlementExcel(Page page, SettlementQueryVo settlementQueryVo) {
         Page<ExportSuperviseSettlementExcelDto> exportSuperviseSettlementExcelDtos = baseMapper.superviseSettlementExcelDtos(page, settlementQueryVo);
         exportSuperviseSettlementExcelDtos.getRecords().forEach(dto -> {
-            if (dto.getInvoiceParty().equals("1")) {
+            if ("1".equals(dto.getInvoiceParty())) {
                 dto.setInvoiceParty("我方开票");
-            } else if (dto.getInvoiceParty().equals("2")) {
+            } else if ("2".equals(dto.getInvoiceParty())) {
                 dto.setInvoiceParty("保司开票");
             }
+            dto.setInvoiceType(Objects.toString(dto.getInvoiceType(),""));
             switch (dto.getInvoiceType()) {
                 case "1" -> dto.setInvoiceType("手续费");
                 case "2" -> dto.setInvoiceType("跟单费");
@@ -1639,11 +1640,14 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
         // 1. 预加载手续费应开票金额(全局唯一一次查询)
         List<InvoiceAmountDto> commissionInvoicingAmount = baseMapper.getSuperviseAmount();
         Map<String, BigDecimal> invoicingAmountMap = commissionInvoicingAmount.stream()
+                .filter(action-> BigDecimal.ZERO.compareTo(action.getSuperviseAmount()) != 0)
                 .collect(Collectors.toMap(
                         InvoiceAmountDto::getCompanyId,
                         dto -> dto.getSuperviseAmount() != null ? dto.getSuperviseAmount() : BigDecimal.ZERO,
                         (existing, replacement) -> existing
                 ));
+        // 有结算数据的保险公司的id集
+        Set<String> companyIds = invoicingAmountMap.keySet();
 
         // 2. 固定开票类型,只初始化一次
         List<String> invoiceTypes = java.util.Arrays.asList("1", "3");
@@ -1651,6 +1655,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
 
         // 3. 一次性查询所有公司数据
         List<CompanySuperviseSettlementReportDto> allCompanies = baseMapper.selectAllCompanies(settlementReportQueryVo);
+        allCompanies = allCompanies.stream().filter(action-> companyIds.contains(action.getCompanyId())).toList();
         if (allCompanies == null || allCompanies.isEmpty()) {
             return java.util.Collections.emptyList();
         }

+ 1 - 1
tenant/organization/src/main/resources/mapper/ReceivableMapper.xml

@@ -197,6 +197,7 @@
         </if>
     </select>
 
+    <!-- modify by lipf, 2026年5月18日14:56:29 和业务沟通后,业务王文琦,想要将开过票的订单也显示出来  -->
     <sql id="query">
         SELECT
         io.real_quote_user_id,
@@ -255,7 +256,6 @@
         LEFT JOIN ins_orders_risk ior2 ON ipi.order_no = ior2.order_no and ior2.risk_code = '0510'
         LEFT JOIN ins_orders_policy iop ON ipi.order_no = iop.order_no
         WHERE 1=1 and ipi.settlement_status = '0'
-        AND NOT EXISTS ( SELECT 1 FROM ins_ply_income_invoice_link ipil WHERE ipil.income_id = ipi.id )
     </sql>
 
     <!--根据保司id和订单号进行过滤 2026年5月12日15:06:40  lipf  -->