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

Merge remote-tracking branch 'origin/master'

Qchen 1 месяц назад
Родитель
Сommit
e7f624f978
19 измененных файлов с 187 добавлено и 77 удалено
  1. 18 0
      commons/src/main/java/com/jzg/commons/entity/dto/AmountAuditParam.java
  2. 1 1
      commons/src/main/java/com/jzg/commons/entity/dto/InsOrdersParamVO.java
  3. 3 0
      commons/src/main/java/com/jzg/commons/entity/po/SysAmountAuditing.java
  4. 4 0
      commons/src/main/java/com/jzg/commons/entity/vo/AmountAuditVo.java
  5. 3 1
      commons/src/main/java/com/jzg/commons/entity/vo/RuleAttrMappingVo.java
  6. 27 0
      commons/src/main/java/com/jzg/commons/util/DateTimeUtils.java
  7. 1 0
      gateway/src/main/resources/application-prod.yml
  8. 13 13
      tenant/insurance/quotation-guoren/src/main/java/com/jzg/quotation/guoren/api/entity/Request/PremiumRequest.java
  9. 4 4
      tenant/insurance/quotation-renbaonew/src/main/java/com/jzg/quotation/renbaonew/crawler/service/impl/RenBaoNewCrawlerRequestBuilder.java
  10. 1 0
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsOrdersServiceImpl.java
  11. 74 53
      tenant/insurance/quotation-summary/src/main/resources/mapper/InsOrdersMapper.xml
  12. 13 0
      tenant/organization/src/main/java/com/jzg/organization/controller/AmountAuditingController.java
  13. 2 1
      tenant/organization/src/main/java/com/jzg/organization/service/impl/PtlSchemeServiceImpl.java
  14. 3 0
      tenant/organization/src/main/java/com/jzg/organization/service/impl/SysAmountAuditingServiceImpl.java
  15. 2 0
      tenant/organization/src/main/java/com/jzg/organization/service/impl/SysUserServiceImpl.java
  16. 1 1
      tenant/organization/src/main/resources/application.yml
  17. 1 1
      tenant/organization/src/main/resources/mapper/InvAccountCardMapper.xml
  18. 3 1
      tenant/organization/src/main/resources/mapper/PtlAgreementMapper.xml
  19. 13 1
      tenant/organization/src/main/resources/mapper/finance/SysAmountAuditingMapper.xml

+ 18 - 0
commons/src/main/java/com/jzg/commons/entity/dto/AmountAuditParam.java

@@ -54,4 +54,22 @@ public class AmountAuditParam extends PageRequest {
     @Schema(description = "领取人")
     private String receiveUser;
 
+    @Schema(description = "付款时间")
+    private String[] paymentTime;
+
+    @Schema(description = "付款时间-起")
+    private String paymentTimeBegin;
+
+    @Schema(description = "付款时间-止")
+    private String paymentTimeEnd;
+
+    @Schema(description = "付款账户ID")
+    private String accountId;
+
+    @Schema(description = "驳回时间")
+    private String[] rejectTime;
+    @Schema(description = "驳回时间-起")
+    private String rejectTimeBegin;
+    @Schema(description = "驳回时间-止")
+    private String rejectTimeEnd;
 }

+ 1 - 1
commons/src/main/java/com/jzg/commons/entity/dto/InsOrdersParamVO.java

