LD 5 лет назад
Родитель
Сommit
03e7799789

+ 18 - 2
app/Http/Controllers/OrderIssueController.php

@@ -514,10 +514,17 @@ class OrderIssueController extends Controller
                         $errors[$head][]='快递单号为空';
                         $map =[];
                     }
-                    $exist_logistic =  $service->校验问题件是否存在_快递单号_返回存在的快递单号([$items[$index]]);
+                    $logistic_numbers = [$items[$index]];
+                    $exist_logistic =  $service->校验问题件是否存在_快递单号_返回存在的快递单号($logistic_numbers);
+                    $orderHeaders=OracleDOCOrderHeader::query()->with('actAllocationDetails')->whereHas('actAllocationDetails',function($query)use($logistic_numbers){
+                        $query->whereIn('picktotraceid',$logistic_numbers);
+                    })->get();
                     if(count($exist_logistic) > 0){
                         $errors[$head][]='快递单号存在对应的问题件';
                         $map =[];
+                    }else if($orderHeaders->count()==0){
+                        $errors[$head][]='快递单号不存在对应的发运订单';
+                        $map =[];
                     }
                     $logistic_numbers[] = $items[$index];
                     $map['logistic_number'] = $items[$index];
@@ -529,6 +536,13 @@ class OrderIssueController extends Controller
                     }
                     $map['result_explain'] = $items[$index];
                 }
+                if($row==='自定义订单号'){
+                    if(!$items[$index]){
+                        $errors[$head][]='自定义订单号为空';
+                        $map =[];
+                    }
+                    $map['custom_code'] = $items[$index];
+                }
                 if($row==='问题类别'){
                     if(!$items[$index]){
                         $errors[$head][]='问题类别为空';
@@ -549,11 +563,13 @@ class OrderIssueController extends Controller
 //        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,'导入未处理');
+                $custom_code = $map['custom_code'];
+                $service->createOrderIssue($logistic_number, $type, $result_explain,'导入未处理',$custom_code);
             }
             return ['success'=>true];
         } catch (Exception $e) {

+ 1 - 1
app/Http/Controllers/api/thirdPart/goodscan/PackageController.php

@@ -26,7 +26,7 @@ class PackageController
         }
 
         $errors = $this->validatorWeight($requestInput)->errors(); // 参数校验
-        if($requestInput['weight'] === -9.9){   // 称重异常校验
+        if($requestInput['weight'] == '-9.9'){   // 称重异常校验
             LogService::log(__METHOD__,'GoodScan weightApi (Error)'.__FUNCTION__,'异方接口称重伤上传异常[异常值为-9.9,电子秤故障或未连接]');
             return json_encode(['code'=>500,'error'=>'weight=-9.9']);
         }

+ 5 - 4
app/Services/OrderIssueService.php

@@ -284,7 +284,7 @@ class OrderIssueService
         }
     }
 
