'bigint',// 'name' =>'varchar',//数据标题 'code' =>'varchar',//单据号 'creater' =>'varchar',//创建人 'createrid' =>'int',//创建人id 'person' =>'varchar',//负责人 'personid' =>'int',//负责人id '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',//13经营范围 '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']); } /** * @param $param 升级参数 * @return bool|int * @throws \think\Exception * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\ModelNotFoundException * @throws \think\exception\DbException */ 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(); } }