ShuanghongS před 11 měsíci
rodič
revize
d87ef3ed19
3 změnil soubory, kde provedl 13 přidání a 9 odebrání
  1. 2 2
      main_new_version.php
  2. 2 1
      service/ocean_order.class.php
  3. 9 6
      utils/common.class.php

+ 2 - 2
main_new_version.php

@@ -763,7 +763,7 @@ switch ($action) {
                                     act_date,act_time,
                                     _dd.description as description,
                                     timezone,code
-                            from  ocean_milestone a 
+                            from  public.ocean_milestone a 
                                 left join LATERAL (select sno,description  from  milestone where code=a.code and project_no = '*'  order by sno limit 1) _dd on true
                     where a.serial_no=online_ocean.serial_no 
                         and a.code in (select regexp_split_to_table('IFFBCF,IFFCPU,IFFREC,IFFDEP,IFFARR,IFFDEL', ','))
@@ -799,7 +799,7 @@ switch ($action) {
                 if($value['dd_code'] == "IFFREC" || $value['dd_code'] == "IFFDEP" || $value['dd_code'] == "IFFARR"){
                     //Timezone From 来自于EDI315
                     $serial_no = $value["serial_no"];
-                    $EDI315Time = common::getEDI315Time($serial_no);
+                    $EDI315Time = common::getEDI315Time($serial_no,$value['_schemas']);
 
                     if($value['dd_code'] == "IFFREC" || $value['dd_code'] == "IFFDEP"){
                         //先以EDI315 时区为准,如果没有这代表数据是手动输入,或者没有同步情况

+ 2 - 1
service/ocean_order.class.php

@@ -1192,6 +1192,7 @@ class ocean_order {
     }
 
     private function getOceanDetail($serial_no) {
+        $order_from = $_REQUEST['_schemas'];
         $_schemas = $_REQUEST['_schemas'];
         if($_schemas == 'public'){
             $_schemas = "ocean";
@@ -1228,7 +1229,7 @@ class ocean_order {
                         WHEN (m_iffdel is not null) THEN 'Completed'::text
                         ELSE 'Created'::text
                     END AS new_status
-                FROM  public.online_ocean oo WHERE oo.serial_no::text = o.serial_no::text) oo ON true
+                FROM  public.online_ocean oo WHERE oo.serial_no::text = o.serial_no::text and order_from = '$order_from') oo ON true
             LEFT JOIN LATERAL ( SELECT company as cn_company,
                 address_1 as cn_address_1,
                 address_2 as cn_address_2,

+ 9 - 6
utils/common.class.php

@@ -1820,8 +1820,8 @@ class common {
         $Milestones_data = array();
         $Milestones_data_arr = common::excuteListSql("select  sn.description,act_date||' '||COALESCE(act_time,'') as date_time,
             remark,timezone,a.code
-        from  ocean_milestone a  
-            inner join customer_service_milestone_sno sn on sn.code=a.code
+        from  public.ocean_milestone a  
+            inner join public.customer_service_milestone_sno sn on sn.code=a.code
         where a.serial_no='".$ocean["serial_no"]."' and act_date is not null  order by sn.sno asc");           
         foreach($Milestones_data_arr as $mda){
             $timezone = "";
@@ -1916,6 +1916,9 @@ class common {
         return $Milestones_NO_Mapping;
     }
 
+    /**
+     * 这个详细查询已经带模式了
+     */
     public static function getEDI315StatusForDetail($serial_no){
         $data = array();
         $ctnr_sql = "SELECT oc.ctnr, oc.serial_no,oc.size FROM oc_container oc LEFT JOIN ocean o ON oc.serial_no = o.serial_no 
@@ -1951,7 +1954,7 @@ class common {
                         else '' ::text
                     end as milestone_code  
                 from public.ra_online_container_status_v s 
-                    left join ra_online_edi_event e on s.event_base = e.ra_name 
+                    left join public.ra_online_edi_event e on s.event_base = e.ra_name 
                 where s.serial_no = '" . pg_escape_string($cd['serial_no']) . "' 
                     and s.container_no = '" . pg_escape_string($cd['ctnr']) . "' and is_display = true 
                 order by to_timestamp(s.event_date, 'YYYYMMDD') asc,
@@ -2006,9 +2009,9 @@ class common {
         return $data;
     }
 
-    public static function getEDI315Time($serial_no){
+    public static function getEDI315Time($serial_no,$_schemas){
         //Timezone From 来自于EDI315
-        $ctnr_sql = "SELECT oc.ctnr, oc.serial_no,oc.size FROM oc_container oc LEFT JOIN ocean o ON oc.serial_no = o.serial_no 
+        $ctnr_sql = "SELECT oc.ctnr, oc.serial_no,oc.size FROM $_schemas.oc_container oc LEFT JOIN $_schemas.ocean o ON oc.serial_no = o.serial_no 
                 WHERE o.serial_no='$serial_no'";
         $ctnr_data = common::excuteListSql($ctnr_sql); 
         $EDI315TimeAndLocation = array();
@@ -2033,7 +2036,7 @@ class common {
                         else '' ::text
                     end as milestone_code  
                 from public.ra_online_container_status_v s 
-                    left join ra_online_edi_event e on s.event_base = e.ra_name 
+                    left join public.ra_online_edi_event e on s.event_base = e.ra_name 
                 where s.serial_no = '" . pg_escape_string($cd['serial_no']) . "' 
                     and s.container_no = '" . pg_escape_string($cd['ctnr']) . "' and is_display = true 
                 order by to_timestamp(s.event_date, 'YYYYMMDD') asc,