Browse Source

修改运输系统接口相关

LD 6 năm trước cách đây
mục cha
commit
2f2bd8612f

+ 47 - 28
app/Http/Controllers/AuthorityController.php

@@ -39,47 +39,66 @@ class AuthorityController extends Controller
         return view('maintenance.authority.create',compact('owners'));
     }
 
-    /**
-     * Store a newly created resource in storage.
-     *
-     * @param Request $request
-     * @return string
-     */
+//    /**
+//     * Store a newly created resource in storage.
+//     *
+//     * @param Request $request
+//     * @return string
+//     */
+//    public function store(Request $request)
+//    {
+//        if(!Gate::allows('权限-录入')){ return redirect(url('/'));  }
+//        $inputs=$request->all();
+//        $inputs['combinedName']=$request->input('name').'_'.$request->input('id_owner');
+//        $this->validatorCreate($inputs)->validate();
+//        $successName= $request->input('name')??'';
+//        $inputs['name']=$inputs['combinedName'];
+//
+//        if($request->input('id_owner')??''){
+//            $owner=Owner::find($inputs['id_owner']);
+//            if(isset($inputs['remark'])){
+//                $inputs['remark'].="(key: {$inputs['combinedName']})";
+//            }else{
+//                $inputs['remark']="(key: {$inputs['combinedName']})";
+//            }
+//            $inputs['alias_name']=$request->input('name')."_(货主:$owner->name)";
+//            $successName.="(货主:$owner->name)";
+//        }else{
+//            $inputs['alias_name']=$request->input('name');
+//        }
+//        $authority=new Authority($inputs);
+//        $authority->save();
+//
+//        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+//        return redirect('maintenance/authority/create')->with('successTip',"成功录入权限“{$successName}”");
+//    }
+
     public function store(Request $request)
     {
         if(!Gate::allows('权限-录入')){ return redirect(url('/'));  }
-        $inputs=$request->all();
-        $inputs['combinedName']=$request->input('name').'_'.$request->input('id_owner');
-        $this->validatorCreate($inputs)->validate();
-        $successName= $request->input('name')??'';
-        $inputs['name']=$inputs['combinedName'];
+        $this->validatorCreate($request->all())->validate();
+        $owner=Owner::find($request->input('id_owner'));
 
-        if($request->input('id_owner')??''){
-            $owner=Owner::find($inputs['id_owner']);
-            if(isset($inputs['remark'])){
-                $inputs['remark'].="(key: {$inputs['combinedName']})";
-            }else{
-                $inputs['remark']="(key: {$inputs['combinedName']})";
-            }
-            $inputs['alias_name']=$request->input('name')."_(货主:$owner->name)";
-            $successName.="(货主:$owner->name)";
-        }else{
-            $inputs['alias_name']=$request->input('name');
-        }
-        $authority=new Authority($inputs);
+        $authority=new Authority(['alias_name'=>"(货主:{$owner['name']})",'name'=>"_{$owner['id']}",'remark'=>"(key: _{$owner['id']})"]);
         $authority->save();
 
         $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
-        return redirect('maintenance/authority/create')->with('successTip',"成功录入权限“{$successName}”");
+        return redirect('maintenance/authority/create')->with('successTip',"成功录入权限: (货主:{$owner['name']})");
     }
+
     protected function validatorCreate(array $data)
     {
+        $data['name']="_{$data['id_owner']}";
         return Validator::make($data, [
-            'name' => ['max:50', 'required_without:id_owner'],
-            'id_owner' => ['max:11', 'required_without:name'],
-            'combinedName' => ['max:50', 'unique:authorities,name'],
+            'id_owner' => ['required', 'exists:owners,id'],
+            'name' => ['unique:authorities,name'],
+        ],[
+            'id_owner.required' => '必须选一个货主',
+            'id_owner.exists' => '当前货主不存在',
+            'name.unique' => '该货主对应权限已添加过',
         ]);
     }
