ShuanghongS 3 недель назад
Родитель
Сommit
e76206f535
3 измененных файлов с 39 добавлено и 13 удалено
  1. 15 8
      service/column.class.php
  2. 9 5
      service/report.class.php
  3. 15 0
      utils/common.class.php

+ 15 - 8
service/column.class.php

@@ -21,7 +21,7 @@ class column {
         //判断是否重置
         $level = common::check_input($_REQUEST['level']);
         $serial_no = common::check_input($_REQUEST['serial_no']);
-        $defualt = common::check_input($_REQUEST['defualt']);
+        $defualt = common::check_input($_REQUEST['default']);
 
         if(strtolower($level) == strtolower("Shipment Level")){
             //这个是kln_report_field level :"Shipment level" 不变
@@ -58,16 +58,16 @@ class column {
             field_group_name as \"groupName\" ";
 
         $allData = common::excuteListSql("select ".$kln_report_field_str." from public.kln_report_field where ".$levelSQlWhere." order by id");
-        if(empty($serial_no) || $defualt == 'true'){
+        if ($defualt == 'true'){
                 //代表第一次添加或者用户恢复默认顺序
                 $groupSetting = common::excuteListSql("select  ".$kln_report_field_str." from public.kln_report_field where  ".$levelSQlWhere."  ".$rightSqlwhere);
                 $dataLeft = common::excuteListSql("select   ".$kln_report_field_str." from public.kln_report_field where  ".$levelSQlWhere."  ".$leftSqlwhere." order by id");
         }else{
-                $groupSetting = common::excuteListSql("select ".$kln_report_field_config." from public.kln_report_field_config 
-                    where template_serial_no = '$serial_no' and field_type = 'System' order by id");
-                $dataLeft = common::excuteListSql("select ".$kln_report_field_str."from public.kln_report_field 
-                    where lower(level) = '".strtolower($level)."' and id != ALL(select field_ids from public.kln_report_template where serial_no = '$serial_no' and field_type = 'System') 
-                        order by id");
+                // $groupSetting = common::excuteListSql("select ".$kln_report_field_config." from public.kln_report_field_config 
+                //     where template_serial_no = '$serial_no' and field_type = 'System' order by id");
+                // $dataLeft = common::excuteListSql("select ".$kln_report_field_str."from public.kln_report_field 
+                //     where lower(level) = '".strtolower($level)."' and id != ALL(select field_ids from public.kln_report_template where serial_no = '$serial_no' and field_type = 'System') 
+                //         order by id");
         }
 
         $children['All'] = array();
@@ -87,11 +87,18 @@ class column {
         $groupColumns_all = $this->allGroupVipReprotColumns($allData,$children);
         //总分组的检索要去掉右边的已经选中的部分
         $groupColumns_left = $this->allGroupVipReprotColumns($dataLeft,$children);
-            
+        
         $data['GroupColumnsAll'] = $groupColumns_all;
         $data['GroupColumnsLeft'] = $groupColumns_left;
         $data['GroupColumnsRight'] = $groupSetting;
 
+        //false特殊逻辑
+        if ($defualt == 'false'){
+            $data['GroupColumnsAll'] = $groupColumns_all;
+            $data['GroupColumnsLeft'] = $groupColumns_all;
+            $data['GroupColumnsRight'] = array();
+        }
+
         common::echo_json_encode(200,$data);
         exit;
     }

+ 9 - 5
service/report.class.php

@@ -486,18 +486,22 @@ class report {
                 and is_enabled = true order by id ");
             foreach($reportFiled as $filed){
                 if($filed['is_filter_enabled'] == 't'){
-                    $type = $filed['data_type'] == "string" ? "input" : ($filed['data_type'] == "date" ? "date" : "input");
                     $field_display_name = $filed['field_display_name'];
                     $field_display_name = strtolower($field_display_name);
                     $field_display_name = preg_replace('/[^a-z0-9]+/', '_', $field_display_name); // 非字母数字 → _
                     $field_display_name = trim($field_display_name, '_');
+                    
+                    $realSelect = common::getSelectedArray($filed['field_display_name']);
+                    $data_type = $filed['data_type'];
+                    if(!empty($realSelect)){
+                        $data_type = 'select';
+                    }
                     $filtersList[] = array(
                         "label"=>$filed['field_display_name_user'],
                         "field"=>$field_display_name,
                         "field_real"=>$filed['field_display_name'],
-                        "type"=>$type,
-                        "data_type"=>$filed['data_type'],
-                        "value"=>[],"options"=>[]);
+                        "data_type"=>$data_type,
+                        "value"=>'',"options"=>$realSelect);
                 }
                 if($filed['is_sort_enabled'] == 't'){
                     $sortByOptions[] = $filed['field_db'];
@@ -1178,7 +1182,7 @@ class report {
                 if($key !== false){
                     //找到给key
                     $temp_sql_where = "";
-                    if ($fiter['data_type'] == "string"){
+                    if ($fiter['data_type'] == "string" || $fiter['data_type'] == "select"){
                         $temp_sql_where .= " and ".$key." ilike '%". common::check_input($_POST[$fiter['field']])."%'"; 
                     } elseif ($fiter['data_type'] == "number"){
                         $temp_arr = $_POST [$fiter['field']];

+ 15 - 0
utils/common.class.php

@@ -4491,6 +4491,7 @@ class common {
             "oo.carrier" => "carrier",
             "oo._voyage"=>"voyage_flight",    
             "oo._vessel"=>"vessel_airline",
+            "CONCAT_WS(''/'', oo._vessel, oo._voyage)"=>"vslvoy_flight",
             "oo.ams_status" => "ace_m1_status",
             "oo.isisf" => "is_isf",
             "oo.obl_set" => "obl_set",
@@ -5011,5 +5012,19 @@ class common {
 
     return $sql;
     }
+
+    public static function getSelectedArray($field_display_name)
+    {
+        if ($field_display_name == 'Transportation Mode'){
+            return [['label'=>'Sea','value'=>'sea'],['label'=>'Air','value'=>'air'],['label'=>'Road','value'=>'road'],['label'=>'Rail','value'=>'rail']];
+        }elseif($field_display_name == 'EX/IM'){
+            return [['label'=>'Export','value'=>'Export'],['label'=>'Import','value'=>'Import']];
+        }elseif($field_display_name == 'Status'){
+            return [['label'=>'Created','value'=>'Created'],['label'=>'Cargo Received','value'=>'Cargo Received'],
+                ['label'=>'Departed','value'=>'Departed'],['label'=>'Arrived','value'=>'Arrived'],['label'=>'Completed','value'=>'Completed']];
+        }else{
+            return [];
+        }
+    }
 }
 ?>