where('super_type_id', 0)->field('type_id as id, type_name as name')->select(); for ($i = 0; $i < count($FirstLeveType); $i++) { //二级服务类 $SecondLeveType = db('partner_service_type')->where('super_type_id', $FirstLeveType[$i]['id'])->field('type_id as id, type_name as name')->select(); for ($j = 0; $j < count($SecondLeveType); $j++) { //二级服务供应商信息 $ThridLeveType = db('partner_company')->where('service_type', $SecondLeveType[$j]['id'])->field('company_id as id, company_name as name')->select(); $SecondLeveType[$j]['sub_type'] = $ThridLeveType; } $FirstLeveType[$i]['sub_type'] = $SecondLeveType; } return $this->sendSuccess($FirstLeveType); } //添加供应商服务类型 public function AddSupplierServiceType() { $param = request()->post(); $ret = []; if ($param['type_id']>0) { //添加二级服务类型 $ret = db('partner_service_type')->where('type_id', $param['type_id'])->field('type_id,super_type_id')->find(); } else { //添加一级服务类型 $ret['type_id'] = 0; } if ($ret != null) { $insert = []; $insert['type_name'] = $param['type_name']; $insert['super_type_id'] = $ret['type_id']; $insert['create_time'] = date('Y-m-d H:i:s'); db('partner_service_type')->insert($insert); } } //获取合作伙伴公司及联系人信息 public function GetPartnerInfo() { $param = request()->post(); //$param['company_id'] = 69; $PartnerInfo = db('partner_company')->where('company_id', $param['company_id'])->find(); $contacts = db('partner_contacts')->where('company_id', $param['company_id'])->where('del_time', null)->select(); if (1 == $param['partner_type']) { $projects = db('project_info')->alias('i') ->join('project_state s', 's.id =i.project_state', 'left') ->where('i.customer_id', $param['company_id']) ->field('i.*, s.desp as project_state_desp ') ->select(); } else { $projects = db('project_partner')->alias('p') ->join('project_info i', 'p.project_id =i.project_id', 'left') ->join('project_state s', 's.id =i.project_state', 'left') ->where('p.company_id', $param['company_id']) ->where('p.company_type & 0x04', 4) ->field('i.*, s.desp as project_state_desp ') ->select(); } $PartnerInfo['contacts'] = $contacts; $PartnerInfo['projects'] = $projects; //dump($PartnerInfo); return $this->sendSuccess($PartnerInfo); } //添加合作伙伴公司信息 public function AddPartnerCompanyInfo() { $param = request()->post(); $insert['company_name'] = $param['company_name']; $insert['company_intro'] = $param['company_intro']; $insert['company_type'] = $param['company_type']; $insert['create_time'] = $param['create_time']; if(isset($param['company_url']) && $param['company_url'] != '') { $insert['company_url'] = $param['company_url']; } if($param['company_type'] & 0x04) { //合作伙伴是供应商,需要更新服务类型 $insert['service_type'] = $param['service_type']; } else { //合作伙伴是客户,服务类型默认为0 $insert['service_type'] = 0; } if ($param['create_time'] == '') { $insert['create_time'] = date('Y-m-d H:i:s'); } db('partner_company')->insert($insert); return $this->sendSuccess('添加合作伙伴信息成功'); } //更新合作伙伴公司信息 public function UpdatePartnerCompanyInfo() { $param = request()->post(); if($param != null){ $update = []; $update['company_name'] = $param['company_name']; $update['company_intro'] = $param['company_intro']; if($param['company_url'] != '') { $update['company_url'] = $param['company_url']; } if($param['company_type'] & 0x04) { //合作伙伴是供应商,需要更新服务类型 $update['service_type'] = $param['service_type']; } else { //合作伙伴是客户,服务类型默认为0 $update['service_type'] = 0; } $ret = db('partner_company')->where('company_id',$param['company_id'])->update($update); if($ret) { return $this->sendSuccess('修改公司信息成功'); } else { return $this->sendError('修改公司信息失败'); } } } //添加合作伙伴联系人信息 public function AddPartnerContractsInfo() { $param = request()->post(); if($param != null) { $param['create_time'] = date('Y-m-d H:i:s'); db('partner_contacts')->insert($param); return $this->sendSuccess('添加联系人成功'); } else { return $this->sendError('添加联系人失败,参数为空'); } } //更新合作伙伴联系人信息 public function UpdatePartnerContractsInfo() { $param = request()->post(); if($param != null) { db('partner_contacts')->where('contacts_id', $param['contacts_id'])->update($param); return $this->sendSuccess('更新联系人成功'); } else { return $this->sendError('更新联系人失败,参数为空'); } } public function DelPartnerContractsInfo() { $param = request()->post(); if($param != null) { $update = []; $update['del_time'] = date('Y-m-d H:i:s'); db('partner_contacts')->where('contacts_id', $param['contacts_id'])->update($update); return $this->sendSuccess('删除联系人成功'); } else { return $this->sendError('','删除联系人失败,参数为空'); } } //获取与指定合作伙伴的合作项目 public function GetPartnerProjectList() { $param = request()->post(); $result = db('project_info')->where('customer_id', $param['company_id'])->select(); return $this->sendSuccess($result); } //获取客户类型及公司信息 public function GetCustomerTypeList() { $IntendList = []; $CustomerList = []; //查找所有的签约客户公司 $result = db('partner_company')->where('company_type & 0x01', 1) ->field('company_id as id, company_name as name') ->select(); for ($i=0; $iwhere('customer_id', $result[$i]['id']) ->field('project_id as id, project_name as name') ->where('project_state', '>', 1) ->select(); if (count($res) > 0) { $res = db('project_info')->where('customer_id', $result[$i]['id']) ->field('project_id as id, project_name as name') //->where('project_state', '>', 1) ->select(); $item = $result[$i]; $item['sub_type'] = $res; $CustomerList[] = $item; } else { $res = db('project_info')->where('customer_id', $result[$i]['id']) ->field('project_id as id, project_name as name') ->where('project_state', 1) ->select(); $item = $result[$i]; $item['sub_type'] = $res; $IntendList[] = $item; } } //查找所有的业主公司 $OwnerList = db('partner_company')->where('company_type & 0x02', 2) ->field('company_id as id, company_name as name') ->select(); $ret = []; $item = []; $item['id'] = 1; $item['name'] = '合作客户'; $item['sub_type'] = $CustomerList; $ret[] = $item; $item['id'] = 1; $item['name'] = '意向客户'; $item['sub_type'] = $IntendList; $ret[] = $item; $item['id'] = 2; $item['name'] = '业主客户'; $item['sub_type'] = $OwnerList; $ret[] = $item; return $this->sendSuccess($ret); } public function AddProjectInfo() { $param = request()->post(); $insert_info = []; $insert_info['project_number'] = $param['project_number']; $insert_info['project_name'] = $param['project_name']; $insert_info['project_type'] = $param['project_type']; $insert_info['create_time'] = $param['create_time']; $insert_info['customer_id'] = $param['customer_id']; $insert_info['project_intro'] = $param['project_intro']; $insert_info['project_state'] = 1; db('project_info')->insert($insert_info); } public function UpdateProjectInfo() { $param = request()->post(); if($param != null){ $update = []; $update['project_number'] = $param['project_number']; $update['project_name'] = $param['project_name']; $update['create_time'] = $param['create_time']; $update['project_type'] = $param['project_type']; $update['project_intro'] = $param['project_intro']; if (isset($param['project_state'])) { $update['project_state'] = $param['project_state']; } $ret = db('project_info')->where('project_id',$param['project_id'])->update($update); if($ret){ return $this->sendSuccess('修改成功'); }else{ return $this->sendError('修改失败'); } } } public function GetContactsList() { $param = request()->param(); $ret = db('partner_contacts')->where('company_id', $param['company_id'])->field('contacts_id, contacts_name, contacts_idcard')->select(); return $this->sendSuccess($ret); } public function GetPartnerList() { $ret = db('partner_company')->select(); return $this->sendSuccess($ret); } //获取所有供应商信息 public function GetSupplierList() { $ret = db('partner_company')->where('company_type & 0x04', 4)->select(); return $this->sendSuccess($ret); } public function AddProjectPartner() { $param = request()->post(); if($param == null){ return $this->sendError('参数为空'); } $par = db('project_partner')->where('project_id',$param['project_id'])->where('company_id',$param['company_id'])->find(); if(!$par){ $Company = db('partner_company')->where('company_id',$param['company_id'])->field('company_type')->find(); $insert = []; $insert['project_id'] = $param['project_id']; $insert['company_id'] = $param['company_id']; $insert['company_type'] = $Company['company_type']; $ret = db('project_partner')->insert($insert); if ($ret){ return $this->sendSuccess('添加成功'); }else{ return $this->sendError('添加失败'); } } return $this->sendError('该项目已存在该合作伙伴'); } //更具项目ID获取供应商信息 public function GetProjectSupplierList() { $param = request()->post(); $ret = db('project_partner')->alias('pp') ->Join('partner_company pc', 'pp.company_id = pc.company_id','left') ->where('pp.project_id', $param['project_id']) ->field('pp.*, pc.company_name') ->select(); return $this->sendSuccess($ret); } }