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.
information-system/webht/third_party/trippestOrderSync/controllers/vendor_money.php

93 lines
4.1 KiB
PHTML

<?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 */