ShuanghongS 8 місяців тому
батько
коміт
f97a003991
3 змінених файлів з 78 додано та 32 видалено
  1. 14 2
      main_new_version.php
  2. 54 30
      service/tools.class.php
  3. 10 0
      utils/common.class.php

+ 14 - 2
main_new_version.php

@@ -716,14 +716,26 @@ switch ($action) {
                 }
                 
                 $Arrived = $value['description'];
+
+                $startStation=$value['fport_of_loading_un'];
+                $endStation=$value['mport_of_discharge_un'];
+                if ($value['transport_mode'] == "sea"){
+                    $startStation=$value['place_of_receipt_un'];
+                    $endStation=$value['place_of_delivery_un'];
+                }
+                if ($value['transport_mode'] == "air"){
+                    $startStation=!empty($ocean['place_of_receipt_un'])? $ocean['place_of_receipt_un'] : $ocean['fport_of_loading_un'];
+                    $endStation=!empty($ocean['place_of_delivery_un']) ? $ocean['place_of_delivery_un'] : $ocean['mport_of_discharge_un'];
+                }
+
                 $RecentStatusList[] = array("Title"=>$value['h_bol'],
                     "name"=>utils::outDisplayForMerge($value['f_vessel'],$value['f_voyage']),
                     "bookingNumber" =>$value['booking_no'],
                     "IsSubscribe" =>false,
                     "shipperName"=>$value['shipper'],
                     "consigneeName" =>$value['consignee'],
-                    "startStation"=>$value['fport_of_loading_un'],
-                    "endStation"=>$value['mport_of_discharge_un'],
+                    "startStation"=>$startStation,
+                    "endStation"=>$endStation,
                     "ETD"=>$value['etd'],
                     "ETA"=>$value['eta'],
                     "type"=>$value['new_status'],

+ 54 - 30
service/tools.class.php

@@ -705,15 +705,20 @@ class tools {
                 $rules["weekly_week"] = common::getWeek($rules["weekly_week"]);
 
                 //字符串转数字
-                $rules["ocean_atd_sub_etd"] = !empty($rules["ocean_atd_sub_etd"]) ? intval($rules["ocean_atd_sub_etd"]): $rules["ocean_atd_sub_etd"];
-                $rules["ocean_ata_sub_eta"] = !empty($rules["ocean_ata_sub_eta"]) ? intval($rules["ocean_ata_sub_eta"]): $rules["ocean_ata_sub_eta"];
-                $rules["air_atd_sub_etd"] = !empty($rules["air_atd_sub_etd"]) ? intval($rules["air_atd_sub_etd"]): $rules["air_atd_sub_etd"];
-                $rules["air_ata_sub_eta"] = !empty($rules["air_ata_sub_eta"]) ? intval($rules["air_ata_sub_eta"]): $rules["air_ata_sub_eta"];
+                $rules["ocean_atd_sub_etd"] = common::convertoint($rules["ocean_atd_sub_etd"]);
+                $rules["ocean_ata_sub_eta"] = common::convertoint($rules["ocean_ata_sub_eta"]);
+                $rules["air_atd_sub_etd"] = common::convertoint($rules["air_atd_sub_etd"]);
+                $rules["air_ata_sub_eta"] = common::convertoint($rules["air_ata_sub_eta"]);
 
-                $rules["ocean_etd_old_sub_new"] = !empty($rules["ocean_etd_old_sub_new"]) ? intval($rules["ocean_etd_old_sub_new"]): $rules["ocean_etd_old_sub_new"];
-                $rules["ocean_eta_old_sub_new"] = !empty($rules["ocean_eta_old_sub_new"]) ? intval($rules["ocean_eta_old_sub_new"]): $rules["ocean_eta_old_sub_new"];
-                $rules["air_etd_old_sub_new"] = !empty($rules["air_etd_old_sub_new"]) ? intval($rules["air_etd_old_sub_new"]): $rules["air_etd_old_sub_new"];
-                $rules["air_eta_old_sub_new"] = !empty($rules["air_eta_old_sub_new"]) ? intval($rules["air_eta_old_sub_new"]): $rules["air_eta_old_sub_new"];
+                $rules["ocean_etd_old_sub_new"] = common::convertoint($rules["ocean_etd_old_sub_new"]);
+                $rules["ocean_eta_old_sub_new"] = common::convertoint($rules["ocean_eta_old_sub_new"]);
+                $rules["air_etd_old_sub_new"] = common::convertoint($rules["air_etd_old_sub_new"]);
+                $rules["air_eta_old_sub_new"] = common::convertoint($rules["air_eta_old_sub_new"]);
+
+                $rules["shipment_etd_limit"] = common::convertoint($rules["shipment_etd_limit"]);
+                $rules["shipment_eta_limit"] = common::convertoint($rules["shipment_eta_limit"]);
+                $rules["shipment_etd_limit_from"] = common::convertoint($rules["shipment_etd_limit_from"]);
+                $rules["shipment_eta_limit_from"] = common::convertoint($rules["shipment_eta_limit_from"]);
 
                 // $air_etd_old_sub_new_unit=="Day(s)" ? "days":"hours";
                 $rules["ocean_atd_sub_etd_unit"] = common::convertoVue($rules["ocean_atd_sub_etd_unit"]);
@@ -866,10 +871,15 @@ class tools {
         $shipment_transport_mode = "";
         $shipment_etd_limit = "";
         $shipment_eta_limit = "";
+        $shipment_etd_limit_from = "";
+        $shipment_eta_limit_from = "";
         if($notifications_type == "Monitoring"){
             $shipment_transport_mode = utils::converModeToDB($_POST['shipment_transport_mode']);
             $shipment_etd_limit = common::check_input($_POST['shipment_etd_limit']);
             $shipment_eta_limit = common::check_input($_POST['shipment_eta_limit']);
+
+            $shipment_etd_limit_from = common::check_input($_POST['shipment_etd_limit_from']);
+            $shipment_eta_limit_from = common::check_input($_POST['shipment_eta_limit_from']);
         }
 
         if ($rules_type == "Milestone_Update"){
@@ -882,7 +892,8 @@ class tools {
                     frequency_type = '$frequency_type',daily_time = $daily_time, daily_time_zone = '$daily_time_zone',
                     weekly_week = '$weekly_week', weekly_time = $weekly_time, weekly_time_zone = '$weekly_time_zone', method_by_email = '$method_by_email',method_by_message = '$method_by_message',
                     event_details = '$event_details', frequency_display = '$frequency_display', method_display = '$method_display', shipment_details = '$shipment_detail',
-                    shipment_transport_mode = '$shipment_transport_mode', shipment_etd_limit = '$shipment_etd_limit', shipment_eta_limit = '$shipment_eta_limit' 
+                    shipment_transport_mode = '$shipment_transport_mode', shipment_etd_limit = '$shipment_etd_limit', shipment_eta_limit = '$shipment_eta_limit',
+                    shipment_etd_limit_from = '$shipment_etd_limit_from', shipment_eta_limit_from = '$shipment_eta_limit_from'
                     where rules_type = '$rules_type' 
                         and notifications_type = '$notifications_type' and  lower(user_login) = '".strtolower(_getLoginName())."'
                         and id = '$id';";
@@ -892,12 +903,12 @@ class tools {
                     air_milestone, frequency_type, daily_time, daily_time_zone,
                     weekly_week, weekly_time, weekly_time_zone, method_by_email, method_by_message,
                     event_details, frequency_display, method_display,shipment_details,
-                    shipment_transport_mode,shipment_etd_limit,shipment_eta_limit)
+                    shipment_transport_mode,shipment_etd_limit,shipment_eta_limit,shipment_etd_limit_from,shipment_eta_limit_from)
             VALUES ('".strtolower(_getLoginName())."', '$notifications_type', '$rules_type', '$ocean_milestone',
                     '$air_milestone', '$frequency_type', $daily_time, '$daily_time_zone', 
                     '$weekly_week', $weekly_time, '$weekly_time_zone', '$method_by_email', '$method_by_message',
                     '$event_details', '$frequency_display', '$method_display','$shipment_detail',
-                    '$shipment_transport_mode','$shipment_etd_limit','$shipment_eta_limit');";
+                    '$shipment_transport_mode','$shipment_etd_limit','$shipment_eta_limit','$shipment_etd_limit_from','$shipment_eta_limit_from');";
             }
         }
 
@@ -910,7 +921,8 @@ class tools {
                     frequency_type = '$frequency_type',daily_time = $daily_time, daily_time_zone = '$daily_time_zone',
                     weekly_week = '$weekly_week', weekly_time = $weekly_time, weekly_time_zone = '$weekly_time_zone', method_by_email = '$method_by_email',method_by_message = '$method_by_message',
                     event_details = '$event_details', frequency_display = '$frequency_display', method_display = '$method_display', shipment_details = '$shipment_detail',
-                    shipment_transport_mode = '$shipment_transport_mode', shipment_etd_limit = '$shipment_etd_limit', shipment_eta_limit = '$shipment_eta_limit' 
+                    shipment_transport_mode = '$shipment_transport_mode', shipment_etd_limit = '$shipment_etd_limit', shipment_eta_limit = '$shipment_eta_limit',
+                    shipment_etd_limit_from = '$shipment_etd_limit_from', shipment_eta_limit_from = '$shipment_eta_limit_from' 
                     where rules_type = '$rules_type' 
                         and notifications_type = '$notifications_type' and  lower(user_login) = '".strtolower(_getLoginName())."'
                         and id = '$id';";
@@ -920,12 +932,12 @@ class tools {
                     frequency_type, daily_time, daily_time_zone,
                     weekly_week, weekly_time, weekly_time_zone, method_by_email, method_by_message,
                     event_details, frequency_display, method_display,shipment_details,
-                    shipment_transport_mode,shipment_etd_limit,shipment_eta_limit)
+                    shipment_transport_mode,shipment_etd_limit,shipment_eta_limit,shipment_etd_limit_from,shipment_eta_limit_from)
             VALUES ('".strtolower(_getLoginName())."', '$notifications_type', '$rules_type', '$ocean_ctnr_status',
                     '$frequency_type', $daily_time, '$daily_time_zone', 
                     '$weekly_week', $weekly_time, '$weekly_time_zone', '$method_by_email', '$method_by_message',
                     '$event_details', '$frequency_display', '$method_display','$shipment_detail',
-                    '$shipment_transport_mode','$shipment_etd_limit','$shipment_eta_limit');";
+                    '$shipment_transport_mode','$shipment_etd_limit','$shipment_eta_limit','$shipment_etd_limit_from','$shipment_eta_limit_from');";
             }
         }
 
