diff --git a/api/controllers/wxapp/licheb/Cusorder.php b/api/controllers/wxapp/licheb/Cusorder.php index c5511b90..b6b15b8b 100644 --- a/api/controllers/wxapp/licheb/Cusorder.php +++ b/api/controllers/wxapp/licheb/Cusorder.php @@ -371,6 +371,9 @@ class Cusorder extends Wxapp{ throw new Exception('订单不存在', ERR_PARAMS_ERROR); } + $money_json = json_decode($row['money_json'],true); + $info_json = json_decode($row['info_json'],true); + $brand = $this->auto_brand_model->get(['id'=>$row['brand_id']],'name'); $series = $this->auto_series_model->get(['id'=>$row['s_id']],'name'); $color = $this->auto_attr_model->get(['id'=>$row['cor_id']],'title'); @@ -399,24 +402,25 @@ class Cusorder extends Wxapp{ $srv_rows = $this->services_model->select(["id in ({$row['srv_ids']})"=>null],'','','','title'); $srv_rows && $pack_title = implode('+',array_column($srv_rows,'title')); } - $car_data = [ - '车辆名称' => $brand['name'].$series['name'], - '车辆级别' => $version, - '颜色' => $color, - '车辆合同售价' => $row['price'], - '定金' => $row['deposit'], - '代办包' => $pack_title, - '购车主体' => $row['main_type'] ? '公司' : '个人', - '是否委托' => $row['ifentrust'] ? '是' : '否', - ]; - $info_json = json_decode($row['info_json'],true); - if($row['ifentrust']){ - $car_data['委托人姓名'] = $info_json['entrust_name'] ? $info_json['entrust_name'] : ''; - $car_data['委托人身份证'] = $info_json['entrust_idcard'] ? $info_json['entrust_idcard'] : ''; + $car_data = []; + if($row['brand_id'] && $row['s_id'] && $row['v_id']){ + $car_data['车辆名称'] = $brand['name'].$series['name']; + $car_data['车辆名称'] = $brand['name'].$series['name']; + $car_data['车辆级别'] = $version; + $car_data['颜色'] = $color; + $car_data['车辆合同售价'] = $money_json['price_discount'] ? $row['price']-$money_json['price_discount'] : $row['price']; + $money_json['price_discount'] && $car_data['优惠金额'] = $money_json['price_discount']; + $car_data['定金'] = $row['deposit']; + $car_data['代办包'] = $pack_title; + $car_data['购车主体'] = $row['main_type'] ? '公司' : '个人'; + $car_data['是否委托'] = $row['ifentrust'] ? '是' : '否'; + if($row['ifentrust']){ + $car_data['委托人姓名'] = $info_json['entrust_name'] ? $info_json['entrust_name'] : ''; + $car_data['委托人身份证'] = $info_json['entrust_idcard'] ? $info_json['entrust_idcard'] : ''; + } } $info_json['c_address'] && $car_data['地址'] = $info_json['c_address']; $info_json['c_cardid'] && $car_data['身份证号'] = $info_json['c_cardid']; - $money_json = json_decode($row['money_json'],true); if(!$row['payway']){ $finance_row = $this->sys_finance_model->get(['id'=>$row['finance_id']],'title'); $car_data['金融产品'] = $finance_row['title']; diff --git a/api/controllers/wxapp/licheb/Protocol.php b/api/controllers/wxapp/licheb/Protocol.php index 83a11f21..e9f678bb 100644 --- a/api/controllers/wxapp/licheb/Protocol.php +++ b/api/controllers/wxapp/licheb/Protocol.php @@ -93,7 +93,7 @@ class Protocol extends CI_Controller{ $id = $this->input->get('id'); $row = $this->orders_model->get(['id'=>$id]); $contract = $this->contracts_model->get(['o_id'=>$id,'type'=>1]); - $total_price = 0; + $srv_price = 0; $services = []; if($row){ $money_json = json_decode($row['money_json'],true); @@ -102,18 +102,28 @@ class Protocol extends CI_Controller{ $row['company'] = $this->sys_company_model->get(["title like '%服务%'"=>null,'status'=>1]); $is_insure = false; if($row['srv_ids']){ - $services = $this->services_model->select(["id in ({$row['srv_ids']})"=>null],'','','','title'); + $money_json = json_decode($row['money_json'],true); + $service_rows = $this->services_model->select(["id in ({$row['srv_ids']})"=>null],'','','','id,title,field_name'); + foreach($service_rows as $key=>$val){ + $field_arr = explode('.',$val['field_name']); + if(isset($money_json[$field_arr[1]])){ //保险费不收 + $services[] = [ + 'id' => $val['id'], + 'title' => $val['title'], + 'money' => $money_json[$field_arr[1]] + ]; + } + } + $srv_id_arr = explode(',',$row['srv_ids']); $is_insure = in_array(1,$srv_id_arr) ? true : false; } $this->load->library('receiver/orders_entity'); $srv_price = $this->orders_entity->order_srv_money($row['id']); - $total_price = $srv_price; - $is_insure && $total_price = $total_price + $money_json['price_insure']; } $row['is_insure'] = $is_insure; $row['services'] = $services; - $row['total_price'] = $total_price; + $row['srv_price'] = $srv_price; $row['info_json'] = json_decode($row['info_json'],true); $row['day'] = $contract ? date('Y年m月d日',$contract['c_time']):date('Y年m月d日'); $row['cid'] = $contract['cid']; @@ -153,7 +163,7 @@ class Protocol extends CI_Controller{ $agent = $this->agents_model->get(['o_id'=>$id]); $contract = $this->contracts_model->get(['o_id'=>$id,'type'=>3]); $items = $this->items_model->get(['id'=>$row['item_id']],'vin'); - $total_price = 0; + $srv_price = 0; if($row){ $money_json = json_decode($row['money_json'],true); $money_json['price_discount'] && $row['price'] = $row['price'] - $money_json['price_discount']; @@ -197,9 +207,9 @@ class Protocol extends CI_Controller{ $last_pay = $this->app_liche_orders_model->sum('total_price',$where); $row['pay_price'] = $pay['total_price'] + $last_pay['total_price']; $this->load->library('receiver/orders_entity'); - $total_price = $this->orders_entity->order_srv_money($row['id']); + $srv_price = $this->orders_entity->order_srv_money($row['id']); } - $row['total_price'] = $total_price; + $row['srv_price'] = $srv_price; $row['agent'] = $agent; $row['day'] = $contract ? date('Y年m月d日',$contract['c_time']):date('Y年m月d日'); $row['cid'] = $contract['cid']; @@ -316,7 +326,7 @@ class Protocol extends CI_Controller{ $row = $this->orders_model->get(['id'=>$id]); $row['old_contract'] = $this->contracts_model->get(['o_id'=>$id,'type'=>1]); $contract = $this->contracts_model->get(['o_id'=>$id,'type'=>5]); - $total_price = 0; + $srv_price = 0; $old_services = $services = ''; if($row){ //获取修改前数据 @@ -326,12 +336,9 @@ class Protocol extends CI_Controller{ //获取门店信息 $biz = $this->biz_model->get(['id'=>$row['biz_id']]); $row['company'] = $this->sys_company_model->get(["title like '%服务%'"=>null,'status'=>1]); - $is_insure = false; if($row['srv_ids']){ $service_rows = $this->services_model->select(["id in ({$row['srv_ids']})"=>null],'','','','title'); $services = implode(',',array_column($service_rows,'title')); - $srv_id_arr = explode(',',$row['srv_ids']); - $is_insure = in_array(1,$srv_id_arr) ? true : false; } if($opt_row['srv_ids']){ $service_rows = $this->services_model->select(["id in ({$opt_row['srv_ids']})"=>null],'','','','title'); @@ -339,12 +346,10 @@ class Protocol extends CI_Controller{ } $this->load->library('receiver/orders_entity'); $srv_price = $this->orders_entity->order_srv_money($row['id']); - $total_price = $srv_price; - $is_insure && $total_price = $total_price + $money_json['price_insure']; } $row['services'] = $services; $row['old_services'] = $old_services; - $row['total_price'] = $total_price; + $row['srv_price'] = $srv_price; $row['info_json'] = json_decode($row['info_json'],true); $row['day'] = $contract ? date('Y年m月d日',$contract['c_time']):date('Y年m月d日'); $row['cid'] = $contract['cid']; diff --git a/api/views/wxapp/licheb/html2pdf/agent.php b/api/views/wxapp/licheb/html2pdf/agent.php index 74e34c46..12c3ce25 100644 --- a/api/views/wxapp/licheb/html2pdf/agent.php +++ b/api/views/wxapp/licheb/html2pdf/agent.php @@ -46,9 +46,9 @@