<?php

namespace app\api\controller;

use app\common\model\auth\Admin;
use app\common\model\Company;
use app\common\model\contract\Contract;
use think\facade\Db;

/**
 * 搜索
 * Class ContractController
 * @package app\api\controller
 */
class ContractController extends BaseApiController
{

    public function index()
    {
        $page = $this->request->get('page', 1);
        $limit = $this->request->get('limit', 15);
        $admin = Admin::where('id', $this->userInfo['admin_id'])->find();
        if (empty($admin)) {
            return $this->success();
        }
        $where = empty($admin['company_id']) ? ['admin_id' => $admin['id']] : ['company_id' => $admin['company_id']];
        $query = Contract::where($where);
        $count = $query->count();
        $contract = $query->page($page)->limit($limit)->select();
        return $this->success('success', ['count' => $count, 'data' => $contract], 1, 1);
    }

    public function view($id)
    {
        $contract = Contract::find($id);
        if (empty($contract)) {
            return $this->fail('合同不存在');
        }
        if($contract['admin_id']!=0){
            $contract['party_b_name'] = Admin::where('id', $contract['admin_id'])->value('name');
        }else{
            $contract['party_b_name'] = Db::name('company')->where('id', $contract['party_b'])->value('company_name');
        }
        $contract['party_a_name'] = Db::name('company')->where('id', $contract['party_a'])->value('company_name');

        $contract['contract_type_name'] = Db::name('dict_data')->where('id', $contract['contract_type'])->value('name');
        $company = Company::where('id', $contract['company_id'])->find();
        $company['company_type_name'] = Db::name('dict_data')->where('id', $company['company_type'])->value('name');
        $company['other_contacts'] = json_decode($company['other_contacts'], true);
        $company['qualification'] = $company['qualification']!=null?json_decode($company['qualification'], true):'';
        $users = Admin::where('company_id', $company['id'])->field('id,name,account,phone,qualification')->select()->toArray();
        foreach ($users as &$user) {
            $user['is_main'] = $user['id'] == $company['admin_id'] ? 1 : 0;
            $user['qualification'] =$user['qualification']!=null?json_decode($user['qualification'], true):[];
            unset($user['role_id'], $user['dept_id'], $user['jobs_id'], $user['id']);
        }
        return $this->success('success', ['contract' => $contract, 'company' => $company, 'users' => $users], 1, 1);
    }

}