@@ -962,7 +974,8 @@ class tools {
                     frequency_type = '$frequency_type',daily_time = $daily_time, daily_time_zone = '$daily_time_zone',
                     weekly_week = '$weekly_week', weekly_time = $weekly_time, weekly_time_zone = '$weekly_time_zone', method_by_email = '$method_by_email',method_by_message = '$method_by_message',
                     event_details = '$event_details', frequency_display = '$frequency_display', method_display = '$method_display', shipment_details = '$shipment_detail',
-                    shipment_transport_mode = '$shipment_transport_mode', shipment_etd_limit = '$shipment_etd_limit', shipment_eta_limit = '$shipment_eta_limit' 
+                    shipment_transport_mode = '$shipment_transport_mode', shipment_etd_limit = '$shipment_etd_limit', shipment_eta_limit = '$shipment_eta_limit',
+                    shipment_etd_limit_from = '$shipment_etd_limit_from', shipment_eta_limit_from = '$shipment_eta_limit_from' 
                     where rules_type = '$rules_type' 
                         and notifications_type = '$notifications_type' and  lower(user_login) = '".strtolower(_getLoginName())."'
                         and id = '$id';";
@@ -974,14 +987,14 @@ class tools {
                     frequency_type, daily_time, daily_time_zone,
                     weekly_week, weekly_time, weekly_time_zone, method_by_email, method_by_message,
                     event_details, frequency_display, method_display,shipment_details,
-                    shipment_transport_mode,shipment_etd_limit,shipment_eta_limit)
+                    shipment_transport_mode,shipment_etd_limit,shipment_eta_limit,shipment_etd_limit_from,shipment_eta_limit_from)
             VALUES ('".strtolower(_getLoginName())."', '$notifications_type', '$rules_type', 
                     '$ocean_atd_sub_etd','$ocean_atd_sub_etd_unit','$ocean_ata_sub_eta','$ocean_ata_sub_eta_unit',
                     '$air_atd_sub_etd','$air_atd_sub_etd_unit','$air_ata_sub_eta','$air_ata_sub_eta_unit',
                     '$frequency_type', $daily_time, '$daily_time_zone', 
                     '$weekly_week', $weekly_time, '$weekly_time_zone', '$method_by_email', '$method_by_message',
                     '$event_details', '$frequency_display', '$method_display','$shipment_detail',
-                    '$shipment_transport_mode','$shipment_etd_limit','$shipment_eta_limit');";
+                    '$shipment_transport_mode','$shipment_etd_limit','$shipment_eta_limit','$shipment_etd_limit_from','$shipment_eta_limit_from');";
             }
         }
 
