From c2d6a069a25707f28e2adb556659f0246e01fb99 Mon Sep 17 00:00:00 2001 From: luofei <604446095@qq.com> Date: Fri, 21 Jul 2023 11:32:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=89=8B=E6=9C=BA=E7=AB=AF?= =?UTF-8?q?=E5=85=AC=E5=8F=B8=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/controller/CompanyController.php | 45 ++++++++++++++++++++++++ app/common/model/contract/Contract.php | 15 ++++---- 2 files changed, 54 insertions(+), 6 deletions(-) create mode 100644 app/api/controller/CompanyController.php diff --git a/app/api/controller/CompanyController.php b/app/api/controller/CompanyController.php new file mode 100644 index 000000000..233756bce --- /dev/null +++ b/app/api/controller/CompanyController.php @@ -0,0 +1,45 @@ +userInfo['admin_id']); + $myCompany = Company::findOrEmpty($admin['company_id'])->toArray(); + $companyIds = Contract::where('party_a', $myCompany['id'])->column('party_b'); + $companies = Company::whereIn('id', $companyIds)->select()->each(function ($company) { + $company['other_contacts'] = json_decode($company['other_contacts'], true); + $company['qualification'] = $company['qualification']!=null?json_decode($company['qualification'], true):''; + })->toArray(); + return $this->success('', $companies); + } + + public function view($id) + { + $company = Company::findOrEmpty($id)->toArray(); + $company['other_contacts'] = json_decode($company['other_contacts'], true); + $company['qualification'] = $company['qualification']!=null?json_decode($company['qualification'], true):''; + return $this->success('', $company); + } + + public function mine() + { + $admin = Admin::findOrEmpty($this->userInfo['admin_id']); + $company = Company::findOrEmpty($admin['company_id'])->toArray(); + $company['other_contacts'] = json_decode($company['other_contacts'], true); + $company['qualification'] = $company['qualification']!=null?json_decode($company['qualification'], true):''; + return $this->success('', $company); + } + +} \ No newline at end of file diff --git a/app/common/model/contract/Contract.php b/app/common/model/contract/Contract.php index b1b066387..207552961 100644 --- a/app/common/model/contract/Contract.php +++ b/app/common/model/contract/Contract.php @@ -14,10 +14,9 @@ namespace app\common\model\contract; - use app\common\model\BaseModel; - - +use app\common\model\Company; +use app\common\model\dict\DictData; /** * Contract模型 @@ -39,14 +38,18 @@ class Contract extends BaseModel */ public function companyName() { - return $this->hasOne(\app\common\model\Company::class, 'id', 'company_id')->bind(['company_name']);; + return $this->hasOne(Company::class, 'id', 'company_id')->bind(['company_name']); + } + public function company() + { + return $this->hasOne(Company::class, 'id', 'company_id'); } public function partyA() { - return $this->hasOne(\app\common\model\Company::class, 'id', 'company_id')->bind(['party_a_name'=>'company_name']);; + return $this->hasOne(Company::class, 'id', 'company_id')->bind(['party_a_name'=>'company_name']);; } public function contractType() { - return $this->hasOne(\app\common\model\dict\DictData::class, 'id', 'contract_type')->bind(['contract_type_name'=>'name']);; + return $this->hasOne(DictData::class, 'id', 'contract_type')->bind(['contract_type_name'=>'name']); } } \ No newline at end of file