Prechádzať zdrojové kódy

订单管理,添加取消分配

haozi 5 rokov pred
rodič
commit
a0a60fab1d

+ 2 - 2
app/Http/Controllers/LaborReportController.php

@@ -81,8 +81,8 @@ class LaborReportController extends Controller
         }
         $laborReports=LaborReport::with(['userWorkgroup','user','userDutyCheck'])->orderBy('id','DESC')->paginate(50);
         foreach ($laborReports as $laborReport){
-           $createdAtDate=Carbon::parse($laborReport->created_at)->format('Y-m-d');
-           $userDutyCheck=UserDutyCheck::where('checked_at','like',$createdAtDate.'%')->where('user_id',$laborReport->user_id)->first();
+            $createdAtDate=Carbon::parse($laborReport->created_at)->format('Y-m-d');
+            $userDutyCheck=UserDutyCheck::where('checked_at','like',$createdAtDate.'%')->where('user_id',$laborReport->user_id)->first();
             if ($userDutyCheck) $laborReport->userDutyCheck=$userDutyCheck;
         }
         $userWorkGroups=UserWorkgroup::select('id','name')->get();

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

@@ -285,5 +285,46 @@ class OrderController extends Controller
         $columnName=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","X","Y","Z","AA"];
         return Excel::download(new Export($row,$list,$mergeCell,$columnName),date('YmdHis', time()).'-出库发运单.xlsx');
     }
+    //取消分配
+    public function deAllocation(Request $request){
+        if(!Gate::allows('订单管理-编辑')){ return redirect(url('/'));  }
+        $orderno=$request->input('orderno');
+        $waveno=$request->input('waveno');
+        if ($waveno && $waveno!='*'){
+            OracleDOCWaveDetails::where('waveno',$waveno)->where('orderno',$orderno)->delete();
+        }
+        $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');
+        //连接oracle数据库
+        $conn=oci_connect($username,$password,$host.'/'.$service_name);
+        $IN_Warehouse='';
+        $IN_Process_Action_C='' ;
+        $IN_Process_By_C='By OrderNO';
+        $IN_WaveNO_C='';
+        $IN_OrderNO_C=$orderno;
+        $IN_OrderLineNO_C='';
+        $IN_AllocationDetailsID='';
+        $IN_Language='';
+        $IN_UserID='';
+        $OUT_Return_Code='';
+        $sql_sp="begin SPSO_DEALLOCATION_PROCESS(:IN_Warehouse,:IN_Process_Action_C,:IN_Process_By_C,
+        :IN_WaveNO_C,:IN_OrderNO_C,:IN_OrderLineNO_C,:IN_AllocationDetailsID,:IN_Language,:IN_UserID,:OUT_Return_Code); end;";
+        $stmt = oci_parse($conn, $sql_sp);
+        oci_bind_by_name($stmt,':IN_Warehouse',$IN_Process_Action_C);
+        oci_bind_by_name($stmt,':IN_Process_Action_C',$IN_Warehouse);
+        oci_bind_by_name($stmt,':IN_Process_By_C',$IN_Process_By_C);
+        oci_bind_by_name($stmt,':IN_WaveNO_C',$IN_WaveNO_C);
+        oci_bind_by_name($stmt,':IN_OrderNO_C',$IN_OrderNO_C);
+        oci_bind_by_name($stmt,':IN_OrderLineNO_C',$IN_OrderLineNO_C);
+        oci_bind_by_name($stmt,':IN_AllocationDetailsID',$IN_AllocationDetailsID);
+        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);
+        if(oci_execute($stmt)){
+            return ['success'=>true];
+        }
+    }
 
 }

+ 25 - 2
resources/views/order/index/delivering.blade.php

@@ -219,9 +219,11 @@
                         </td>
                         <td>
                             @can('订单管理-编辑')
-
+                                <button v-if="order.sostatus=='40'||'30'"  @click="deAllocation(order.orderno,order.waveno)" class="btn btn-sm btn-outline-dark text-nowrap"
+{{--                                        :disabled="!(order.codename_c==='分配完成'||order.codename_c==='部分分配')">取消分配</button>--}}
+                                        :disabled="!(order.sostatus==='40'||order.sostatus==='30')">取消分配</button>
                             @else
-
+                                @{{ order.sostatus }}
                             @endcan
                         </td>
 
@@ -489,6 +491,27 @@
                         tempTip.show('网络异常:'+err);
                     });
                 },
+                deAllocation(orderno,waveno){
+                    if(!confirm('确定要取消分配“'+orderno+'”吗?'))return;
+                    let _this=this;
+                    axios.post('{{url('order/deAllocation')}}',{orderno:orderno,waveno:waveno})
+                        .then(function (response) {
+                            if (response.data.success){
+                                _this.orders.some(function (order) {
+                                    if (order.orderno===orderno){
+                                        order.sostatus='00';
+                                        order.waveno='*';
+                                        return true;
+                                    }
+                                });
+                                tempTip.setDuration(3000);
+                                tempTip.showSuccess('订单已被取消分配!');
+                            }
+                        }).catch(function (err) {
+                        tempTip.setDuration(3000);
+                        tempTip.show('网络异常:'+err);
+                    });
+                },
             },
         });
     </script>