Răsfoiți Sursa

Merge remote-tracking branch 'origin/master'

785834757 1 lună în urmă
părinte
comite
3142c63c08

+ 16 - 0
commons/src/main/java/com/jzg/commons/entity/finance/dto/ExportSuperviseSettlementDetailExcelDto.java

@@ -132,4 +132,20 @@ public class ExportSuperviseSettlementDetailExcelDto {
     @Schema(description = "对接人手机号")
     @ExcelProperty(value = "对接人手机号")
     private  String contactPersonPhone;
+
+    @Schema(description = "订单号")
+    @ExcelProperty(value = "订单号")
+    private String orderNo;
+
+    @Schema(description = "订单状态(编码)")
+    @ExcelProperty(value = "订单状态(编码)")
+    private String orderStatus;
+
+    @Schema(description = "订单状态(转义)")
+    @ExcelProperty(value = "订单状态(转义)")
+    private String orderStatusName;
+
+    @Schema(description = "发票号")
+    @ExcelProperty(value = "发票号")
+    private String invoiceNo;
 }

+ 20 - 0
commons/src/main/java/com/jzg/commons/entity/finance/po/InsPlyIncome.java

@@ -411,4 +411,24 @@ public class InsPlyIncome extends BaseModel {
     @Schema(description = "禁用标志:1-已对账(禁用),0-未对账(可用)")
     @ExcelIgnore
     private String disableFlag;
+
+    @TableField(exist = false)
+    @Schema(description = "投保人")
+    @ExcelIgnore
+    private String policyholder;
+
+    @TableField(exist = false)
+    @Schema(description = "支付时间")
+    @ExcelIgnore
+    private String payTime;
+
+    @TableField(exist = false)
+    @Schema(description = "报价时间")
+    @ExcelIgnore
+    private String reportTime;
+
+    @TableField(exist = false)
+    @Schema(description = "发票号")
+    @ExcelIgnore
+    private String invoiceNo;
 }

+ 20 - 0
commons/src/main/java/com/jzg/commons/entity/finance/vo/ReceivableQueryVo.java

@@ -130,4 +130,24 @@ public class ReceivableQueryVo extends PageRequest {
      */
     private String invoiceType;
 
+    @Schema(description = "支付开始时间")
+    private String payTimeBegin;
+
+    @Schema(description = "支付结束时间")
+    private String payTimeEnd;
+
+    @Schema(description = "报价开始时间")
+    private String reportTimeBegin;
+
+    @Schema(description = "报价结束时间")
+    private String reportTimeEnd;
+
+    @Schema(description = "保险机构")
+    private String partnerCompanyId;
+
+    @Schema(description = "修改人")
+    private String updateBy;
+
+
+
 }

+ 9 - 1
commons/src/main/java/com/jzg/commons/entity/finance/vo/SettlementQueryVo.java

@@ -86,10 +86,18 @@ public class SettlementQueryVo extends PageRequest {
     @Schema(description = "租户代码")
     private String systemCode;
 
-
     /**
      * 签署月份,格式:2026-07
      */
     @Schema(description = "签署月份")
     private String signMonth;
+
+    @Schema(description = "回款时间-起")
+    private String receivePaymentDateBegin;
+
+    @Schema(description = "回款时间-止")
+    private String receivePaymentDateEnd;
+
+    @Schema(description = "发票号")
+    private String invoiceNo;
 }

+ 2 - 1
commons/src/main/java/com/jzg/commons/entity/orders/po/InsOrdersCosts.java

@@ -1,6 +1,7 @@
 package com.jzg.commons.entity.orders.po;
 
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.jzg.commons.core.base.BaseModel;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import org.springframework.data.annotation.Id;
@@ -9,7 +10,7 @@ import java.math.BigDecimal;
 
 @Data
 @Schema(description = "保险订单保费信息")
