浏览代码

跟踪件的订单号也要可以编辑

ajun 5 年之前
父节点
当前提交
043959c907

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

@@ -38,6 +38,7 @@ class OrderController extends Controller
         $result = $orderService->paginate($request);
         $picktotraceids = $result['picktotraceids'];
         $orders = $result['orders'];
+        $orderIssueNos =  $orderService->返回有问题件的订单号($orders);
         $commodities = $result['commodities'];
         $customers=OracleBasCustomer::query()->select('customerid','descr_c')
             ->where('customer_type','OW')
@@ -47,7 +48,7 @@ class OrderController extends Controller
         $page = $request["page"] ?? 1;
         $codes=DB::connection('oracle')->table('BAS_CODES')->select('code','codename_c')->where('codeid','SO_STS')->orderBy('code','asc')->get();
         $orderIssueType = OrderIssueType::all();
-        return view('order/index/delivering',compact('orders','customers','request','codes','commodities','page','picktotraceids','orderIssueType'));
+        return view('order/index/delivering',compact('orders','customers','request','codes','commodities','page','picktotraceids','orderIssueType','orderIssueNos'));
     }
 
     //导出

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

@@ -40,7 +40,7 @@ class OrderTrackingController extends Controller
         try {
             $bool = app(OrderTrackingService::class)->updateOrderTracingAndSyc($request->input('id'),$request->input('param'),$request->input('value'));
             LogService::log(__METHOD__, __FUNCTION__, '更新成功' . json_encode($request->getContent()) );
-            return ['success' => $bool];
+            return $bool;
         } catch (\Exception $e) {
             LogService::log(__METHOD__, __FUNCTION__, '更新失败' . json_encode($request->getContent()) .'||'.$e->getMessage().'||'.$e->getTraceAsString());
             return ['success' => false];
@@ -54,7 +54,7 @@ class OrderTrackingController extends Controller
         try {
             $bool = app(OrderTrackingService::class)->updateOrderTracingAndSyc($request->input('id'),$request->input('param'),$request->input('value'));
             LogService::log(__METHOD__, __FUNCTION__, '更新成功' . json_encode($request->getContent()));
-            return ['success' => $bool];
+            return $bool;
         } catch (\Exception $e) {
             LogService::log(__METHOD__, __FUNCTION__, '更新失败' . json_encode($request->getContent()) .'||'.$e->getMessage().'||'.$e->getTraceAsString());
             return ['success' => false];

+ 6 - 29
app/Http/Controllers/TestController.php

@@ -645,7 +645,6 @@ where (commodities.owner_id,commodity_barcodes.code) in (select commodities.owne
         $orderTrackingService->createByWmsOrderHeader($orderHeaders);
         $orderService->updateByWmsOrders($orderHeaders);
         $orderTrackingService->updateByWmsOrderHeaders($orderHeaders);
-
     }
 
     public function usage(){
@@ -667,34 +666,12 @@ where (commodities.owner_id,commodity_barcodes.code) in (select commodities.owne
     }
 
     public function updateOrderTracking(){
-        $orderTrackings = OrderTracking::query()->with('commodities.package.order')
-            ->whereHas('commodities.package.order',function($query){
-                $query->where('client_code','O2009027827');
-            })
-            ->where('created_at','>','2020-09-28 00:07:06')->first();
-        $order = $orderTrackings->commodities->package->order;
-        $client_code = $order->client_code;
-        if(preg_match('/^O[\d]/',$client_code ?? '') > 0){
-            OrderTracking::query()->where('id',$orderTrackings->id)->update(['web_order_number'=>$client_code]);
-        }
-    }
-
-    public function updateOrderTrackingGrossWeightAndBulk(){
-        $orderTrackings = OrderTracking::query()->with('commodities.package.order.owner','commodities.commodity')
-            ->where('created_at','>','2020-09-17 00:00:00')->get();
+        $orderTrackings = OrderTracking::query()->with('commodities.package.order')->get();
         foreach ($orderTrackings as $orderTracking) {
-            $code = $orderTracking->commodities->package->order->owner->code ?? false;
-            $amount = $orderTracking->commodities->amount;
-            if(!$code){continue;}
-            $commodity = $orderTracking->commodities->commodity;
-            $basSku =  OracleBasSKU::query()->where('CustomerID',$code)->where('SKU',$commodity->sku)->first();
-            $gross_weight = null;
-            $bulk = null;
-            $gross_weight = round($basSku->grossweight * $amount,3);
-            $bulk = round($basSku->cube * $amount,3);
-            if($orderTracking->gross_weight!= $gross_weight ||$orderTracking->bulk!= $bulk ){
-                OrderTracking::query()->where('id',$orderTracking->id)->update(['gross_weight'=>$gross_weight,'bulk'=>$bulk]);
-            }
+            $order = $orderTracking->commodities->package->order;
+            $order_code = $order->client_code;
+            $orderTracking->update(['order_client_code'=>$order_code]);
         }
-    }
+     }
+
 }

+ 3 - 3
app/Imports/OrderIssueImport.php

@@ -52,13 +52,13 @@ class OrderIssueImport implements ToCollection, WithHeadingRow, WithMultipleShee
                     $sum++;
                     continue;
                 }