+
     protected function validatorUpdate(array $data)
     {
         return Validator::make($data, [

+ 6 - 6
app/Http/Controllers/TestController.php

@@ -7,13 +7,14 @@ use App\Authority;
 use App\Batch;
 use App\Events\CancelOrder;
 use App\Events\WmsReceiveNewEvent;
+use App\Http\Controllers\Api\thirdPart\flux\WaybillController;
 use App\Logistic;
-use App\OracleBasSKU;
 use App\Order;
 use App\Package;
 use App\Rejected;
 use App\RejectedBill;
 use App\RejectedBillItem;
+use App\Waybill;
 use App\WMSReflectReceive;
 use Carbon\Carbon;
 use Endroid\QrCode\Response\QrCodeResponse;
@@ -32,11 +33,10 @@ class TestController extends Controller
         return call_user_func([$this, $method],$request);
     }
     function t1(Request $request){ //x
-        $packages=Package::where('batch_number','W200430000003')->get();
-        $packages->each(function(Package $package){
-            $fluxC=new \App\Http\Controllers\Api\thirdPart\flux\PackageController();
-            $fluxC->accomplishToWMS($package);
-        });
+        $waybill = Waybill::orderBy('id','desc')->first();
+        $waybill['wms_bill_number'] = 'SO20050600004';
+        $waybill['waybill_number'] = 'WBZF1234910';
+        dd((new WaybillController())->accomplishToWMS($waybill));
     }
     function tj(Request $request){
         $bills=RejectedBill::where('is_loaded',2)->where('created_at','<',Carbon::now()->subHours(10)->toDateTimeString());

+ 4 - 4
app/Http/Controllers/api/thirdPart/flux/WaybillController.php

@@ -3,7 +3,6 @@
 namespace App\Http\Controllers\Api\thirdPart\flux;
 
 use App\Http\Controllers\Controller;
-use App\Store;
 use App\Waybill;
 use App\WMSWaybill;
 use App\WMSWaybillOrder;
@@ -34,6 +33,7 @@ class WaybillController extends Controller
                     ->setEncodingOptions(JSON_UNESCAPED_UNICODE);
             }
             foreach ($receiveInputting['order_list'] as $orderInputting){
+                $orderInputting['OrderNo']=$receiveInputting['OrderNo'];
                 if(!WMSWaybillOrder::create($orderInputting)){
                     Controller::logS(__METHOD__,'error_'.__FUNCTION__,'运单订单行WMS写入错误'.'|'.json_encode($orderInputting));
                     return response()->json(['response'=>['return'=>['returnFlag'=>'0','returnCode'=>'0001','returnDesc'=>'运单订单行WMS写入错误'.'|'
@@ -57,7 +57,7 @@ class WaybillController extends Controller
             'request.*.CarrierID' => ['required', 'string', 'max:191'],
             'request.*.ConsigneeName' => ['nullable', 'string', 'max:191'],
             'request.*.C_Tel' => ['nullable', 'string', 'max:191'],
-            'request.*.C_Address' => ['required', 'string', 'max:191'],
+            'request.*.C_Address1' => ['required', 'string', 'max:191'],
             'request.*.C_Province' => ['required', 'string', 'max:191'],
             'request.*.C_City' => ['nullable', 'string', 'max:191'],
             'request.*.C_District' => ['nullable', 'string', 'max:191'],
@@ -89,10 +89,10 @@ class WaybillController extends Controller
         $response = Zttp::post($url, $sendingJson);
         $responseJson = $response->json();
         if(!$responseJson||!isset($responseJson['Response'])||!$responseJson['Response']['return']['returnFlag']=='1'){
-            if(config('api.jianshang_rejecteds_log_switch'))Controller::logS(__METHOD__,'error_'.__FUNCTION__,"向WMS提交运单失败!!SO单号:{$waybill['wms_bill_number']}。返回:{$response->body()}",Auth::user()['id']);
+            Controller::logS(__METHOD__,'error_'.__FUNCTION__,"向WMS提交运单失败!!SO单号:{$waybill['wms_bill_number']}。提交:{$json},返回:{$response->body()}, URL:{$url}",Auth::user()['id']);
             return false;
         }
-        if(config('api.jianshang_rejecteds_log_switch'))Controller::logS(__METHOD__,''.__FUNCTION__,"向WMS提交运单成功,SO单号:{$waybill['wms_bill_number']}。返回:{$response->body()}",Auth::user()['id']);
+        Controller::logS(__METHOD__,''.__FUNCTION__,"向WMS提交运单成功,SO单号:{$waybill['wms_bill_number']}。返回:{$response->body()}",Auth::user()['id']);
         return true;
 
     }

+ 4 - 0
config/api.php

@@ -15,6 +15,7 @@ return [
     /** Flux
     https://was.baoshi56.com/api/thirdPart/flux/receive/new  //新增收货
     https://was.baoshi56.com/api/thirdPart/flux/package/new  //新增包裹
+    https://was.baoshi56.com/api/thirdPart/flux/waybill/new  //新增运单
      **/
     'flux'=>[
         'receive'=>[
@@ -23,6 +24,9 @@ return [
         'package'=>[
             'new'=>'http://106.14.155.246:19192/datahub/FluxBSJsonApi/TASK' //通知WMS, 已称完的包裹
         ],
+        'waybill'=>[
+            'new'=>'http://47.103.72.58:19199/datahub/FluxBSJsonApi/BS_TMS/' //通知WMS, 已称完的包裹
+        ],
     ],
 
     'baidu'=>[

+ 1 - 1
database/migrations/2020_04_28_141248_create_w_m_s_waybills_table.php

@@ -19,7 +19,7 @@ class CreateWMSWaybillsTable extends Migration
             $table->string('CarrierID')->nullable()->comment('承运人');
             $table->string('ConsigneeName')->nullable()->comment('收货人姓名');
             $table->string('C_Tel')->nullable()->comment('收货人电话');
-            $table->string('C_Address')->nullable()->comment('收货地址');
+            $table->string('C_Address1')->nullable()->comment('收货地址');
             $table->string('C_Province')->nullable()->comment('省');
             $table->string('C_City')->nullable()->comment('市');
             $table->string('C_District')->nullable()->comment('区');

+ 87 - 0
resources/views/maintenance/authority/create.blade.bak.php

@@ -0,0 +1,87 @@
+@extends('layouts.app')
+
+@section('content')
+    <div id="nav2">
+        @component('maintenance.menu')@endcomponent
+        @component('maintenance.authority.menu')@endcomponent
+    </div>
+    <div class="container-fluid mt-3">
+        <div class="card col-md-8 offset-md-2">
+            <div class="card-body">
+                @if(Session::has('successTip'))
+                    <div class="alert alert-success h1">{{Session::get('successTip')}}</div>
+                @endif
+                @error('combinedName')
+                    <div class="alert alert-danger h1">{{ $message }}</div>
+                @enderror
+                <form method="POST" action="{{ url('maintenance/authority') }}">
+                    @csrf
+                    <div class="form-group row">
+                        <label for="name" class="col-2 col-form-label text-right">权限名称</label>
+                        <div class="col-8">
+                            <input type="text" class="form-control @error('name') is-invalid @enderror @error('combinedName') is-invalid @enderror"
+                                   name="name" autocomplete="off" value="{{ old('name') }}" placeholder="(唯一)" >
+                            @error('name')
+                            <span class="invalid-feedback" role="alert">
+                                <strong>{{ $message }}</strong>
+                            </span>
+                            @enderror
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label for="name" class="col-2 col-form-label text-right">关联货主</label>
+                        <div class="col-8">
+                            <div class="input-group">
+                                <select name="id_owner" id="id_owner" class="form-control @error('id_owner') is-invalid @enderror @error('combinedName') is-invalid @enderror">
+                                    <option value="" {{old("id_owner")==''?"selected":""}}></option>
+                                    @foreach($owners as $owner)
+                                        <option value="{{$owner->id}}" {{old("id_owner") == $owner->id ? "selected":""}}>{{$owner->name}}</option>
+                                    @endforeach
+                                </select>
+                                <input type="text" class="form-control input-group-prepend" placeholder="输入关键字定位货主名称"
+                                       name="locateOwnerSearch" autocomplete="off" oninput="locateOwner($(this).val())">
+                            </div>
+                            <script>
+                                function locateOwner(str) {
+                                    str = str.trim();
+                                    if (str==='')return ;
+                                    $("#id_owner option").attr("selected",false);
+                                    $("#id_owner").find("option:contains("+str+")").eq(0).attr("selected",true);
+                                }
+                            </script>
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label for="parent" class="col-2 col-form-label text-right">父权限</label>
+                        <div class="col-8">
+                            <select name="parent" disabled class="form-control @error('parent') is-invalid @enderror">
+                                <option value="">待开发</option></select>
+                            @error('parent')
+                            <span class="invalid-feedback" role="alert">
+                                <strong>{{ $message }}</strong>
+                            </span>
+                            @enderror
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label for="remark" class="col-2 col-form-label text-right">备注</label>
+                        <div class="col-8">
+                            <input type="text" class="form-control @error('remark') is-invalid @enderror"
+                                   name="remark" autocomplete="off" value="{{ old('remark') }}" >
+                            @error('remark')
+                            <span class="invalid-feedback" role="alert">
+                                <strong>{{ $message }}</strong>
+                            </span>
+                            @enderror
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <div class="col-8 offset-2">
+                            <input type="submit" class="btn btn-success form-control">
+                        </div>
+                    </div>
+                </form>
+            </div>
+        </div>
+    </div>
+@endsection

+ 12 - 38
resources/views/maintenance/authority/create.blade.php

@@ -17,22 +17,10 @@
                 <form method="POST" action="{{ url('maintenance/authority') }}">
                     @csrf
                     <div class="form-group row">
-                        <label for="name" class="col-2 col-form-label text-right">权限名称</label>
-                        <div class="col-8">
-                            <input type="text" class="form-control @error('name') is-invalid @enderror @error('combinedName') is-invalid @enderror"
-                                   name="name" autocomplete="off" value="{{ old('name') }}" placeholder="(唯一)" >
-                            @error('name')
-                            <span class="invalid-feedback" role="alert">
-                                <strong>{{ $message }}</strong>
-                            </span>
-                            @enderror
-                        </div>
-                    </div>
-                    <div class="form-group row">
-                        <label for="name" class="col-2 col-form-label text-right">关联货主</label>
+                        <label for="name" class="col-2 col-form-label text-right">货主</label>
                         <div class="col-8">
                             <div class="input-group">
-                                <select name="id_owner" id="id_owner" class="form-control @error('id_owner') is-invalid @enderror @error('combinedName') is-invalid @enderror">
+                                <select name="id_owner" id="id_owner" class="form-control @error('id_owner') is-invalid @enderror @error('name') is-invalid @enderror">
                                     <option value="" {{old("id_owner")==''?"selected":""}}></option>
                                     @foreach($owners as $owner)
                                         <option value="{{$owner->id}}" {{old("id_owner") == $owner->id ? "selected":""}}>{{$owner->name}}</option>
@@ -40,6 +28,16 @@
                                 </select>
                                 <input type="text" class="form-control input-group-prepend" placeholder="输入关键字定位货主名称"
                                        name="locateOwnerSearch" autocomplete="off" oninput="locateOwner($(this).val())">
+                                @error('id_owner')
+                                <span class="invalid-feedback" role="alert">
+                                        <strong>{{ $errors->first('id_owner') }}</strong>
+                                </span>
+                                @enderror
+                                @error('name')
+                                <span class="invalid-feedback" role="alert">
+                                        <strong>{{ $errors->first('name') }}</strong>
+                                </span>
+                                @enderror
                             </div>
                             <script>
                                 function locateOwner(str) {
@@ -51,30 +49,6 @@
                             </script>
                         </div>
                     </div>
-                    <div class="form-group row">
-                        <label for="parent" class="col-2 col-form-label text-right">父权限</label>
-                        <div class="col-8">
-                            <select name="parent" disabled class="form-control @error('parent') is-invalid @enderror">
-                                <option value="">待开发</option></select>
-                            @error('parent')
-                            <span class="invalid-feedback" role="alert">
-                                <strong>{{ $message }}</strong>
-                            </span>
-                            @enderror
-                        </div>
-                    </div>
-                    <div class="form-group row">
-                        <label for="remark" class="col-2 col-form-label text-right">备注</label>
-                        <div class="col-8">
-                            <input type="text" class="form-control @error('remark') is-invalid @enderror"
-                                   name="remark" autocomplete="off" value="{{ old('remark') }}" >
-                            @error('remark')
-                            <span class="invalid-feedback" role="alert">
-                                <strong>{{ $message }}</strong>
-                            </span>
-                            @enderror
-                        </div>
-                    </div>
                     <div class="form-group row">
                         <div class="col-8 offset-2">
                             <input type="submit" class="btn btn-success form-control">

+ 4 - 4
resources/views/maintenance/authority/menu.blade.php

@@ -6,10 +6,10 @@
             <li class="nav-item">
                 <a class="nav-link" href="{{url('maintenance/authority')}}" :class="{active:isActive('',3)}">查询</a>
             </li> @endcan
-{{--            @can('权限-录入')--}}
-{{--            <li class="nav-item">--}}
-{{--                <a class="nav-link" href="{{url('maintenance/authority/create')}}" :class="{active:isActive('create',3)}">录入</a>--}}
-{{--            </li> @endcan--}}
+            @can('权限-录入')
+            <li class="nav-item">
+                <a class="nav-link" href="{{url('maintenance/authority/create')}}" :class="{active:isActive('create',3)}">录入货主</a>
+            </li> @endcan
             {{$slot}}
         </ul>
     </div>

+ 4 - 0
tests/waybill_flux.http

@@ -0,0 +1,4 @@
+POST https://was.baoshi56.com/api/thirdPart/flux/waybill/new
+Content-Type: application/json
+
+{"request":[{"OrderNo":"SO20050600005","CustomerID":"WANLING","CarrierID":"BSZXDF","ConsigneeName":"MOB186****0626","C_Tel1":"","C_Address1":"四川省 眉山市 洪雅县 洪川镇洪雅县政府","C_Province":"四川省","C_City":"眉山市","C_District":"洪雅县","ReservedField01":"","ReservedField02":"","ReservedField03":"","ReservedField04":"","ReservedField05":"","order_list":[{"SKU_Descr_c":"测试商品","SKU":"TEST025","Alternate_sku1":"TEST025","Qtyordered_each":"1","Cubic":"0","GrossWeight":"0","NetWeight":"0","ReservedField01":"","ReservedField02":"","ReservedField03":"","ReservedField04":"","ReservedField05":""}]}]}