From fc4a7d5cecbe3c806c2bc4aca7edfc1625cdc2d8 Mon Sep 17 00:00:00 2001 From: cody <648753004@qq.com> Date: Sat, 29 Nov 2025 17:33:22 +0800 Subject: [PATCH] update --- app/Models/Company.php | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/app/Models/Company.php b/app/Models/Company.php index 05b5dba..72f4941 100644 --- a/app/Models/Company.php +++ b/app/Models/Company.php @@ -72,6 +72,7 @@ class Company extends SoftDeletesModel // 自定义时间:需要按被投时间筛选 // 筛选出被投时间在范围内的企业 $filteredCompanies = []; + $filteredOutCompanies = []; // 被筛选掉的企业 foreach ($companies as $company) { $projectUsers = $company->project_users ?? []; $hasValidInvestDate = false; @@ -93,8 +94,24 @@ class Company extends SoftDeletesModel // 如果有有效的被投时间在范围内,或者所有被投时间都是null,则加入结果 if ($hasValidInvestDate || $allInvestDatesNull) { $filteredCompanies[] = $company; + } else { + // 记录被筛选掉的企业 + $filteredOutCompanies[] = [ + 'id' => $company->id, + 'company_name' => $company->company_name, + 'project_users' => $projectUsers, + ]; } } + + // 打印被筛选掉的企业信息 + if (!empty($filteredOutCompanies)) { + dd([ + 'filtered_out_count' => count($filteredOutCompanies), + 'filtered_out_companies' => $filteredOutCompanies, + 'end_date' => $end_date, + ]); + } $companies = collect($filteredCompanies); // 返回结果 @@ -119,15 +136,15 @@ class Company extends SoftDeletesModel $years = []; if ($start_date && $end_date) { // 从开始和结束日期中提取年份范围 - $startYear = (int)date('Y', strtotime($start_date)); - $endYear = (int)date('Y', strtotime($end_date)); + $startYear = (int) date('Y', strtotime($start_date)); + $endYear = (int) date('Y', strtotime($end_date)); // 生成所有年份的数组 for ($year = $startYear; $year <= $endYear; $year++) { $years[] = $year; } } else { // 如果没有提供日期,使用当前年份 - $years[] = (int)date('Y'); + $years[] = (int) date('Y'); } // 获取这些公司中标记为被投的公司 @@ -140,7 +157,7 @@ class Company extends SoftDeletesModel foreach ($projectUsers as $item) { $investDate = $item['investDate'] ?? null; if ($investDate) { - $investYear = (int)date('Y', strtotime($investDate)); + $investYear = (int) date('Y', strtotime($investDate)); if (in_array($investYear, $years)) { $hasInvestInYears = true; break;