-                $order_type = OrderIssueType::where('name', $row['问题类别'])->first();
+                $order_type = OrderIssueType::query()->where('name', $row['问题类别'])->first();
                 if (!$order_type) {
                     array_push($exception, ['原始运单号' . $row['原始运单号'] . '对应的的问题件类别不存在']);
                     continue;
                 }
-                $count = OracleDOCOrderHeader::where('soreference5', $logistic_number)->count();
-                $detailCount = OracleActAllocationDetails::where('picktotraceid', $logistic_number)->count();
+                $count = OracleDOCOrderHeader::query()->where('soreference5', $logistic_number)->count();
+                $detailCount = OracleActAllocationDetails::query()->where('picktotraceid', $logistic_number)->count();
                 if (!$count && !$detailCount) {
                     array_push($exception, ['原始运单号' . $row['原始运单号'] . '对应的WMS运单不存在']);
                     $sum++;

+ 3 - 3
app/OrderTracking.php

@@ -11,13 +11,13 @@ class OrderTracking extends Model
     use ModelTimeFormat;
     protected $fillable = [
         'order_package_commodity_id','owner_id','web_order_number',
-        'pick_up_at','sale','client',
+        'pick_up_at','sale','client','order_client_code',
         'order_remark','pallet_total','planning_sent_at',
         'is_on_duty_shift','is_arrival','signed_at',
         'receive_bill_status','remark','gross_weight','bulk'];
 
     protected $appends =[
-        'ownerName','sku','packageWeight','packageBulk','orderCity','packageLogisticNumber','packageLogistic','orderClientCode'
+        'ownerName','sku','packageWeight','packageBulk','orderCity','packageLogisticNumber','packageLogistic','orderClientNumber'
     ];
 
     public function commodities(){
@@ -51,7 +51,7 @@ class OrderTracking extends Model
     public function getPackageLogisticAttribute(){
         return $this->commodities->package->order->logistic['name'] ?? '';
     }
-    public function getOrderClientCodeAttribute(){
+    public function getOrderClientNumberAttribute(){
         return $this->commodities->package->order['client_code'] ?? '';
     }
 }

+ 14 - 0
app/Services/OrderService.php

@@ -8,6 +8,7 @@ use App\OracleBasCustomer;
 use App\OracleDOCASNHeader;
 use App\OracleDOCOrderHeader;
 use App\Order;
+use App\OrderIssue;
 use App\OrderPackage;
 use App\OrderPackageCommodities;
 use App\Owner;
@@ -646,4 +647,17 @@ class OrderService
         return Order::query()->whereIn('code',$order_nos)->get();
     }
 
+    public function 返回有问题件的订单号($orders)
+    {
+        if($arr ?? false){return ;}
+        $orderNo =  data_get($orders,'*.orderno');
+        $orderIssues = OrderIssue::query()->with('order')
+            ->whereHas('order',function($query)use($orderNo){
+                $query->whereIn('code',$orderNo);
+            })->get();
+
+        return $orderIssues->map(function($orderIssue){
+            return $orderIssue->order->code;
+        });
+    }
 }

