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

平台协议-结算的时候按照对接人的维度进行结算

lipf 4 месяцев назад
Родитель
Сommit
3fd52ac704

+ 8 - 0
commons/src/main/java/com/jzg/commons/entity/finance/vo/IncomeDataVO.java

@@ -1,5 +1,6 @@
 package com.jzg.commons.entity.finance.vo;
 
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
 import java.io.Serial;
@@ -38,6 +39,12 @@ public class IncomeDataVO implements Serializable {
      */
     private String logicJudge;
 
+    @Schema(description = "对接人")
+    private String contactPerson;
+
+    @Schema(description = "对接人手机号")
+    private String contactPersonPhone;
+
 
     @Data
     public static class SearchVO implements Serializable {
@@ -49,6 +56,7 @@ public class IncomeDataVO implements Serializable {
         public static final String ptlAgreement = "ptlAgreement";
         public static final String orderType = "orderType";
         public static final String signYear = "signYear";
+        public static final String contactPerson = "contactPersonPhone";
 
         /**
          * 查询条件

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

@@ -299,7 +299,7 @@ public class ReceivableController {
 
     @PostMapping("/getPlatFormReceivableList")
     @Operation(summary = "获取平台协议列表")
-    public HttpResult<Page<InsPlyIncome>> getPlatFormReceivableList(@RequestBody ReceivableQueryVo receivableQueryVo){
+    public HttpResult<InsPlyIncomeVO> getPlatFormReceivableList(@RequestBody ReceivableQueryVo receivableQueryVo){
         if (StrUtil.isBlank(receivableQueryVo.getQueryType())){
             receivableQueryVo.setQueryType("1");
         }
@@ -307,7 +307,9 @@ public class ReceivableController {
         if (StrUtil.isBlank(receivableQueryVo.getAgreementType())){
             receivableQueryVo.setAgreementType("1");
         }
-        return HttpResult.ok(receivableService.getPlatFormReceivableList(receivableQueryVo));
+        Page<InsPlyIncome> data = receivableService.getPlatFormReceivableList(receivableQueryVo);
+        List<InsPlyIncomeOrder> receivablePageIds = receivableService.getReceivablePageIds(receivableQueryVo);
+        return HttpResult.ok(new InsPlyIncomeVO(data, receivablePageIds));
     }
 
     @PostMapping("/exportTemplatePlatFormReceivable")

+ 0 - 1
tenant/organization/src/main/java/com/jzg/organization/mapper/ReceivableMapper.java

@@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jzg.commons.entity.finance.dto.*;
 import com.jzg.commons.entity.finance.po.InsPlyIncome;
-import com.jzg.commons.entity.finance.po.InsPlyIncomeInvoice;
 import com.jzg.commons.entity.finance.po.InsPlyIncomeInvoiceLink;
 import com.jzg.commons.entity.finance.po.InsPlyIncomeInvoiceSettlement;
 import com.jzg.commons.entity.finance.vo.InvoiceRecordQueryVo;

+ 19 - 4
tenant/organization/src/main/java/com/jzg/organization/service/impl/ReceivableServiceImpl.java

@@ -19,7 +19,6 @@ import com.jzg.commons.entity.finance.dto.*;
 import com.jzg.commons.entity.finance.po.*;
 import com.jzg.commons.entity.finance.vo.*;
 import com.jzg.commons.entity.orders.po.InsOrderAdjust;
-import com.jzg.commons.entity.orders.po.InsOrders;
 import com.jzg.commons.entity.po.EsmInsCompany;
 import com.jzg.commons.entity.po.InsFeeOrders;
 import com.jzg.commons.entity.po.PtlAgreement;
@@ -222,7 +221,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
         Page<InsPlyIncome> page = baseMapper.getReceivablePage(page1, receivableQueryVo);
         List<InsPlyIncomeOrder> res = page.getRecords().stream()
                 .map(action -> new InsPlyIncomeOrder(action.getId(), action.getOrderNo())).toList();
-        log.info("获取私有协议手续费应收列表的id集合。receivableQueryVo=[{}]. ids.size=[{}]", JSONUtil.toJsonStr(receivableQueryVo), CollUtil.size(res));
+        log.info("获取私有/平台协议手续费应收列表的id集合。receivableQueryVo=[{}]. ids.size=[{}]", JSONUtil.toJsonStr(receivableQueryVo), CollUtil.size(res));
         return res;
     }
 
@@ -238,6 +237,8 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
         log.info("应收数据的二次过滤:incomeDataVO=[{}]", JSONUtil.toJsonStr(incomeDataVO));
         List<String> orderNos = incomeDataVO.getOrderNos();
         String companyId = incomeDataVO.getCompanyId();
+        String contactPerson = incomeDataVO.getContactPerson();
+        String contactPersonPhone = incomeDataVO.getContactPersonPhone();
 //        if(CollUtil.isEmpty(orderNos)){
 //            log.info("应收数据的二次过滤: 订单号不能为空");
 //            return HttpResult.error("请勾选要处理的订单信息");
@@ -263,6 +264,20 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
                         .collect(Collectors.toMap(IncomeDataVO.SearchVO::getName, Function.identity(), (ole_item, new_item) -> ole_item));
                 Set<String> names =searchVOMap.keySet();
 
+                Predicate<InsPlyIncome> contactPredicate = insPlyIncome -> {
+                    if(!names.contains(IncomeDataVO.SearchVO.contactPerson)){
+                        return true;
+                    }
+                    IncomeDataVO.SearchVO searchVO = searchVOMap.get(IncomeDataVO.SearchVO.contactPerson);
+                    String type = searchVO.getType();
+                    String search = searchVO.getSearch();
+                    if("等于".equals(type)){
+                        return search.equals(insPlyIncome.getContactPersonPhone());
+                    }else if("不等于".equals(type)){
+                        return !search.equals(insPlyIncome.getContactPersonPhone());
+                    }
+                    return true;
+                };
                 // 保险公司
                 Predicate<InsPlyIncome> companyIdPredicate = insPlyIncome -> {
                     if(!names.contains(IncomeDataVO.SearchVO.companyId)){
@@ -406,10 +421,10 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
                     return true;
                 };
                 if("and".equalsIgnoreCase(incomeDataVO.getLogicJudge())){
-                    Predicate<InsPlyIncome> and = companyIdPredicate.and(signDatePredicate).and(ptlAgreementPredicate).and(orderTypePredicate).and(signYearPredicate);
+                    Predicate<InsPlyIncome> and = companyIdPredicate.and(signDatePredicate).and(ptlAgreementPredicate).and(orderTypePredicate).and(signYearPredicate).and(contactPredicate);
                     filterIncomes = incomes.stream().filter(and).toList();
                 }else if ("or".equalsIgnoreCase(incomeDataVO.getLogicJudge())){
-                    Predicate<InsPlyIncome> or = companyIdPredicate.or(signDatePredicate).or(ptlAgreementPredicate).or(orderTypePredicate).or(signYearPredicate);
+                    Predicate<InsPlyIncome> or = companyIdPredicate.or(signDatePredicate).or(ptlAgreementPredicate).or(orderTypePredicate).or(signYearPredicate).or(contactPredicate);
                     filterIncomes = incomes.stream().filter(or).toList();
                 }
             }

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

@@ -247,7 +247,7 @@
         ipi.update_time,
         ipi.update_by,
         io.docking_person,
-        eic.name_simple as companyNameSimple
+        eic.name_simple as companyNameSimple, ipi.contact_person , ipi.contact_person_phone
         FROM
         ins_ply_income ipi
         LEFT JOIN ins_orders io ON ipi.order_no = io.id
@@ -1110,7 +1110,7 @@
 
     <!-- 根据应收订单的编号,查询应收记录 lipf 2026年5月30日10:25:14 -->
     <select id="queryIncomeByIds" resultType="com.jzg.commons.entity.finance.po.InsPlyIncome">
-        SELECT ipii.*  FROM ins_ply_income ipi WHERE
+        SELECT ipi.*  FROM ins_ply_income ipi WHERE
         ipi.id IN
         <foreach collection="invoicingVo.incomeIds" item="id" open="(" separator="," close=")">
             #{id}