Merge branch 'feature/trippest'

mobile-first
lyt 6 years ago
commit cc74b5bacf

@ -36,24 +36,15 @@ class Vendor_money extends CI_Controller {
} }
$vendors = $this->input->post("vendors"); $vendors = $this->input->post("vendors");
$vendor_sourcetype = $this->trippest->vendor_sourcetype(); $vendor_sourcetype = $this->trippest->vendor_sourcetype();
// 不同地接社但是拼团号相同 $final_table = $this->money_model->checked_group_list(0, 0, $start_date, $end_date, implode(',', $vendors));
$actual_vendor_duplicate_combineno = $this->money_model->get_duplicate_vei_combineno($start_date, $end_date, implode(",", $vendors));
$duplicate_coli_sn = array_filter(array_column($actual_vendor_duplicate_combineno, 'COLI_SN'));
if ($download_vendor !== null) { if ($download_vendor !== null) {
$vendors = array($download_vendor); $vendors = array($download_vendor);
$sourcetype = $vendor_sourcetype[strval($download_vendor)]["sourcetype"]; $sourcetype = $vendor_sourcetype[strval($download_vendor)]["sourcetype"];
$vendor_name = $vendor_sourcetype[strval($download_vendor)]["vendor_name"]; $vendor_name = $vendor_sourcetype[strval($download_vendor)]["vendor_name"];
$vendor_data = $this->money_model->group_detail_list($download_vendor, $sourcetype, $start_date, $end_date, implode(',', $vendors), implode(',', $duplicate_coli_sn)); $vendor_data = array_filter($final_table, function ($row) use ($download_vendor)
foreach ($actual_vendor_duplicate_combineno as $kad => $vad) { {
if ($vad['vendor1'] == $download_vendor) { return $row['vendor']==$download_vendor;
$tmp['haina_income'] = $vad['trippest_sum']; });
$tmp['vendor_income'] = $vad['vendor_sum'];
$tmp['GRI_No'] = $vad['gri_no'];
$tmp['group_vendor_cost'] = $vad['report_cost'];
$vendor_data[] = $tmp;
$tmp = array();
}
}
$file_name = str_replace(" ", "_", $date_range) . "_" . $vendor_name; $file_name = str_replace(" ", "_", $date_range) . "_" . $vendor_name;
return $this->download_output($vendor_data, $file_name); return $this->download_output($vendor_data, $file_name);
} }
@ -78,17 +69,6 @@ class Vendor_money extends CI_Controller {
,"sum_payout" => 0 ,"sum_payout" => 0
,"sum_other" => 0 ,"sum_other" => 0
), ),
// "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( "sync" => array(
"sum_trippest_cost" => 0 "sum_trippest_cost" => 0
,"sum_vendor_cost" => 0 ,"sum_vendor_cost" => 0
@ -112,28 +92,21 @@ class Vendor_money extends CI_Controller {
$all_price_cost = $this->money_model->get_sync_price_cost($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(); $unique_sync_groupno = array();
$dumplicate_groupno = array(); $dumplicate_groupno = array();
/** 团款 */ /** 汇总计算 */
foreach ($vendors as $key => $vendor) { foreach ($vendors as $key => $vendor) {
$sourcetype = $vendor_sourcetype[strval($vendor)]["sourcetype"];
$opi_summoney = $this->money_model->checked_group_list($vendor, $sourcetype, $start_date, $end_date, implode(',', $vendors), implode(",", $duplicate_coli_sn));
$ret = array( $ret = array(
"trippest_cost" => 0,
"vendor_cost" => 0,
"trippest" => "trippest" =>
array( array(
"trippest_sum" => 0, "trippest_sum" => 0,
"vendor_sum" => 0, "vendor_sum" => 0,
"other_sum_cost" => 0, "other_sum_cost" => 0,
"other_sum" => 0, "other_sum" => 0,
"other_vendor_sum" => 0 "other_vendor_sum" => 0,
"trippest_cost" => 0,
"vendor_cost" => 0
), ),
// "vendor" =>
// array(
// "trippest_sum" => 0,
// "vendor_sum" => 0,
// "transfer_sum" => 0,
// "other_sum_cost" => 0,
// "other_sum" => 0,
// "other_vendor_sum" => 0
// ),
"sync" => "sync" =>
array( array(
"price_sum" => 0, "price_sum" => 0,
@ -146,24 +119,19 @@ class Vendor_money extends CI_Controller {
"other_vendor_sum" => 0 "other_vendor_sum" => 0
) )
); );
foreach ($actual_vendor_duplicate_combineno as $kad => $vad) { foreach ($final_table as $line => $row) {
if ($vad['vendor1'] == $vendor) { if ($row['vendor'] == $vendor) {
$opi_summoney[] = $vad; $ret['trippest']['trippest_sum'] = bcadd($ret['trippest']['trippest_sum'], $row['haina_receipt']);
} $ret['trippest']['vendor_sum'] = bcadd($ret['trippest']['vendor_sum'], $row['vendor_receipt']);
} $ret['trippest']['vendor_cost'] = bcadd($ret['trippest']['vendor_cost'], $row['group_vendor_cost']);
// 按照海纳的算法 $ret['trippest']['other_sum'] = bcadd($ret['trippest']['other_sum'], $row['other_price_RMB']);
foreach ($opi_summoney as $key => $opi_money) { $ret['trippest']['other_sum_cost'] = bcadd($ret['trippest']['other_sum_cost'], $row['other_cost_RMB']);
if (floatval($opi_money['vendor_sum']) > 0) { $ret['trippest']['other_vendor_sum'] = bcadd($ret['trippest']['other_vendor_sum'], $row['other_vendorprice_RMB']);
$ret["trippest"]['vendor_sum'] = bcadd(floatval($ret["trippest"]['vendor_sum']), floatval($opi_money['vendor_sum'])) ;
} $ret['vendor_cost'] = bcadd($ret['vendor_cost'], $row['group_vendor_cost']);
if (floatval($opi_money['trippest_sum']) > 0) {
$ret["trippest"]['trippest_sum'] = bcadd(floatval($ret["trippest"]['trippest_sum']), floatval($opi_money['trippest_sum'])) ;
} }
$ret['trippest']['other_sum'] = bcadd($ret['trippest']['other_sum'], $opi_money['other_price_sum']);
$ret['trippest']['other_sum_cost'] = bcadd($ret['trippest']['other_sum_cost'], $opi_money['other_cost_sum']);
$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']);
} }
/** 计算同步的数据 */
foreach ($all_price_cost as $ks => $sync) { foreach ($all_price_cost as $ks => $sync) {
if ($sync['vendor_code'] != $vendor ) { if ($sync['vendor_code'] != $vendor ) {
continue; continue;
@ -175,28 +143,7 @@ class Vendor_money extends CI_Controller {
$unique_sync_groupno[] = $sync['GCI_combineNo']; $unique_sync_groupno[] = $sync['GCI_combineNo'];
$ret['sync']['price_sum'] = bcadd($ret['sync']['price_sum'], $sync['receive_price']); $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']['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)] = $ret;
$result["money"][strval($vendor)]["vendor_code"] = $vendor; $result["money"][strval($vendor)]["vendor_code"] = $vendor;
$result["money"][strval($vendor)]["vendor_name"] = $vendor_sourcetype[strval($vendor)]["vendor_name"]; $result["money"][strval($vendor)]["vendor_name"] = $vendor_sourcetype[strval($vendor)]["vendor_name"];
@ -209,69 +156,37 @@ class Vendor_money extends CI_Controller {
$result['col_sum']['sync']['sum_price_sum'] = bcadd($result['col_sum']['sync']['sum_price_sum'], $ret["sync"]['price_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_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);
foreach ($result['money'] as $km => &$vm) {
$vm['vendor_cost'] = $vm['trippest_cost'] = 0;
foreach ($vendors_cost as $kvc => $vvc) {
if (strval($vm['vendor_code']) === strval($vvc['vendor_code'])) {
$vm['vendor_cost'] = $vvc['vendor_cost'];
}
}
foreach ($actual_vendor_duplicate_combineno as $kdc => $vdc) {
if (strval($vm['vendor_code']) === strval($vdc['vendor1'])) {
$vm['vendor_cost'] += $vdc['pure_cost'];
}
}
// 成本总计 // 成本总计
$result['col_sum']['trippest']['sum_trippest_cost'] = $result['col_sum']['vendor']['sum_trippest_cost'] = bcadd($result['col_sum']['trippest']['sum_trippest_cost'], $vm['trippest_cost']); $result['col_sum']['trippest']['sum_trippest_cost'] = $result['col_sum']['vendor']['sum_trippest_cost'] = bcadd($result['col_sum']['trippest']['sum_trippest_cost'], $ret['trippest_cost']);
$result['col_sum']['trippest']['sum_vendor_cost'] = $result['col_sum']['vendor']['sum_vendor_cost'] = bcadd( $result['col_sum']['trippest']['sum_vendor_cost'] = $result['col_sum']['vendor']['sum_vendor_cost'] = bcadd(
bcadd($result['col_sum']['trippest']['sum_vendor_cost'], $vm['vendor_cost']) bcadd($result['col_sum']['trippest']['sum_vendor_cost'], $ret['vendor_cost'])
,$vm['trippest']['other_sum_cost']); ,$ret['trippest']['other_sum_cost']);
} }
foreach ($result['money'] as $kmi => &$vmi) { foreach ($result['money'] as $kmi => &$vmi) {
/** 利润 */ /** 利润 */
$vmi['trippest']['total_profit'] = bcsub( $vmi['trippest']['total_profit'] = bcsub(
bcadd(bcadd($vmi['trippest']['trippest_sum'], $vmi['trippest']['vendor_sum']),$vmi['trippest']['other_sum']), 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'])); 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['trippest']['vendor_profit'] = bcmul($vmi['trippest']['total_profit'], $vendor_sourcetype[strval($vmi['vendor_code'])]["profit_rate"]); $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['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"]) );
/** Trippest应付地接 */ /** Trippest应付地接 */
$vmi['trippest']['payout'] = bcsub(bcadd($vmi['vendor_cost'], $vmi['trippest']['vendor_profit'] ), $vmi['trippest']['vendor_sum']); $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']);
/** 利润总计 */ /** 利润总计 */
$result['col_sum']['trippest']['sum_profit'] = bcadd($result['col_sum']['trippest']['sum_profit'], $vmi['trippest']['total_profit']); $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_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']['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']['trippest']['sum_payout'] = bcadd($result['col_sum']['trippest']['sum_payout'], $vmi['trippest']['payout']); $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['diff_cost'] = $this->money_model->report_tour_diff($start_date, $end_date, implode(',', $vendors)); $result['diff_cost'] = $this->money_model->report_tour_diff($start_date, $end_date, implode(',', $vendors));
$this->load->view('vendor_money_sum', $result); return $this->load->view('vendor_money_sum', $result);
return ; // return $this->output->set_content_type('application/json')->set_output(json_encode($result));
;
} }
public function download_output($export_list, $file_name) public function download_output($export_list, $file_name)
@ -310,11 +225,11 @@ class Vendor_money extends CI_Controller {
->SetCellValue('A'.$rowCount, ($rowCount-1)) ->SetCellValue('A'.$rowCount, ($rowCount-1))
// ->SetCellValue('A'.$rowCount, $row->pn_sn) // ->SetCellValue('A'.$rowCount, $row->pn_sn)
->setCellValueExplicit('B'.$rowCount, $row['GRI_No'],PHPExcel_Cell_DataType::TYPE_STRING) ->setCellValueExplicit('B'.$rowCount, $row['GRI_No'],PHPExcel_Cell_DataType::TYPE_STRING)
->setCellValue('C'.$rowCount, number_format($row['haina_income'], 2, ".", "")) ->setCellValue('C'.$rowCount, number_format($row['haina_receipt'], 2, ".", ""))
->setCellValue('D'.$rowCount, number_format($row['vendor_income'], 2, ".", "")) ->setCellValue('D'.$rowCount, number_format($row['vendor_receipt'], 2, ".", ""))
->SetCellValue('E'.$rowCount, 0) ->SetCellValue('E'.$rowCount, 0)
->SetCellValue('F'.$rowCount, $row['group_vendor_cost']) ->SetCellValue('F'.$rowCount, $row['group_vendor_cost'])
->setCellValue('G'.$rowCount, bcsub(bcadd($row['vendor_income'],$row['haina_income']),$row['group_vendor_cost'])) ->setCellValue('G'.$rowCount, bcsub(bcadd($row['vendor_receipt'],$row['haina_receipt']),$row['group_vendor_cost']))
; ;
$rowCount++; $rowCount++;
} }

@ -12,21 +12,25 @@ class Vendor_money_model extends CI_Model {
bcscale(4); bcscale(4);
} }
public function checked_group_list($vendor, $sourcetype, $start_date, $end_date, $all_vendor, $duplicate_gri) public function checked_group_list($vendor, $sourcetype, $start_date, $end_date, $all_vendor)
{ {
$duplicate_gri = $duplicate_gri==='' ? 0 : $duplicate_gri; /*
$sql = "SELECT sum_opi.COLI_OPI_ID,sum(sum_opi.海纳收款) as trippest_sum,sum(sum_opi.地接社收款) as vendor_sum, SELECT sum_opi.COLI_OPI_ID,sum(sum_opi.海纳收款) as trippest_sum,sum(sum_opi.地接社收款) as vendor_sum,
sum(sum_opi.other_price_RMB) as other_price_sum sum(sum_opi.other_price_RMB) as other_price_sum
, sum(sum_opi.other_cost_RMB) as other_cost_sum , sum(sum_opi.other_cost_RMB) as other_cost_sum
,sum(sum_opi.other_vendorprice_RMB) as other_vendorprice_RMB_sum ,sum(sum_opi.other_vendorprice_RMB) as other_vendorprice_RMB_sum
from ( from (
SELECT ) as sum_opi
group by sum_opi.COLI_OPI_ID
order by case sum_opi.COLI_OPI_ID when '435' then 0 else 1 end
*/
$sql = "SELECT
(select isnull(SUM(COLD_TotalPrice),0) from BIZ_ConfirmLineDetail cold (select isnull(SUM(COLD_TotalPrice),0) from BIZ_ConfirmLineDetail cold
where cold.COLD_COLI_SN=cgi_group.COLI_SN where cold.COLD_COLI_SN=cgi_group.COLI_SN
and COLD_ServiceType <> 'D' and COLD_ServiceType <> 'D'
and COLD_PlanVEI_SN IN ($all_vendor) and COLD_PlanVEI_SN IN ($all_vendor)
and cold.DeleteFlag=0 and cold.DeleteFlag=0
)*cgi_group.汇率 as other_price_RMB, )*cgi_group.gai_rate as other_price_RMB,
(select isnull(SUM(COLD_TotalCost),0) from BIZ_ConfirmLineDetail cold (select isnull(SUM(COLD_TotalCost),0) from BIZ_ConfirmLineDetail cold
where cold.COLD_COLI_SN=cgi_group.COLI_SN where cold.COLD_COLI_SN=cgi_group.COLI_SN
and COLD_ServiceType <> 'D' and COLD_ServiceType <> 'D'
@ -35,13 +39,20 @@ class Vendor_money_model extends CI_Model {
) as other_cost_RMB, ) as other_cost_RMB,
(dbo.ConvertToRMB('USD',other_vendor_price)) as other_vendorprice_RMB, (dbo.ConvertToRMB('USD',other_vendor_price)) as other_vendorprice_RMB,
case when other_vendor_price > 0 then case when other_vendor_price > 0 then
(总收款-dbo.ConvertToRMB('USD',other_vendor_price)) (order_total_receipt-dbo.ConvertToRMB('USD',other_vendor_price))
else 海纳收款_origin end else ht_origin end
as 海纳收款, as haina_receipt,
* *
,(select ROUND(SUM(isnull(tourcost,0)),4)
from report_tour where ordernumber=COLI_ID
and exists (
select 1 from BIZ_ConfirmLineDetail where COLD_SN=RPT_COLD_SN
--and COLD_PlanVEI_SN=vendor
)
) as group_vendor_cost
from ( from (
select select
COLI_SN, COLI_SN,COLI_ID,GRI_No,
(select COUNT(0) from BIZ_ConfirmLineDetail (select COUNT(0) from BIZ_ConfirmLineDetail
where COLD_COLI_SN=COLI_SN where COLD_COLI_SN=COLI_SN
and COLD_ServiceType='D' and COLD_ServiceType='D'
@ -51,7 +62,7 @@ class Vendor_money_model extends CI_Model {
where COLD_COLI_SN=COLI_SN where COLD_COLI_SN=COLI_SN
--and COLD_ServiceType='D' --and COLD_ServiceType='D'
and DeleteFlag=0 and DeleteFlag=0
and COLD_PlanVEI_SN<>$vendor --and COLD_PlanVEI_SN<>$vendor
and COLD_PlanVEI_SN not in ($all_vendor) and COLD_PlanVEI_SN not in ($all_vendor)
) as other_vendor_price, ) as other_vendor_price,
COLI.COLI_sourcetype, COLI.COLI_sourcetype,
@ -61,21 +72,24 @@ class Vendor_money_model extends CI_Model {
convert(decimal(10,2),round((select isnull(SUM(GAI_SSJE),0) from BIZ_GroupAccountInfo convert(decimal(10,2),round((select isnull(SUM(GAI_SSJE),0) from BIZ_GroupAccountInfo
where DeleteFlag=0 and GAI_COLI_SN=COLI_SN where DeleteFlag=0 and GAI_COLI_SN=COLI_SN
)/isnull(COLI.COLI_Price,1),2)) )/isnull(COLI.COLI_Price,1),2))
else 0 end as 汇率, else 0 end as gai_rate,
(select isnull(SUM(GAI_SSJE),0) from BIZ_GroupAccountInfo (select isnull(SUM(GAI_SSJE),0) from BIZ_GroupAccountInfo
where DeleteFlag=0 and GAI_COLI_SN=COLI_SN where DeleteFlag=0 and GAI_COLI_SN=COLI_SN
) as 总收款, ) as order_total_receipt,
(select isnull(SUM(GAI_SSJE),0) from BIZ_GroupAccountInfo (select isnull(SUM(GAI_SSJE),0) from BIZ_GroupAccountInfo
where DeleteFlag=0 and GAI_COLI_SN=COLI_SN where DeleteFlag=0 and GAI_COLI_SN=COLI_SN
and GAI_Type not in (" . PAY_OTHER . ") and GAI_Type not in (" . PAY_OTHER . ")
) as 海纳收款_origin, ) as ht_origin,
(select isnull(SUM(GAI_SSJE),0) from BIZ_GroupAccountInfo (select isnull(SUM(GAI_SSJE),0) from BIZ_GroupAccountInfo
where DeleteFlag=0 and GAI_COLI_SN=COLI_SN where DeleteFlag=0 and GAI_COLI_SN=COLI_SN
and GAI_VEI_SN in ($vendor, 1343) and GAI_VEI_SN in ($all_vendor)
and GAI_Type in (" . PAY_OTHER . ") and GAI_Type in (" . PAY_OTHER . ")
) as 地接社收款 ) as vendor_receipt
,coli.COLI_OPI_ID ,coli.COLI_OPI_ID
,(
select top 1 v.COLD_PlanVEI_SN from BIZ_ConfirmLineDetail v where COLD_COLI_SN=COLI_SN
and v.DeleteFlag=0 and COLD_PlanVEI_SN in ($all_vendor)
) as vendor
from CK_GroupInfo cgi from CK_GroupInfo cgi
inner join GRoupInfo gri on CGI_GRI_SN=GRI_SN inner join GRoupInfo gri on CGI_GRI_SN=GRI_SN
inner join BIZ_ConfirmLineInfo coli on COLI_GRI_SN=GRI_SN inner join BIZ_ConfirmLineInfo coli on COLI_GRI_SN=GRI_SN
@ -86,17 +100,17 @@ class Vendor_money_model extends CI_Model {
) )
and CGI_Checked=1 and CGI_Checked=1
and GRI_OrderType=227002 and GRI_OrderType=227002
and COLI_SN not in ($duplicate_gri) and COLI_State<>50
and exists ( and exists (
select 1 from BIZ_ConfirmLineDetail where COLD_COLI_SN=coli.COLI_SN select 1 from BIZ_ConfirmLineDetail where COLD_COLI_SN=coli.COLI_SN
and DeleteFlag=0 and DeleteFlag=0
and COLD_PlanVEI_SN=$vendor and COLD_PlanVEI_SN in ($all_vendor)
) )
-- and COLI_sourcetype=$sourcetype
) as cgi_group ) as cgi_group";
) as sum_opi // -- and COLI_SN not in ($duplicate_gri)
group by sum_opi.COLI_OPI_ID // -- and COLI_sourcetype=$sourcetype
order by case sum_opi.COLI_OPI_ID when '435' then 0 else 1 end ";
$query = $this->HT->query($sql); $query = $this->HT->query($sql);
$opi_sum_money = $query->result_array(); $opi_sum_money = $query->result_array();
return $opi_sum_money; return $opi_sum_money;
@ -232,9 +246,8 @@ class Vendor_money_model extends CI_Model {
return $query->result_array(); return $query->result_array();
} }
public function group_detail_list($vendor, $sourcetype, $start_date, $end_date, $all_vendor, $duplicate_gri) public function group_detail_list($vendor, $sourcetype, $start_date, $end_date, $all_vendor)
{ {
$duplicate_gri = $duplicate_gri==='' ? 0 : $duplicate_gri;
$sql = "SELECT $sql = "SELECT
(dbo.ConvertToRMB('USD',other_vendor_price)) as other_vendorprice_RMB, (dbo.ConvertToRMB('USD',other_vendor_price)) as other_vendorprice_RMB,
case when other_vendor_price > 0 then case when other_vendor_price > 0 then
@ -299,14 +312,16 @@ class Vendor_money_model extends CI_Model {
) )
and CGI_Checked=1 and CGI_Checked=1
and GRI_OrderType=227002 and GRI_OrderType=227002
and COLI_SN not in ($duplicate_gri)
and exists ( and exists (
select 1 from BIZ_ConfirmLineDetail where COLD_COLI_SN=coli.COLI_SN select 1 from BIZ_ConfirmLineDetail where COLD_COLI_SN=coli.COLI_SN
and DeleteFlag=0 and DeleteFlag=0
and COLD_PlanVEI_SN=$vendor and COLD_PlanVEI_SN=$vendor
) )
-- and COLI_sourcetype=$sourcetype
) as cgi_group"; ) as cgi_group";
// and COLI_SN not in ($duplicate_gri)
// -- and COLI_sourcetype=$sourcetype
$query = $this->HT->query($sql); $query = $this->HT->query($sql);
return $query->result_array(); return $query->result_array();
} }
@ -515,60 +530,70 @@ class Vendor_money_model extends CI_Model {
public function get_duplicate_vei_combineno($start_date, $end_date, $all_vendor) public function get_duplicate_vei_combineno($start_date, $end_date, $all_vendor)
{ {
$sql = "SELECT pure_group.* $sql = "SELECT
,(select isnull(SUM(GAI_SSJE),0) from BIZ_GroupAccountInfo duplicate_gri.*
where DeleteFlag=0 and GAI_GRI_SN=COLI_SN
and GAI_VEI_SN in ($all_vendor)
and GAI_Type in (" . PAY_OTHER . ")
) as vendor_sum
,(select isnull(SUM(GAI_SSJE),0) from BIZ_GroupAccountInfo
where DeleteFlag=0 and GAI_COLI_SN=COLI_SN
) as total_receipt
,(select isnull(SUM(GAI_SSJE),0) from BIZ_GroupAccountInfo
where DeleteFlag=0 and GAI_COLI_SN=COLI_SN
and GAI_Type not in (" . PAY_OTHER . ")
) as trippest_sum
,( ,(
select SUM(tourcost) SELECT isnull(SUM(GAI_SSJE),0)
from BIZ_ConfirmLineInfo FROM BIZ_GroupAccountInfo
inner join GroupCombineInfo on COLI_GRI_SN=GCI_GRI_SN WHERE DeleteFlag=0
inner join report_tour on ordernumber=COLI_ID AND GAI_GRI_SN=COLI_SN
where 1=1 AND GAI_VEI_SN IN ($all_vendor)
and GCI_VEI_SN in ($all_vendor) AND GAI_Type IN (" . PAY_OTHER . ")
and GCI_combineNo=pure_group.GCI_combineNo ) AS vendor_sum
and exists ( ,(
select 1 from VEndorInfo2 where VEI2_LGC=2 SELECT isnull(SUM(GAI_SSJE),0)
and VEI2_VEI_SN=GCI_VEI_SN and VEI2_CompanyBN=tourProvide FROM BIZ_GroupAccountInfo
) WHERE DeleteFlag=0
) as report_cost AND GAI_COLI_SN=COLI_SN ) AS total_receipt
,0 as other_price_sum,0 as other_cost_sum,0 as other_vendorprice_RMB_sum ,(
from (SELECT GCI_combineNo SELECT isnull(SUM(GAI_SSJE),0)
,(select top 1 GCI_VEI_SN from groupcombineinfo g1 where g1.gci_combineno=vendor_group.GCI_combineNo) as vendor1 FROM BIZ_GroupAccountInfo
,(select top 1 c.COLI_SN from groupcombineinfo g1 WHERE DeleteFlag=0
inner join BIZ_ConfirmLineInfo c on COLI_GRI_SN=GCI_GRI_SN AND GAI_COLI_SN=COLI_SN
where g1.gci_combineno=vendor_group.GCI_combineNo AND GAI_Type not IN (" . PAY_OTHER . ") ) AS trippest_sum
) as COLI_SN ,0 AS other_price_sum
,(select top 1 GRI_No from groupInfo inner join groupcombineinfo gc on gc.GCI_GRI_SN=GRI_SN where gc.gci_combineno=vendor_group.GCI_combineNo) as gri_no ,0 AS other_cost_sum
,(SELECT isnull(SUM(CONVERT(float, isnull(gcod.GCOD_sumMoney,0))),0) ,0 AS other_vendorprice_RMB_sum
FROM GroupCombineOperationDetail gcod from(
WHERE gcod.GCOD_GCI_combineNo=GCI_combineNo select tmp.GCI_combineNo, tmp.GCI_SN, tmp.GCI_VEI_SN vendor1,real_unique.*
AND gcod.GCOD_operationType<> 'otherReceives' ,(SELECT top 1 c.COLI_SN FROM BIZ_ConfirmLineInfo c WHERE c.coli_gri_sn=real_unique.gci_gri_sn) as COLI_SN
) as pure_cost ,(SELECT top 1 GRI_No FROM groupInfo where gri_sn=real_unique.gci_gri_sn) as gri_no
from ( ,(
select GCI_combineNo ,GCI_VEI_SN SELECT SUM(tourcost)
from GroupCombineInfo where 1=1 FROM BIZ_ConfirmLineInfo
and GCI_VEI_SN in ($all_vendor) INNER JOIN GroupCombineInfo
AND EXISTS ON COLI_GRI_SN=GCI_GRI_SN
( SELECT 1 INNER JOIN report_tour
FROM CK_GroupInfo ON ordernumber=COLI_ID
WHERE CGI_Checked=1 WHERE 1=1
AND CGI_GRI_SN=GCI_GRI_SN AND GCI_VEI_SN IN ($all_vendor)
AND CGI_ArriveDate BETWEEN '$start_date' AND '$end_date') and GCI_GRI_SN=tmp.GCI_GRI_SN
group by GCI_combineNo, GCI_VEI_SN AND exists (
) as vendor_group SELECT 1
group by vendor_group.GCI_combineNo FROM VEndorInfo2
having COUNT(1)>1 WHERE VEI2_LGC=2
) as pure_group"; AND VEI2_VEI_SN=GCI_VEI_SN
AND VEI2_CompanyBN=tourProvide )
) AS report_cost
,(
SELECT isnull(SUM(CONVERT(float,isnull(gcod.GCOD_sumMoney,0))),0)
FROM GroupCombineOperationDetail gcod
WHERE gcod.GCOD_GCI_combineNo=tmp.GCI_combineNo
AND gcod.GCOD_operationType<> 'otherReceives' ) AS pure_cost
from GroupCombineInfo tmp
inner join (
select GCI_GRI_SN
from GroupCombineInfo unique_gci
where GCI_travelDate between '$start_date' AND '$end_date'
and isnull(GCI_combineNo,'') not in ('','cancel','forbidden')
and isnull(convert(decimal(10,2), GCI_priceCNY),0)>0
group by GCI_GRI_SN
having count(GCI_GRI_SN)>1
) as real_unique on real_unique.GCI_GRI_SN=tmp.GCI_GRI_SN
where isnull(tmp.GCI_combineNo,'') not in ('','cancel','forbidden')
) as duplicate_gri
order by duplicate_gri.COLI_SN
";
$query = $this->HT->query($sql); $query = $this->HT->query($sql);
return $query->result_array(); return $query->result_array();
} }

Loading…
Cancel
Save