ShuanghongS 7 months ago
parent
commit
0ec0d4279d
3 changed files with 31 additions and 3 deletions
  1. 7 2
      main_new_version.php
  2. 11 1
      utils/common.class.php
  3. 13 0
      utils/utils.class.php

+ 7 - 2
main_new_version.php

@@ -248,7 +248,7 @@ switch ($action) {
         // $list = common::excuteListSql("select * from public.online_order_status_date_kln_kpi('$type'::text,'$sqlWhere'::text) "
         //         . "r (c bigint, d text)");
         $sql = "select * from public.online_order_status_date_kln_kpi('$type'::text,'$sqlWhere'::text) "
-                . "r (c bigint, d text)";            
+                . "r (c bigint, d text)";                         
         $list =  $mapdb->GetAll($sql) or ( (!$mapdb->ErrorMsg()) or error_log(common::dbLog($mapdb, $sql), 0));              
     
         $key = "[";
@@ -282,6 +282,11 @@ switch ($action) {
             }
             $ETDList[] = array("value" =>intval($arr['value']),"name" =>$arr['name'],"itemStyle" =>array("color" =>$color));
         }
+
+        // 排序依据的键数组(这里我们用一个数字数组来表示)
+        $order = ["≤1 Day", "1-2 Days", "3-6 Days","≥7 Days"]; 
+        $ETDList = utils::arrayOrderBykeys($order,$ETDList,"name");
+
         if($type == 'atd_r4'){
             $data = array("ETDList" =>$ETDList,"ETD_Radius"=>array('30%','50%'),"title1" =>"Departure","title2" =>"(ATD-ETD)","download_name" => "KPI Departure");
         }
@@ -335,7 +340,7 @@ switch ($action) {
                     $key_arr[] = $arr['month_group'];
                 }
             }
-            $ContainerCounSeries[$container_type] = array("data"=>$data,"total"=>$total,"max"=>$max);
+            $ContainerCounSeries[$_container_type] = array("data"=>$data,"total"=>$total,"max"=>$max);
         }
         
         //处理返回时数据格式

+ 11 - 1
utils/common.class.php

@@ -1127,7 +1127,12 @@ class common {
                 $color = common::getItemStyle($type,$arr['name']);
                 $ETDList[] = array("value" =>intval($arr['value']),"name" =>$arr['name'],"itemStyle" =>array("color" =>$color));
             }
-            $ETDList = array_reverse($ETDList);
+
+            // 排序依据的键数组(这里我们用一个数字数组来表示)
+            $order = ["0-20 Days", "20-40 Days", "40-60 Days","60-80 Days","Over 80 Days"]; 
+            $ETDList = utils::arrayOrderBykeys($order,$ETDList,"name");
+
+            //$ETDList = array_reverse($ETDList);
             $ETD_Title = "Total: $totalValue";
             $data = array("ETDList" =>$ETDList,"ETD_Radius"=>array('50%','80%'),"ETD_Title" =>$ETD_Title,"download_name" => "ETD to ETA (Days)");
         }
@@ -1168,6 +1173,11 @@ class common {
                     }
                 }
             }
+
+            // 排序依据的键数组(这里我们用一个数字数组来表示)
+            $order = ["≤1 Day", "1-2 Days", "3-6 Days","≥7 Days"]; 
+            $ETDList = utils::arrayOrderBykeys($order,$data_kd,"name");
+
             if($type == 'r4'){
                 $data = array("ETDList" =>$data_kd,"ETD_Radius"=>array('30%','50%'),"title1" =>"Departure","title2" =>"","download_name" => "Pending Departure");
             }

+ 13 - 0
utils/utils.class.php

@@ -852,5 +852,18 @@ class utils {
         }
         return  $time_zone;
     }
+
+    public static function arrayOrderBykeys($order,$data_kd,$key){
+        $orderedData = []; // 用于存储按$order排序后的数据
+        foreach ($order as $name) {
+            foreach ($data_kd as $item) {
+                if ($item[$key] == $name) {
+                    $orderedData[] = $item; // 将找到的元素添加到新数组中
+                    break; // 找到后跳出内层循环,继续外层循环处理下一个id
+                }
+            }
+        }
+        return $orderedData;
+    }
 }
 ?>