diff --git a/app/api/controller/VehicleController.php b/app/api/controller/VehicleController.php index 972716712..860df5ecb 100644 --- a/app/api/controller/VehicleController.php +++ b/app/api/controller/VehicleController.php @@ -238,7 +238,7 @@ class VehicleController extends BaseApiController return $this->fail('当前镇街公司未签约'); } //判断是否申请过 - $vehicleContract = VehicleContract::where('company_b_id',$this->userInfo['company_id'])->where('type','<>',2)->whereNotIn('status','4,5,6')->find(); + $vehicleContract = VehicleContract::where('company_b_id',$this->userInfo['company_id'])->whereNotIn('type','2,3')->whereNotIn('status','4,5,6')->find(); if(!empty($vehicleContract)){ return $this->fail('请勿重复申请'); } @@ -412,38 +412,25 @@ class VehicleController extends BaseApiController public function villageCompanyIndex() { //获取公司信息 - $company = Company::field('id,company_type,province,city,area,street,village,brigade')->where('id',$this->userInfo['company_id'])->find()->append(['province_name', 'city_name', 'area_name', 'street_name', 'village_name','brigade_name']); + $company = Company::field('id,master_name as user_name,master_phone as user_phone,company_name,company_type,province,city,area,street,village,brigade')->where('id',$this->userInfo['company_id'])->find()->append(['province_name', 'city_name', 'area_name', 'street_name', 'village_name','brigade_name']); if(empty($company)){ return $this->fail('数据错误'); } if($company['company_type'] != 18 ){ return $this->fail('非小组公司不能访问'); } - //获取申请信息 - $vehicleContract = VehicleContract::where('company_b_id',$company['id'])->where('type','<>',2)->order('id desc')->findOrEmpty(); - if($vehicleContract['status'] == 3){ - if(!empty($vehicleContract['cars_info'])){ - $vehicleContract['cars_info'] = json_decode($vehicleContract['cars_info'],true); - if(!empty($vehicleContract['cars_info'])){ - $arr = $vehicleContract['cars_info']; - $arr['mileage'] = 0; - $position = curl_get(env('project.logistic_domain').'/api/getCarLocal?car_id='.$arr['id']); - if($position && $position['code'] == 1){ - $arr['lon'] = $position['data']['lon']; - $arr['lat'] = $position['data']['lat']; - } - $vehicleContract['cars_info'] = $arr; - } - } - $vehicleContract['province'] = $company['province_name']; - $vehicleContract['city'] = $company['city_name']; - $vehicleContract['area'] = $company['area_name']; - $vehicleContract['street'] = $company['street_name']; - $vehicleContract['village'] = $company['village_name']; - $vehicleContract['brigade'] = $company['brigade_name']; + //获取租赁车俩 + $rentCar = VehicleRent::where('rent_company_id',$company['id'])->where('status',2)->findOrEmpty(); + if(!$rentCar->isEmpty()){ + $rentCar['mileage'] = 0; + $rentCar['company'] = $company; + $rentCar['contract'] = VehicleContract::field('id,contract_no,contract_url,file,status,create_time')->where('id',$rentCar['contract_id'])->findOrEmpty(); + return $this->success('请求成功',$rentCar->toArray()); + }else{ + $vehicleContract = VehicleContract::where('company_b_id',$company['id'])->where('type','<>',2)->order('id desc')->findOrEmpty(); + //返回数据 + return $this->success('请求成功',$vehicleContract->toArray()); } - //返回数据 - return $this->success('请求成功',$vehicleContract->toArray()); } //车辆详情 @@ -757,5 +744,32 @@ class VehicleController extends BaseApiController VehicleRent::where('car_id','in',$car_ids)->update(['status'=>1]); return $this->success('合同发起成功,等待审核 from task'); } + //如果有租赁车俩和上传自有车辆,但没有购买镇街公司租赁的车辆 则先向镇街公司发起解约合同 + if(!$xzRentCars->isEmpty() && $zjRentCars->isEmpty()){ + //获取自有车辆或以租赁车辆信息 + //生成本地解约合同 + VehicleContract::create([ + 'contract_no' => time(), + 'contract_logistic_id' => 0, + 'company_a_name' => $zjCompany['company_name'], + 'company_a_code' => $zjCompany['organization_code'], + 'company_a_user' => $zjCompany['master_name'], + 'company_a_phone' => $zjCompany['master_phone'], + 'company_a_email' => $zjCompany['master_email'], + 'company_b_id' => $xzCompany['id'], + 'company_b_name' => $xzCompany['company_name'], + 'company_b_code' => $xzCompany['organization_code'], + 'company_b_user' => $xzCompany['master_name'], + 'company_b_phone' => $xzCompany['master_phone'], + 'company_b_email' => $xzCompany['master_email'], + 'num' =>1, + 'cars_info' => json_encode($cars), + 'type' => 2, + 'status' => 0, + 'create_time' => time(), + 'update_time' => time(), + ]); + return $this->success('合同发起成功,等待审核 from task'); + } } } \ No newline at end of file