@@ -1023,7 +1036,8 @@ class tools {
                     frequency_type = '$frequency_type',daily_time = $daily_time, daily_time_zone = '$daily_time_zone',
                     weekly_week = '$weekly_week', weekly_time = $weekly_time, weekly_time_zone = '$weekly_time_zone', method_by_email = '$method_by_email',method_by_message = '$method_by_message',
                     event_details = '$event_details', frequency_display = '$frequency_display', method_display = '$method_display', shipment_details = '$shipment_detail',
-                    shipment_transport_mode = '$shipment_transport_mode', shipment_etd_limit = '$shipment_etd_limit', shipment_eta_limit = '$shipment_eta_limit' 
+                    shipment_transport_mode = '$shipment_transport_mode', shipment_etd_limit = '$shipment_etd_limit', shipment_eta_limit = '$shipment_eta_limit',
+                    shipment_etd_limit_from = '$shipment_etd_limit_from', shipment_eta_limit_from = '$shipment_eta_limit_from'  
                     where rules_type = '$rules_type' 
                         and notifications_type = '$notifications_type' and  lower(user_login) = '".strtolower(_getLoginName())."'
                         and id = '$id';";
@@ -1035,14 +1049,14 @@ class tools {
                     frequency_type, daily_time, daily_time_zone,
                     weekly_week, weekly_time, weekly_time_zone, method_by_email, method_by_message,
                     event_details, frequency_display, method_display,shipment_details,
-                    shipment_transport_mode,shipment_etd_limit,shipment_eta_limit)
+                    shipment_transport_mode,shipment_etd_limit,shipment_eta_limit,shipment_etd_limit_from,shipment_eta_limit_from)
             VALUES ('".strtolower(_getLoginName())."', '$notifications_type', '$rules_type', 
                     '$ocean_etd_change','$ocean_etd_old_sub_new','$ocean_etd_old_sub_new_unit','$ocean_eta_change','$ocean_eta_old_sub_new','$ocean_eta_old_sub_new_unit',
                     '$air_etd_change','$air_etd_old_sub_new','$air_etd_old_sub_new_unit','$air_eta_change','$air_eta_old_sub_new','$air_eta_old_sub_new_unit',
                     '$frequency_type', $daily_time, '$daily_time_zone', 
                     '$weekly_week', $weekly_time, '$weekly_time_zone', '$method_by_email', '$method_by_message',
                     '$event_details', '$frequency_display', '$method_display','$shipment_detail',
-                    '$shipment_transport_mode','$shipment_etd_limit','$shipment_eta_limit');";
+                    '$shipment_transport_mode','$shipment_etd_limit','$shipment_eta_limit','$shipment_etd_limit_from','$shipment_eta_limit_from');";
             }
         }
         return $sql;
