Explorar el Código

Merge branch 'zengjun' of ssh://was.baoshi56.com:10022/var/git/bswas into zengjun

LD hace 5 años
padre
commit
4c5756d214

+ 5 - 4
app/Http/Controllers/OrderIssueController.php

@@ -499,15 +499,15 @@ class OrderIssueController extends Controller
         /** @var OrderIssueService $service */
         $service =  app(OrderIssueService::class);
         foreach ($array as $i => $str) {
-            $items = explode("\t",$str);
-             $head = '第'.($i+1).'行';
+            $string= preg_replace('/[\s,\,\,]+/','*++*',$str);
+            $items = explode('*++*',$string);
+            $head = '第'.($i+1).'行';
             if(count($items)<count($rows)){
                 $errors[$head] = ['数据不完整'];
                 unset($items);
                 continue;
             }
             $map = [];
-
             foreach ($rows as $index=>$row) {
                 if($row === '原始运单号'){
                     if(!$items[$index]){
@@ -546,13 +546,14 @@ class OrderIssueController extends Controller
             }
             if(count($map)!==0)$maps[] = $map;
         }
+//        if(count($errors)>0)dd($errors);
         if(count($errors)>0) return ['success'=>false,'fail_info'=>$errors];
         try {
             foreach ($maps as $map) {
                 $logistic_number = $map['logistic_number'];
                 $result_explain = $map['result_explain'];
                 $type = $map['type'];
-                $service->createOrderIssue($logistic_number, $type, $result_explain);
+                $service->createOrderIssue($logistic_number, $type, $result_explain,'导入未处理');
             }
             return ['success'=>true];
         } catch (Exception $e) {

+ 1 - 1
app/Imports/OrderIssueImport.php

@@ -93,7 +93,7 @@ class OrderIssueImport implements ToCollection, WithHeadingRow, WithMultipleShee
                     $sum++;
                     continue;
                 }
-                $arr = ['order_id' => $order['id'], 'order_issue_type_id' => $order_type['id'],'result_explain'=>$row['情况说明']];
+                $arr = ['order_id' => $order['id'], 'order_issue_type_id' => $order_type['id'],'result_explain'=>$row['情况说明'],'imported_status'=>'导入未处理'];
                 if ($rejectedBill) {
                     $arr['rejected_bill_id'] = $rejectedBill['id'];
                 }

+ 1 - 1
app/OrderIssue.php

@@ -14,7 +14,7 @@ class OrderIssue extends Model
         'order_id', 'created_at', 'rejected_bill_id', 'rejecting_status', 'result_explain','logistic_number_return',
         'situation_explain', 'order_issue_type_id', 'second_order_id', 'is_new_rejecting','second_client_no','second_logistic_number',
         'final_status', 'logistic_indemnity_money', 'logistic_express_remission', 'baoshi_indemnity_money', 'baoshi_express_remission', 'user_workgroup_id',
-        'custom_code'];
+        'custom_code','imported_status'];
     /*
      * second_client_no 二次客户订单号
      * second_logistic_number 二次运单号 【二次运单号可以单独存在,当二次客户订单号有对应的订单信息时,显示的是二次客户订单号对应的运单号,没有的话显示二次原单号】

+ 8 - 4
app/Services/OrderIssueService.php

@@ -61,6 +61,9 @@ class OrderIssueService
                 }
             });
         }
+        if(isset($arr['is_imported'])){
+            $query->where('imported_status',$arr['is_imported']);
+        }
 
         if(isset($arr['is_new_rejecting'])){
             $query->where('is_new_rejecting','=',$arr['is_new_rejecting']);
@@ -277,7 +280,7 @@ class OrderIssueService
         }
     }
 
-    public function createOrderIssueByWmsOrder($orderHeaders,$order_issue_type_id,$result_explain)
+    public function createOrderIssueByWmsOrder($orderHeaders,$order_issue_type_id,$result_explain,$imported_status='正常')
     {
         /** @var OrderService $orderService */
         $orderService = app(OrderService::class);
