Преглед на файлове

修改bug:
私有应收 跟单开票中的搜索项,搜索支公司无数据

jiakai преди 2 месеца
родител
ревизия
7d21905bc4
променени са 1 файла, в които са добавени 29 реда и са изтрити 5 реда
  1. 29 5
      tenant/organization/src/main/java/com/jzg/organization/service/impl/ReceivableServiceImpl.java

+ 29 - 5
tenant/organization/src/main/java/com/jzg/organization/service/impl/ReceivableServiceImpl.java

@@ -3950,7 +3950,31 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
                 Set<String> names = searchVOMap.keySet();
 
                 // 保险公司
-                Predicate<InsPlyIncomeDto> companyIdPredicate = insPlyIncome -> {
+//                Predicate<InsPlyIncomeDto> companyIdPredicate = insPlyIncome -> {
+//                    if (!names.contains(FollowInvoicePageListVo.SearchVO.companyId)) {
+//                        return true;
+//                    }
+//                    FollowInvoicePageListVo.SearchVO searchVO = searchVOMap.get(FollowInvoicePageListVo.SearchVO.companyId);
+//                    String type = searchVO.getType();
+//                    String search = searchVO.getSearch();
+//                    if ("为空".equals(type) || "不为空".equals(type)) {
+//                        return true;
+//                    }
+//                    if (StrUtil.isEmpty(search)) {
+//                        return true;
+//                    }
+//                    if ("等于".equalsIgnoreCase(type) || "包含".equalsIgnoreCase(type)) {
+//                        List<String> companyIds = Arrays.asList(search.split(","));
+//                        return companyIds.contains(insPlyIncome.getCompanyId());
+//                    }
+//                    if ("不等于".equalsIgnoreCase(type) || "不包含".equalsIgnoreCase(type)) {
+//                        List<String> companyIds = Arrays.asList(search.split(","));
+//                        return !companyIds.contains(insPlyIncome.getCompanyId());
+//                    }
+//                    return true;
+//                };
+                // 保险公司
+                Predicate<InsPlyIncomeDto> partnerCompanyIdPredicate = insPlyIncome -> {
                     if (!names.contains(FollowInvoicePageListVo.SearchVO.companyId)) {
                         return true;
                     }
@@ -3965,21 +3989,21 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
                     }
                     if ("等于".equalsIgnoreCase(type) || "包含".equalsIgnoreCase(type)) {
                         List<String> companyIds = Arrays.asList(search.split(","));
-                        return companyIds.contains(insPlyIncome.getCompanyId());
+                        return companyIds.contains(insPlyIncome.getPartnerCompanyId());
                     }
                     if ("不等于".equalsIgnoreCase(type) || "不包含".equalsIgnoreCase(type)) {
                         List<String> companyIds = Arrays.asList(search.split(","));
-                        return !companyIds.contains(insPlyIncome.getCompanyId());
+                        return !companyIds.contains(insPlyIncome.getPartnerCompanyId());
                     }
                     return true;
                 };
 
                 // AND / OR 组合逻辑(和代码A完全一致)
                 if ("and".equalsIgnoreCase(followInvoicePageListVo.getLogicJudge())) {
-                    Predicate<InsPlyIncomeDto> and = companyIdPredicate;
+                    Predicate<InsPlyIncomeDto> and = partnerCompanyIdPredicate;
                     filterIncomes = incomes.stream().filter(and).toList();
                 } else if ("or".equalsIgnoreCase(followInvoicePageListVo.getLogicJudge())) {
-                    Predicate<InsPlyIncomeDto> or = companyIdPredicate;
+                    Predicate<InsPlyIncomeDto> or = partnerCompanyIdPredicate;
                     filterIncomes = incomes.stream().filter(or).toList();
                 }
             }