ShuanghongS 1 год назад
Родитель
Сommit
9293a97695
3 измененных файлов с 51 добавлено и 11 удалено
  1. 4 0
      main_new_version.php
  2. 18 3
      service/ocean_order.class.php
  3. 29 8
      utils/common.class.php

+ 4 - 0
main_new_version.php

@@ -635,6 +635,10 @@ switch ($action) {
                 $rangePoint[] = $line;
             }
         }
+        //如果没有虚线,这这个范围点也是异常的,不需要显示
+        if(empty($dottedLine)){
+            $rangePoint = array();
+        }
         $data = array("point"=>$rss,"solidLine"=>$solidLine,"dottedLine"=>$dottedLine,"rangePoint"=>$rangePoint);
         common::echo_json_encode(200, $data);
         //common::echo_json_encode(200, $rss);

+ 18 - 3
service/ocean_order.class.php

@@ -875,6 +875,18 @@ class ocean_order {
     }
 
     private function _revenue_download(){
+        $r2_cloumn = array();
+        $r2_cloumn[] = array("title" => "Month","dataIndex"=>"month");
+        $r2_cloumn[] = array("title" => "Currency","dataIndex"=>"currency");
+        $r2_cloumn[] = array("title" => "Total Amount","dataIndex"=>"invoice_amount");
+
+        $r3_cloumn = array();
+        $r3_cloumn[] = array("title" => "Invoice Issue Date","dataIndex"=>"invoice_date");
+        $r3_cloumn[] = array("title" => "Invoice Number","dataIndex"=>"invoice_no");
+        $r3_cloumn[] = array("title" => "HBL Number","dataIndex"=>"h_bol");
+        $r3_cloumn[] = array("title" => "Amount","dataIndex"=>"ivnoice_amount");
+        $r3_cloumn[] = array("title" => "Currency","dataIndex"=>"currency");
+
         $date_from = null;
         $date_to = null;
         if (isset($_REQUEST['date_start']) && !empty($_REQUEST['date_start'])){
@@ -883,17 +895,20 @@ class ocean_order {
         }
         if (isset($_REQUEST['date_end']) && !empty($_REQUEST['date_end'])){
             $date_end = common::dateFormatToYM($_REQUEST['date_end']);
-            $date_to = date('Y-m-t', strtotime("$date_end-01"));
+            $date_to = date('Y-m-t', strtotime($date_end."-01"));
         }
         $param = '{"user_login":"'._getLoginName().'","report_type":"ALL","date_from":"'.$date_from.'","date_to":"'.$date_to.'"}';
-        
+
         $sql = "SELECT * FROM get_customer_revenue_report('$param');FETCH ALL FROM r2;";
+        //$sql = "select * from _test_data_table";
         $r2_data = common::excuteListSql($sql);
 
         $sql = "SELECT * FROM get_customer_revenue_report('$param');FETCH ALL FROM r3;";
+        //$sql = "select * from _test_data_table_two";
         $r3_data = common::excuteListSql($sql);
        
-        common::echo_json_encode(200,array("msg"=>"success","r2" => $r2_data,"r3"=>$r3_data));
+        common::echo_json_encode(200,array("msg"=>"success","r2" => $r2_data,"r3"=>$r3_data,"r2_cloumn" => $r2_cloumn,"r3_cloumn" => $r3_cloumn,
+           "r2_title"=>"Monthly Summary Data","r3_title"=>"Invoice Detailed Data"));
         exit;
     }
     

+ 29 - 8
utils/common.class.php

@@ -1557,11 +1557,13 @@ class common {
         }
         if (isset($_REQUEST['date_end']) && !empty($_REQUEST['date_end'])){
             $date_end = common::dateFormatToYM($_REQUEST['date_end']);
-            $date_to = date('Y-m-t', strtotime("$date_end-01"));
+            $date_to = date('Y-m-t', strtotime($date_end."-01"));
         }
         $param = '{"user_login":"'._getLoginName().'","report_type":"ALL","date_from":"'.$date_from.'","date_to":"'.$date_to.'"}';
         $sql = "SELECT * FROM get_customer_revenue_report('$param');FETCH ALL FROM r2;";
+        error_log("Revenue_sql:".$sql);
         $r2_data = common::excuteListSql($sql);
+        //$r2_data = common::excuteListSql("select * from _test_data_table");
 
         $barList = array();
         $groupedItems = array();
@@ -1572,6 +1574,15 @@ class common {
             $groupedItems[$item['currency']][] = $item;
         }
 
+        //补齐所有货币的月份
+        foreach($groupedItems as $ckey =>$cvalueArr){
+            $currency = array();
+            foreach($barList as $month){
+                $currency[] = common::findCurrencyByMonth($month,$ckey,$cvalueArr);
+            }
+            $groupedItems[$ckey] = $currency;
+        }
+
         //处理barSeries
         $barSeries = array();
         //先准备4种颜色
@@ -1591,12 +1602,13 @@ class common {
             $data = array();
             $total = 0;
             foreach($series as $_series){
-                $data[]=$_series['total_amount'];
-                $total = $total + $_series['total_amount'];
-                $max = $max<$_series['total_amount'] ? $_series['total_amount'] : $max;
+                $invoice_amount = empty($_series['invoice_amount'])? 0 : round($_series['invoice_amount'], 4);
+                $data[]=$invoice_amount;
+                $total = $total + $invoice_amount;
+                $max = $max<$_series['invoice_amount'] ? $_series['invoice_amount'] : $max;
             }
-            $tem_series["label"] = $data;
-            $tem_series["total"] = $total;
+            $tem_series["data"] = $data;
+            $tem_series["total"] = floatval(number_format($total, 4, '.', ''));
             $barSeries[] = $tem_series;
         }
 
@@ -1607,12 +1619,21 @@ class common {
             $interval = 2;
         }
 
-        $revenueBarData = array("bar_title" =>"Total: 0","barList" => $barList,
+        $revenueBarData = array("bar_title" =>"Total:","barList" => $barList,
             "barSeries" =>$barSeries,"download_name"=>"Rvenue","isShowTooltips"=>true,"Max" =>$interval*5,"interval" =>$interval);
-
         return $revenueBarData;  
     }
 
+    public static function findCurrencyByMonth($month,$ckey,$cvalueArr){
+        $data = array("month" =>$month,"currency"=>$ckey,"invoice_amount"=>0,"sort_month"=>"");
+        foreach($cvalueArr as $realmonth){
+            if($realmonth['month'] == $month){
+                $data = $realmonth;
+            }
+        }
+        return $data;
+    }
+
     public static function getdefaultManagement(){
         $Management = array();
         $Management[] = array("id"=>1 ,