This commit is contained in:
yaooo 2023-10-12 18:08:04 +08:00
commit 4064563891

View File

@ -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,60 +412,31 @@ 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'];
}
//返回数据
return $this->success('请求成功',$vehicleContract->toArray());
}
//车辆详情
public function vehicleInfo() {
//获取参数
$carId = $this->request->get('car_id');
if(empty($carId)){
return $this->fail('缺少必要参数');
}
//获取数据
$data = VehicleRent::where('car_id',$carId)->find();
if(empty($data)){
return $this->fail('数据错误');
$data = VehicleRent::where('rent_company_id',$this->userInfo['company_id'])->where('status',2)->findOrEmpty();
if($data->isEmpty()){
return $this->fail('数据不存在');
}
$data['mileage'] = 0;
if($data['status'] == 2){
$data['company'] = Company::field('company_name,master_name as user_name,master_phone as user_phone,province,city,area,street,village,brigade')->where('id',$data['rent_company_id'])->find()->append(['province_name', 'city_name', 'area_name', 'street_name', 'village_name','brigade_name']);
//获取合同
$data['contract'] = VehicleContract::field('id,contract_no,contract_url,file,status,create_time,update_time')->where('id',$data['contract_id'])->findOrEmpty();
}
$data['company'] = Company::field('company_name,master_name as user_name,master_phone as user_phone,province,city,area,street,village,brigade')->where('id',$data['rent_company_id'])->find()->append(['province_name', 'city_name', 'area_name', 'street_name', 'village_name','brigade_name']);
//获取合同
$data['contract'] = VehicleContract::field('id,contract_no,contract_url,file,status,create_time,update_time')->where('id',$data['contract_id'])->findOrEmpty();
//当前坐标位置
$position = curl_get(env('project.logistic_domain').'/api/getCarLocal?car_id='.$carId);
$position = curl_get(env('project.logistic_domain').'/api/getCarLocal?car_id='.$data['car_id']);
if($position && $position['code'] == 1){
$data['position'] = $position['data'];
}else{
@ -757,5 +728,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');
}
}
}