From cba6ceb109e7c427703bd646df7d6eb966c51a32 Mon Sep 17 00:00:00 2001
From: weiz <weiz@lihai.com>
Date: Sat, 13 Jan 2024 15:26:48 +0800
Subject: [PATCH] update

---
 app/adminapi/lists/build/BuildPlanLists.php   |  3 ++-
 .../lists/build/BuildReportDetailLists.php    | 18 +++++++++++++++--
 app/adminapi/lists/build/BuildReportLists.php | 20 ++++++++++++++-----
 .../lists/project/ProjectDocumentLists.php    |  1 +
 .../lists/project/ProjectSettlementLists.php  |  1 +
 .../ProjectSubcontractSettlementLists.php     |  3 ++-
 6 files changed, 37 insertions(+), 9 deletions(-)

diff --git a/app/adminapi/lists/build/BuildPlanLists.php b/app/adminapi/lists/build/BuildPlanLists.php
index a599cab39..ceeab55fd 100644
--- a/app/adminapi/lists/build/BuildPlanLists.php
+++ b/app/adminapi/lists/build/BuildPlanLists.php
@@ -44,7 +44,8 @@ class BuildPlanLists extends BaseAdminDataLists implements ListsSearchInterface
     public function setSearch(): array
     {
         return [
-            '=' => ['zy_code', 'plan_start_date', 'plan_end_date', 'work_user'],
+            '=' => ['project_id', 'plan_start_date', 'plan_end_date'],
+	        '%like%' => ['zy_code','work_user']
         ];
     }
 
diff --git a/app/adminapi/lists/build/BuildReportDetailLists.php b/app/adminapi/lists/build/BuildReportDetailLists.php
index b28d9105a..a7c1b8962 100644
--- a/app/adminapi/lists/build/BuildReportDetailLists.php
+++ b/app/adminapi/lists/build/BuildReportDetailLists.php
@@ -58,7 +58,14 @@ class BuildReportDetailLists extends BaseAdminDataLists implements ListsSearchIn
      */
     public function lists(): array
     {
-        return BuildReportDetail::where($this->searchWhere)
+	    $params = $this->request->get(['project_id']);
+	    $where = [];
+	    if(isset($params['project_id']) && $params['project_id'] != 0){
+		    $plan_ids = BuildPlan::where('project_id',$params['project_id'])->column('id');
+			$report_ids = BuildReport::where('plan_id','in',$plan_ids)->column('id');
+		    $where[] = ['report_id','in',$report_ids];
+	    }
+        return BuildReportDetail::where($this->searchWhere)->where($where)
             ->field(['id', 'report_id', 'person_id', 'work_num', 'remark'])
             ->limit($this->limitOffset, $this->limitLength)
             ->order(['id' => 'desc'])
@@ -92,7 +99,14 @@ class BuildReportDetailLists extends BaseAdminDataLists implements ListsSearchIn
      */
     public function count(): int
     {
-        return BuildReportDetail::where($this->searchWhere)->count();
+	    $params = $this->request->get(['project_id']);
+	    $where = [];
+	    if(isset($params['project_id']) && $params['project_id'] != 0){
+		    $plan_ids = BuildPlan::where('project_id',$params['project_id'])->column('id');
+		    $report_ids = BuildReport::where('plan_id','in',$plan_ids)->column('id');
+		    $where[] = ['report_id','in',$report_ids];
+	    }
+        return BuildReportDetail::where($this->searchWhere)->where($where)->count();
     }
 
 }
\ No newline at end of file
diff --git a/app/adminapi/lists/build/BuildReportLists.php b/app/adminapi/lists/build/BuildReportLists.php
index a027e559f..c0088485a 100644
--- a/app/adminapi/lists/build/BuildReportLists.php
+++ b/app/adminapi/lists/build/BuildReportLists.php
@@ -44,9 +44,7 @@ class BuildReportLists extends BaseAdminDataLists implements ListsSearchInterfac
      */
     public function setSearch(): array
     {
-        return [
-            
-        ];
+        return [];
     }
 
 
@@ -61,7 +59,13 @@ class BuildReportLists extends BaseAdminDataLists implements ListsSearchInterfac
      */
     public function lists(): array
     {
-        return BuildReport::where($this->searchWhere)
+		$params = $this->request->get(['project_id']);
+		$where = [];
+		if(isset($params['project_id']) && $params['project_id'] != 0){
+			$plan_ids = BuildPlan::where('project_id',$params['project_id'])->column('id');
+			$where[] = ['plan_id','in',$plan_ids];
+		}
+        return BuildReport::where($this->searchWhere)->where($where)
             ->field(['id', 'report_code', 'plan_id', 'scene_file', 'report_workload', 'report_amount', 'remark', 'add_user'])
             ->limit($this->limitOffset, $this->limitLength)
             ->order(['id' => 'desc'])
@@ -103,7 +107,13 @@ class BuildReportLists extends BaseAdminDataLists implements ListsSearchInterfac
      */
     public function count(): int
     {
-        return BuildReport::where($this->searchWhere)->count();
+	    $params = $this->request->get(['project_id']);
+	    $where = [];
+	    if(isset($params['project_id']) && $params['project_id'] != 0){
+		    $plan_ids = BuildPlan::where('project_id',$params['project_id'])->column('id');
+		    $where[] = ['plan_id','in',$plan_ids];
+	    }
+        return BuildReport::where($this->searchWhere)->where($where)->count();
     }
 
 }
\ No newline at end of file
diff --git a/app/adminapi/lists/project/ProjectDocumentLists.php b/app/adminapi/lists/project/ProjectDocumentLists.php
index face12619..657c1da99 100644
--- a/app/adminapi/lists/project/ProjectDocumentLists.php
+++ b/app/adminapi/lists/project/ProjectDocumentLists.php
@@ -40,6 +40,7 @@ class ProjectDocumentLists extends BaseAdminDataLists implements ListsSearchInte
     public function setSearch(): array
     {
         return [
+			'=' => ['project_id'],
             '%like%' => ['code', 'name'],
         ];
     }
diff --git a/app/adminapi/lists/project/ProjectSettlementLists.php b/app/adminapi/lists/project/ProjectSettlementLists.php
index f9d8d0083..6f985cbea 100644
--- a/app/adminapi/lists/project/ProjectSettlementLists.php
+++ b/app/adminapi/lists/project/ProjectSettlementLists.php
@@ -41,6 +41,7 @@ class ProjectSettlementLists extends BaseAdminDataLists implements ListsSearchIn
     public function setSearch(): array
     {
         return [
+			'=' => ['project_id'],
             '%like%' => ['settlement_code'],
         ];
     }
diff --git a/app/adminapi/lists/project/ProjectSubcontractSettlementLists.php b/app/adminapi/lists/project/ProjectSubcontractSettlementLists.php
index 95cece445..930c0e41b 100644
--- a/app/adminapi/lists/project/ProjectSubcontractSettlementLists.php
+++ b/app/adminapi/lists/project/ProjectSubcontractSettlementLists.php
@@ -43,7 +43,8 @@ class ProjectSubcontractSettlementLists extends BaseAdminDataLists implements Li
     public function setSearch(): array
     {
         return [
-            '=' => ['settlement_code'],
+            '=' => ['project_id'],
+	        '%like%' => ['settlement_code'],
         ];
     }