@@ -287,7 +290,8 @@ class OrderIssueService
             $innerParams[] = [
                 'order_id'=>$order->id,
                 'order_issue_type_id' => $order_issue_type_id,
-                'result_explain'=>$result_explain
+                'result_explain'=>$result_explain,
+                'imported_status'=>$imported_status
             ];
         }
         try {
@@ -457,14 +461,14 @@ class OrderIssueService
      * @param string $type
      * @param string $result_explain
      */
-    public function createOrderIssue($logisticNumber,$type,$result_explain)
+    public function createOrderIssue($logisticNumber,$type,$result_explain,$importedStatus='正常')
     {
         $orderHeaders = OracleDOCOrderHeader::query()->with(['oracleDOCOrderDetails', 'actAllocationDetails','oracleBASCode'])
             ->whereHas('actAllocationDetails',function($query)use($logisticNumber){
                 $query->where('picktotraceid',$logisticNumber);
             })->get();
         $orderIssueType = OrderIssueType::query()->where('name',$type)->first();
-        $this->createOrderIssueByWmsOrder($orderHeaders,$orderIssueType->id,$result_explain);
+        $this->createOrderIssueByWmsOrder($orderHeaders,$orderIssueType->id,$result_explain,$importedStatus);
     }
 
     /**

+ 31 - 0
database/migrations/2020_10_28_143717_add_order_issue_colnum_imported_status.php

@@ -0,0 +1,31 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class AddOrderIssueColnumImportedStatus extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::table('order_issues', function (Blueprint $table) {
+            $table->enum('imported_status',['正常','导入未处理','导入已梳理'])->default('正常')->comment('导入处理')->after('baoshi_express_remission');        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::table('order_issues', function (Blueprint $table) {
+            $table->dropColumn('imported_status');
+        });
+    }
+}

+ 12 - 2
resources/views/order/issue/index.blade.php

@@ -77,7 +77,7 @@
                             </label>
                         </th>
                         <th class="one-layer align-middle" rowspan="2" style=" min-width: 50px;">序号</th>
-                        <th class="one-layer align-middle" rowspan="2" style=" min-width: 25px;">ID</th>
+                        <th class="one-layer align-middle" rowspan="2" style=" min-width: 70px;">ID</th>
                         @cannot('订单管理-问题件-客户不可见')
                             <th class="one-layer align-middle" rowspan="2" style=" min-width: 75px;">新退件状态</th>
                             @can("订单管理-问题件-置顶")
@@ -163,7 +163,12 @@
                             </div>
                         </td>
                         <td class="child-layer-1">@{{index+1}}</td>
-                        <td class="child-layer-1">@{{ orderIssue.id }}</td>
+                        <td class="child-layer-1">
+                            @{{ orderIssue.id }}
+                            @can('订单管理-问题件-编辑')
+                            <button type="button" v-if="orderIssue.imported_status === '导入未处理'" class="btn btn-sm btn-primary" @click="updateOrderIssue(orderIssue,'imported_status',$event)">导入</button>
+                            @endcan
+                        </td>
                         @cannot('订单管理-问题件-客户不可见')
                             <td class="child-layer-1">
                                 @can('订单管理-问题件-编辑')
@@ -716,6 +721,7 @@
                     {name: '已解决', value: '已解决'},
                     {name: '待退回', value: '待退回'},
                     {name: '退回中', value: '退回中'}];
+                let imported_status = [{name:'导入未处理',value:'导入未处理'},{name:'导入已处理',value:'导入已处理'}]
                 let data = [[
                     {name: 'created_at_start', type: 'dateTime', tip: '订单开始日期'},
                     {
@@ -744,6 +750,7 @@
                     {name: 'good_barcode', type: 'input', tip: '条码:前或后加 百分号为单个模糊搜索,否则为多条件精确搜索', placeholder: '条码'},
                     {name: 'good_name', type: 'input', tip: '商品名:前或后加 百分号为单个模糊搜索,否则为多条件精确搜索', placeholder: '商品名'},
                     {name: 'id_quality_label', type: 'select', tip: '是否正品', placeholder: '是否正品', data: this.qualityLabel},
+                    {name: 'is_imported', type: 'select', tip: '是否导入处理', placeholder: '是否导入处理', data: imported_status},
 
                 ],[
                     @cannot('订单管理-问题件-客户不可见')
@@ -1208,6 +1215,9 @@
                 },
                 updateOrderIssue(orderIssue,column,e){
                     let value = $(e.target).val()
+                    if(column==='imported_status'){
+                        value = '导入已处理'
+                    }
                     if(column === 'final_status' && value === '已解决'){
                         this.endOrderIssueById(orderIssue['id'])
                         return ;