Parcourir la source

工单处理->承运商->拦截`无法拦截`自动终审

loustwo il y a 4 ans
Parent
commit
a6ca80acba

+ 41 - 27
app/Services/WorkOrderInterceptService.php

@@ -148,6 +148,10 @@ class WorkOrderInterceptService extends WorkOrderService
             'type' => '处理',
         ]);
         $this->logService->createLog($detail, '处理', '承运商处理-' . $process_progress);
+        if( $process_progress == '拦截失败'){
+            $this->logService->createLog($detail, '终审', '承运商无法拦截,自动终审-无法拦截');
+            $this->review($detail,'无法拦截','无法拦截-自动完结');
+        }
     }
 
     /**
@@ -170,33 +174,7 @@ class WorkOrderInterceptService extends WorkOrderService
     public function baoShiReviewIntercept(WorkOrderDetail $detail, $params)
     {
         $process_progress = $params['process_progress'];
-        $detail->update([
-            'status' => WorkOrder::$TO_BO_OWNER_END_STATUS,
-            'process_progress' => $process_progress,
-            'last_status' => WorkOrder::$BAO_SHI_REVIEW_STATUS,
-            'logistic_handle_tag' => 0,
-        ]);
-        $detail->workOrder()->update([
-            'status' => WorkOrder::$TO_BO_OWNER_END_STATUS,
-            'process_progress' => $process_progress,
-            'last_status' => WorkOrder::$BAO_SHI_REVIEW_STATUS,
-            'owner_tag' => WorkOrder::$STRAND_TAG,
-            'logistic_tag' => WorkOrder::$DEFAULT_TAG,
-            'bao_shi_tag' => WorkOrder::$DEFAULT_TAG,
-            'work_order_status' => 0,
-            'last_handler_id' => Auth::id(),
-        ]);
-
-        $detail->processLogs()->create([
-            'work_order_id' => $detail->work_order_id,
-            'work_order_detail_id' => $detail->id,
-            'user_id' => Auth::id(),
-            'content' => $process_progress.'-拦截工单',
-            'status' => '未同步',
-            'type' => '结束',
-        ]);
-
-        $this->endOrderIssueAndSyncProcessLogs($detail);
+        $this->review($detail, $process_progress);
         $this->logService->createLog($detail, '终审', '宝时终审-' . $process_progress);
     }
 
@@ -252,4 +230,40 @@ class WorkOrderInterceptService extends WorkOrderService
         $this->logService->createLog($detail, '终审', '自动终审-' . $process_progress);
     }
 
+    /**
+     * @param WorkOrderDetail $detail
+     * @param $process_progress
+     * @param null $endContext
+     */
+    public function review(WorkOrderDetail $detail, $process_progress,$endContext = null): void
+    {
+        $detail->update([
+            'status' => WorkOrder::$TO_BO_OWNER_END_STATUS,
+            'process_progress' => $process_progress,
+            'last_status' => WorkOrder::$BAO_SHI_REVIEW_STATUS,
+            'logistic_handle_tag' => 0,
+        ]);
+        $detail->workOrder()->update([
+            'status' => WorkOrder::$TO_BO_OWNER_END_STATUS,
+            'process_progress' => $process_progress,
+            'last_status' => WorkOrder::$BAO_SHI_REVIEW_STATUS,
+            'owner_tag' => WorkOrder::$STRAND_TAG,
+            'logistic_tag' => WorkOrder::$DEFAULT_TAG,
+            'bao_shi_tag' => WorkOrder::$DEFAULT_TAG,
+            'work_order_status' => 0,
+            'last_handler_id' => Auth::id(),
+        ]);
+
+        $detail->processLogs()->create([
+            'work_order_id' => $detail->work_order_id,
+            'work_order_detail_id' => $detail->id,
+            'user_id' => Auth::id(),
+            'content' => $endContext ?? $process_progress . '-拦截工单',
+            'status' => '未同步',
+            'type' => '结束',
+        ]);
+
+        $this->endOrderIssueAndSyncProcessLogs($detail);
+    }
+
 }

+ 1 - 1
resources/views/order/workOrder/index.blade.php

@@ -2103,7 +2103,7 @@
                 getLogisticCheckResult() {
                     let {issue_type_name} = this.logisticEditWorkOrder;
                     let items = [
-                        {issue_type_name: '快递异常', option: ['已处理', '已拦截']},
+                        {issue_type_name: '快递异常', option: ['已签收', '拦截退回']},
                         {issue_type_name: '破损', option: ['核实全部破损', '核实部分破损', '核实未破损']},
                     ];
                     let item = items.find(e => e.issue_type_name === issue_type_name);