89 lines
3.8 KiB
PHP
89 lines
3.8 KiB
PHP
<?php
|
|
|
|
namespace app\common\logic\vehicle;
|
|
|
|
use app\common\logic\BaseLogic;
|
|
use app\common\model\Company;
|
|
use app\common\model\contract\VehicleContract;
|
|
use app\common\model\vehicle\VehicleRent;
|
|
use app\common\model\vehicle\VehicleVillageApply;
|
|
|
|
|
|
class VehicleLogic extends BaseLogic
|
|
{
|
|
public static string $url = 'http://logistics.lihaink.cn';
|
|
// public static string $url = 'http://www.lst.local';
|
|
public static function initiate_contract_logistic($params):array|bool {
|
|
//查找乙方公司信息
|
|
$party_b = Company::field('id,company_name,organization_code,master_name,master_phone,master_email,company_type')->where('id',$params['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();
|
|
if($apply['type'] == 0){
|
|
//获取车辆信息
|
|
$car = VehicleRent::where('car_id',$params['car_id'])->find();
|
|
if($car->isEmpty() || $car['status'] == 1){
|
|
return ['code'=>0,'msg'=>'车辆信息错误'];
|
|
}
|
|
//生成合同
|
|
$carJson = json_encode(['id'=>$car['id'],'license'=>$car['car_license']]);
|
|
}else{
|
|
$carJson = json_encode(['license'=>$apply['car_license']]);
|
|
}
|
|
//获取甲方公司
|
|
if($params['party_a'] != $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();
|
|
$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' => $apply['type'] == 0 ? 0 : 1,
|
|
'status' => 0,
|
|
'create_time' => time(),
|
|
'update_time' => time(),
|
|
];
|
|
$result = VehicleContract::create($data);
|
|
//返回
|
|
if($result->id){
|
|
return ['code'=>1,'msg'=>'合同发起成功,等待审核'];
|
|
}else{
|
|
return ['code'=>0,'msg'=>'合同发起失败,请稍后重试'];
|
|
}
|
|
}
|
|
} |