where('id',$data['party_b'])->find(); //镇街公司 if(!$party_b || $party_b->isEmpty() || $party_b['company_type'] != 16){ return ['code'=>0,'msg'=>'非镇街公司不能签约']; } //生成合同 $result = curl_post(self::$url.'/api/signContract',[],[ 'num' => $data['num'], 'company_id' => $party_b['id'], 'company_name' => $party_b['company_name'], 'company_code' => $party_b['organization_code'], 'company_user' => $party_b['master_name'], 'company_phone' => $party_b['master_phone'], 'company_email' => $party_b['master_email'], ]); if($result && $result['code'] == 1){ VehicleContract::create($result['data']); } return $result ?? false; } public static function initiate_contract_town($params):array|bool { //获取申请信息 $apply = VehicleVillageApply::where('id',$params['apply_id'])->find(); //获取车辆信息 $car = VehicleRent::where('car_id',$params['car_id'])->find(); if($car->isEmpty() || $car['status'] == 1){ return ['code'=>0,'msg'=>'车辆信息错误']; } //获取甲方公司 if($params['company_id'] != $apply['town_company_id']){ return ['code'=>0,'msg'=>'镇街公司信息错误']; } $party_a = Company::field('id,company_name,organization_code,master_name,master_phone,master_email')->where('id',$params['company_id'])->find(); //获取乙方公司 $party_b = Company::field('id,company_name,organization_code,master_name,master_phone,master_email,company_type')->where('id',$apply['village_company_id'])->find(); //生成合同 $carJson = json_encode(['id'=>$car['id'],'license'=>$car['car_license']]); $data = [ 'contract_no' => time(), 'company_a_name' => $party_a['company_name'], 'company_a_code' => $party_a['company_organization_code'], 'company_a_user' => $party_a['company_user'], 'company_a_phone' => $party_a['company_phone'], 'company_a_email' => $party_a['company_email'], 'company_b_id' => $party_b['company_id'], 'company_b_name' => $party_b['company_name'], 'company_b_code' => $party_b['company_code'], 'company_b_user' => $party_b['company_user'], 'company_b_phone' => $party_b['company_phone'], 'company_b_email' => $party_b['company_email'], 'num' => 1, 'cars_info' => $carJson, 'type' => 0, 'status' => 0, 'create_time' => time(), 'update_time' => time(), ]; $result = VehicleContract::create($data); //返回 if($result->id){ return ['code'=>1,'msg'=>'合同发起成功,等待审核']; }else{ return ['code'=>0,'msg'=>'合同发起失败,请稍后重试']; } } }