diff --git a/app/adminapi/controller/supervision_project/SupervisionParticipatingUnitsController.php b/app/adminapi/controller/supervision_project/SupervisionParticipatingUnitsController.php index 2a0c74b21..ab7f92d4f 100644 --- a/app/adminapi/controller/supervision_project/SupervisionParticipatingUnitsController.php +++ b/app/adminapi/controller/supervision_project/SupervisionParticipatingUnitsController.php @@ -103,6 +103,9 @@ class SupervisionParticipatingUnitsController extends BaseAdminController $result = SupervisionParticipatingUnitsLogic::detail($params); return $this->data($result); } - - + + public function datas() + { + return $this->data(SupervisionParticipatingUnitsLogic::datas()); + } } \ No newline at end of file diff --git a/app/adminapi/controller/supervision_project/SupervisionProjectController.php b/app/adminapi/controller/supervision_project/SupervisionProjectController.php index b5e3491d7..c2779867d 100644 --- a/app/adminapi/controller/supervision_project/SupervisionProjectController.php +++ b/app/adminapi/controller/supervision_project/SupervisionProjectController.php @@ -103,6 +103,9 @@ class SupervisionProjectController extends BaseAdminController $result = SupervisionProjectLogic::detail($params); return $this->data($result); } - - + + public function datas() + { + return $this->data(SupervisionProjectLogic::datas()); + } } \ No newline at end of file diff --git a/app/adminapi/lists/supervision_qualification_review/SupervisionConstructionManagementPersonnelLists.php b/app/adminapi/lists/supervision_qualification_review/SupervisionConstructionManagementPersonnelLists.php index ea3dda670..13bcb080a 100644 --- a/app/adminapi/lists/supervision_qualification_review/SupervisionConstructionManagementPersonnelLists.php +++ b/app/adminapi/lists/supervision_qualification_review/SupervisionConstructionManagementPersonnelLists.php @@ -57,7 +57,13 @@ class SupervisionConstructionManagementPersonnelLists extends BaseAdminDataLists */ public function lists(): array { - return SupervisionConstructionManagementPersonnel::withoutField('update_time,delete_time')->where($this->searchWhere) + $params = $this->request->get(); + $where = []; + if(!empty($params['company_id'])){ + $unit_qualification_ids = SupervisionParticipatingUnitsQualifications::where('company_id',$params['company_id'])->column('id'); + $where[] = ['unit_qualification_id','in',$unit_qualification_ids]; + } + return SupervisionConstructionManagementPersonnel::withoutField('update_time,delete_time')->where($this->searchWhere)->where($where) ->limit($this->limitOffset, $this->limitLength) ->order(['id' => 'desc']) ->select()->each(function($data){ @@ -79,7 +85,13 @@ class SupervisionConstructionManagementPersonnelLists extends BaseAdminDataLists */ public function count(): int { - return SupervisionConstructionManagementPersonnel::where($this->searchWhere)->count(); + $params = $this->request->get(); + $where = []; + if(!empty($params['company_id'])){ + $unit_qualification_ids = SupervisionParticipatingUnitsQualifications::where('company_id',$params['company_id'])->column('id'); + $where[] = ['unit_qualification_id','in',$unit_qualification_ids]; + } + return SupervisionConstructionManagementPersonnel::where($this->searchWhere)->where($where)->count(); } } \ No newline at end of file diff --git a/app/adminapi/lists/supervision_qualification_review/SupervisionLargeEquipmentLists.php b/app/adminapi/lists/supervision_qualification_review/SupervisionLargeEquipmentLists.php index 93fc1e7f3..19eed8e5c 100644 --- a/app/adminapi/lists/supervision_qualification_review/SupervisionLargeEquipmentLists.php +++ b/app/adminapi/lists/supervision_qualification_review/SupervisionLargeEquipmentLists.php @@ -58,7 +58,13 @@ class SupervisionLargeEquipmentLists extends BaseAdminDataLists implements Lists */ public function lists(): array { - return SupervisionLargeEquipment::withoutField('update_time,delete_time')->where($this->searchWhere) + $params = $this->request->get(); + $where = []; + if(!empty($params['company_id'])){ + $unit_qualification_ids = SupervisionParticipatingUnitsQualifications::where('company_id',$params['company_id'])->column('id'); + $where[] = ['unit_qualification_id','in',$unit_qualification_ids]; + } + return SupervisionLargeEquipment::withoutField('update_time,delete_time')->where($this->searchWhere)->where($where) ->limit($this->limitOffset, $this->limitLength) ->order(['id' => 'desc']) ->select()->each(function($data){ @@ -80,7 +86,13 @@ class SupervisionLargeEquipmentLists extends BaseAdminDataLists implements Lists */ public function count(): int { - return SupervisionLargeEquipment::where($this->searchWhere)->count(); + $params = $this->request->get(); + $where = []; + if(!empty($params['company_id'])){ + $unit_qualification_ids = SupervisionParticipatingUnitsQualifications::where('company_id',$params['company_id'])->column('id'); + $where[] = ['unit_qualification_id','in',$unit_qualification_ids]; + } + return SupervisionLargeEquipment::where($this->searchWhere)->where($where)->count(); } } \ No newline at end of file diff --git a/app/adminapi/lists/supervision_qualification_review/SupervisionSafetyManagementPersonnelLists.php b/app/adminapi/lists/supervision_qualification_review/SupervisionSafetyManagementPersonnelLists.php index 9174bcf6e..aa08f0bfc 100644 --- a/app/adminapi/lists/supervision_qualification_review/SupervisionSafetyManagementPersonnelLists.php +++ b/app/adminapi/lists/supervision_qualification_review/SupervisionSafetyManagementPersonnelLists.php @@ -57,7 +57,13 @@ class SupervisionSafetyManagementPersonnelLists extends BaseAdminDataLists imple */ public function lists(): array { - return SupervisionSafetyManagementPersonnel::withoutField('update_time,delete_time')->where($this->searchWhere) + $params = $this->request->get(); + $where = []; + if(!empty($params['company_id'])){ + $unit_qualification_ids = SupervisionParticipatingUnitsQualifications::where('company_id',$params['company_id'])->column('id'); + $where[] = ['unit_qualification_id','in',$unit_qualification_ids]; + } + return SupervisionSafetyManagementPersonnel::withoutField('update_time,delete_time')->where($this->searchWhere)->where($where) ->limit($this->limitOffset, $this->limitLength) ->order(['id' => 'desc']) ->select()->each(function($data){ @@ -79,7 +85,13 @@ class SupervisionSafetyManagementPersonnelLists extends BaseAdminDataLists imple */ public function count(): int { - return SupervisionSafetyManagementPersonnel::where($this->searchWhere)->count(); + $params = $this->request->get(); + $where = []; + if(!empty($params['company_id'])){ + $unit_qualification_ids = SupervisionParticipatingUnitsQualifications::where('company_id',$params['company_id'])->column('id'); + $where[] = ['unit_qualification_id','in',$unit_qualification_ids]; + } + return SupervisionSafetyManagementPersonnel::where($this->searchWhere)->where($where)->count(); } } \ No newline at end of file diff --git a/app/adminapi/lists/supervision_qualification_review/SupervisionSpecialOperationPersonnelLists.php b/app/adminapi/lists/supervision_qualification_review/SupervisionSpecialOperationPersonnelLists.php index a226f500b..71c9d96c5 100644 --- a/app/adminapi/lists/supervision_qualification_review/SupervisionSpecialOperationPersonnelLists.php +++ b/app/adminapi/lists/supervision_qualification_review/SupervisionSpecialOperationPersonnelLists.php @@ -57,7 +57,13 @@ class SupervisionSpecialOperationPersonnelLists extends BaseAdminDataLists imple */ public function lists(): array { - return SupervisionSpecialOperationPersonnel::withoutField('update_time,delete_time')->where($this->searchWhere) + $params = $this->request->get(); + $where = []; + if(!empty($params['company_id'])){ + $unit_qualification_ids = SupervisionParticipatingUnitsQualifications::where('company_id',$params['company_id'])->column('id'); + $where[] = ['unit_qualification_id','in',$unit_qualification_ids]; + } + return SupervisionSpecialOperationPersonnel::withoutField('update_time,delete_time')->where($this->searchWhere)->where($where) ->limit($this->limitOffset, $this->limitLength) ->order(['id' => 'desc']) ->select()->each(function($data){ @@ -78,7 +84,13 @@ class SupervisionSpecialOperationPersonnelLists extends BaseAdminDataLists imple */ public function count(): int { - return SupervisionSpecialOperationPersonnel::where($this->searchWhere)->count(); + $params = $this->request->get(); + $where = []; + if(!empty($params['company_id'])){ + $unit_qualification_ids = SupervisionParticipatingUnitsQualifications::where('company_id',$params['company_id'])->column('id'); + $where[] = ['unit_qualification_id','in',$unit_qualification_ids]; + } + return SupervisionSpecialOperationPersonnel::where($this->searchWhere)->where($where)->count(); } } \ No newline at end of file diff --git a/app/adminapi/logic/supervision_project/SupervisionParticipatingUnitsLogic.php b/app/adminapi/logic/supervision_project/SupervisionParticipatingUnitsLogic.php index aa7b4eba8..4ce5d9276 100644 --- a/app/adminapi/logic/supervision_project/SupervisionParticipatingUnitsLogic.php +++ b/app/adminapi/logic/supervision_project/SupervisionParticipatingUnitsLogic.php @@ -156,4 +156,15 @@ class SupervisionParticipatingUnitsLogic extends BaseLogic $data['unit_type_text'] = $data->unit_type_text; return $data->toArray(); } + + public static function datas() + { + $datas = SupervisionParticipatingUnits::field(['id', 'unit_name']) + ->order(['id' => 'desc']) + ->select()->each(function($data){ + $data['projectinfo'] = 'ID:' . $data['id'] . ' / 名称:' . $data['unit_name']; + }) + ->toArray(); + return $datas; + } } \ No newline at end of file diff --git a/app/adminapi/logic/supervision_project/SupervisionProjectLogic.php b/app/adminapi/logic/supervision_project/SupervisionProjectLogic.php index 47f1ce384..4f3f116fb 100644 --- a/app/adminapi/logic/supervision_project/SupervisionProjectLogic.php +++ b/app/adminapi/logic/supervision_project/SupervisionProjectLogic.php @@ -163,4 +163,15 @@ class SupervisionProjectLogic extends BaseLogic $data['engineering_status_text'] = $data->engineering_status_text; return $data->toArray(); } + + public static function datas() + { + $datas = SupervisionProject::field(['id', 'project_name']) + ->order(['id' => 'desc']) + ->select()->each(function($data){ + $data['projectinfo'] = 'ID:' . $data['id'] . ' / 名称:' . $data['project_name']; + }) + ->toArray(); + return $datas; + } } \ No newline at end of file