diff --git a/webht/third_party/pay/controllers/PaymentService.php b/webht/third_party/pay/controllers/PaymentService.php index 6ddc7030..bd2716ef 100644 --- a/webht/third_party/pay/controllers/PaymentService.php +++ b/webht/third_party/pay/controllers/PaymentService.php @@ -787,7 +787,6 @@ class PaymentService extends CI_Controller { $data['from_date_year'], $data['to_date_year'], $data['at_year'] ); - array_walk($data['data']['pay'], 'PaymentService::set_brandname'); $data['data']['refund'] = $this->note_model->total_by_method('refund', $data['from_date'], $data['to_date'], @@ -795,10 +794,10 @@ class PaymentService extends CI_Controller { $data['from_date_year'], $data['to_date_year'], $data['at_year'] ); + array_walk($data['data']['pay'], 'PaymentService::set_brandname'); array_walk($data['data']['refund'], 'PaymentService::set_brandname'); - - $data['data']['income'] = array(); bcscale(4); + $data['data']['income'] = array(); foreach ($data['data']['pay'] as $key => $pay) { $income_tmp = new stdClass(); foreach ($data['data']['refund'] as $key => $refund) { @@ -809,12 +808,12 @@ class PaymentService extends CI_Controller { $income_tmp->method_total_income_cmp = bcadd($pay->method_total_income_cmp, $refund->method_total_income_cmp); $income_tmp->year_method_total_income = bcadd($pay->year_method_total_income, $refund->year_method_total_income); $income_tmp->this_year_method_total_income = bcadd($pay->this_year_method_total_income, $refund->this_year_method_total_income); - $income_tmp->quarter_rate = $income_tmp->method_total_income_cmp==0 ? 0 : + $income_tmp->quarter_rate = $income_tmp->method_total_income_cmp==0 ? 100 : bcdiv( bcsub($income_tmp->method_total_income, $income_tmp->method_total_income_cmp), ($income_tmp->method_total_income_cmp) )*100; - $income_tmp->year_rate = $income_tmp->year_method_total_income==0 ? 0 : + $income_tmp->year_rate = $income_tmp->year_method_total_income==0 ? 100 : bcdiv( bcsub($income_tmp->method_total_income, $income_tmp->year_method_total_income), ($income_tmp->year_method_total_income) diff --git a/webht/third_party/pay/models/Online_payment_note_model.php b/webht/third_party/pay/models/Online_payment_note_model.php index 0c4b0d2f..f0f3b65f 100644 --- a/webht/third_party/pay/models/Online_payment_note_model.php +++ b/webht/third_party/pay/models/Online_payment_note_model.php @@ -281,27 +281,27 @@ class Online_payment_note_model extends CI_Model { OPN_entryAmountCNY , OPN_completeTime - SELECT OPN_accountMethod + SELECT isnull(cal.select_date_method,ISNULL(cal.last_method,ISNULL(cal.year_method, cal.this_year_method ))) as OPN_accountMethod ,method_total_income,method_total_income_cmp ,isnull(year_method_total_income,0) year_method_total_income ,this_year_method_total_income --,REPLACE(CONVERT(VARCHAR, CONVERT(MONEY, method_total_income), 1), '.00', '') method_total_income --,REPLACE(CONVERT(VARCHAR, CONVERT(MONEY, method_total_income_cmp), 1), '.00', '') method_total_income_cmp - ,CONVERT(decimal(10,2), + ,case when ISNULL( method_total_income_cmp,0)=0 then 100 else CONVERT(decimal(10,2), round( (method_total_income-method_total_income_cmp)/method_total_income_cmp*100 ,2 ) - ) AS quarter_rate + ) end AS quarter_rate --,REPLACE(CONVERT(VARCHAR, CONVERT(MONEY, isnull(year_method_total_income,0)), 1), '.00', '') year_method_total_income - ,CONVERT(decimal(10,2), + ,case when ISNULL( year_method_total_income,0)=0 then 100 else CONVERT(decimal(10,2), round( (method_total_income-year_method_total_income)/year_method_total_income*100 ,2 ) - ) AS year_rate + ) end AS year_rate --,REPLACE(CONVERT(VARCHAR, CONVERT(MONEY, this_year_method_total_income), 1), '.00', '') this_year_method_total_income FROM ( SELECT * FROM ( - SELECT OPN_accountMethod + SELECT OPN_accountMethod,OPN_accountMethod select_date_method ,SUM( ISNULL( CONVERT(decimal(10,2),OPN_entryAmountCNY), Tourmanager.dbo.GetSSJEFromSQJE( @@ -316,25 +316,7 @@ class Online_payment_note_model extends CI_Model { and OPN_noticeType=@type GROUP BY OPN_accountMethod ) AS method - INNER JOIN - ( - SELECT SUM( - [Tourmanager].[dbo].ZeroToOne( - ISNULL( CONVERT(decimal(10,2),OPN_entryAmountCNY), - Tourmanager.dbo.GetSSJEFromSQJE( - OPN_accountMethod, - REPLACE(OPN_currency, 'CNY', 'RMB'), - CONVERT(decimal(10,2),OPN_orderAmount) - ) - - ) - ) - ) AS total_income - FROM @unique_opn - WHERE OPN_completeTime BETWEEN @from_date AND @to_date - and OPN_noticeType=@type - ) AS total ON 1=1 - inner join ( + full join ( SELECT OPN_accountMethod last_method ,SUM( [Tourmanager].[dbo].ZeroToOne( @@ -353,7 +335,7 @@ class Online_payment_note_model extends CI_Model { and OPN_noticeType=@type GROUP BY OPN_accountMethod ) as cmp on method.OPN_accountMethod=cmp.last_method - left join ( + full join ( SELECT OPN_accountMethod year_method ,SUM( [Tourmanager].[dbo].ZeroToOne( @@ -372,7 +354,7 @@ class Online_payment_note_model extends CI_Model { and OPN_noticeType=@type GROUP BY OPN_accountMethod ) as year_cmp on method.OPN_accountMethod=year_cmp.year_method - left join ( + full join ( SELECT OPN_accountMethod this_year_method ,SUM( [Tourmanager].[dbo].ZeroToOne( diff --git a/webht/third_party/pay/views/income.php b/webht/third_party/pay/views/income.php index adbb039b..624da686 100644 --- a/webht/third_party/pay/views/income.php +++ b/webht/third_party/pay/views/income.php @@ -147,7 +147,19 @@
- $method) { ?> + $method) { + $sum_total_income += $method->method_total_income; + $sum_method_total_income_cmp += $method->method_total_income_cmp; + $sum_year_method_total_income += $method->year_method_total_income; + $sum_this_year_method_total_income += $method->this_year_method_total_income; + ?>