+ 3 - 1
app/Services/OrderTrackingService.php

@@ -190,7 +190,7 @@ class OrderTrackingService
             ->whereHas('commodities.package.order', function ($query) use ($order_id) {
                 $query->where('id', $order_id);
             })->update([$param=>$value]);
-        return ['success'=> $bool];
+        return ['success'=> $bool > 0];
     }
 
     public function createByWmsOrderHeader($orderHeaders)
@@ -256,6 +256,7 @@ class OrderTrackingService
             $params[] =[
                 'order_package_commodity_id' => $item->id,
                 'owner_id' => $order->owner_id,
+                'order_client_code' =>$order->client_code,
                 'client' => $client,
                 'created_at' => $order->created_at,
                 'order_remark' => $order_remark,
@@ -375,6 +376,7 @@ class OrderTrackingService
                     $insert_params[] =[
                         'order_package_commodity_id' => $item->id,
                         'owner_id' => $order->owner_id,
+                        'order_client_code' => $order->client_code,
                         'client' => $client,
                         'created_at' => $order->created_at,
                         'order_remark' => $order_remark,

+ 34 - 0
database/migrations/2020_10_12_105209_add_order_track_order_code.php

@@ -0,0 +1,34 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class AddOrderTrackOrderCode extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        //
+        Schema::table('order_trackings', function (Blueprint $table) {
+            $table->string('order_client_code')->index()->comment('订单号')->after('web_order_number');
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        //
+        Schema::table('order_trackings', function (Blueprint $table) {
+            $table->dropColumn('order_client_code');
+        });
+    }
+}

+ 4 - 4
resources/js/utilities/tempTip.js

@@ -13,8 +13,8 @@ const tempTip={
         this.inputType=type;
     },
     showSuccess:function(text){
-        let parWidth = document.body.offsetWidth;
-        let parHeight = document.body.offsetHeight;
+        let parWidth = window.screen.availWidth;
+        let parHeight = window.screen.availHeight ;
         let parentDom = $("<div style='top: 0;left: 0;width: "+parWidth+"px;height: "+parHeight+"px;position:fixed'></div>");
         let tiper=$("<div class='row' style='color:white;opacity:0.9;position: relative;top:40%;transform:translateY(-50%);z-index:"+this.index+";width:100%;'>" +
             "<div class='col-8 offset-2'><div class='card'><div class='card-body h4 bg-success text-center'>" +
@@ -27,8 +27,8 @@ const tempTip={
         $('body').append(parentDom);
     },
     show:function(text){
-        let parWidth = document.body.offsetWidth;
-        let parHeight = document.body.offsetHeight;
+        let parWidth = window.screen.availWidth;
+        let parHeight = window.screen.availHeight ;
         let parentDom = $("<div style='top: 0;left: 0;width: "+parWidth+"px;height: "+parHeight+"px;position:fixed'></div>");
         let tiper=$("<div class='row' style='color:white;opacity:0.9;top:40%;position: relative;transform:translateY(-50%);width:100%;z-index:"+this.index+";'>" +
             "<div class='col-8 offset-2'><div class='card'><div class='card-body h2 bg-danger text-center'>" +

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

@@ -67,7 +67,10 @@
                             <input class="checkItem" type="checkbox" :value="order.orderno" v-model="checkData">
                         </td>
                         <td>@{{ i+1 }}</td>
-                        <td class="text-dark font-weight-bold text-nowrap">@{{ order.orderno }}</td>
+                        <td class="text-dark font-weight-bold text-nowrap">
+                            @{{ order.orderno }}
+                            <span v-if="orderIssueNos.includes(order.orderno)" class="badge badge-pill badge-warning">问</span>
+                        </td>
                         <td class="text-muted text-nowrap">@{{ order.ordercodename }}</td>
                         <td class="text-nowrap">@{{ order.addtime }}</td>
                         <td class="text-nowrap">@{{ order.issuepartyname }}</td>
@@ -242,6 +245,7 @@
                     {name:'{{$code->code}}',value:'{{$code->codename_c}}'},
                     @endforeach
                 ],
+                orderIssueNos:{!!  $orderIssueNos!!},
                 selectedStyle:'',
                 picktotraceidMap:{!! $picktotraceids !!},
                 pagePlaceholder:"",

+ 14 - 11
resources/views/order/tracking/index.blade.php

@@ -4,7 +4,8 @@
     @component('order.tracking.menu')@endcomponent
     <div class="container-fluid" id="tracking_div">
         <div style="min-width: 3000px">
-            <div class="d-none" id="list">
+            <div class="d-none container-fluid" id="list">
+                <div id="form_div"></div>
                 @can('订单管理-跟踪-监听')
                 <div class="modal fade" id="modal" tabindex="-1" role="dialog" aria-labelledby="pasteDataTitle" aria-hidden="true">
                     <div class="modal-dialog modal-dialog-centered modal-lg" role="document">
@@ -26,7 +27,7 @@
                     </div>
                 </div>
                 @endcan
-                <div id="form_div"></div>
+
                 <div class="form-inline mt-1 ">
                     <span class="dropdown">
                         <button type="button"
@@ -82,11 +83,14 @@
                         <td>@{{ index+1 }}</td>
                         <td class="text-decoration-none td-warm">@{{ trackOrder.ownerName }}</td>
                         <td class="td-warm">
-                            <span v-if="trackOrder.web_order_number">
-                                <span v-if="trackOrder.orderClientCode"></span>
-                                <span v-else> @{{ trackOrder.orderClientCode }}</span>
+                            <span v-if="trackOrder.web_order_number"></span>
+                            <span v-else>
+                            @can('订单管理-跟踪-仓库编辑')
+                                <input class="form-control form-control-sm" :value="trackOrder.order_client_code" @change="warehouseUpdate($event,'order_client_code',trackOrder)" >
+                            @else
+                                <span> @{{ trackOrder.order_client_code }}</span>
+                            @endcan
                             </span>
-                            <span v-else>  @{{ trackOrder.orderClientCode }}</span>
                         </td>
                         <td class="td-warm">
                             @can('订单管理-跟踪-仓库编辑')
@@ -253,7 +257,6 @@
                 isArrival: ['是','否'],
             },
             mounted:function(){
-
                 let selectDate1 = [
                     {name:'31',value:'近一月'},
                     {name:'92',value:'近三月'},
@@ -377,13 +380,13 @@
                 warehouseUpdate(e,param,trackingOrder){
                     let value = $(e.target).val();
                     if(trackingOrder[param] === value ){
-                        return
+                        return;
                     }
                     let data = {id:trackingOrder.id,param:param,value:value}
                     let _this = this
                     axios.post('{{url("apiLocal/order/tracking/warehouseUpdate")}}',data).then(function(response){
                         if(response.data.success){
-                            tempTip.setDuration(2000)
+                            tempTip.setDuration(200000)
                             tempTip.showSuccess('更新成功')
                             _this.modifyOrderTracking(param,value,trackingOrder)
                         }else{
@@ -419,7 +422,7 @@
                 },
                 modifyOrderTracking(param,value, trackingOrder){
                     this.trackOrders.forEach(function(item){
-                        if(item['orderClientCode'] === trackingOrder['orderClientCode']){
+                        if(item['orderClientNumber'] === trackingOrder['orderClientNumber']){
                             item[param] = value
                         }
                     })
@@ -438,7 +441,7 @@
                     this.trackOrders.forEach(function(trackOrder){
                         if(parseInt(data['id']) === trackOrder['id'] ){
                             trackOrder[data['param']] = data['value'];
-                            return
+                            return;
                         }
                     });
                 },