ソースを参照

oracle sp 测试

king 4 年 前
コミット
a767013dcb
2 ファイル変更46 行追加0 行削除
  1. 34 0
      app/Http/Controllers/TestController.php
  2. 12 0
      app/Utils/helpers.php

+ 34 - 0
app/Http/Controllers/TestController.php

@@ -239,4 +239,38 @@ sql;
                 ]);
         }
     }
+
+    public function oci()
+    {
+        $conn = getOciConnect();
+        $sql_sp= 'begin SPSO_SingleSKU_Match(:IN_Warehouse,:IN_CustomerID,:IN_WaveNo,:IN_SKU,:IN_CheckModule,:IN_WorkStation,:IN_Language,:IN_UserID,:OUT_AllocationDetailsID,:OUT_TOID,:OUT_OrderNo,:OUT_Return_Code); end;';
+        $stmt = oci_parse($conn, $sql_sp);
+        $warehouse_id = "WHO1";
+        $customer_id = 'WANLING';
+        $wave_no = '*';
+        $sku = 'TEST017';
+        $check_module = '';
+        $work_station = '';
+        $language = '';
+        $use_id = 'lizixu';
+        $allocation_details_id = '';
+        $to_id = '';
+        $order_no = '';
+        $return_code = '';
+        oci_bind_by_name($stmt,":IN_Warehouse",$warehouse_id);
+        oci_bind_by_name($stmt,':IN_CustomerID',$customer_id );
+        oci_bind_by_name($stmt,':IN_WaveNo',$wave_no );
+        oci_bind_by_name($stmt,':IN_SKU', $sku );
+        oci_bind_by_name($stmt,':IN_CheckModule',$check_module );
+        oci_bind_by_name($stmt,':IN_WorkStation',$work_station );
+        oci_bind_by_name($stmt,':IN_Language',$language );
+        oci_bind_by_name($stmt,':IN_UserID', $use_id );
+        oci_bind_by_name($stmt,':OUT_AllocationDetailsID',$allocation_details_id );
+        oci_bind_by_name($stmt,':OUT_TOID',$to_id );
+        oci_bind_by_name($stmt,':OUT_OrderNo',$order_no );
+        oci_bind_by_name($stmt,':OUT_Return_Code',$return_code );
+        oci_execute($stmt);
+        oci_close($conn);
+        dd([$allocation_details_id, $to_id, $order_no, $return_code]);
+    }
 }

+ 12 - 0
app/Utils/helpers.php

@@ -110,3 +110,15 @@ function getMacAddr($type = PHP_OS):string
     unset($temp_array);
     return $mac_addr;
 }
+
+//2021-09-03 oracle 链接
+function getOciConnect()
+{
+    $username = config('database.connections.oracle.username');
+    $password = config('database.connections.oracle.password');
+    $host = config('database.connections.oracle.host');
+    $service_name = config('database.connections.oracle.service_name');
+    $charset = config('database.connections.oracle.charset');
+    return oci_connect($username,$password,$host.'/'.$service_name,$charset);
+}
+