|
|
|
@ -65,9 +65,22 @@ class Vendor_money extends CI_Controller {
|
|
|
|
|
,"sum_payout" => 0
|
|
|
|
|
,"sum_other" => 0
|
|
|
|
|
),
|
|
|
|
|
"vendor" => array(
|
|
|
|
|
// "vendor" => array(
|
|
|
|
|
// "sum_trippest_cost" => 0
|
|
|
|
|
// ,"sum_vendor_cost" => 0
|
|
|
|
|
// ,"sum_trippest_sum" => 0
|
|
|
|
|
// ,"sum_vendor_sum" => 0
|
|
|
|
|
// ,"sum_profit" => 0
|
|
|
|
|
// ,"sum_trippest_profit" => 0
|
|
|
|
|
// ,"sum_vendor_profit" => 0
|
|
|
|
|
// ,"sum_payout" => 0
|
|
|
|
|
// ,"sum_other" => 0
|
|
|
|
|
// ),
|
|
|
|
|
"sync" => array(
|
|
|
|
|
"sum_trippest_cost" => 0
|
|
|
|
|
,"sum_vendor_cost" => 0
|
|
|
|
|
,"sum_cost_sum" => 0
|
|
|
|
|
,"sum_price_sum" => 0
|
|
|
|
|
,"sum_trippest_sum" => 0
|
|
|
|
|
,"sum_vendor_sum" => 0
|
|
|
|
|
,"sum_profit" => 0
|
|
|
|
@ -80,6 +93,12 @@ class Vendor_money extends CI_Controller {
|
|
|
|
|
);
|
|
|
|
|
$result['trippest_order_multi_city'] = array_merge($result['trippest_order_multi_city'], $this->money_model->trippest_order_multi_city($start_date, $end_date, implode(',', $vendors)));
|
|
|
|
|
$result['trippest_order_cost_debug'] = $this->money_model->cost_debug_detail($start_date, $end_date, implode(',', $vendors));
|
|
|
|
|
/**
|
|
|
|
|
* 计算同步回来的数据
|
|
|
|
|
*/
|
|
|
|
|
$all_price_cost = $this->money_model->get_sync_price_cost($start_date, $end_date, implode(',', $vendors));
|
|
|
|
|
$unique_sync_groupno = array();
|
|
|
|
|
$dumplicate_groupno = array();
|
|
|
|
|
/** 团款 */
|
|
|
|
|
foreach ($vendors as $key => $vendor) {
|
|
|
|
|
$sourcetype = $vendor_sourcetype[strval($vendor)]["sourcetype"];
|
|
|
|
@ -93,8 +112,19 @@ class Vendor_money extends CI_Controller {
|
|
|
|
|
"other_sum" => 0,
|
|
|
|
|
"other_vendor_sum" => 0
|
|
|
|
|
),
|
|
|
|
|
"vendor" =>
|
|
|
|
|
// "vendor" =>
|
|
|
|
|
// array(
|
|
|
|
|
// "trippest_sum" => 0,
|
|
|
|
|
// "vendor_sum" => 0,
|
|
|
|
|
// "transfer_sum" => 0,
|
|
|
|
|
// "other_sum_cost" => 0,
|
|
|
|
|
// "other_sum" => 0,
|
|
|
|
|
// "other_vendor_sum" => 0
|
|
|
|
|
// ),
|
|
|
|
|
"sync" =>
|
|
|
|
|
array(
|
|
|
|
|
"price_sum" => 0,
|
|
|
|
|
"cost_sum" => 0,
|
|
|
|
|
"trippest_sum" => 0,
|
|
|
|
|
"vendor_sum" => 0,
|
|
|
|
|
"transfer_sum" => 0,
|
|
|
|
@ -116,24 +146,35 @@ class Vendor_money extends CI_Controller {
|
|
|
|
|
$ret["trippest"]['trippest_sum'] = bcsub($ret["trippest"]['trippest_sum'], $opi_money['other_price_sum']);
|
|
|
|
|
$ret['trippest']['other_vendor_sum'] = bcadd($ret['trippest']['other_vendor_sum'], $opi_money['other_vendorprice_RMB_sum']);
|
|
|
|
|
}
|
|
|
|
|
// 按照图兰朵算法: Trippest自营订单的代收算在海纳收款
|
|
|
|
|
foreach ($opi_summoney as $kv => $opi_money_v) {
|
|
|
|
|
if (strval($opi_money_v['COLI_OPI_ID']) === '435') {
|
|
|
|
|
$ret["vendor"]['vendor_sum'] = bcadd(floatval($ret["vendor"]['vendor_sum']), floatval($opi_money_v['vendor_sum'])) ;
|
|
|
|
|
} else {
|
|
|
|
|
$ret["vendor"]['trippest_sum'] = bcadd(floatval($ret["vendor"]['trippest_sum']), floatval($opi_money_v['trippest_sum'])) ;
|
|
|
|
|
$ret["vendor"]['trippest_sum'] = bcadd(floatval($ret["vendor"]['trippest_sum']), floatval($opi_money_v['vendor_sum'])) ;
|
|
|
|
|
foreach ($all_price_cost as $ks => $sync) {
|
|
|
|
|
if ($sync['vendor_code'] != $vendor || in_array($sync['GCI_combineNo'],$unique_sync_groupno)) {
|
|
|
|
|
$dumplicate_groupno[] = $sync;
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
$ret['vendor']['other_sum'] = bcadd($ret['vendor']['other_sum'], $opi_money_v['other_price_sum']);
|
|
|
|
|
$ret['vendor']['other_sum_cost'] = bcadd($ret['vendor']['other_sum_cost'], $opi_money_v['other_cost_sum']);
|
|
|
|
|
$ret["vendor"]['trippest_sum'] = bcsub($ret["vendor"]['trippest_sum'], $opi_money_v['other_price_sum']);
|
|
|
|
|
$ret['vendor']['other_vendor_sum'] = bcadd($ret['vendor']['other_vendor_sum'], $opi_money['other_vendorprice_RMB_sum']);
|
|
|
|
|
}
|
|
|
|
|
$ret["vendor"]["transfer_sum"] = bcsub($ret["vendor"]['vendor_sum'], $ret["trippest"]['vendor_sum']);
|
|
|
|
|
if ($ret["vendor"]["transfer_sum"] != 0) {
|
|
|
|
|
$result['transfer_sum'] = bcadd($result['transfer_sum'], $ret["vendor"]["transfer_sum"]);
|
|
|
|
|
$result['trippest_order_vendor_money'] = array_merge($result['trippest_order_vendor_money'], $this->money_model->trippest_order_with_vendormoney($vendor, $sourcetype, $start_date, $end_date));
|
|
|
|
|
$unique_sync_groupno[] = $sync['GCI_combineNo'];
|
|
|
|
|
$ret['sync']['price_sum'] = bcadd($ret['sync']['price_sum'], $sync['receive_price']);
|
|
|
|
|
$ret['sync']['cost_sum'] = bcadd($ret['sync']['cost_sum'], $sync['cost']);
|
|
|
|
|
// $ret['sync']['vendor_sum'] = bcadd(floatval($ret["sync"]['vendor_sum']), floatval($sync['agency_receive_price'])) ;
|
|
|
|
|
// $ret["sync"]['trippest_sum'] = bcadd(floatval($ret["sync"]['trippest_sum']), bcsub(floatval($sync['receive_price']),floatval($sync['agency_receive_price']))) ;
|
|
|
|
|
}
|
|
|
|
|
// 按照图兰朵算法: Trippest自营订单的代收算在海纳收款
|
|
|
|
|
// foreach ($opi_summoney as $kv => $opi_money_v) {
|
|
|
|
|
// if (strval($opi_money_v['COLI_OPI_ID']) === '435') {
|
|
|
|
|
// $ret["vendor"]['vendor_sum'] = bcadd(floatval($ret["vendor"]['vendor_sum']), floatval($opi_money_v['vendor_sum'])) ;
|
|
|
|
|
// } else {
|
|
|
|
|
// $ret["vendor"]['trippest_sum'] = bcadd(floatval($ret["vendor"]['trippest_sum']), floatval($opi_money_v['trippest_sum'])) ;
|
|
|
|
|
// $ret["vendor"]['trippest_sum'] = bcadd(floatval($ret["vendor"]['trippest_sum']), floatval($opi_money_v['vendor_sum'])) ;
|
|
|
|
|
// }
|
|
|
|
|
// $ret['vendor']['other_sum'] = bcadd($ret['vendor']['other_sum'], $opi_money_v['other_price_sum']);
|
|
|
|
|
// $ret['vendor']['other_sum_cost'] = bcadd($ret['vendor']['other_sum_cost'], $opi_money_v['other_cost_sum']);
|
|
|
|
|
// $ret["vendor"]['trippest_sum'] = bcsub($ret["vendor"]['trippest_sum'], $opi_money_v['other_price_sum']);
|
|
|
|
|
// $ret['vendor']['other_vendor_sum'] = bcadd($ret['vendor']['other_vendor_sum'], $opi_money['other_vendorprice_RMB_sum']);
|
|
|
|
|
// }
|
|
|
|
|
// $ret["vendor"]["transfer_sum"] = bcsub($ret["vendor"]['vendor_sum'], $ret["trippest"]['vendor_sum']);
|
|
|
|
|
// if ($ret["vendor"]["transfer_sum"] != 0) {
|
|
|
|
|
// $result['transfer_sum'] = bcadd($result['transfer_sum'], $ret["vendor"]["transfer_sum"]);
|
|
|
|
|
// $result['trippest_order_vendor_money'] = array_merge($result['trippest_order_vendor_money'], $this->money_model->trippest_order_with_vendormoney($vendor, $sourcetype, $start_date, $end_date));
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
$result["money"][strval($vendor)] = $ret;
|
|
|
|
|
$result["money"][strval($vendor)]["vendor_code"] = $vendor;
|
|
|
|
@ -145,11 +186,16 @@ class Vendor_money extends CI_Controller {
|
|
|
|
|
$result['col_sum']['trippest']['sum_vendor_sum'] = bcadd($result['col_sum']['trippest']['sum_vendor_sum'], $ret["trippest"]['vendor_sum']);
|
|
|
|
|
$result['col_sum']['trippest']['sum_other'] = bcadd($result['col_sum']['trippest']['sum_other'], $ret['trippest']['other_sum']);
|
|
|
|
|
|
|
|
|
|
$result['col_sum']['vendor']['sum_trippest_sum'] = bcadd(
|
|
|
|
|
bcadd($result['col_sum']['vendor']['sum_trippest_sum'], $ret["vendor"]['trippest_sum'])
|
|
|
|
|
,$ret['vendor']['other_sum']);
|
|
|
|
|
$result['col_sum']['vendor']['sum_vendor_sum'] = bcadd($result['col_sum']['vendor']['sum_vendor_sum'], $ret["vendor"]['vendor_sum']);
|
|
|
|
|
$result['col_sum']['vendor']['sum_other'] = bcadd($result['col_sum']['vendor']['sum_other'], $ret['vendor']['other_sum']);
|
|
|
|
|
$result['col_sum']['sync']['sum_price_sum'] = bcadd($result['col_sum']['sync']['sum_price_sum'], $ret["sync"]['price_sum']);
|
|
|
|
|
$result['col_sum']['sync']['sum_cost_sum'] = bcadd($result['col_sum']['sync']['sum_cost_sum'], $ret["sync"]['cost_sum']);
|
|
|
|
|
// $result['col_sum']['sync']['sum_trippest_sum'] = bcadd($result['col_sum']['sync']['sum_trippest_sum'], $ret["sync"]['trippest_sum']);
|
|
|
|
|
// $result['col_sum']['sync']['sum_vendor_sum'] = bcadd($result['col_sum']['sync']['sum_vendor_sum'],$ret['sync']['vendor_sum']);
|
|
|
|
|
|
|
|
|
|
// $result['col_sum']['vendor']['sum_trippest_sum'] = bcadd(
|
|
|
|
|
// bcadd($result['col_sum']['vendor']['sum_trippest_sum'], $ret["vendor"]['trippest_sum'])
|
|
|
|
|
// ,$ret['vendor']['other_sum']);
|
|
|
|
|
// $result['col_sum']['vendor']['sum_vendor_sum'] = bcadd($result['col_sum']['vendor']['sum_vendor_sum'], $ret["vendor"]['vendor_sum']);
|
|
|
|
|
// $result['col_sum']['vendor']['sum_other'] = bcadd($result['col_sum']['vendor']['sum_other'], $ret['vendor']['other_sum']);
|
|
|
|
|
}
|
|
|
|
|
/** 成本 */
|
|
|
|
|
$vendors_cost = $this->money_model->vendor_cost(implode(',', $vendors), $start_date, $end_date);
|
|
|
|
@ -171,29 +217,29 @@ class Vendor_money extends CI_Controller {
|
|
|
|
|
$vmi['trippest']['total_profit'] = bcsub(
|
|
|
|
|
bcadd(bcadd($vmi['trippest']['trippest_sum'], $vmi['trippest']['vendor_sum']),$vmi['trippest']['other_sum']),
|
|
|
|
|
bcadd(bcadd($vmi['trippest_cost'], $vmi['vendor_cost']),$vmi['trippest']['other_sum_cost']));
|
|
|
|
|
$vmi['vendor']['total_profit'] = bcsub(
|
|
|
|
|
bcadd(bcadd($vmi['vendor']['trippest_sum'], $vmi['vendor']['vendor_sum']),$vmi['vendor']['other_sum']),
|
|
|
|
|
bcadd(bcadd($vmi['trippest_cost'], $vmi['vendor_cost']),$vmi['vendor']['other_sum_cost']));
|
|
|
|
|
// $vmi['vendor']['total_profit'] = bcsub(
|
|
|
|
|
// bcadd(bcadd($vmi['vendor']['trippest_sum'], $vmi['vendor']['vendor_sum']),$vmi['vendor']['other_sum']),
|
|
|
|
|
// bcadd(bcadd($vmi['trippest_cost'], $vmi['vendor_cost']),$vmi['vendor']['other_sum_cost']));
|
|
|
|
|
/** 利润分成 */
|
|
|
|
|
$vmi['trippest']['vendor_profit'] = bcmul($vmi['trippest']['total_profit'], $vendor_sourcetype[strval($vmi['vendor_code'])]["profit_rate"]);
|
|
|
|
|
$vmi['trippest']['trippest_profit'] = bcmul($vmi['trippest']['total_profit'], bcsub(1, $vendor_sourcetype[strval($vmi['vendor_code'])]["profit_rate"]) );
|
|
|
|
|
$vmi['vendor']['vendor_profit'] = bcmul($vmi['vendor']['total_profit'], $vendor_sourcetype[strval($vmi['vendor_code'])]["profit_rate"]);
|
|
|
|
|
$vmi['vendor']['trippest_profit'] = bcmul($vmi['vendor']['total_profit'], bcsub(1, $vendor_sourcetype[strval($vmi['vendor_code'])]["profit_rate"]) );
|
|
|
|
|
// $vmi['vendor']['vendor_profit'] = bcmul($vmi['vendor']['total_profit'], $vendor_sourcetype[strval($vmi['vendor_code'])]["profit_rate"]);
|
|
|
|
|
// $vmi['vendor']['trippest_profit'] = bcmul($vmi['vendor']['total_profit'], bcsub(1, $vendor_sourcetype[strval($vmi['vendor_code'])]["profit_rate"]) );
|
|
|
|
|
/** Trippest应付地接 */
|
|
|
|
|
$vmi['trippest']['payout'] = bcsub(bcadd($vmi['vendor_cost'], $vmi['trippest']['vendor_profit'] ), $vmi['trippest']['vendor_sum']);
|
|
|
|
|
$vmi['vendor']['payout'] = bcsub(bcadd($vmi['vendor_cost'], $vmi['vendor']['vendor_profit'] ), $vmi['vendor']['vendor_sum']);
|
|
|
|
|
// $vmi['vendor']['payout'] = bcsub(bcadd($vmi['vendor_cost'], $vmi['vendor']['vendor_profit'] ), $vmi['vendor']['vendor_sum']);
|
|
|
|
|
|
|
|
|
|
/** 利润总计 */
|
|
|
|
|
$result['col_sum']['trippest']['sum_profit'] = bcadd($result['col_sum']['trippest']['sum_profit'], $vmi['trippest']['total_profit']);
|
|
|
|
|
$result['col_sum']['trippest']['sum_trippest_profit'] = bcadd($result['col_sum']['trippest']['sum_trippest_profit'], $vmi['trippest']['trippest_profit']);
|
|
|
|
|
$result['col_sum']['trippest']['sum_vendor_profit'] = bcadd($result['col_sum']['trippest']['sum_vendor_profit'], $vmi['trippest']['vendor_profit']);
|
|
|
|
|
|
|
|
|
|
$result['col_sum']['vendor']['sum_profit'] = bcadd($result['col_sum']['vendor']['sum_profit'], $vmi['vendor']['total_profit']);
|
|
|
|
|
$result['col_sum']['vendor']['sum_trippest_profit'] = bcadd($result['col_sum']['vendor']['sum_trippest_profit'], $vmi['vendor']['trippest_profit']);
|
|
|
|
|
$result['col_sum']['vendor']['sum_vendor_profit'] = bcadd($result['col_sum']['vendor']['sum_vendor_profit'], $vmi['vendor']['vendor_profit']);
|
|
|
|
|
// $result['col_sum']['vendor']['sum_profit'] = bcadd($result['col_sum']['vendor']['sum_profit'], $vmi['vendor']['total_profit']);
|
|
|
|
|
// $result['col_sum']['vendor']['sum_trippest_profit'] = bcadd($result['col_sum']['vendor']['sum_trippest_profit'], $vmi['vendor']['trippest_profit']);
|
|
|
|
|
// $result['col_sum']['vendor']['sum_vendor_profit'] = bcadd($result['col_sum']['vendor']['sum_vendor_profit'], $vmi['vendor']['vendor_profit']);
|
|
|
|
|
/** 应付总计 */
|
|
|
|
|
$result['col_sum']['trippest']['sum_payout'] = bcadd($result['col_sum']['trippest']['sum_payout'], $vmi['trippest']['payout']);
|
|
|
|
|
$result['col_sum']['vendor']['sum_payout'] = bcadd($result['col_sum']['vendor']['sum_payout'], $vmi['vendor']['payout']);
|
|
|
|
|
// $result['col_sum']['vendor']['sum_payout'] = bcadd($result['col_sum']['vendor']['sum_payout'], $vmi['vendor']['payout']);
|
|
|
|
|
}
|
|
|
|
|
$this->load->view('vendor_money_sum', $result);
|
|
|
|
|
return ;
|
|
|
|
@ -272,9 +318,9 @@ class Vendor_money extends CI_Controller {
|
|
|
|
|
return $this->settlement();
|
|
|
|
|
}
|
|
|
|
|
$start_date = $date_range_arr[0][0];
|
|
|
|
|
$end_date =$date_range_arr[0][1] . " 23:59:59";
|
|
|
|
|
$end_date =$date_range_arr[0][1] . " 23:59";
|
|
|
|
|
if ($end_date == null) {
|
|
|
|
|
$end_date = date("Y-m-d H:i:s", strtotime("+1 month", strtotime($start_date))-1);
|
|
|
|
|
$end_date = date("Y-m-d H:i", strtotime("+1 month", strtotime($start_date))-1);
|
|
|
|
|
}
|
|
|
|
|
$ret['default_date1'] = $start_date;
|
|
|
|
|
$ret['default_date2'] = $end_date;
|
|
|
|
@ -283,6 +329,8 @@ class Vendor_money extends CI_Controller {
|
|
|
|
|
$vendor_sourcetype = $this->trippest->vendor_sourcetype();
|
|
|
|
|
// price [Trippest receipts & agency receipts]
|
|
|
|
|
$ret['price_error'] = $this->money_model->get_precheck_price_error($start_date, $end_date, implode(',' ,$vendors));
|
|
|
|
|
// not found in GroupCombineInfo
|
|
|
|
|
$ret['not_found'] = $this->money_model->get_order_not_found_gci($start_date, $end_date, implode(',' ,$vendors));
|
|
|
|
|
// cost
|
|
|
|
|
$HT_combine_cost = $this->money_model->get_combine_cost($start_date, $end_date, implode(',' ,$vendors));
|
|
|
|
|
$cost_error = array();
|
|
|
|
|