From 09ee6e0b1a13c3d23d89eb86913b079011e69bae Mon Sep 17 00:00:00 2001 From: lyt Date: Tue, 24 Mar 2020 23:26:02 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=9C=A8=E7=BA=BF=E6=94=AF=E4=BB=98?= =?UTF-8?q?=E6=B1=87=E6=80=BB=E5=A2=9E=E5=8A=A0=E5=90=88=E8=AE=A1=E8=AE=A1?= =?UTF-8?q?=E7=AE=97;=20=E4=BF=AE=E6=94=B9=E6=9F=A5=E8=AF=A2=E8=AE=A1?= =?UTF-8?q?=E7=AE=97=E9=81=BF=E5=85=8D=E8=AE=A1=E7=AE=97=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E7=BC=BA=E5=A4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pay/controllers/PaymentService.php | 9 +++-- .../pay/models/Online_payment_note_model.php | 36 +++++-------------- webht/third_party/pay/views/income.php | 36 +++++++++++++++++-- 3 files changed, 47 insertions(+), 34 deletions(-) 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; + ?> brand_name ?> method_total_income, 2, '.', ',') ?> @@ -157,7 +169,27 @@ year_rate, 2, '.', ',') . '%' ?> this_year_method_total_income, 2, '.', ',') ?> - + + + 合计 + + + + + + +