From ae7499bd05ab0155b206ed69b74ceef43eac8a42 Mon Sep 17 00:00:00 2001 From: unknown <736250432@qq.com> Date: Fri, 13 Oct 2023 10:12:16 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E5=90=88=E5=90=8Cbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/adminapi/controller/contract/VehicleContractController.php | 2 +- app/api/controller/VehicleController.php | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/app/adminapi/controller/contract/VehicleContractController.php b/app/adminapi/controller/contract/VehicleContractController.php index 8e5181937..a8d16aa3b 100644 --- a/app/adminapi/controller/contract/VehicleContractController.php +++ b/app/adminapi/controller/contract/VehicleContractController.php @@ -41,7 +41,7 @@ class VehicleContractController extends BaseAdminController 'status' => 1, ]; //判断合同类型 - if($vehicle_contract['type'] == 0){ + if($vehicle_contract['type'] == 0 && $vehicle_contract['contract_logistic_id'] != 0){ $data['cars_info'] = $params['cars']; } if(!empty($vehicle_contract['contract_logistic_id'])){ diff --git a/app/api/controller/VehicleController.php b/app/api/controller/VehicleController.php index 05bce77d7..d25e756d1 100644 --- a/app/api/controller/VehicleController.php +++ b/app/api/controller/VehicleController.php @@ -199,7 +199,7 @@ class VehicleController extends BaseApiController } //小组服务公司租赁申请 - public function rentApply() { + public function rentApply() { //验证请求类型 if(!$this->request->isPost()){ return $this->fail('请求类型错误'); @@ -730,6 +730,7 @@ class VehicleController extends BaseApiController } //如果有租赁车俩和上传自有车辆,但没有购买镇街公司租赁的车辆 则先向镇街公司发起解约合同 if(!$xzRentCars->isEmpty() && $zjRentCars->isEmpty()){ + dump(333);die; //获取自有车辆或以租赁车辆信息 //生成本地解约合同 VehicleContract::create([ From 8a7b59ecffe4c6e643d559c9b56776c5ea41c5dc Mon Sep 17 00:00:00 2001 From: chenbo <709206448@qq.com> Date: Fri, 13 Oct 2023 11:57:44 +0800 Subject: [PATCH 2/8] =?UTF-8?q?fix=EF=BC=9Aapp=E4=BB=BB=E5=8A=A1=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E6=8E=A5=E5=8F=A3=E5=92=8C=E5=85=85=E5=80=BC=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E5=88=97=E8=A1=A8=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/controller/RechargeController.php | 2 +- app/api/controller/TaskController.php | 23 +++++++++++------------ 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/app/api/controller/RechargeController.php b/app/api/controller/RechargeController.php index a80090373..3fd840c13 100755 --- a/app/api/controller/RechargeController.php +++ b/app/api/controller/RechargeController.php @@ -39,7 +39,7 @@ class RechargeController extends BaseApiController public function deposit_lists() { $params=$this->request->param(); - $list=CompanyAccountLog::where('company_id',$this->userId)->page($params['page_no'],15)->select(); + $list=CompanyAccountLog::where('company_id',$this->userInfo['company_id'])->page($params['page_no'],15)->select(); $datas=[]; foreach($list as $k=>$v){ $datas[$k]['create_time']=$v['create_time']; diff --git a/app/api/controller/TaskController.php b/app/api/controller/TaskController.php index 11793cad6..d11aca276 100644 --- a/app/api/controller/TaskController.php +++ b/app/api/controller/TaskController.php @@ -26,25 +26,24 @@ class TaskController extends BaseApiController [$page, $limit] = $this->getPage(); $time = strtotime(date('Y-m-d')); $userCompanyInfo = Company::where('id', $this->userInfo['company_id'])->find(); + $where = []; + if ($this->userInfo['admin_id'] != 0) { + $where[] = ['company_id', '=', $this->userInfo['company_id']]; + } if ($userCompanyInfo['company_type'] == 18) { - if ($this->userInfo['admin_id'] != 0) { - $where[] = ['company_id', '=', $this->userInfo['company_id']]; + $is_captain = User::where('id', $this->userId)->value('is_captain'); + if ($is_captain == 1) { + $where[] = ['type', 'in', [31,33]]; } else { - - $is_captain = User::where('id', $this->userId)->value('is_captain'); - if ($is_captain == 1) { - $where[] = ['type', 'in', [31,33]]; - } else { - $where[] = ['type', '=', 33]; - $where[] = ['director_uid', '=', $this->userId]; - } - $where[] = ['company_id', '=', $this->userInfo['company_id']]; + $where[] = ['type', '=', 33]; + $where[] = ['director_uid', '=', $this->userId]; } +// $where[] = ['company_id', '=', $this->userInfo['company_id']]; } if ($userCompanyInfo['company_type'] == 41) { $where[] = ['director_uid', '=', $this->userId]; - $where[] = ['company_id', '=', $this->userInfo['company_id']]; +// $where[] = ['company_id', '=', $this->userInfo['company_id']]; } if (isset($param['date_time']) && $param['date_time'] != '') { $time = strtotime($param['date_time']); From 6bd6a896806516be225dabda9eba5040770f526a Mon Sep 17 00:00:00 2001 From: unknown <736250432@qq.com> Date: Fri, 13 Oct 2023 13:49:10 +0800 Subject: [PATCH 3/8] fixed --- app/api/controller/IndexController.php | 54 +++++++++++++++++++++--- app/api/controller/VehicleController.php | 35 ++++++++++----- 2 files changed, 73 insertions(+), 16 deletions(-) diff --git a/app/api/controller/IndexController.php b/app/api/controller/IndexController.php index e0c128272..8ee827428 100755 --- a/app/api/controller/IndexController.php +++ b/app/api/controller/IndexController.php @@ -204,14 +204,15 @@ class IndexController extends BaseApiController foreach ($cars as $k => $v) { $hasCar = VehicleRent::where('car_id',$v['id'])->findOrEmpty(); 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_license'] = $v['license']; $data[$k]['type'] = 0; $data[$k]['status'] = 0; - $data[$k]['company_id'] = $contract['company_b_id']; - $data[$k]['rent_time'] = 0; + $data[$k]['rent_contract_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']); } } @@ -446,9 +447,50 @@ class IndexController extends BaseApiController $vehicleBuyRecord = VehicleBuyRecord::where('contract_id',$contract['id'])->findOrEmpty(); 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(); //删除物流系统租赁信息 @@ -475,7 +517,7 @@ class IndexController extends BaseApiController } //生成本地合同 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' => '成功']); } }else{ diff --git a/app/api/controller/VehicleController.php b/app/api/controller/VehicleController.php index d25e756d1..7e91a1cdd 100644 --- a/app/api/controller/VehicleController.php +++ b/app/api/controller/VehicleController.php @@ -720,7 +720,7 @@ class VehicleController extends BaseApiController 'company_email' => $xzCompany['master_email'], 'cars_info' => json_encode($cars), 'num' => count($cars), - 'status' => 2, + 'status' => 3, 'contract_id' => $res->id, 'create_time' => time() ]); @@ -730,17 +730,18 @@ class VehicleController extends BaseApiController } //如果有租赁车俩和上传自有车辆,但没有购买镇街公司租赁的车辆 则先向镇街公司发起解约合同 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_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_a_id' => $zjCompanyInfo['id'], + 'company_a_name' => $zjCompanyInfo['company_name'], + 'company_a_code' => $zjCompanyInfo['organization_code'], + 'company_a_user' => $zjCompanyInfo['master_name'], + 'company_a_phone' => $zjCompanyInfo['master_phone'], + 'company_a_email' => $zjCompanyInfo['master_email'], 'company_b_id' => $xzCompany['id'], 'company_b_name' => $xzCompany['company_name'], 'company_b_code' => $xzCompany['organization_code'], @@ -748,12 +749,26 @@ class VehicleController extends BaseApiController 'company_b_phone' => $xzCompany['master_phone'], 'company_b_email' => $xzCompany['master_email'], 'num' =>1, - 'cars_info' => json_encode($cars), + 'cars_info' => json_encode([['id'=>$xzRentCars['car_id'],'license'=>$xzRentCars['car_license']]]), 'type' => 2, 'status' => 0, 'create_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'); } } From 7a8533595a9fe099d59387a053c8fbfb616fc8c5 Mon Sep 17 00:00:00 2001 From: unknown <736250432@qq.com> Date: Fri, 13 Oct 2023 14:03:01 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=B0=8F=E7=BB=84?= =?UTF-8?q?=E5=85=AC=E5=8F=B8=E7=A7=9F=E8=B5=81=E7=AD=BE=E7=BA=A6=E5=9B=9E?= =?UTF-8?q?=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/controller/IndexController.php | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/app/api/controller/IndexController.php b/app/api/controller/IndexController.php index 8ee827428..17ed73022 100755 --- a/app/api/controller/IndexController.php +++ b/app/api/controller/IndexController.php @@ -281,8 +281,9 @@ class IndexController extends BaseApiController $vehicle = json_decode($contract['cars_info'], true); VehicleRent::where('car_id', $vehicle['id'])->update([ 'status' => 2, - 'rent_time' => time(), + 'rent_contract_id' => $contract['id'], 'rent_company_id' => $contract['company_b_id'], + 'rent_time' => time(), ]); $party_b = Company::where('id', $contract['company_b_id'])->find(); //通知物流系统跟新 @@ -292,13 +293,6 @@ class IndexController extends BaseApiController 'use_user_name' => $party_b['master_name'], 'use_user_phone' => $party_b['master_phone'] ]); - CompanyProperty::create([ - 'company_id' => $contract['company_b_id'], - 'object_id' => $vehicle['id'], - 'type' => 1, - 'create_time' => time(), - 'update_time' => time(), - ]); return json(['success' => true, 'msg' => '成功']); } else { return json(['success' => true, 'msg' => '成功']); From 389a6d1243f8429bfac51913c7a08aacd094e7b2 Mon Sep 17 00:00:00 2001 From: unknown <736250432@qq.com> Date: Fri, 13 Oct 2023 14:49:41 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E8=BD=A6=E8=BE=86=E8=B4=AD=E4=B9=B0?= =?UTF-8?q?=E5=9B=9E=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/controller/IndexController.php | 4 ++-- app/api/controller/VehicleController.php | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/api/controller/IndexController.php b/app/api/controller/IndexController.php index 17ed73022..1654cf9f2 100755 --- a/app/api/controller/IndexController.php +++ b/app/api/controller/IndexController.php @@ -446,14 +446,14 @@ class IndexController extends BaseApiController $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]); + VehicleRent::where('id',$rentCarsInfo['id'])->update(['status'=>0,'rent_company_id'=>0,'rent_contract_id'=>0,'rent_time'=>0]); } if($rentCarsInfo['type'] == 1){ //修改租赁车俩状态 VehicleRent::where('id',$rentCarsInfo['id'])->delete(); } //删除原合同 - VehicleContract::where('id',$rentCarsInfo['contract_id'])->delete(); + VehicleContract::where('id',$rentCarsInfo['rent_contract_id'])->delete(); //修改物流系统车辆租赁信息 curl_post(env('project.logistic_domain').'/api/Vehicle/delRentUseInfo', [], [ 'car_id' => $cars_ids[0] diff --git a/app/api/controller/VehicleController.php b/app/api/controller/VehicleController.php index 7e91a1cdd..712dbbf5b 100644 --- a/app/api/controller/VehicleController.php +++ b/app/api/controller/VehicleController.php @@ -685,7 +685,6 @@ class VehicleController extends BaseApiController } //生成本地合同 VehicleContract::create($curl_result['data']); - return $this->success('合同发起成功,等待审核 from task'); } //如果没有租赁车俩和上传自有车辆,但有购买镇街公司租赁的车辆 则发起镇街公司与平台公司的解约合同 if($xzRentCars->isEmpty() && !$zjRentCars->isEmpty()){ @@ -726,7 +725,6 @@ class VehicleController extends BaseApiController ]); //更改本地车辆状态 VehicleRent::where('car_id','in',$car_ids)->update(['status'=>1]); - return $this->success('合同发起成功,等待审核 from task'); } //如果有租赁车俩和上传自有车辆,但没有购买镇街公司租赁的车辆 则先向镇街公司发起解约合同 if(!$xzRentCars->isEmpty() && $zjRentCars->isEmpty()){ @@ -769,7 +767,9 @@ class VehicleController extends BaseApiController 'contract_id' => $res->id, 'create_time' => time() ]); - return $this->success('合同发起成功,等待审核 from task'); } + //更新物流系统 + curl_post(env('project.logistic_domain').'/api/Vehicle/updateVehicleStatusToBuy',[],['car_ids'=>implode(',',$car_ids)]); + return $this->success('合同发起成功,等待审核 from task'); } } \ No newline at end of file From e5c2e25ece8ec2a85debd868990447b0d6c29990 Mon Sep 17 00:00:00 2001 From: unknown <736250432@qq.com> Date: Fri, 13 Oct 2023 15:44:05 +0800 Subject: [PATCH 6/8] fiexd --- app/api/controller/IndexController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/api/controller/IndexController.php b/app/api/controller/IndexController.php index 1654cf9f2..2a4fcaa45 100755 --- a/app/api/controller/IndexController.php +++ b/app/api/controller/IndexController.php @@ -443,7 +443,7 @@ class IndexController extends BaseApiController //小组公司与镇街公司解约 if($vehicleBuyRecord['status'] == 1){ //获取租赁车辆信息 - $rentCarsInfo = VehicleRent::field('id,type,contract_id')->where('car_id',$cars_ids[0])->findOrEmpty(); + $rentCarsInfo = VehicleRent::where('car_id',$cars_ids[0])->findOrEmpty(); if($rentCarsInfo['type'] == 0){ //修改租赁车俩状态 VehicleRent::where('id',$rentCarsInfo['id'])->update(['status'=>0,'rent_company_id'=>0,'rent_contract_id'=>0,'rent_time'=>0]); From 6bd04e5c2ac5473e49b968e5fc9d693c3355903c Mon Sep 17 00:00:00 2001 From: unknown <736250432@qq.com> Date: Fri, 13 Oct 2023 16:51:49 +0800 Subject: [PATCH 7/8] =?UTF-8?q?=E8=BD=A6=E8=BE=86=E8=B4=AD=E4=B9=B0done?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../contract/VehicleContractController.php | 3 + app/api/controller/IndexController.php | 60 ++++++++++++++++--- app/api/controller/VehicleController.php | 44 +++++++++++++- 3 files changed, 97 insertions(+), 10 deletions(-) diff --git a/app/adminapi/controller/contract/VehicleContractController.php b/app/adminapi/controller/contract/VehicleContractController.php index a8d16aa3b..a7441c1a0 100644 --- a/app/adminapi/controller/contract/VehicleContractController.php +++ b/app/adminapi/controller/contract/VehicleContractController.php @@ -158,6 +158,9 @@ class VehicleContractController extends BaseAdminController if($contract['type'] == 0){ $smsTitle = '《租赁合同》'; $notify_url = env('project.website_domain').'/api/index/townCarRent'; + }elseif($contract['type'] == 1){ + $smsTitle = '《自有车辆上传合同》'; + $notify_url = env('project.website_domain').'/api/index/selfCarRent'; }elseif($contract['type'] == 2){ $smsTitle = '《解约合同》'; $notify_url = env('project.website_domain').'/api/index/cancelRent'; diff --git a/app/api/controller/IndexController.php b/app/api/controller/IndexController.php index 2a4fcaa45..3d4cc903d 100755 --- a/app/api/controller/IndexController.php +++ b/app/api/controller/IndexController.php @@ -360,6 +360,7 @@ class IndexController extends BaseApiController 'car_license' => $vehicle['license'], 'status' => 2, 'rent_time' => time(), + 'rent_contract_id' => $contract['id'], 'rent_company_id' => $contract['company_b_id'], 'create_time' => time(), 'type' => 1 @@ -482,7 +483,51 @@ class IndexController extends BaseApiController return json(['success' => true, 'msg' => '成功']); } //小组公司与镇街公司解约,然后镇街公司与平台公司解约 - if($vehicleBuyRecord['status'] == 2){} + if($vehicleBuyRecord['status'] == 2){ + //获取租赁车辆信息 + $rentCarsInfo = VehicleRent::where('car_id',$cars_ids[0])->findOrEmpty(); + //获取镇街公司信息 + $zjCompany = Company::where('id',$rentCarsInfo['company_id'])->findOrEmpty(); + //判断购买车辆中是否包含镇街公司租赁的车辆 + $car_ids = array_column(json_decode($vehicleBuyRecord['cars_info'],true),'id'); + $zjRentCars = VehicleRent::field('car_id as id,car_license as license')->where('company_id',$zjCompany['id'])->where('car_id','in',$car_ids)->where('status',0)->where('type',0)->select(); + if($rentCarsInfo['type'] == 0){ + //修改租赁车俩状态 + VehicleRent::where('id',$rentCarsInfo['id'])->update(['status'=>0,'rent_company_id'=>0,'rent_contract_id'=>0,'rent_time'=>0]); + } + if($rentCarsInfo['type'] == 1){ + //修改租赁车俩状态 + VehicleRent::where('id',$rentCarsInfo['id'])->delete(); + } + //删除原合同 + VehicleContract::where('id',$rentCarsInfo['rent_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' => count($zjRentCars), + 'company_id' => $zjCompany['id'], + 'company_name' => $zjCompany['company_name'], + 'company_code' => $zjCompany['organization_code'], + 'company_user' => $zjCompany['master_name'], + 'company_phone' => $zjCompany['master_phone'], + 'company_email' => $zjCompany['master_email'], + 'cars_info' => json_encode($zjRentCars), + 'type' => 2 + ]); + 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'=>3]); + return json(['success' => true, 'msg' => '成功']); + } //镇街公司与平台公司解约 if($vehicleBuyRecord['status'] == 3){ //删除本地租赁信息 @@ -518,16 +563,13 @@ class IndexController extends BaseApiController //更改租赁列表车辆状态 $vehicle = json_decode($contract['cars_info'], true); //获取租赁车辆信息 - $vehicleRentInfo = VehicleRent::where('car_id', $vehicle['id'])->find(); + $vehicleRentInfo = VehicleRent::where('car_id', $vehicle[0]['id'])->find(); //更新原始合同类型 - VehicleContract::where('id', $vehicleRentInfo['contract_id'])->update(['status' => 6]); - VehicleRent::where('car_id', $vehicle['id'])->update([ - 'status' => 3, - ]); + VehicleContract::where('id', $vehicleRentInfo['rent_contract_id'])->delete(); + VehicleRent::where('car_id', $vehicle[0]['id'])->delete(); //通知物流系统跟新 - curl_post(env('project.logistic_domain').'/api/cancelRent', [], [ - 'car_id' => $vehicle['id'], - 'status' => 1 + curl_post(env('project.logistic_domain').'/api/Vehicle/delRentUseInfo', [], [ + 'car_id' => $vehicle[0]['id'] ]); return json(['success' => true, 'msg' => '成功']); } diff --git a/app/api/controller/VehicleController.php b/app/api/controller/VehicleController.php index 712dbbf5b..f86cc2e4d 100644 --- a/app/api/controller/VehicleController.php +++ b/app/api/controller/VehicleController.php @@ -243,7 +243,7 @@ class VehicleController extends BaseApiController return $this->fail('请勿重复申请'); } if($params['type'] == 1){ - $cars_info = json_encode(['license'=>$params['license'],'pic'=>$params['pic']]); + $cars_info = json_encode([['license'=>$params['license'],'pic'=>$params['pic']]]); $car_type = 1; }else{ $cars_info = null; @@ -768,6 +768,48 @@ class VehicleController extends BaseApiController 'create_time' => time() ]); } + //如果有租赁车俩和上传自有车辆,也有购买镇街公司租赁的车辆 则先向镇街公司发起解约合同,再由镇街公司向平台公司发起解约合同 + if(!$xzRentCars->isEmpty() && !$zjRentCars->isEmpty()){ + //获取镇街公司信息 + $zjCompanyInfo = Company::field('id,company_name,master_name,master_phone,master_email,organization_code')->where('id',$zjCompany['party_a'])->findOrEmpty(); + //生成本地解约合同 + $res = VehicleContract::create([ + 'contract_no' => time(), + 'contract_logistic_id' => 0, + 'company_a_id' => $zjCompanyInfo['id'], + 'company_a_name' => $zjCompanyInfo['company_name'], + 'company_a_code' => $zjCompanyInfo['organization_code'], + 'company_a_user' => $zjCompanyInfo['master_name'], + 'company_a_phone' => $zjCompanyInfo['master_phone'], + 'company_a_email' => $zjCompanyInfo['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([['id'=>$xzRentCars['car_id'],'license'=>$xzRentCars['car_license']]]), + 'type' => 2, + 'status' => 0, + 'create_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' => 2, + 'contract_id' => $res->id, + 'create_time' => time() + ]); + } //更新物流系统 curl_post(env('project.logistic_domain').'/api/Vehicle/updateVehicleStatusToBuy',[],['car_ids'=>implode(',',$car_ids)]); return $this->success('合同发起成功,等待审核 from task'); From 98f0995b7e8865c5f8281fa5f65914b509a7f03f Mon Sep 17 00:00:00 2001 From: unknown <736250432@qq.com> Date: Fri, 13 Oct 2023 17:06:27 +0800 Subject: [PATCH 8/8] =?UTF-8?q?=E8=BD=A6=E8=BE=86=E8=B4=AD=E4=B9=B0done2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/controller/VehicleController.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/api/controller/VehicleController.php b/app/api/controller/VehicleController.php index f86cc2e4d..5f24547f1 100644 --- a/app/api/controller/VehicleController.php +++ b/app/api/controller/VehicleController.php @@ -632,6 +632,9 @@ class VehicleController extends BaseApiController $xzRentCars = array_column($xzRentCars,'car_id'); //5、获取平台未出租的车辆 $result = curl_post(env('project.logistic_domain').'/api/Vehicle/getFreeCars',[],['ids'=>implode(',',array_merge($zjRentCars,$xzRentCars))]); + foreach($result['data'] as $k => $v){ + $result['data'][$k]['checked'] = []; + } //6、返回 return $this->success('success',$result['data']); }