Merge pull request 'fixed' (#82) from zhangwei into dev

Reviewed-on: #82
This commit is contained in:
weiz 2023-10-13 13:50:03 +08:00
commit 92fe71fad5
2 changed files with 73 additions and 16 deletions

View File

@ -204,14 +204,15 @@ class IndexController extends BaseApiController
foreach ($cars as $k => $v) { foreach ($cars as $k => $v) {
$hasCar = VehicleRent::where('car_id',$v['id'])->findOrEmpty(); $hasCar = VehicleRent::where('car_id',$v['id'])->findOrEmpty();
if($hasCar->isEmpty()){ if($hasCar->isEmpty()){
$data[$k]['contract_id'] = $contract['id'];
$data[$k]['company_id'] = $contract['company_b_id'];
$data[$k]['car_id'] = $v['id']; $data[$k]['car_id'] = $v['id'];
$data[$k]['car_license'] = $v['license']; $data[$k]['car_license'] = $v['license'];
$data[$k]['type'] = 0; $data[$k]['type'] = 0;
$data[$k]['status'] = 0; $data[$k]['status'] = 0;
$data[$k]['company_id'] = $contract['company_b_id']; $data[$k]['rent_contract_id'] = 0;
$data[$k]['rent_time'] = 0;
$data[$k]['rent_company_id'] = 0; $data[$k]['rent_company_id'] = 0;
$data[$k]['contract_id'] = $contract['id']; $data[$k]['rent_time'] = 0;
$data[$k]['create_time'] = strtotime($contract['create_time']); $data[$k]['create_time'] = strtotime($contract['create_time']);
} }
} }
@ -446,9 +447,50 @@ class IndexController extends BaseApiController
$vehicleBuyRecord = VehicleBuyRecord::where('contract_id',$contract['id'])->findOrEmpty(); $vehicleBuyRecord = VehicleBuyRecord::where('contract_id',$contract['id'])->findOrEmpty();
if(!$vehicleBuyRecord->isEmpty()){ if(!$vehicleBuyRecord->isEmpty()){
//小组公司与镇街公司解约 //小组公司与镇街公司解约
if($vehicleBuyRecord['status'] == 1){} if($vehicleBuyRecord['status'] == 1){
//获取租赁车辆信息
$rentCarsInfo = VehicleRent::field('id,type,contract_id')->where('car_id',$cars_ids[0])->findOrEmpty();
if($rentCarsInfo['type'] == 0){
//修改租赁车俩状态
VehicleRent::where('id',$rentCarsInfo['id'])->update(['status'=>0,'rent_time'=>0,'rent_company_id'=>0]);
}
if($rentCarsInfo['type'] == 1){
//修改租赁车俩状态
VehicleRent::where('id',$rentCarsInfo['id'])->delete();
}
//删除原合同
VehicleContract::where('id',$rentCarsInfo['contract_id'])->delete();
//修改物流系统车辆租赁信息
curl_post(env('project.logistic_domain').'/api/Vehicle/delRentUseInfo', [], [
'car_id' => $cars_ids[0]
]);
//发送购买合同给物流系统
$curl_result = curl_post(env('project.logistic_domain').'/api/signContract',[],[
'num' => $vehicleBuyRecord['num'],
'company_id' => $vehicleBuyRecord['company_id'],
'company_name' => $vehicleBuyRecord['company_name'],
'company_code' => $vehicleBuyRecord['company_code'],
'company_user' => $vehicleBuyRecord['company_user'],
'company_phone' => $vehicleBuyRecord['company_phone'],
'company_email' => $vehicleBuyRecord['company_email'],
'cars_info' => $vehicleBuyRecord['cars_info'],
'type' => 3
]);
if(empty($curl_result)){
return $this->fail('null return from logistic');
}
if($curl_result['code'] == 0){
return $this->fail($curl_result['msg'].' from logistic');
}
//生成本地合同
VehicleContract::create($curl_result['data']);
VehicleBuyRecord::where('id',$vehicleBuyRecord['id'])->update(['status'=>4]);
return json(['success' => true, 'msg' => '成功']);
}
//小组公司与镇街公司解约,然后镇街公司与平台公司解约
if($vehicleBuyRecord['status'] == 2){}
//镇街公司与平台公司解约 //镇街公司与平台公司解约
if($vehicleBuyRecord['status'] == 2){ if($vehicleBuyRecord['status'] == 3){
//删除本地租赁信息 //删除本地租赁信息
VehicleRent::where('car_id','in',$cars_ids)->delete(); VehicleRent::where('car_id','in',$cars_ids)->delete();
//删除物流系统租赁信息 //删除物流系统租赁信息
@ -475,7 +517,7 @@ class IndexController extends BaseApiController
} }
//生成本地合同 //生成本地合同
VehicleContract::create($curl_result['data']); VehicleContract::create($curl_result['data']);
VehicleBuyRecord::where('id',$vehicleBuyRecord['id'])->update(['status'=>3]); VehicleBuyRecord::where('id',$vehicleBuyRecord['id'])->update(['status'=>4]);
return json(['success' => true, 'msg' => '成功']); return json(['success' => true, 'msg' => '成功']);
} }
}else{ }else{

View File

@ -720,7 +720,7 @@ class VehicleController extends BaseApiController
'company_email' => $xzCompany['master_email'], 'company_email' => $xzCompany['master_email'],
'cars_info' => json_encode($cars), 'cars_info' => json_encode($cars),
'num' => count($cars), 'num' => count($cars),
'status' => 2, 'status' => 3,
'contract_id' => $res->id, 'contract_id' => $res->id,
'create_time' => time() 'create_time' => time()
]); ]);
@ -730,17 +730,18 @@ class VehicleController extends BaseApiController
} }
//如果有租赁车俩和上传自有车辆,但没有购买镇街公司租赁的车辆 则先向镇街公司发起解约合同 //如果有租赁车俩和上传自有车辆,但没有购买镇街公司租赁的车辆 则先向镇街公司发起解约合同
if(!$xzRentCars->isEmpty() && $zjRentCars->isEmpty()){ if(!$xzRentCars->isEmpty() && $zjRentCars->isEmpty()){
dump(333);die; //获取镇街公司信息
//获取自有车辆或以租赁车辆信息 $zjCompanyInfo = Company::field('id,company_name,master_name,master_phone,master_email,organization_code')->where('id',$zjCompany['party_a'])->findOrEmpty();
//生成本地解约合同 //生成本地解约合同
VehicleContract::create([ $res = VehicleContract::create([
'contract_no' => time(), 'contract_no' => time(),
'contract_logistic_id' => 0, 'contract_logistic_id' => 0,
'company_a_name' => $zjCompany['company_name'], 'company_a_id' => $zjCompanyInfo['id'],
'company_a_code' => $zjCompany['organization_code'], 'company_a_name' => $zjCompanyInfo['company_name'],
'company_a_user' => $zjCompany['master_name'], 'company_a_code' => $zjCompanyInfo['organization_code'],
'company_a_phone' => $zjCompany['master_phone'], 'company_a_user' => $zjCompanyInfo['master_name'],
'company_a_email' => $zjCompany['master_email'], 'company_a_phone' => $zjCompanyInfo['master_phone'],
'company_a_email' => $zjCompanyInfo['master_email'],
'company_b_id' => $xzCompany['id'], 'company_b_id' => $xzCompany['id'],
'company_b_name' => $xzCompany['company_name'], 'company_b_name' => $xzCompany['company_name'],
'company_b_code' => $xzCompany['organization_code'], 'company_b_code' => $xzCompany['organization_code'],
@ -748,12 +749,26 @@ class VehicleController extends BaseApiController
'company_b_phone' => $xzCompany['master_phone'], 'company_b_phone' => $xzCompany['master_phone'],
'company_b_email' => $xzCompany['master_email'], 'company_b_email' => $xzCompany['master_email'],
'num' =>1, 'num' =>1,
'cars_info' => json_encode($cars), 'cars_info' => json_encode([['id'=>$xzRentCars['car_id'],'license'=>$xzRentCars['car_license']]]),
'type' => 2, 'type' => 2,
'status' => 0, 'status' => 0,
'create_time' => time(), 'create_time' => time(),
'update_time' => time(), 'update_time' => time(),
]); ]);
//生成关联记录
VehicleBuyRecord::create([
'company_id' => $xzCompany['id'],
'company_name' => $xzCompany['company_name'],
'company_code' => $xzCompany['organization_code'],
'company_user' => $xzCompany['master_name'],
'company_phone' => $xzCompany['master_phone'],
'company_email' => $xzCompany['master_email'],
'cars_info' => json_encode($cars),
'num' => count($cars),
'status' => 1,
'contract_id' => $res->id,
'create_time' => time()
]);
return $this->success('合同发起成功,等待审核 from task'); return $this->success('合同发起成功,等待审核 from task');
} }
} }