123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- <?php
- namespace app\user\model;
- class Supplier extends Base
- {
- protected $schema = [
- 'id' =>'bigint',
- 'name' =>'varchar',
- 'code' =>'varchar',
- 'creater' =>'varchar',
- 'createrid' =>'int',
- 'person' =>'varchar',
- 'personid' =>'int',
- 'source' =>'varchar',
- 'type' =>'varchar',
- 'nature' =>'varchar',
- 'legaler' =>'varchar',
- 'registertime' =>'varchar',
- 'registercode' =>'varchar',
- 'capital' =>'varchar',
- 'supplier_type' =>'varchar',
- 'category' =>'varchar',
- 'level' =>'varchar',
- 'lead_prove'=>"varchar",
- 'legaler_type'=>'varchar',
- 'invoice_code'=>'varchar',
- 'product_category' =>'mediumtext',
- 'pay_type' =>'varchar',
- 'ticket_type' =>'varchar',
- 'is_payment' =>'varchar',
- 'delivery_way' =>'varchar',
- 'notice_mark' =>'mediumtext',
- 'agreement' =>'varchar',
- 'coop_state' =>'varchar',
- 'warehouse' =>'varchar',
- 'addr' =>'varchar',
- 'pay_day' =>'varchar',
- 'scope' =>'mediumtext',
- 'prove_img' =>'varchar',
- 'license_img' =>'varchar',
- 'status' =>'int',
- 'ocr_status' =>'tinyint',
- 'is_platform' =>'tinyint',
- 'remark' =>'varchar',
- 'is_del' =>'int',
- 'addtime' =>'datetime',
- 'updatetime' =>'datetime',
- 'is_upgrade' =>'tinyint',
- ];
- protected $createTime='addtime';
- protected $updateTime='updatetime';
- public static $source=['客户提供','供应商','公司开发'];
- public static $suptype=['正式供应商','临时供应商'];
- public static $coop_state=['白名单','黑名单'];
- public static $pay_type=['现结','月清','双月清'];
- public static $delivery_way=['供应商发货','公司自提'];
- public static $category=['单品类供应商','多品类供应商'];
- public static $level=['生产厂家','一级代理',"二级代理"];
- public static $supplier_type=['生产厂家','代理商','经销商','分销商','电商平台'];
- public static $legaler_type=["一般纳税人","农户","合作社","个人","小规模"];
- public static $legaler_tax=[[0,6,9,13],[0,9],[0,9],[0,1,3],[0,1,3,5]];
- public function ContactInfo()
- {
- return $this->belongsTo(SupplierContact::class,"code","code")->bind(['contactor','mobile','email','telephone','position']);
- }
-
- public function upgrade($param)
- {
- $bussinesCode=makeNo('GS');
- $res=Supplier::with(["contactInfo"])->where('code',$param['code'])->find();
- if($res->isEmpty())throw new \Exception('供应商不存在');
- $data=[
- 'company' => $res['name'],
- 'companyNo' => $bussinesCode,
- 'inv_code' => $res['registercode'],
- 'company_type' => $res['nature'],
- 'type' => $temp['id'] ?? 0,
- "legaler_type"=>$res['legaler_type'],
- 'creater' => $param['uname'],
- 'createrid' => $param['uid'],
- 'inv_legaler' => $res['legaler'],
- 'inv_time' => $res['registertime'],
- 'inv_addr' => $param['inv_addr'],
- 'inv_bank' => $param['inv_bank'],
- 'inv_bankNo' => $param['inv_bankNo'],
- 'contactor' => $res['contactor'],
- 'mobile' => $res['mobile'],
- 'addr' => $res['addr'],
- 'inv_scope' => $res['scope'],
- 'license_img' => $res['license_img'],
- 'invoice_title' => $param['invoice_title'],
- 'invoice_mobile' => $param['invoice_mobile'],
- ];
- $bussines=Business::create($data);
- if($bussines->isEmpty()) throw new \Exception('业务公司升级失败');
- $bussines->relation_code=$param['code'];
- $bussines->updater=$param['uname'];
- $bussines->updaterid=$param['uid'];
- $comp=Headquarters::createInfo($bussines,1);
- if(!$comp)throw new \Exception('业务公司信息更新失败');
- $res->is_upgrade=1;
- $res->relation_code=$bussinesCode;
- $res->updater=$param['uname'];
- $res->updaterid=$param['uid'];
- $resup=Headquarters::createInfo($res,3);
- if(!$resup)throw new \Exception('供应商信息失败');
- $acc= AccountCompany::create(["account_id"=>$param['uid'],"companyCode"=>$bussinesCode,"companyName"=>$data['company'],'company_type' => 2]);
- if($acc->isEmpty())throw new \Exception('业务公司账户关联失败');
- return $res->save();
- }
- }
|