-public class InsOrdersCosts {
+public class InsOrdersCosts extends BaseModel {
 
     @TableId
     @Schema(description = "订单号")

+ 2 - 1
commons/src/main/java/com/jzg/commons/entity/orders/po/InsOrdersOther.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
+import com.jzg.commons.core.base.BaseModel;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
@@ -15,7 +16,7 @@ import java.math.BigDecimal;
 @Data
 @Schema(description = "保险订单其他信息")
 @TableName(value = "ins_orders_other", autoResultMap = true)
-public class InsOrdersOther {
+public class InsOrdersOther extends BaseModel {
 
     @TableId
     @Schema(description = "订单号")

+ 2 - 1
commons/src/main/java/com/jzg/commons/entity/orders/po/InsOrdersRisk.java

@@ -4,6 +4,7 @@ package com.jzg.commons.entity.orders.po;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.jzg.commons.core.base.BaseModel;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
@@ -12,7 +13,7 @@ import java.time.LocalDateTime;
 
 @Data
 @Schema(description = "保险订单险种信息")
-public class InsOrdersRisk {
+public class InsOrdersRisk extends BaseModel {
 
     @TableId(type = IdType.ASSIGN_ID)
     private String id;

+ 2 - 1
commons/src/main/java/com/jzg/commons/entity/orders/po/InsOrdersTax.java

@@ -3,6 +3,7 @@ package com.jzg.commons.entity.orders.po;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.jzg.commons.aop.aspect.DiffProperty;
+import com.jzg.commons.core.base.BaseModel;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
@@ -11,7 +12,7 @@ import java.time.LocalDateTime;
 
 @Data
 @Schema(description = "保险订单税务信息")
-public class InsOrdersTax {
+public class InsOrdersTax extends BaseModel {
 
     @Schema(description = "订单号")
     @TableId(value = "order_no")

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

@@ -25,6 +25,9 @@ public class DateTimeUtils {
      * @date 2026/8/27 15:10
      */
     public static String obtainStartTime(String beginDate){
+        if(StrUtil.isEmpty(beginDate)){
+            return null;
+        }
         LocalDate localDate = LocalDate.parse(beginDate, DATE_FORMATTER);
         return localDate.atStartOfDay().format(DateTimeFormatter.ofPattern(pattern));
     }
@@ -38,6 +41,9 @@ public class DateTimeUtils {
      * @date 2026/8/27 15:10
      */
     public static String obtainNextDayStartTime(String endDate){
+        if(StrUtil.isEmpty(endDate)){
+            return null;
+        }
         LocalDate localDate= LocalDate.parse(endDate, DATE_FORMATTER);
         LocalDateTime nextLocalDateTime = localDate.plusDays(1).atStartOfDay();
         return nextLocalDateTime.format(DateTimeFormatter.ofPattern(pattern));

+ 6 - 0
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/InsOrdersService.java

@@ -339,4 +339,10 @@ public interface InsOrdersService extends IService<InsOrders> {
      */
     InsOrdersCarInfo getByOrderId(String orderNo);
 
+    /**
+     * 根据订单号删除所有订单主表,关联表的信息
+     * @param orderNo
+     */
+    void deleteOrderAllByOrderNo(String orderNo);
+
 }

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

@@ -1110,15 +1110,16 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
 
         Page<OrderListVo> orderListVoPage;
         if (baseController.getUserSystemCode().equals("APP")) {
-            // 手动分页:以主订单为主,按车牌+状态分组去重,先统计总数再取当前页(避免 MP 自动 count 解析窗口函数报错)
+            // APP 端统一走手动分页:按车牌+状态分组去重(避免 MP 自动 count 解析窗口函数报错)。
+            // SQL 中根据 isLargeOrder 动态切换 parent_id 条件:大订单查主订单(parent_id='0'),否则只查从订单(parent_id!='0')
             Page<OrderListVo> page = insOrdersParam.getPage();
             long current = page.getCurrent();
             long size = page.getSize();
             long offset = (current - 1) * size;
             long total = insOrdersMapper.countOrderListDistinct(insOrdersParam);
             List<OrderListVo> records = insOrdersMapper.queryOrderListDistinct(insOrdersParam, offset, size);
-            // 以主订单为主:查询主订单下的从订单并挂载
-            if (CollUtil.isNotEmpty(records)) {
+            // 大订单:以主订单为主,查询主订单下的从订单并挂载
+            if (StringUtils.equals("1", insOrdersParam.getIsLargeOrder()) && CollUtil.isNotEmpty(records)) {
                 List<String> parentIds = records.stream().map(OrderListVo::getOrderNo).collect(Collectors.toList());
                 List<OrderListVo> childOrders = insOrdersMapper.queryChildOrderListByParentIds(parentIds, insOrdersParam);
                 if (CollUtil.isNotEmpty(childOrders)) {
@@ -1130,7 +1131,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
             orderListVoPage = new Page<>(current, size, total);
             orderListVoPage.setRecords(records != null ? records : java.util.Collections.emptyList());
         } else {
-            // 非 APP 走原 MP 自动分页查询
+            // 非 APP 走原 MP 自动分页查询(queryOrderList 仅查询从订单 parent_id != '0',不查主订单)
             orderListVoPage = insOrdersMapper.queryOrderList(insOrdersParam.getPage(), insOrdersParam);
         }
         // modify by lipf, 2026年4月29日11:06:02 解决业务员类型缺失的问题
@@ -2776,4 +2777,56 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
     public InsOrdersCarInfo getByOrderId(String orderNo) {
         return ordersCarInfoService.getByOrderId(orderNo);
     }
+
+    @Override
+    @Transactional
+    public void deleteOrderAllByOrderNo(String orderNo) {
+        // 订单信息删除
+        insOrdersMapper.deleteById(orderNo);
+        // 订单车辆信息表删除
+        LambdaUpdateWrapper<InsOrdersCarInfo> iciWrapper = new LambdaUpdateWrapper<>();
+        iciWrapper.eq(InsOrdersCarInfo::getOrderNo,orderNo);
+        iciWrapper.set(InsOrdersCarInfo::getIsDelete,1);
+        ordersCarInfoService.update(iciWrapper);
+        // 订单车辆人员信息表删除
+        LambdaUpdateWrapper<InsOrdersCarUserInfo> icuiWrapper = new LambdaUpdateWrapper<>();
+        icuiWrapper.eq(InsOrdersCarUserInfo::getOrderNo,orderNo);
+        icuiWrapper.set(InsOrdersCarUserInfo::getIsDelete,1);
+        ordersCarUserInfoService.update(icuiWrapper);
+        // 订单其他属性表删除
+        LambdaUpdateWrapper<InsOrdersOther> iooWrapper = new LambdaUpdateWrapper<>();
+        iooWrapper.eq(InsOrdersOther::getOrderNo,orderNo);
+        iooWrapper.set(InsOrdersOther::getIsDelete,1);
+        insOrdersOtherService.update(iooWrapper);
+        // 订单费用表删除
+        LambdaUpdateWrapper<InsOrdersCosts> iocWrapper = new LambdaUpdateWrapper<>();
+        iocWrapper.eq(InsOrdersCosts::getOrderNo,orderNo);
+        iocWrapper.set(InsOrdersCosts::getIsDelete,1);
+        insOrdersCostsService.update(iocWrapper);
+        //订单保单号关联删除
+        LambdaUpdateWrapper<InsOrdersPolicy> iopWrapper = new LambdaUpdateWrapper<>();
+        iopWrapper.eq(InsOrdersPolicy::getOrderNo,orderNo);
+        iopWrapper.set(InsOrdersPolicy::getIsDelete,1);
+        insOrdersPolicyService.update(iopWrapper);
+        // 订单费用表删除
+        LambdaUpdateWrapper<InsFeeOrders> ifoWrapper = new LambdaUpdateWrapper<>();
+        ifoWrapper.eq(InsFeeOrders::getOrderNo,orderNo);
+        ifoWrapper.set(InsFeeOrders::getIsDelete,1);
+        insFeeOrdersMapper.update(ifoWrapper);
+        // 保险种类信息删除
+        LambdaUpdateWrapper<InsOrdersKind> iokWrapper = new LambdaUpdateWrapper<>();
+        iokWrapper.eq(InsOrdersKind::getOrderNo,orderNo);
+        iokWrapper.set(InsOrdersKind::getIsDelete,1);
+        insOrdersKindService.update(iokWrapper);
+        // 税费信息删除
+        LambdaUpdateWrapper<InsOrdersTax> iotWrapper = new LambdaUpdateWrapper<>();
+        iotWrapper.eq(InsOrdersTax::getOrderNo,orderNo);
+        iotWrapper.set(InsOrdersTax::getIsDelete,1);
+        insOrdersTaxService.update(iotWrapper);
+        // 订单险种信息删除
+        LambdaUpdateWrapper<InsOrdersRisk> iorWrapper = new LambdaUpdateWrapper<>();
+        iorWrapper.eq(InsOrdersRisk::getOrderNo,orderNo);
+        iorWrapper.set(InsOrdersRisk::getIsDelete,1);
+        insOrdersRiskService.update(iorWrapper);
+    }
 }

+ 20 - 2
tenant/insurance/quotation-summary/src/main/resources/mapper/InsOrdersMapper.xml

@@ -1428,7 +1428,16 @@
         ) x WHERE x.rn = 1
         ) ioa1 ON io.id = ioa1.order_no
         <where>
-            and io.is_delete = 0 and io.parent_id = '0' and sujis.type_attr NOT IN (1,2,3,4)
+            and io.is_delete = 0
+            <choose>
+                <when test="insOrdersParam.isLargeOrder != null and insOrdersParam.isLargeOrder == '1'">
+                    and io.parent_id = '0'
+                </when>
+                <otherwise>
+                    and io.parent_id != '0'
+                </otherwise>
+            </choose>
+            and sujis.type_attr NOT IN (1,2,3,4)
             <if test="insOrdersParam.jzgInfoId != null and insOrdersParam.jzgInfoId != ''">
                 and io.real_quote_user_id in (select bbb.mobile from sys_user bbb where bbb.id in ( select ss.user_id
                 from sys_user_jzg_info ss where 1 =1 and (ss.leader_id = #{insOrdersParam.jzgInfoId} or ss.id
@@ -1641,7 +1650,16 @@
             ) x WHERE x.rn = 1
             ) ioa1 ON io.id = ioa1.order_no
             <where>
-                and io.is_delete = 0 and io.parent_id = '0' and sujis.type_attr NOT IN (1,2,3,4)
+                and io.is_delete = 0
+                <choose>
+                    <when test="insOrdersParam.isLargeOrder != null and insOrdersParam.isLargeOrder == '1'">
+                        and io.parent_id = '0'
+                    </when>
+                    <otherwise>
+                        and io.parent_id != '0'
+                    </otherwise>
+                </choose>
+                and sujis.type_attr NOT IN (1,2,3,4)
                 <if test="insOrdersParam.jzgInfoId != null and insOrdersParam.jzgInfoId != ''">
                     and io.real_quote_user_id in (select bbb.mobile from sys_user bbb where bbb.id in ( select ss.user_id
                     from sys_user_jzg_info ss where 1 =1 and (ss.leader_id = #{insOrdersParam.jzgInfoId} or ss.id

+ 1 - 1
tenant/organization/src/main/java/com/jzg/organization/controller/ReceivableController.java

@@ -197,7 +197,7 @@ public class ReceivableController {
 
     @PostMapping("updateInsPlyIncome")
     @Operation(summary = "应收记录的修改")
-    public HttpResult<String> updateInsPlyIncome(InsPlyIncomeModify modifyParam){
+    public HttpResult<String> updateInsPlyIncome(@RequestBody InsPlyIncomeModify modifyParam){
         String userName = baseController.getUserName();
         log.info("应收记录的修改.useName=[{}],modifyParam=[{}]", userName, modifyParam);
         modifyParam.setUpdateBy(userName);

+ 10 - 1
tenant/organization/src/main/java/com/jzg/organization/service/impl/ReceivableServiceImpl.java

@@ -311,6 +311,12 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
     @Override
     public Page<InsPlyIncome> getReceivablePage(ReceivableQueryVo receivableQueryVo) {
         log.info("获取私有协议手续费应收列表。receivableQueryVo=[{}]", JSONUtil.toJsonStr(receivableQueryVo));
+
+//        if(StrUtil.isNotEmpty(receivableQueryVo.getUpdateBy())){
+//            insFeeOrdersClient.getUserNameByMobile();
+//        }
+
+
         Page<InsPlyIncome> page = baseMapper.getReceivablePage(receivableQueryVo.getPage(), receivableQueryVo);
         List<InsPlyIncome> records = page.getRecords();
         records = records.stream().filter(action->{
@@ -5363,6 +5369,9 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
         log.info("查询结算手续费结算记录:settlementQueryVo=[{}]", JSONUtil.toJsonStr(settlementQueryVo));
         // 设置空条件
         setNoneCondition(settlementQueryVo);
+        settlementQueryVo.setReceivePaymentDateBegin(DateTimeUtils.obtainStartTime(settlementQueryVo.getReceivePaymentDateBegin()));
+        settlementQueryVo.setReceivePaymentDateEnd(DateTimeUtils.obtainNextDayStartTime(settlementQueryVo.getReceivePaymentDateEnd()));
+
         // 设置租户
         settlementQueryVo.setSystemCode(baseController.getSystemCode());
         Page<ExportSuperviseSettlementExcelDto> exportSuperviseSettlementExcelDtos = baseMapper.superviseSettlementExcelDtos(page, settlementQueryVo);
@@ -7007,7 +7016,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
         policy.setUpdateTime(LocalDateTime.now());
         insOrdersPolicyMapper.updateById(policy);
         log.info("保险单号修改成功");
-        return null;
+        return HttpResult.ok("修改成功");
     }
 }
 

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

@@ -208,9 +208,9 @@
         io.real_quote_user_id,
         io.real_quote_user_id as real_quote_user_name,
         io.signing_time,
-        date(io.signing_time ) as sign_date,
+        date(io.signing_time) as sign_date,
         year(io.signing_time) as sign_year,
-        DATE_FORMAT(io.signing_time,'%Y-%m') AS sign_month,
+        DATE_FORMAT(io.signing_time, '%Y-%m') AS sign_month,
         ipi.id,
         io.id as 'orderNo',
         eic.name_simple as companyName,
@@ -247,9 +247,10 @@
         ipi.jq_other_costs_premiums,
         ipi.sy_other_costs_premiums,
         ipi.jy_other_costs_premiums,
-        COALESCE(ipi.jy_supervise_costs_premiums, 0) + COALESCE(ipi.jy_other_costs_premiums,0) as jyTotalPremiums,
+        COALESCE(ipi.jy_supervise_costs_premiums, 0) + COALESCE(ipi.jy_other_costs_premiums, 0) as jyTotalPremiums,
         io.product_name,
         iocui.name AS insuredPerson,
+        iocui2.name as policyholder,
         ipi.jq_premium,
         ipi.sy_premium,
         ipi.jy_premium,
@@ -279,18 +280,42 @@
         ipi.update_time,
         ipi.update_by,
         io.docking_person,
-        eic.name_simple as companyNameSimple, ipi.contact_person , ipi.contact_person_phone
+        eic.name_simple as companyNameSimple,
+        ipi.contact_person ,
+        ipi.contact_person_phone,
+        io.pay_time,
+        io.create_time as report_time
         FROM
         ins_ply_income ipi
-        LEFT JOIN ins_orders io ON ipi.order_no = io.id AND io.is_delete = 0
-        LEFT JOIN ins_orders_car_user_info iocui ON ipi.order_no = iocui.order_no and iocui.policy_person_type = '3' AND iocui.is_delete = 0
-        LEFT JOIN ins_orders_risk ior1 ON ipi.order_no = ior1.order_no and ior1.risk_code = '0507' AND ior1.is_delete = 0
-        LEFT JOIN ins_orders_risk ior2 ON ipi.order_no = ior2.order_no and ior2.risk_code = '0510' AND ior2.is_delete = 0
-        LEFT JOIN ins_orders_policy iop ON ipi.order_no = iop.order_no AND iop.is_delete = 0
-        LEFT JOIN esm_ins_company eic on ipi.company_id = eic.id AND eic.is_delete = 0
-        left join ptl_agreement pa on pa.id = io.agreement_id
+        LEFT JOIN ins_orders io ON
+        ipi.order_no = io.id
+        AND io.is_delete = 0
+        LEFT JOIN ins_orders_car_user_info iocui ON
+        ipi.order_no = iocui.order_no
+        and iocui.policy_person_type = '3'
+        AND iocui.is_delete = 0
+        LEFT JOIN ins_orders_car_user_info iocui2 ON
+        ipi.order_no = iocui2.order_no
+        and iocui2.policy_person_type = '2'
+        AND iocui2.is_delete = 0
+        LEFT JOIN ins_orders_risk ior1 ON
+        ipi.order_no = ior1.order_no
+        and ior1.risk_code = '0507'
+        AND ior1.is_delete = 0
+        LEFT JOIN ins_orders_risk ior2 ON
+        ipi.order_no = ior2.order_no
+        and ior2.risk_code = '0510'
+        AND ior2.is_delete = 0
+        LEFT JOIN ins_orders_policy iop ON
+        ipi.order_no = iop.order_no
+        AND iop.is_delete = 0
+        LEFT JOIN esm_ins_company eic on
+        ipi.company_id = eic.id
+        AND eic.is_delete = 0
+        left join ptl_agreement pa on
+        pa.id = io.agreement_id
         where
-            ipi.is_delete  = 0
+        ipi.is_delete = 0
     </sql>
     <!-- 查询应收订单总额 lipf 2026年6月4日10:22:57 -->
     <select id="queryAllTotalReceivablePremiumByOrderNo" resultType="java.math.BigDecimal">
@@ -331,6 +356,18 @@
     <select id="getReceivablePage" resultType="com.jzg.commons.entity.finance.po.InsPlyIncome">
         <include refid="query"/>
         and ipi.system_code = #{receivableQueryVo.systemCode}
+        <if test="receivableQueryVo.payTimeBegin != null and receivableQueryVo.payTimeEnd != null">
+            and io.pay_time between #{receivableQueryVo.payTimeBegin} and #{receivableQueryVo.payTimeEnd}
+        </if>
+        <if test="receivableQueryVo.reportTimeBegin != null and receivableQueryVo.reportTimeEnd != null">
+            and io.create_time between #{receivableQueryVo.reportTimeBegin} and #{receivableQueryVo.reportTimeEnd}
+        </if>
+        <if test="receivableQueryVo.updateBy != null and receivableQueryVo.updateBy !='' ">
+            and ipi.update_by = #{receivableQueryVo.updateBy}
+        </if>
+        <if test="receivableQueryVo.partnerCompanyId != null">
+            and ipi.partner_company_id = #{receivableQueryVo.partnerCompanyId}
+        </if>
         <if test="receivableQueryVo.riskCode != null and receivableQueryVo.riskCode != '' ">
             and io.product_name = #{receivableQueryVo.riskCode}
         </if>
@@ -628,7 +665,7 @@
         ipiis.create_by ,
         ipiis.create_time,
         ipiis.settlement_payment_difference ,
-        ipiis.settlement_payment_reason
+        ipiis.settlement_payment_reason,ipii.invoice_no
         FROM
         ins_ply_income_invoice_settlement ipiis
         LEFT JOIN ins_ply_income_invoice ipii ON ipii.id = ipiis.invoice_id AND ipii.is_delete = 0
@@ -639,6 +676,12 @@
         <where>
             ipiis.is_delete = 0
             AND ipiis.system_code = #{settlementQueryVo.systemCode}
+            <if test="settlementQueryVo.receivePaymentDateBegin != null and settlementQueryVo.receivePaymentDateBegin != '' and settlementQueryVo.receivePaymentDateEnd != null and settlementQueryVo.receivePaymentDateEnd != '' ">
+                and ipiis.receive_payment_date between #{settlementQueryVo.receivePaymentDateBegin} and #{settlementQueryVo.receivePaymentDateEnd}
+            </if>
+            <if test="settlementQueryVo.invoiceNo != null and settlementQueryVo.invoiceNo != '' ">
+                and ipii.invoice_no = #{settlementQueryVo.invoiceNo}
+            </if>
             <if test="settlementQueryVo.settlementIds != null and settlementQueryVo.settlementIds != ''">
                 AND ipiis.id IN
                 <foreach collection="settlementQueryVo.settlementIds" item="settlementId" open="(" separator="," close=")">