You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
93 lines
4.1 KiB
PHTML
93 lines
4.1 KiB
PHTML
7 years ago
|
<?php
|
||
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
||
|
|
||
|
class Vendor_money extends CI_Controller {
|
||
|
|
||
|
public function __construct(){
|
||
|
parent::__construct();
|
||
|
$this->load->library('trippest');
|
||
|
$this->load->helper('array');
|
||
|
$this->load->model('Vendor_money_model', 'money_model');
|
||
|
mb_regex_encoding("UTF-8");
|
||
|
bcscale(4);
|
||
|
}
|
||
|
|
||
|
public function index()
|
||
|
{
|
||
|
}
|
||
|
|
||
|
public function settlement()
|
||
|
{
|
||
|
// $start_date = $this->input->post("start_date");
|
||
|
// $end_date = $this->input->post("end_date");
|
||
|
// if ($end_date == null) {
|
||
|
// $end_date = date("Y-m-d H:i:s", strtotime("+1 month", strtotime($start_date))-1);
|
||
|
// }
|
||
|
// $vendors = $this->input->post("vendors");
|
||
|
// test
|
||
|
$start_date = "2018-10-01";
|
||
|
$end_date = "2018-10-31 23:59:59";
|
||
|
$vendors = "1343,29188";
|
||
|
// end test
|
||
|
$vendor_sourcetype = $this->trippest->vendor_sourcetype();
|
||
|
$result = array(
|
||
|
"trippest_order_vendor_money" => array()
|
||
|
,"transfer_sum" => 0
|
||
|
);
|
||
|
/** 团款 */
|
||
|
foreach (explode(",", $vendors) as $key => $vendor) {
|
||
|
$sourcetype = $vendor_sourcetype[strval($vendor)]["sourcetype"];
|
||
|
$opi_summoney = $this->money_model->checked_group_list($vendor, $sourcetype, $start_date, $end_date);
|
||
|
$ret = array(
|
||
|
"trippest" =>
|
||
|
array(
|
||
|
"trippest_sum" => 0,
|
||
|
"vendor_sum" => 0
|
||
|
),
|
||
|
"vendor" =>
|
||
|
array(
|
||
|
"trippest_sum" => 0,
|
||
|
"vendor_sum" => 0,
|
||
|
"transfer_sum" => 0,
|
||
|
"trippest_order_vendor_money" => null
|
||
|
)
|
||
|
);
|
||
|
// 按照海纳的算法
|
||
|
foreach ($opi_summoney as $key => $opi_money) {
|
||
|
if (floatval($opi_money['vendor_sum']) > 0) {
|
||
|
$ret["trippest"]['vendor_sum'] = bcadd(floatval($ret["trippest"]['vendor_sum']), floatval($opi_money['vendor_sum'])) ;
|
||
|
}
|
||
|
if (floatval($opi_money['trippest_sum']) > 0) {
|
||
|
$ret["trippest"]['trippest_sum'] = bcadd(floatval($ret["trippest"]['trippest_sum']), floatval($opi_money['trippest_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'])) ;
|
||
|
}
|
||
|
}
|
||
|
$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;
|
||
|
$result["money"][strval($vendor)]["vendor_name"] = $vendor_sourcetype[strval($vendor)]["vendor_name"];
|
||
|
}
|
||
|
/** 成本 */
|
||
|
// return $this->output->set_content_type('application/json')->set_output(json_encode($result));
|
||
|
$this->load->view('vendor_money_sum', $result);
|
||
|
return ;
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
/* End of file vendor_money.php */
|
||
|
/* Location: ./third_party/trippestOrderSync/controllers/vendor_money.php */
|