Ver Fonte

ID 145
在WAS订单列表,增加一个可批量操作的按钮"重置接口回传标记"(颜色样式取其中有间隔区别的颜色,考虑布局不要混淆。点击后对勾选的目标进行edisendflag = 'N' 的操作。被勾选的目标如果有不满足以下条件的,要中止并且报错提示:”目标状态必须是sostatus='99,edisendflag in('R','W'),addwho !='EDI'"“

ANG YU há 5 anos atrás
pai
commit
dd283da308

+ 30 - 0
app/Http/Controllers/OrderController.php

@@ -302,7 +302,37 @@ sql;
         }
         oci_close($conn);
         return true;
+    }
+
+    public function resetInterfaceReturnMark(Request $request)
+    {
+        if(!Gate::allows('订单管理-编辑')){ return redirect(url('/'));  }
+        $orderno=$request->orderno;
+        $oldIds =OracleDOCOrderHeader::query()
+            ->whereIn('orderno', $orderno)
+            ->where('edisendflag', 'N')->pluck('orderno')->toArray();
 
+        OracleDOCOrderHeader::query()
+            ->whereIn('orderno',$orderno)
+            ->where('sostatus','99')
+            ->whereIn('edisendflag',['R','W'])
+                ->where('addwho','!=','EDI')
+            ->update(['edisendflag'=>'N']);
+
+        $failedOrdernos =OracleDOCOrderHeader::query()
+            ->whereIn('orderno', $orderno)
+            ->where('edisendflag', '!=', 'N')->pluck('orderno');
+
+        $successedOrdernos =OracleDOCOrderHeader::query()
+            ->whereIn('orderno', array_diff($orderno,$oldIds))
+            ->where('edisendflag', 'N')->pluck('orderno');
+
+        app('LogService')->log(__METHOD__,'重置接口回传标记'.__FUNCTION__,json_encode($orderno),Auth::user()['id']);
+        if (count($failedOrdernos)==0) {
+            return ['success'=>true];
+        } else {
+            return ['success'=>false,'fail_info'=>"数据 {$failedOrdernos} 更新失败,数据{$successedOrdernos}更新成功"];
+        }
     }
 
 }

+ 31 - 0
resources/views/order/index/delivering.blade.php

@@ -28,6 +28,7 @@
                         <button type="button" @click="thaw(null,true)" class="btn btn-sm btn-outline-danger tooltipTarget ml-1" title="解除已冻结订单" style="opacity: 0.7">解冻</button>
                         <span class="btn btn-sm btn-outline-dark tooltipTarget ml-1" @click="deAllocationAll" style="cursor: pointer"  title="订单的取消分配条件要只局限在“分配完成”或“部分分配”">取消分配</span>
                         <button type="button" @click="resetLogisticsGetMark()" class="btn btn-sm ml-1 btn-outline-success">重置快递获取标记</button>
+                        <button type="button" @click="resetInterfaceReturnMark()" class="btn btn-sm ml-1 btn-outline-secondary">重置接口回传标记</button>
                     @endcan
                     @can('订单管理-订单-生成问题件')<button  @click="orderIssueTag()" type="button" class="btn btn-sm ml-1 btn-outline-primary">标记问题件</button>@endcan
                     @can('订单管理-订单-生成退货单')
@@ -675,6 +676,36 @@
                         tempTip.show("网络错误:"+err)
                     })
                 },
+                resetInterfaceReturnMark(){
+                    if (checkData.length < 1){
+                        tempTip.setDuration(3000);
+                        tempTip.showSuccess('未选择任何单号');
+                        return
+                    }
+                    if (!confirm('确定要重置接口回传标记吗?'))return;
+                    let url = '{{url('order/resetInterfaceReturnMark')}}';
+                    let _this = this;
+                    axios.post(url,{orderno : checkData}).then(function (response) {
+                        if (response.data.success){
+                            checkData.forEach(orderno => {
+                                _this.orders.some(order => {
+                                    if (order.orderno === orderno){
+                                        order.edisendflag  = "N";
+                                        return true;
+                                    }
+                                });
+                            });
+                            tempTip.setDuration(2000);
+                            tempTip.showSuccess('重置接口回传标记成功!');
+                        } else{
+                            tempTip.setDuration(5000);
+                            tempTip.show(response.data.fail_info);
+                        }
+                        }).catch(function (err) {
+                            tempTip.setDuration(3000);
+                            tempTip.show("网络错误:"+err)
+                       });
+                },
                 changeRemark(){
                     this.typeId ='';
                     this.result_explain ='';

+ 1 - 0
routes/web.php

@@ -706,6 +706,7 @@ Route::group(['prefix'=>'order'],function(){
     Route::post('deAllocation','OrderController@deAllocation');
     Route::post('deAllocationAll','OrderController@deAllocationAll');
     Route::post('resetLogisticsGetMark','OrderController@resetLogisticsGetMark');
+    Route::post('resetInterfaceReturnMark','OrderController@resetInterfaceReturnMark');
     Route::post('createRejectedBill','OrderController@createRejectedBill');
     Route::post('isRejectedBillExist','OrderController@isRejectedBillExist');
 });