@@ -1056,11 +1070,14 @@ class tools {
         if(isset($_POST['id']) && !empty($_POST['id'])){
             $sql_where = " and id <> '".common::check_input($_POST['id'])."'";
         } 
-        $rules = common::excuteListSql("select * from public.notifications_rules where notifications_type = 'Monitoring' and rules_type = '".$rules_type."'
+        $rules = common::excuteListSql("select *,
+                    TO_CHAR(daily_time, 'HH24:MI') as _daily_time,
+                    TO_CHAR(weekly_time, 'HH24:MI') as _weekly_time
+                from public.notifications_rules where notifications_type = 'Monitoring' and rules_type = '".$rules_type."'
                     and  lower(user_login) = '".strtolower(_getLoginName())."' $sql_where");
         foreach($rules as $rule){
             //判断range 是否一样
-            $checkRangeFiled = array("shipment_transport_mode","shipment_etd_limit","shipment_eta_limit");
+            $checkRangeFiled = array("shipment_transport_mode","shipment_etd_limit","shipment_eta_limit","shipment_etd_limit_from","shipment_eta_limit_from");
             $range_flag = true;   
             foreach($checkRangeFiled as $filed){
                 if($filed == "shipment_transport_mode"){
@@ -1096,8 +1113,6 @@ class tools {
                     }
                 } elseif ($filed == "ocean_etd_change" || $filed == "ocean_eta_change" || $filed == "air_etd_change" || $filed == "air_eta_change"){
                     $post_boolean = (empty($_POST[$filed]) || $_POST[$filed] == "false") ? "f":"t";
-                    $ss = $post_boolean;
-                    $sss = $rule[$filed];
                     if($post_boolean != $rule[$filed]){
                         $details_flag = false;
                     }
@@ -1128,10 +1143,19 @@ class tools {
                 "weekly_week","weekly_time","weekly_time_zone","daily_time_zone");
             $frequency_flag = true; 
             foreach($checkFrequencyFiled as $filed){
-                $postValue = !empty($_POST[$filed]) ? $_POST[$filed] : "";
-                $dbValue = !empty($rule[$filed]) ? $rule[$filed] : "";
-                if($postValue != $dbValue){
-                    $frequency_flag = false;
+                if($filed == "daily_time" || $filed == "weekly_time"){
+                    $postValue = !empty($_POST[$filed]) ? $_POST[$filed] : "";
+                    //_daily_time _weekly_time
+                    $dbValue = !empty($rule["_".$filed]) ? $rule["_".$filed] : "";
+                    if($postValue != $dbValue){
+                        $frequency_flag = false;
+                    }
+                } else {
+                    $postValue = !empty($_POST[$filed]) ? $_POST[$filed] : "";
+                    $dbValue = !empty($rule[$filed]) ? $rule[$filed] : "";
+                    if($postValue != $dbValue){
+                        $frequency_flag = false;
+                    }
                 }
             }
             
@@ -1148,12 +1172,12 @@ class tools {
             //五个条件一样,不允许保存
             if($range_flag && $details_flag && $frequency_flag && $method_flag){
                 $msg = "Unable to Save";
-                continue;
+                break;
             }
             //前三个重回,后面不重合,提示但允许保存
             if($range_flag && $details_flag && $_POST['is_similar_rule'] <> 'true'){
                 $msg = "Similar Rule Detected";
-                continue;
+                break;
             }
         }
         return $msg;

+ 10 - 0
utils/common.class.php

@@ -2273,5 +2273,15 @@ class common {
             return "Hour(s)";
         }
     }
+
+    /**
+     * vue to int
+     */
+    public static function convertoint($num){
+        if($num == "0"){
+            return intval($num);
+        }
+        return !empty($num) ? intval($num): $num;
+    }
 }
 ?>