91 lines
5.0 KiB
PHP
91 lines
5.0 KiB
PHP
<?php
|
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
|
|
|
class Items_cost_model extends HD_Model
|
|
{
|
|
private $table_name = 'lc_items_cost';
|
|
|
|
public function __construct()
|
|
{
|
|
parent::__construct($this->table_name, 'default');
|
|
}
|
|
|
|
/**
|
|
* 更新合计数据
|
|
* @param $id
|
|
* @return bool
|
|
*/
|
|
public function update_total($id){
|
|
$this->load->model('items/items_model');
|
|
$this->load->model('receiver/order/receiver_orders_v2_model');
|
|
$row = $this->get(['id'=>$id]);
|
|
if($row){
|
|
$item_row = $this->items_model->get(['id'=>$row['item_id']]);
|
|
$cost_json = json_decode($row['cost_json'],true);
|
|
$promotion_json = json_decode($row['promotion_json'],true);
|
|
$srv_json = json_decode($row['srv_json'],true);
|
|
//【销售收入合计】(实际售价+选装实收)
|
|
$sale_price = $row['price'] + $srv_json['price_fine_select'];
|
|
//【采购及加装成本合计】(采购成本 + 选装成本 + 选装工时费 )
|
|
$buy_price = $item_row['buy_price'] + $cost_json['select_price'] + $cost_json['labor_price'];
|
|
//【促销成本合计】(销售佣金+其他)
|
|
$promotion_price = $promotion_json['sale_price'] + $promotion_json['other'];
|
|
//【整车采购成本】(采购成本-厂家补贴)
|
|
$car_buy_price = $item_row['buy_price'] - $promotion_json['factory_price'];
|
|
//【整车采购毛利】(销售收入合计 - 整车采购成本 - 促销成本合计 - 选装金额 -选装工时费)
|
|
$car_profit_price = $sale_price - $car_buy_price - $promotion_price - $cost_json['select_price'] - $cost_json['labor_price'];
|
|
|
|
/*
|
|
水平
|
|
品牌店按现有逻辑 (1)
|
|
合伙店取商务政策的固定值 (2)
|
|
代理店没有水平业务 (3)
|
|
*/
|
|
$order_row = $this->receiver_orders_v2_model->get(['id'=>$row['o_id']], 'id, (select type from lc_biz where id = lc_receiver_orders_v2.biz_id) as biz_type');
|
|
$biz_type = $order_row['biz_type'];
|
|
$insurance_price = $fee_carno_price = $loan_price = $srv_price = 0;
|
|
if ($biz_type == 1){
|
|
//【保险收入合计】
|
|
$insurance_price = $srv_json['business_ins_price']+$srv_json['insurance_ins_price']-$srv_json['back_price'];
|
|
//【挂牌收入合计】
|
|
$fee_carno_price = $srv_json['fee_carno'] - $srv_json['cb_fee_carno'];
|
|
//【按揭收入合计】(按揭综合服务费+按揭解抵服务费+利息补贴收入+金融公司手续费收入+其他收入-其他支出)
|
|
$loan_price = $srv_json['loan_srv_price']+$srv_json['loan_offset_price']+$srv_json['loan_subsidy_price']+$srv_json['commission_price']+$srv_json['loan_in_price']-$srv_json['loan_out_price'];
|
|
//【水平业务总毛利】(保险收入合计+挂牌收入合计+按揭收入合计+其他收入-其他支出)
|
|
$srv_price = $insurance_price+$fee_carno_price+$loan_price+$srv_json['other_in_price']-$srv_json['other_out_price'];
|
|
}
|
|
elseif ($biz_type == 2){
|
|
$insurance_price = $row['insurance_price'];
|
|
$fee_carno_price = $row['fee_carno_price'];
|
|
$loan_price = $row['loan_price'];
|
|
$srv_price = $insurance_price+$fee_carno_price+$loan_price;
|
|
}
|
|
|
|
//【单车总毛利】(整车采购毛利+水平业务总毛利)
|
|
$car_price = $car_profit_price + $srv_price;
|
|
//【品牌店单车毛利/代理店单车毛利/合伙店采购毛利】(根据门店类型取, 商务政策分润 - 选装金额 - 选装工时费 - 促销成本 + 水平业务总毛利 + (实际售价入 - 商务政策底价))
|
|
$dl_car_price = $srv_json['profix_car']-$cost_json['select_price']-$cost_json['labor_price'] - $promotion_price + $srv_price + ($row['price']-$srv_json['price_floor']);
|
|
//【品牌单车总毛利】(单车总毛利 - 品牌店单车毛利/代理店单车毛利/合伙店采购毛利)
|
|
$brand_car_price = $car_price - $dl_car_price;
|
|
$data = [
|
|
'sale_price' => $sale_price,
|
|
'buy_price' => $buy_price,
|
|
'promotion_price' => $promotion_price,
|
|
'car_buy_price' => $car_buy_price,
|
|
'car_profit_price' => $car_profit_price,
|
|
'insurance_price' => $insurance_price,
|
|
'fee_carno_price' => $fee_carno_price,
|
|
'loan_price' => $loan_price,
|
|
'srv_price' => $srv_price,
|
|
'car_price' => $car_price,
|
|
'dl_car_price' => $dl_car_price,
|
|
'brand_car_price' => $brand_car_price,
|
|
];
|
|
$this->update($data,['id'=>$id]);
|
|
return true;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
}
|