瀏覽代碼

一键回传调用sp

haozi 4 年之前
父節點
當前提交
134cb5a5cf

+ 1 - 0
app/Http/Controllers/OrderController.php

@@ -18,6 +18,7 @@ use Illuminate\Support\Facades\DB;
 use Illuminate\Support\Facades\Gate;
 use Illuminate\Support\Facades\Http;
 use Oursdreams\Export\Export;
+use PhpParser\Node\Stmt\DeclareDeclare;
 
 class OrderController extends Controller
 {

+ 38 - 3
app/Services/OrderService.php

@@ -30,6 +30,7 @@ use App\Warehouse;
 use Carbon\Carbon;
 use Illuminate\Database\Eloquent\Model;
 use Illuminate\Support\Collection;
+use Illuminate\Support\Facades\Auth;
 use Illuminate\Support\Facades\Cache;
 use Illuminate\Support\Facades\DB;
 use App\Traits\ServiceAppAop;
@@ -251,7 +252,7 @@ class OrderService
             if ($ordernos)$params['ordernos'] = $ordernos;
             else return null;
         }
-        $sql="SELECT * FROM (select ACT_ALLOCATION_DETAILS.CHECKTIME,DOC_ORDER_HEADER.addtime,DOC_ORDER_HEADER.C_PROVINCE,DOC_ORDER_HEADER.C_CITY,DOC_ORDER_HEADER.C_DISTRICT,DOC_ORDER_HEADER.C_CONTACT,DOC_ORDER_HEADER.OrderNo,DOC_ORDER_HEADER.SOStatus,DOC_ORDER_HEADER.WAREHOUSEID,DOC_ORDER_HEADER.CustomerID as header_customer_id
+        $sql="SELECT * FROM (select ACT_ALLOCATION_DETAILS.CHECKTIME,DOC_ORDER_HEADER.addtime,DOC_ORDER_HEADER.C_PROVINCE,DOC_ORDER_HEADER.C_CITY,DOC_ORDER_HEADER.MANUALFLAG,DOC_ORDER_HEADER.C_DISTRICT,DOC_ORDER_HEADER.C_CONTACT,DOC_ORDER_HEADER.OrderNo,DOC_ORDER_HEADER.SOStatus,DOC_ORDER_HEADER.WAREHOUSEID,DOC_ORDER_HEADER.CustomerID as header_customer_id
         ,DOC_ORDER_HEADER.C_Tel2,DOC_ORDER_HEADER.C_Tel1,DOC_ORDER_HEADER.CarrierName,DOC_ORDER_HEADER.IssuePartyName,DOC_ORDER_HEADER.EDIREMARKS2,
        DOC_ORDER_HEADER.WaveNo,DOC_ORDER_HEADER.SOReference1
         ,NVL(ACT_ALLOCATION_DETAILS.PICKTOTRACEID,DOC_ORDER_HEADER.soreference5) as soreference5,DOC_ORDER_HEADER.EDISENDFLAG2,DOC_ORDER_HEADER.EDISendTime2,DOC_ORDER_HEADER.Notes,DOC_ORDER_HEADER.ERPCANCELFLAG,
@@ -263,7 +264,7 @@ class OrderService
         $sql=$this->preciseQuery($params,$sql);
         ;$sql.=" ) as counted from (";
         if ($paginate && $page)$sql.=" select * from (";
-        $sql.=" select ROWNUM as rn,DOC_ORDER_HEADER.addtime,DOC_ORDER_HEADER.C_PROVINCE,DOC_ORDER_HEADER.C_CITY,DOC_ORDER_HEADER.C_DISTRICT,DOC_ORDER_HEADER.C_CONTACT,DOC_ORDER_HEADER.OrderNo,DOC_ORDER_HEADER.SOStatus,DOC_ORDER_HEADER.WAREHOUSEID,DOC_ORDER_HEADER.CustomerID
+        $sql.=" select ROWNUM as rn,DOC_ORDER_HEADER.addtime,DOC_ORDER_HEADER.C_PROVINCE,DOC_ORDER_HEADER.C_CITY,DOC_ORDER_HEADER.MANUALFLAG,DOC_ORDER_HEADER.C_DISTRICT,DOC_ORDER_HEADER.C_CONTACT,DOC_ORDER_HEADER.OrderNo,DOC_ORDER_HEADER.SOStatus,DOC_ORDER_HEADER.WAREHOUSEID,DOC_ORDER_HEADER.CustomerID
                           ,DOC_ORDER_HEADER.C_Tel2,DOC_ORDER_HEADER.C_Tel1,DOC_ORDER_HEADER.CarrierName,DOC_ORDER_HEADER.IssuePartyName,
                          DOC_ORDER_HEADER.WaveNo,DOC_ORDER_HEADER.SOReference1
                           ,DOC_ORDER_HEADER.soreference5,DOC_ORDER_HEADER.EDISENDFLAG2,DOC_ORDER_HEADER.EDISendTime2,DOC_ORDER_HEADER.Notes,DOC_ORDER_HEADER.ERPCANCELFLAG,