-    public function createOrderIssueByWmsOrder($orderHeaders,$order_issue_type_id,$result_explain,$imported_status='正常')
+    public function createOrderIssueByWmsOrder($orderHeaders,$order_issue_type_id,$result_explain,$imported_status='正常',$custom_code=null)
     {
         /** @var OrderService $orderService */
         $orderService = app(OrderService::class);
@@ -295,7 +295,8 @@ class OrderIssueService
                 'order_id'=>$order->id,
                 'order_issue_type_id' => $order_issue_type_id,
                 'result_explain'=>$result_explain,
-                'imported_status'=>$imported_status
+                'imported_status'=>$imported_status,
+                'custom_code'=>$custom_code
             ];
         }
         try {
@@ -465,14 +466,14 @@ class OrderIssueService
      * @param string $type
      * @param string $result_explain
      */
-    public function createOrderIssue($logisticNumber,$type,$result_explain,$importedStatus='正常')
+    public function createOrderIssue($logisticNumber,$type,$result_explain,$importedStatus='正常',$custom_code=null)
     {
         $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,$importedStatus);
+        return $this->createOrderIssueByWmsOrder($orderHeaders,$orderIssueType->id,$result_explain,$importedStatus,$custom_code);
     }
 
     /**

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
public/js/app.js


+ 4 - 4
resources/views/order/issue/import.blade.php

@@ -11,7 +11,7 @@
                 <div class="form-group row text-center">
                     <div class="col-12 text-danger">
                         注意:请保证表第一行有以下对应的字段名<br><span class="text-muted">(可不按顺序):</span><br>
-                        原始运单号,情况说明,问题类别<br>
+                        原始运单号,问题类别,情况说明<br>
                         <span class="text-muted" style="opacity:0.7"> 订单问题类别:('拦截', '快递异常', '信息更改', '联系不上', '其他', '错漏发', '仓库问题', '快递丢件', '破损', '撤销丢件', '二次加工', '全检问题', '系统问题', '延迟发货', '仓库丢件', )<br></span>
                     </div>
                     <div class="col-12 text-info ">
@@ -67,7 +67,7 @@
                         <div class="row modal-title font-weight-bold w-100 text-nowrap ml-1 noselect" id="pasteDataTitle">
                             <span v-for="(row,i) in rows" draggable="true"
                                   @drop="drop($event,i)" @dragover="dragover($event)" @dragstart="dragstart($event,i)"
-                                  class="col-4 border" style="cursor: move"
+                                  class="col-3 border" style="cursor: move"
                                   :class="requiredRows.includes(row)?'text-danger':''">@{{ row }}</span>
                         </div>
                     </div>
@@ -95,8 +95,8 @@
         let listVue = new Vue({
             el:'#issue_import_div',
             data:{
-                rows:['原始运单号','情况说明','问题类别'],
-                requiredRows:['原始运单号','情况说明','问题类别'],
+                rows:['原始运单号','问题类别','情况说明','自定义订单号'],
+                requiredRows:['原始运单号','问题类别','情况说明','自定义订单号'],
                 popoverContent:'',
                 pasteDataText: '',
             },

+ 13 - 11
resources/views/order/issue/index.blade.php

@@ -189,26 +189,28 @@
                                         置顶
                                     </button>
                                 </td>
-                                <td class="child-layer-1">
-                                    @can('订单管理-问题件-编辑')
-                                        <select class="form-control form-control-sm" :value="orderIssue.rejecting_status" @change="updateOrderIssue(orderIssue,'rejecting_status',$event)">
-                                            <option v-for="item in rejectingStatus" :value="item.name">@{{ item.value }}</option>
-                                        </select>
-                                    @else
-                                        @{{ orderIssue.rejecting_status }}
-                                    @endcan
-                                </td>
                             @endcan
+                            <td class="child-layer-1">
+                                @can('订单管理-问题件-编辑')
+                                    <select class="form-control form-control-sm" :value="orderIssue.rejecting_status" @change="updateOrderIssue(orderIssue,'rejecting_status',$event)">
+                                        <option v-for="item in rejectingStatus" :value="item.name">@{{ item.value }}</option>
+                                    </select>
+                                @else
+                                    @{{ orderIssue.rejecting_status }}
+                                @endcan
+                            </td>
                         @endcannot
+
                         <td class="child-layer-1">
                             @can('订单管理-问题件-编辑')
                                 <select class="form-control form-control-sm" :value="orderIssue.final_status" @change="updateOrderIssue(orderIssue,'final_status',$event)">
-                                    <option v-for="item in  finalStatus" :value="item.value">@{{ item.name }}</option>
+                                    <option v-for="item in finalStatus" :value="item.value">@{{ item.name }}</option>
                                 </select>
                             @else
                                 @{{ orderIssue.final_status }}
                             @endcan
-                        </td>{{--最终状态--}}
+                        </td>
+
                         @cannot('订单管理-问题件-客户不可见')
                         <td class="toptd td-yellow child-layer-2">
                             <div v-if="orderIssue.remark" class="bg-light-yellow  text-danger top text-left" data-toggle="tooltip" style="opacity: 0.1;position: absolute;z-index: 1">

Некоторые файлы не были показаны из-за большого количества измененных файлов