loustwo 4 лет назад
Родитель
Сommit
8b14c9874e

+ 4 - 3
app/Http/Controllers/RejectedBillController.php

@@ -13,6 +13,7 @@ use App\RejectedBill;
 use App\Services\LogService;
 use App\Services\RejectedBillItemService;
 use App\Services\RejectedBillService;
+use App\Services\WorkOrderService;
 use Illuminate\Contracts\View\Factory;
 use Illuminate\Http\RedirectResponse;
 use Illuminate\Http\Request;
@@ -95,8 +96,6 @@ class RejectedBillController extends Controller
         $rejectedBillService=app(RejectedBillService::class);
         $rejectedBillService->joinOrderIssue($rejectedBill);
         $rejectedBillService->updateCheckedStatusByWms($request->input('logistic_number_return'));
-//        $rejectedBill->同步问题件退件状态();
-
         app('LogService')->log(__METHOD__,__FUNCTION__.'_'.$rejectedBill['id'],json_encode($request->toArray()),Auth::user()['id']);
         return ['success'=>'true','id'=>$rejectedBill['id']];
     }
@@ -120,9 +119,11 @@ class RejectedBillController extends Controller
          * @var RejectedBillService $rejectedBillService
          */
         $rejectedBillService=app(RejectedBillService::class);
+        $workOrderService=app(WorkOrderService::class);
+        $workOrderService->syncWorkOrder($rejectedBill);
+
         $rejectedBillService->syncOrderIssue($rejectedBill);
         $rejectedBillService->updateCheckedStatusByWms($rejectedBill->logistic_number_return);
-//        $rejectedBill->同步问题件退件状态();
 
         app('LogService')->log(__METHOD__,__FUNCTION__.'_'.$rejectedBill['id'],json_encode($request->toArray()),Auth::user()['id']);
         return ['success'=>'true'];

+ 3 - 2
app/Http/Controllers/TestController.php

@@ -228,8 +228,9 @@ class TestController extends Controller
     }
 
     public function test123(){
-
-        dd(Str::contains('承运商处理','承运商',));
+        $rejected_bill = RejectedBill::query()->first();
+        $service = new WorkOrderService();
+        $service->syncWorkOrder($rejected_bill);
 //        dd(WorkOrderDetail::query()->orderByDesc('id')->first());
     }
 

+ 25 - 3
app/Services/WorkOrderService.php

@@ -2,6 +2,8 @@
 
 namespace App\Services;
 
+use App\OracleDOCOrderHeader;
+use App\Order;
 use App\OrderIssue;
 use App\OrderIssueType;
 use App\OrderPackage;
@@ -9,7 +11,6 @@ use App\Traits\ServiceAppAop;
 use App\WorkOrder;
 use App\WorkOrderDetail;
 use Illuminate\Support\Facades\Auth;
-use Illuminate\Support\Facades\Gate;
 
 class WorkOrderService
 {
@@ -108,8 +109,8 @@ class WorkOrderService
     public function ownerEndWorkOrderDetail(WorkOrderDetail $detail)
     {
         $this->logService->createLog($detail, '完结', '货主完结');
-        $detail->change('完成','完成','待货主完结');
-        $detail->workOrder->change('完成','完成','待货主完结');
+        $detail->change('完成', '完成', '待货主完结');
+        $detail->workOrder->change('完成', '完成', '待货主完结');
         $detail->workOrder->clearWorkOrderStatus();                     // 清除创建标记
         $this->detailService->endDetail($detail);                       // 标记为处理过
     }
@@ -271,4 +272,25 @@ class WorkOrderService
     {
         $detail->logisticTagHandle();
     }
+
+    public function syncWorkOrder($rejectedBill)
+    {
+        $logistic_number_return  = $rejectedBill->logistic_number_return;
+        $workOrder = WorkOrder::query()->where('order_id', function ($query)use($logistic_number_return) {
+            $query->from('order_packages')->selectRaw('order_id')->where('logistic_number', $logistic_number_return);
+        })->orderByDesc('id')->first();
+        if (!$workOrder){
+            $orderHeader = OracleDOCOrderHeader::query()->selectRaw('OrderNO')->where('SoReference1', function ($query) use ($logistic_number_return) {
+                $query->select('AsnReference2')->from('DOC_ASN_HEADER')->where('AsnReference3', $logistic_number_return)->first();
+            })->first();
+            if (!$orderHeader) return;
+            $workOrder = WorkOrder::query()->where('order_id', function ($query) use ($orderHeader) {
+                $query->from('orders')->select('id')->where('code', $orderHeader->orderno);
+            })->orderByDesc('id')->first();
+        }
+        if($workOrder){
+            $workOrder->is_new_rejecting =1;
+            $workOrder->save();
+        }
+    }
 }

+ 22 - 0
app/WorkOrder.php

@@ -48,6 +48,8 @@ class WorkOrder extends Model
         'logistic_tag',             // 待承运商处理标记
         'bao_shi_tag',              // 待宝时处理标记
         'owner_tag',                // 待货主处理标记
+        "is_new_rejecting "         // 回库标记
+
     ];
 
     static public $process_progress = [
@@ -81,6 +83,10 @@ class WorkOrder extends Model
             '完成' => 5,
             '待货主完结' => 6,
         ],
+        'is_new_rejecting'=> [
+            '' => 0,
+            '回库' => 1,
+        ],
     ];
 
     function __construct(array $attributes = [])
@@ -91,6 +97,22 @@ class WorkOrder extends Model
         parent::__construct($attributes);
     }
 
+    public function getIsNewRejectingAttribute($value)
+    {
+        if (!$value) return '';
+        return self::$enums['is_new_rejecting'][$value];
+    }
+
+    public function setIsNewRejectingAttribute($value)
+    {
+        if (!$value) return;
+        if (is_numeric($value)) {
+            $this->attributes['is_new_rejecting'] = $value;
+        } else {
+            $this->attributes['is_new_rejecting'] = self::$enums['is_new_rejecting'][$value];
+        }
+    }
+
     public function getStatusAttribute($value)
     {
         if (!$value) return '';

+ 32 - 0
database/migrations/2021_12_18_102015_work_orders_add_is_new_rejecting.php

@@ -0,0 +1,32 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class WorkOrdersAddIsNewRejecting extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::table('work_orders', function (Blueprint $table) {
+            $table->integer('is_new_rejecting')->comment('回库标记');
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::table('work_orders', function (Blueprint $table) {
+            $table->dropColumn('is_new_rejecting');
+        });
+    }
+}

+ 4 - 0
resources/views/order/workOrder/index.blade.php

@@ -48,6 +48,10 @@
                                     <span v-show="isLogisticHandler(item)" class="badge badge-success">
                                     </span>
+
+                                    <span v-show="item.is_new_rejecting ==='回库'" class="badge badge-danger">
+                                        退
+                                    </span>
                                 </td>
                                 <td>
                                     <span v-text="item.id"></span>