@@ -294,7 +295,7 @@ class OrderService
                       left join  BAS_SKU on DOC_Order_Details.CustomerID=BAS_SKU.CustomerID and DOC_Order_Details.SKU=BAS_SKU.SKU
                       left join  ACT_ALLOCATION_DETAILS on DOC_Order_Details.orderno = ACT_ALLOCATION_DETAILS.orderno
                       and DOC_Order_Details.ORDERLINENO = ACT_ALLOCATION_DETAILS.ORDERLINENO
-                      GROUP BY ACT_ALLOCATION_DETAILS.CHECKTIME,DOC_ORDER_HEADER.addtime,DOC_ORDER_HEADER.C_PROVINCE,DOC_ORDER_HEADER.C_CITY,
+                      GROUP BY ACT_ALLOCATION_DETAILS.CHECKTIME,DOC_ORDER_HEADER.addtime,DOC_ORDER_HEADER.C_PROVINCE,DOC_ORDER_HEADER.C_CITY,DOC_ORDER_HEADER.MANUALFLAG,
                       DOC_ORDER_HEADER.C_DISTRICT,DOC_ORDER_HEADER.C_CONTACT,DOC_ORDER_HEADER.OrderNo,DOC_ORDER_HEADER.SOStatus,DOC_ORDER_HEADER.WAREHOUSEID,
                       DOC_ORDER_HEADER.CustomerID,DOC_ORDER_HEADER.C_Tel2,DOC_ORDER_HEADER.C_Tel1,DOC_ORDER_HEADER.CarrierName,DOC_ORDER_HEADER.IssuePartyName,
                       DOC_ORDER_HEADER.EDIREMARKS2,DOC_ORDER_HEADER.WaveNo,DOC_ORDER_HEADER.SOReference1, NVL(ACT_ALLOCATION_DETAILS.PICKTOTRACEID,DOC_ORDER_HEADER.soreference5),
@@ -1483,4 +1484,38 @@ sql;
         app('OrderPackageService')->syncOrderPackage($orderHeaders);
         app("OrderPackageCommoditiesService")->syncOrderPackageCommodities($orderHeaders);
     }
+
+    /**
+     * @param $orderno
+     * @return bool
+     * 一键回传 调用flux的sp
+     */
+    public function manualBack($orderno){
+        $who = 'WAS' . (Auth::user() ? '-' . Auth::user()["name"] : '');
+        $host=config('database.connections.oracle.host');
+        $serviceName=config('database.connections.oracle.service_name');
+        $user=config('database.connections.oracle.username');
+        $password=config('database.connections.oracle.password');
+        $conn=oci_connect($user,$password,$host.'/'.$serviceName,'utf8');
+        $IN_WarehouseID='';
+        $IN_OrderNo=$orderno;
+        $IN_Language='';
+        $IN_UserID=$who;
+        $OUT_Return_Code='';
+        $sql_sp="begin SPSOUDF_BS_ManualCF(:In_WarehouseID,:In_OrderNo,:In_Language,:In_UserID,:Out_Return_Code); end;";
+        $stmt = oci_parse($conn, $sql_sp);
+        oci_bind_by_name($stmt,':In_WarehouseID',$IN_WarehouseID);
+        oci_bind_by_name($stmt,':In_OrderNo',$IN_OrderNo);
+        oci_bind_by_name($stmt, ':In_Language', $IN_Language);
+        oci_bind_by_name($stmt, ':In_UserID', $IN_UserID);
+        oci_bind_by_name($stmt, ':Out_Return_Code', $OUT_Return_Code,300);
+        oci_execute($stmt);
+
+        if (substr($OUT_Return_Code,0,3) != '000'){
+            app('LogService')->log(__METHOD__,'调用sp一键回传订单失败'.__FUNCTION__,"ORDERNO:".$orderno."ERROR:".$OUT_Return_Code);
+            return false;
+        }
+        oci_close($conn);
+        return true;
+    }
 }

+ 17 - 1
resources/views/order/index/delivering.blade.php

@@ -42,6 +42,9 @@
                     @can('订单管理-订单-生成工单')
                         <button class="btn btn-sm ml-1 btn-outline-success" @click="showInterceptModel('修改')">订单修改</button>
                     @endcan
+{{--                    @can()--}}
+                        <button class="btn btn-sm ml-1 btn-success" @click="manualBack()">一键回传</button>
+{{--                    @endcan--}}
                 </div>
                 <div class="modal fade " style="top: 20%" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
                     <div class="modal-dialog">
@@ -970,7 +973,20 @@
                     }).catch(err=>{
                         window.tempTip.show(err);
                     });
-                }
+                },
+                manualBack(){
+                    let _this=this;
+                    let orders=[];
+                    if(checkData.length===0){tempTip.show('没有勾选记录');return;}
+                    _this.orders.forEach(function(order){
+                        checkData.forEach(function (checkedId) {
+                            if(order.orderno===checkedId){
+                                orders.push(order);
+                            }
+                        });
+                    });
+                    console.log(checkData,orders)
+                },
             },
         });
     </script>