@@ -59,7 +59,7 @@ public class InsOrdersParamVO extends PageRequest {
     private String[] recordingTime;
 
     @Schema(description = "主订单标识")
-    private Integer parentId;
+    private String parentId;
 
     @Schema(description = "投保人")
     private String policyholder;

+ 3 - 0
commons/src/main/java/com/jzg/commons/entity/po/SysAmountAuditing.java

@@ -60,6 +60,9 @@ public class SysAmountAuditing extends BaseModel {
     @Schema(description = "审核人id")
     private String auditingUserId;
 
+    @Schema(description = "审核人用戶名")
+    private String auditingUserName;
+
     @Schema(description = "凭证号")
     private String voucherId;
 

+ 4 - 0
commons/src/main/java/com/jzg/commons/entity/vo/AmountAuditVo.java

@@ -144,6 +144,10 @@ public class AmountAuditVo  extends BaseModel {
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime withdrawalRequestTime;
 
+    @ExcelProperty("审核人")
+    @Schema(description = "审核人")
+    private String auditingUserName;
+
     @ExcelProperty("审核时间")
     @Schema(description = "审核时间")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")

+ 3 - 1
commons/src/main/java/com/jzg/commons/entity/vo/RuleAttrMappingVo.java

@@ -278,7 +278,9 @@ public class RuleAttrMappingVo {
             JSONArray scoreJson = insOrdersOther.getScoreJson();
             for (int i = 0; i < scoreJson.size(); i++) {
                 JSONObject scoreObject = scoreJson.getJSONObject(i);
-                ruleAttrMappingVoList.add(new RuleAttrMappingVo(scoreObject.getString("scoreKey"), String.valueOf(scoreObject.getString("score"))));
+                if(StringUtils.isNotBlank(scoreObject.getString("scoreKey"))) {
+                    ruleAttrMappingVoList.add(new RuleAttrMappingVo(scoreObject.getString("scoreKey"), String.valueOf(scoreObject.getString("score"))));
+                }
             }
         }
 //

+ 27 - 0
commons/src/main/java/com/jzg/commons/util/DateTimeUtils.java

@@ -16,6 +16,33 @@ public class DateTimeUtils {
     private static final DateTimeFormatter DATE_FORMATTER =
             DateTimeFormatter.ofPattern("yyyy-MM-dd");
 
+    /**
+     * 获取日期对应的起始时间,例如 2026-01-01 转化为 2026-01-01 00:00:00
+     *
+     * @param beginDate 2026-01-01 格式的日期
+     * @return 2026-01-01 00:00:00
+     * @author lipf
+     * @date 2026/8/27 15:10
+     */
+    public static String obtainStartTime(String beginDate){
+        LocalDate localDate = LocalDate.parse(beginDate, DATE_FORMATTER);
+        return localDate.atStartOfDay().format(DateTimeFormatter.ofPattern(pattern));
+    }
+
+    /**
+     * 获取日期对应的起始时间,例如 2026-01-01 转化为 2026-01-02 00:00:00
+     *
+     * @param endDate 2026-01-01 格式的日期
+     * @return 2026-01-02 00:00:00
+     * @author lipf
+     * @date 2026/8/27 15:10
+     */
+    public static String obtainNextDayStartTime(String endDate){
+        LocalDate localDate= LocalDate.parse(endDate, DATE_FORMATTER);
+        LocalDateTime nextLocalDateTime = localDate.plusDays(1).atStartOfDay();
+        return nextLocalDateTime.format(DateTimeFormatter.ofPattern(pattern));
+    }
+
     /**
      * 比较当前时间是否大于传入的字符串时间
      *

+ 1 - 0
gateway/src/main/resources/application-prod.yml

@@ -119,6 +119,7 @@ spring:
                   - /rightsGrant/**
                   - /insOrderRights/**
                   - /order/searchHistory/**
+                  - /insFeeOrder/updateAvailableAmount
 
         - id: costsorrule_route
           uri: http://172.24.144.225:8085/

+ 13 - 13
tenant/insurance/quotation-guoren/src/main/java/com/jzg/quotation/guoren/api/entity/Request/PremiumRequest.java

@@ -82,10 +82,10 @@ public class PremiumRequest {
         VehicleAndVesselTaxVo vehicleAndVesselTax = quoteVo.getVehicleAndVesselTaxVo();
 
         //处理车主约定特约
-        specialAgreementVo.forEach(item->{
-            if("T0028".equals(item.getClauseCode())){
+        specialAgreementVo.forEach(item -> {
+            if ("T0028".equals(item.getClauseCode())) {
                 String replace = item.getClausesContext().replaceFirst("_", quoteVo.getInsuredPersonInfo().getName());
-                replace = replace.replaceFirst("_",ownersInfo.getName());
+                replace = replace.replaceFirst("_", ownersInfo.getName());
                 item.setClausesContext(replace);
             }
         });
@@ -220,7 +220,7 @@ public class PremiumRequest {
     @JsonIgnore
     public static BiDTO buildBiDto(CustomerInfoVo ownerInfo, RiskInfoVo biRiskInfo, List<KindInfoVo> kindInfoVList,
                                    CarPriceResponse.DataDTO carPriceResult, VinQueryResponse.DataDTO vinQ, boolean isNoCar,
-                                   List<GuoRenSpecialAgreementVo> specialAgreementVo,String noCarPremium,
+                                   List<GuoRenSpecialAgreementVo> specialAgreementVo, String noCarPremium,
                                    String goodsCode) {
 
         BiDTO biDto = new BiDTO();
@@ -340,7 +340,7 @@ public class PremiumRequest {
 
             String deductible = "0";
             if (StringUtils.isNotEmpty(k.getDeductibleRate())) {
-                deductible = BigDecimal.valueOf(StringUtils.toDouble(k.getDeductibleRate())).divide(BigDecimal.valueOf(100)).toString();
+                deductible = BigDecimal.valueOf(Double.parseDouble(k.getDeductibleRate())).divide(BigDecimal.valueOf(100)).toString();
             }
 
             //第三者责任险
@@ -358,7 +358,7 @@ public class PremiumRequest {
                 }
                 prptitemkind.setAmount(StringUtils.toString(k.getAmount()));
                 prptitemkind.setMainKindFlag("M");
-                prptitemkind.setUnitAmount("0");
+                prptitemkind.setUnitAmount(StringUtils.toString(k.getUnitAmount()));
             }
             //乘客责任险
             if (k.getPlatformKindCode().equals(KindCode.D4.getCode())) {
@@ -376,7 +376,7 @@ public class PremiumRequest {
                 prptitemkind.setMainKindFlag("M");
                 prptitemkind.setQuantity(passengerNum.toString());
                 prptitemkind.setUnitAmount(StringUtils.toString(k.getUnitAmount()));
-                prptitemkind.setAmount(BigDecimal.valueOf(StringUtils.toDouble(k.getUnitAmount())).multiply(passengerNum).toString());
+                prptitemkind.setAmount(BigDecimal.valueOf(Double.parseDouble(k.getUnitAmount())).multiply(passengerNum).toString());
 
             }
             //机动车损失险
@@ -462,7 +462,7 @@ public class PremiumRequest {
                 prptitemkind.setMainKindFlag("S");
                 prptitemkind.setQuantity(StringUtils.toString(StringUtils.toInt(vinQ.getSeatCountBC()) - 1));
                 prptitemkind.setUnitAmount(StringUtils.toString(k.getUnitAmount()));
-                prptitemkind.setAmount(BigDecimal.valueOf(StringUtils.toDouble(k.getUnitAmount())).multiply(passengerNum).toString());
+                prptitemkind.setAmount(BigDecimal.valueOf(Double.parseDouble(k.getUnitAmount())).multiply(passengerNum).toString());
             }
             //车身划痕险
             if (k.getPlatformKindCode().equals(KindCode.L.getCode())) {
@@ -505,7 +505,7 @@ public class PremiumRequest {
                 prptitemkind.setUnitAmount(StringUtils.toString(k.getUnitAmount()));
                 prptitemkind.setMainKindFlag("S");
                 prptitemkind.setQuantity(StringUtils.toString(StringUtils.toInt(vinQ.getSeatCountBC()) - 1));
-                prptitemkind.setAmount(BigDecimal.valueOf(StringUtils.toDouble(k.getUnitAmount())).multiply(passengerNum).toString());
+                prptitemkind.setAmount(BigDecimal.valueOf(Double.parseDouble(k.getUnitAmount())).multiply(passengerNum).toString());
             }
             //医保外  司机
             if (k.getPlatformKindCode().equals(KindCode.SY_FJ_YBW3.getCode())) {
@@ -533,7 +533,7 @@ public class PremiumRequest {
                 }
                 prptitemkind.setAmount(StringUtils.toString(k.getAmount()));
                 prptitemkind.setMainKindFlag("S");
-                prptitemkind.setQuantity(String.valueOf(k.getServiceTimes()));
+                prptitemkind.setQuantity(StringUtils.isEmpty(String.valueOf(k.getServiceTimes())) || "null".equals(String.valueOf(k.getServiceTimes())) ? StringUtils.toString(k.getAmount()) : String.valueOf(k.getServiceTimes()));
             }
 
             if (k.getPlatformKindCode().equals(KindCode.TY2.getCode())) {
@@ -550,7 +550,7 @@ public class PremiumRequest {
                 }
                 prptitemkind.setAmount(StringUtils.toString(k.getAmount()));
                 prptitemkind.setMainKindFlag("S");
-                prptitemkind.setQuantity(String.valueOf(k.getServiceTimes()));
+                prptitemkind.setQuantity(StringUtils.isEmpty(String.valueOf(k.getServiceTimes())) || "null".equals(String.valueOf(k.getServiceTimes())) ? StringUtils.toString(k.getAmount()) : String.valueOf(k.getServiceTimes()));
             }
 
             if (k.getPlatformKindCode().equals(KindCode.TY3.getCode())) {
@@ -567,7 +567,7 @@ public class PremiumRequest {
                 }
                 prptitemkind.setAmount(StringUtils.toString(k.getAmount()));
                 prptitemkind.setMainKindFlag("S");
-                prptitemkind.setQuantity(String.valueOf(k.getServiceTimes()));
+                prptitemkind.setQuantity(StringUtils.isEmpty(String.valueOf(k.getServiceTimes())) || "null".equals(String.valueOf(k.getServiceTimes())) ? StringUtils.toString(k.getAmount()) : String.valueOf(k.getServiceTimes()));
             }
 
             if (k.getPlatformKindCode().equals(KindCode.TY4.getCode())) {
@@ -584,7 +584,7 @@ public class PremiumRequest {
                 }
                 prptitemkind.setAmount(StringUtils.toString(k.getAmount()));
                 prptitemkind.setMainKindFlag("S");
-                prptitemkind.setQuantity(String.valueOf(k.getServiceTimes()));
+                prptitemkind.setQuantity(StringUtils.isEmpty(String.valueOf(k.getServiceTimes())) || "null".equals(String.valueOf(k.getServiceTimes())) ? StringUtils.toString(k.getAmount()) : String.valueOf(k.getServiceTimes()));
             }
 
             prptitemkindList.add(prptitemkind);

+ 4 - 4
tenant/insurance/quotation-renbaonew/src/main/java/com/jzg/quotation/renbaonew/crawler/service/impl/RenBaoNewCrawlerRequestBuilder.java

@@ -212,7 +212,7 @@ public class RenBaoNewCrawlerRequestBuilder {
         // 说明:经办人(handlerCode)是实际进行报价操作的人员
         // 通常与归属人为同一人,但支持不同配置
         // =====================================================================
-        String handlerCode = loginInfo.getUserCode();
+        String handlerCode = loginInfo.getParameters().getHandlerCode();
         String handlerCodeDes = loginInfo.getUserName();
         String handlerCodeUni = handler1CodeUni;  // 默认使用归属人的统一工号
         Map<String, Object> handlerCodeResult = requestComponent.queryHandlerCode(gscomCode, loginInfo.getUserCode(), headers);
@@ -1287,9 +1287,9 @@ public class RenBaoNewCrawlerRequestBuilder {
         prpCmain.put("handler1CodeDes", handler1CodeDes != null ? handler1CodeDes : "");
 
         // ========== 经办人信息 ==========
-        prpCmain.put("handlerCode", handler1Code != null ? handler1Code : "");
-        prpCmain.put("handlercode_uni", handler1CodeUni != null && !handler1CodeUni.isEmpty() ? handler1CodeUni : "");
-        prpCmain.put("handlerCodeDes", handler1CodeDes != null ? handler1CodeDes : "");
+        prpCmain.put("handlerCode", handlerCode != null ? handlerCode : handler1Code);
+        prpCmain.put("handlercode_uni", handlerCodeUni != null && !handlerCodeUni.isEmpty() ? handlerCodeUni : handler1CodeUni);
+        prpCmain.put("handlerCodeDes", handlerCodeDes != null ? handlerCodeDes : handler1CodeDes);
 
         // ========== 业务性质 ==========
         prpCmain.put("businessNature", businessNature != null ? businessNature : "2");

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

@@ -1566,6 +1566,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
     @Override
     public String exportDynamicFields(InsOrdersParamVO insOrdersParam) {
         log.info("导出订单列表。支持动态选择要导出的字段:导出车险订单=[{}]", JSONUtil.toJsonStr(insOrdersParam));
+        insOrdersParam.setSystemCode(baseController.getSystemCode());
         List<OrderListVo> orderListVos = insOrdersMapper.queryOrderListAll(insOrdersParam);
         log.info("导出订单列表,导出[{}]条记录", CollUtil.size(orderListVos));
         // 动态设置要导出的字段

+ 74 - 53
tenant/insurance/quotation-summary/src/main/resources/mapper/InsOrdersMapper.xml

@@ -870,6 +870,7 @@
         io.create_time,
         io.create_by,
         io.error_message,
+        io.parent_id,
         ioci.license_no,
         ioci.vin_no,
         owner_u.name as owner_name,
@@ -948,6 +949,9 @@
             <if test="insOrdersParam.orderNo != null and insOrdersParam.orderNo != ''">
                 AND io.id = #{insOrdersParam.orderNo}
             </if>
+            <if test="insOrdersParam.parentId != null and insOrdersParam.parentId != ''">
+                AND io.parent_id = #{insOrdersParam.parentId}
+            </if>
             <if test="insOrdersParam.licenseNo != null and insOrdersParam.licenseNo != ''">
                 AND ioci.license_no = #{insOrdersParam.licenseNo}
             </if>
@@ -1086,72 +1090,79 @@
         ioa1.after_premium as adjustPremium
         FROM
         ins_orders io
-        LEFT JOIN ins_orders_car_info ioci ON ioci.order_no = io.id and ioci.is_delete = 0
-        LEFT JOIN
-        ins_orders_car_user_info owner_u on owner_u.order_no = io.id and owner_u.policy_person_type = 1 and owner_u.is_delete = 0
-        left JOIN
-        ins_orders_car_user_info policy_u on policy_u.order_no = io.id and policy_u.policy_person_type = 2 and policy_u.is_delete = 0
-        left JOIN
-        ins_orders_car_user_info insur_u on insur_u.order_no = io.id and insur_u.policy_person_type = 3 and insur_u.is_delete = 0
-        left join
-        ins_orders_risk iorci on iorci.order_no = io.id and iorci.risk_code = '0507' and iorci.is_delete = 0
-        left join
-        ins_orders_risk iorbi on iorbi.order_no = io.id and iorbi.risk_code = '0510' and iorbi.is_delete = 0
-        LEFT JOIN
-        ins_orders_costs iorco on iorco.order_no = io.id and iorco.is_delete = 0
-        left join
-        sys_user su on su.mobile = io.real_quote_user_id and su.is_delete = 0
-        left join
-        sys_user_jzg_info suji on suji.user_id = su.id and suji.system_code = #{insOrdersParam.systemCode} and suji.is_delete = 0
-        left join
-        sys_user_jzg_info_salesman sujis ON suji.id = sujis.sys_user_jzg_info_id AND sujis.is_delete = 0
-        left join
-        sys_dept sd on sd.id = suji.dept_id and sd.is_delete = 0
-        left join
-        ptl_agreement pa on pa.id = io.agreement_id and pa.is_delete = 0
-        left join
-        (
-        SELECT *
-        FROM (
-        SELECT t.*,
-        ROW_NUMBER() OVER(PARTITION BY t.order_no ORDER BY t.create_time DESC) AS rn
-        FROM ins_order_adjust t where t.is_delete = 0
-        ) x WHERE x.rn = 1
-        ) ioa ON io.id = ioa.order_no
-        left join
-        (
-        SELECT *
-        FROM (
-        SELECT t.*,
-        ROW_NUMBER() OVER(PARTITION BY t.order_no ORDER BY t.create_time DESC) AS rn
-        FROM ins_order_adjust t where t.status = 2 and t.is_delete = 0
-        ) x WHERE x.rn = 1
-        ) ioa1 ON io.id = ioa1.order_no
+        LEFT JOIN ins_orders_car_info ioci
+        ON ioci.order_no = io.id and ioci.is_delete = 0
+        LEFT JOIN ins_orders_car_user_info owner_u
+        ON owner_u.order_no = io.id and owner_u.policy_person_type = 1 and owner_u.is_delete = 0
+        LEFT JOIN ins_orders_car_user_info policy_u
+        ON policy_u.order_no = io.id and policy_u.policy_person_type = 2 and policy_u.is_delete = 0
+        LEFT JOIN ins_orders_car_user_info insur_u
+        ON insur_u.order_no = io.id and insur_u.policy_person_type = 3 and insur_u.is_delete = 0
+        LEFT JOIN ins_orders_risk iorci
+        ON iorci.order_no = io.id and iorci.risk_code = '0507' and iorci.is_delete = 0
+        LEFT JOIN ins_orders_risk iorbi
+        ON iorbi.order_no = io.id and iorbi.risk_code = '0510' and iorbi.is_delete = 0
+        LEFT JOIN ins_orders_costs iorco
+        ON iorco.order_no = io.id and iorco.is_delete = 0
+        LEFT JOIN sys_user su
+        ON su.mobile = io.real_quote_user_id and su.is_delete = 0
+        LEFT JOIN sys_user_jzg_info suji
+        ON suji.user_id = su.id and suji.system_code = #{insOrdersParam.systemCode} and suji.is_delete = 0
+        LEFT JOIN sys_user_jzg_info_salesman sujis
+        ON suji.id = sujis.sys_user_jzg_info_id AND sujis.is_delete = 0
+        LEFT JOIN sys_dept sd
+        ON sd.id = suji.dept_id and sd.is_delete = 0
+        LEFT JOIN ptl_agreement pa
+        ON pa.id = io.agreement_id and pa.is_delete = 0
+
+        <!-- 优化1: 替代原 ROW_NUMBER() 获取最新一条 adjust 记录 -->
+        LEFT JOIN ins_order_adjust ioa
+        ON ioa.id = (
+        SELECT t.id
+        FROM ins_order_adjust t
+        WHERE t.order_no = io.id AND t.is_delete = 0
+        ORDER BY t.create_time DESC, t.id DESC
+        LIMIT 1
+        )
+
+        <!-- 优化2: 替代原 ROW_NUMBER() 获取 status=2 的最新一条 adjust 记录 -->
+        LEFT JOIN ins_order_adjust ioa1
+        ON ioa1.id = (
+        SELECT t.id
+        FROM ins_order_adjust t
+        WHERE t.order_no = io.id AND t.status = 2 AND t.is_delete = 0
+        ORDER BY t.create_time DESC, t.id DESC
+        LIMIT 1
+        )
+
         <where>
             and io.is_delete = 0 and sujis.type_attr NOT IN (1,2,3,4)
+
             <if test="insOrdersParam.orderNo != null and insOrdersParam.orderNo != ''">
                 AND io.id = #{insOrdersParam.orderNo}
             </if>
-<!--            <if test="insOrdersParam.parentId != null">-->
-<!--                AND io.parent_id = #{insOrdersParam.parentId}-->
-<!--            </if>-->
             <if test="insOrdersParam.licenseNo != null and insOrdersParam.licenseNo != ''">
                 AND ioci.license_no = #{insOrdersParam.licenseNo}
             </if>
-            <if test="insOrdersParam.orderStatus!= null and insOrdersParam.orderStatus!= ''">
+            <if test="insOrdersParam.orderStatus != null and insOrdersParam.orderStatus != ''">
                 AND io.order_status = #{insOrdersParam.orderStatus}
             </if>
-            <if test="insOrdersParam.adjustStatus!= null and insOrdersParam.adjustStatus!= ''">
+            <if test="insOrdersParam.adjustStatus != null and insOrdersParam.adjustStatus != ''">
                 AND ioa.status = #{insOrdersParam.adjustStatus}
             </if>
-            <if test="insOrdersParam.salesman!= null">
+            <if test="insOrdersParam.salesman != null">
                 AND io.real_quote_user_id = #{insOrdersParam.salesman}
             </if>
             <if test="insOrdersParam.companyId != null and insOrdersParam.companyId != ''">
                 AND io.company_id = #{insOrdersParam.companyId}
             </if>
-            <if test="insOrdersParam.startDate != null and insOrdersParam.startDate != ''and insOrdersParam.endDate != null and insOrdersParam.endDate != ''">
-                AND io.create_time BETWEEN #{insOrdersParam.startDate} and #{insOrdersParam.endDate}
+
+            <!-- 创建时间范围 -->
+            <if test="insOrdersParam.startDate != null and insOrdersParam.startDate != ''">
+                AND io.create_time &gt;= #{insOrdersParam.startDate}
+            </if>
+            <if test="insOrdersParam.endDate != null and insOrdersParam.endDate != ''">
+                AND io.create_time &lt;= #{insOrdersParam.endDate}
             </if>
 
             <if test="insOrdersParam.companyName != null and insOrdersParam.companyName != ''">
@@ -1232,11 +1243,21 @@
             <if test="insOrdersParam.adjustPremium != null">
                 AND ioa1.after_premium = #{insOrdersParam.adjustPremium}
             </if>
-            <if test="insOrdersParam.startSigningTime != null and insOrdersParam.startSigningTime != ''and insOrdersParam.endSigningTime != null and insOrdersParam.endSigningTime != ''">
-                AND io.signing_time BETWEEN #{insOrdersParam.startSigningTime} and #{insOrdersParam.endSigningTime}
+
+            <!-- 签单时间范围优化 -->
+            <if test="insOrdersParam.startSigningTime != null and insOrdersParam.startSigningTime != ''">
+                AND io.signing_time &gt;= #{insOrdersParam.startSigningTime}
             </if>
-            <if test="insOrdersParam.startPayTime != null and insOrdersParam.startPayTime != ''and insOrdersParam.endPayTime != null and insOrdersParam.endPayTime != ''">
-                AND io.pay_time BETWEEN #{insOrdersParam.startPayTime} and #{insOrdersParam.endPayTime}
+            <if test="insOrdersParam.endSigningTime != null and insOrdersParam.endSigningTime != ''">
+                AND io.signing_time &lt;= #{insOrdersParam.endSigningTime}
+            </if>
+
+            <!-- 支付时间范围优化 -->
+            <if test="insOrdersParam.startPayTime != null and insOrdersParam.startPayTime != ''">
+                AND io.pay_time &gt;= #{insOrdersParam.startPayTime}
+            </if>
+            <if test="insOrdersParam.endPayTime != null and insOrdersParam.endPayTime != ''">
+                AND io.pay_time &lt;= #{insOrdersParam.endPayTime}
             </if>
         </where>
         order by io.create_time desc

+ 13 - 0
tenant/organization/src/main/java/com/jzg/organization/controller/AmountAuditingController.java

@@ -6,6 +6,7 @@ import com.jzg.commons.core.base.BaseController;
 import com.jzg.commons.core.page.HttpResult;
 import com.jzg.commons.entity.dto.*;
 import com.jzg.commons.entity.vo.AmountAuditVo;
+import com.jzg.commons.util.DateTimeUtils;
 import com.jzg.organization.service.SysAmountAuditingService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
@@ -35,6 +36,18 @@ public class AmountAuditingController extends BaseController {
     @Operation(summary = "提现申请列表分页")
     public HttpResult<Page<AmountAuditVo>> auditList(@RequestBody AmountAuditParam param){
         log.info("应付账款-提现申请-查询:param=[{}]", JSONUtil.toJsonStr(param));
+        if(param.getPaymentTime() != null && param.getPaymentTime().length == 2){
+            String payingTimeBegin = param.getPaymentTime()[0];
+            String payingTimeEnd = param.getPaymentTime()[1];
+            param.setPaymentTimeBegin(DateTimeUtils.obtainStartTime(payingTimeBegin));
+            param.setPaymentTimeEnd(DateTimeUtils.obtainNextDayStartTime(payingTimeEnd));
+        }
+        if(param.getRejectTime() != null && param.getRejectTime().length == 2){
+            String rejectTimeBegin = param.getRejectTime()[0];
+            String rejectTimeEnd = param.getRejectTime()[1];
+            param.setRejectTimeBegin(DateTimeUtils.obtainStartTime(rejectTimeBegin));
+            param.setRejectTimeEnd(DateTimeUtils.obtainNextDayStartTime(rejectTimeEnd));
+        }
         Page<AmountAuditVo> result = sysAmountAuditingService.queryPage(param);
         return HttpResult.ok(result);
     }

+ 2 - 1
tenant/organization/src/main/java/com/jzg/organization/service/impl/PtlSchemeServiceImpl.java

@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.jzg.commons.constants.ProductsType;
+import com.jzg.commons.constants.quote.enums.quote.EnergyTypeCode;
 import com.jzg.commons.core.base.BaseController;
 import com.jzg.commons.core.page.HttpResult;
 import com.jzg.commons.entity.action.enums.ActionEnum;
@@ -827,7 +828,7 @@ public class PtlSchemeServiceImpl extends ServiceImpl<PtlSchemeMapper, PtlScheme
         // 过滤类型
         List<SchemeResultVo.SchemeVo> newSchemeList = schemeInsuranceInfo.stream()
                 .filter(scheme -> scheme.getVehicleType().contains(vehicleType)
-                        && scheme.getEnergyType().contains(energyType)
+                        && scheme.getEnergyType().contains(EnergyTypeCode.isNewEnergy(energyType) ? "1" : "0")
                         && scheme.getCarnature().contains(carnature))
                 .collect(Collectors.toList());
 

+ 3 - 0
tenant/organization/src/main/java/com/jzg/organization/service/impl/SysAmountAuditingServiceImpl.java

@@ -217,6 +217,9 @@ public class SysAmountAuditingServiceImpl extends ServiceImpl<SysAmountAuditingM
                 audit.setPaymentTime(LocalDateTime.now());
                 audit.setAuditingTime(LocalDateTime.now());
                 audit.setAuditingUserId(userId);
+                // add by lipf, 添加审核人姓名, 便于查询 2026-8-27 15:35:14
+                SysUserJzgInfo sysUserJzgInfo = sysJzgInfoService.getUserByUserId(userId);
+                audit.setAuditingUserName(sysUserJzgInfo.getName());
                 this.updateById(audit);
                 // 更新用户账户
                 SysUserAccount userAccount = userAccountService.queryByUserId(audit.getUserId(),systemCode);

+ 2 - 0
tenant/organization/src/main/java/com/jzg/organization/service/impl/SysUserServiceImpl.java

@@ -213,7 +213,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         if("2".equals(sysUserInfoListVo.getIsMember())){
             String jzgInfoId = null;
             if("10".equals(sysUserInfoListVo.getFromPage())){
+                long startTime = System.currentTimeMillis();
                 SysUserJzgInfo userInfoJzgInfo = sysUserJzgInfoService.getUserByUserId(loginUserId);
+                log.info("查询耗时:[{}]", System.currentTimeMillis() - startTime);
                 jzgInfoId = userInfoJzgInfo.getId();
             }
             log.info("查看成员下的业务员信息:成员的序号:jzgInfoId=[{}]", jzgInfoId);

+ 1 - 1
tenant/organization/src/main/resources/application.yml

@@ -10,7 +10,7 @@ spring:
     active: dev
 
 mybatis-plus:
-  mapper-locations: classpath*:/mapper/*Mapper.xml
+  mapper-locations: classpath*:/mapper/**/*Mapper.xml
   global-config:
     db-config:
       logic-delete-field: is_delete

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

@@ -59,7 +59,7 @@
                 and ia.account_name like CONCAT('%',#{param.accountName}, '%')
             </if>
             <if test="param.cardName != null and param.cardName != ''">
-                and iac.card_name = #{param.cardName}
+                and iac.card_name like concat('%',#{param.cardName}, '%')
             </if>
             <if test="param.accountQuality != null ">
                 and iac.account_quality = #{param.accountQuality}

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

@@ -93,7 +93,9 @@
         <where>
             pa.is_delete = 0
             <if test="param.searchValue != null and param.searchValue != ''">
-                and ( pa.agreement_code = #{param.searchValue} or pa.agreement_title = #{param.searchValue} or pa.agreement_abbreviation = #{param.searchValue})
+                and ( pa.agreement_code = #{param.searchValue}
+                or pa.agreement_title like concat('%',#{param.searchValue},'%')
+                or pa.agreement_abbreviation like concat('%',#{param.searchValue},'%') )
             </if>
             <if test="param.systemCode != null and param.systemCode != ''">
                 and pa.system_code = #{param.systemCode}

+ 13 - 1
tenant/organization/src/main/resources/mapper/SysAmountAuditingMapper.xml → tenant/organization/src/main/resources/mapper/finance/SysAmountAuditingMapper.xml

@@ -47,7 +47,7 @@
 
     <select id="queryPage" resultType="com.jzg.commons.entity.vo.AmountAuditVo">
         SELECT
-        saa.receive_user_name,
+        saa.receive_user_name,saa.auditing_user_id,saa.auditing_user_name ,
         saa.id,suji.name as name, su.mobile as mobile,suji.type_attr as attrType,
         saa.manager_user_name  as managerName,sum.mobile as managerMobile,saa.create_time as createTime,
         saa.amount, saa.balance_amount as balanceAmount,saa.account_name AS accountName,
@@ -74,6 +74,9 @@
             <if test="param.amount != null and param.amount != ''">
                 and saa.amount = #{param.amount}
             </if>
+            <if test="param.auditingUser != null and param.auditingUser != ''">
+                and saa.auditing_user_name = #{param.auditingUser}
+            </if>
             <if test="param.receiveUserName != null and param.receiveUserName !=''">
                 and saa.receive_user_name = #{param.receiveUserName}
             </if>
@@ -83,6 +86,9 @@
             <if test="param.auditTimeStart != null and param.auditTimeEnd != null">
                 and DATE_FORMAT(saa.auditing_time, '%Y-%m-%d') between #{param.auditTimeStart} AND #{param.auditTimeEnd}
             </if>
+            <if test="param.accountId != null and param.accountId != ''">
+                and saa.account_id = #{param.accountId}
+            </if>
             <if test="param.auditingUser != null and param.auditingUser != ''">
                 and (sua.username = #{param.auditingUser} or sua.mobile = #{param.auditingUser})
             </if>
@@ -95,6 +101,12 @@
             <if test="param.auditingStatus != null ">
                 and saa.auditing_status = #{param.auditingStatus}
             </if>
+            <if test="param.paymentTimeBegin != null and param.paymentTimeEnd != null">
+                and saa.payment_time between #{param.paymentTimeBegin} and #{param.paymentTimeEnd}
+            </if>
+            <if test="param.rejectTimeBegin != null and param.rejectTimeEnd != null">
+                and saa.reject_time between #{param.rejectTimeBegin} and #{param.rejectTimeEnd}
+            </if>
             <choose>
                 <when test="param.receiveUser != null and param.receiveUser != ''">
                     and saa.receive_user = #{param.receiveUser}