Browse Source

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

LD 4 năm trước cách đây
mục cha
commit
b5b1113a01

+ 85 - 0
app/Http/Controllers/OwnerBillReportArchiveController.php

@@ -0,0 +1,85 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use App\OwnerBillReportArchive;
+use Illuminate\Http\Request;
+
+class OwnerBillReportArchiveController extends Controller
+{
+    /**
+     * Display a listing of the resource.
+     *
+     * @return \Illuminate\Http\Response
+     */
+    public function index()
+    {
+        //
+    }
+
+    /**
+     * Show the form for creating a new resource.
+     *
+     * @return \Illuminate\Http\Response
+     */
+    public function create()
+    {
+        //
+    }
+
+    /**
+     * Store a newly created resource in storage.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @return \Illuminate\Http\Response
+     */
+    public function store(Request $request)
+    {
+        //
+    }
+
+    /**
+     * Display the specified resource.
+     *
+     * @param  \App\OwnerBillReportArchive  $ownerBillReportArchive
+     * @return \Illuminate\Http\Response
+     */
+    public function show(OwnerBillReportArchive $ownerBillReportArchive)
+    {
+        //
+    }
+
+    /**
+     * Show the form for editing the specified resource.
+     *
+     * @param  \App\OwnerBillReportArchive  $ownerBillReportArchive
+     * @return \Illuminate\Http\Response
+     */
+    public function edit(OwnerBillReportArchive $ownerBillReportArchive)
+    {
+        //
+    }
+
+    /**
+     * Update the specified resource in storage.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  \App\OwnerBillReportArchive  $ownerBillReportArchive
+     * @return \Illuminate\Http\Response
+     */
+    public function update(Request $request, OwnerBillReportArchive $ownerBillReportArchive)
+    {
+        //
+    }
+
+    /**
+     * Remove the specified resource from storage.
+     *
+     * @param  \App\OwnerBillReportArchive  $ownerBillReportArchive
+     * @return \Illuminate\Http\Response
+     */
+    public function destroy(OwnerBillReportArchive $ownerBillReportArchive)
+    {
+        //
+    }
+}

+ 83 - 19
app/Http/Controllers/SettlementBillOwnerAreaFeeController.php

@@ -2,7 +2,10 @@
 
 namespace App\Http\Controllers;
 
+use App\Owner;
 use App\OwnerAreaReport;
+use App\OwnerBillReport;
+use App\OwnerBillReportArchive;
 use Illuminate\Http\Request;
 
 /**
@@ -22,25 +25,17 @@ class SettlementBillOwnerAreaFeeController extends Controller
 
     public function index(Request $request)
     {
-        list($permittingOwnerIds, $date, $owner_id) = $this->getRequestParams($request);
-        $owners = \App\Owner::query()->find($permittingOwnerIds);
-        $owner = \App\Owner::query()->find($owner_id);
-        $ownerAreas = OwnerAreaReport::query()
-            ->with('ownerStoragePriceModel:id,using_type')
-            ->where('owner_id', $owner_id)
-            ->where('counting_month', $date)
-            ->get();
-
-        $ownerBillReport = \App\OwnerBillReport::query()
-            ->selectRaw('storage_fee')
-            ->where('owner_id', $owner_id)
-            ->where('counting_month', $date)
-            ->first();
-
+        list($permittingOwnerIds, $counting_month, $owner_id) = $this->getRequestParams($request);
+        $isArchived = $this->ownerBillReportArchiveQuery($counting_month, $owner_id)->exists();
+        $isArchived =  $isArchived ? 1 : 2;
+        list($areaReports, $billReport, $price) = $this->get($owner_id, $counting_month);
+        $owners = Owner::query()->find($permittingOwnerIds);
+        $owner = Owner::query()->find($owner_id);
+        return view('finance.settlementBills.areaFee.index', compact('owner', 'owners', 'areaReports', 'billReport', 'price', 'request', 'isArchived'));
     }
 
     /**
-     * @param Request $request
+     * @param Request $request year month owner_id
      * @return array
      */
     private function getRequestParams(Request $request): array
@@ -49,15 +44,84 @@ class SettlementBillOwnerAreaFeeController extends Controller
         $this->userService = app('UserService');
         $permittingOwnerIds = $this->userService->getPermittingOwnerIds(auth()->user());
         if (is_null($request->year) || is_null($request->month)) {
-            $date = now()->subMonth()->startOfMonth()->toDateString();
+            $counting_month = now()->subMonth()->startOfMonth()->toDateString();
         } else {
-            $date = $request->year . '-' . $request->month . '-' . '01';
+            $counting_month = $request->year . '-' . $request->month . '-' . '01';
         }
         if (is_null($request->owner_id)) {
             $owner_id = $permittingOwnerIds[0];
         } else {
             $owner_id = $request->owner_id;
         }
-        return array($permittingOwnerIds, $date, $owner_id);
+        return array($permittingOwnerIds, $counting_month, $owner_id);
+    }
+
+    public function confirmBill(Request $request)
+    {
+        list($permittingOwnerIds, $counting_month, $owner_id) = $this->getRequestParams($request);
+        list($areaReports, $billReport, $price) = $this->get($owner_id, $counting_month);
+        $information = [
+            'areaReports' => $areaReports,
+            'billReport' => $billReport,
+            'price' => $price,
+        ];
+        OwnerBillReportArchive::query()->create([
+            'owner_bill_report_id' => $billReport->id ?? null,
+            'owner_id' => $owner_id,
+            'counting_mouth' => $counting_month,
+            'type' => '仓储费',
+            'archiver_id' => auth()->id(),
+            'archived_at' => now(),
+            'information' => $information,
+        ]);
+        return back();
+    }
+
+    /**
+     * @param $owner_id
+     * @param $counting_month
+     * @return array
+     */
+    private function get($owner_id, $counting_month): array
+    {
+        $archived = $this->ownerBillReportArchiveQuery($counting_month, $owner_id)->first();
+        if ($archived ?? false) {
+            $areaReports = collect($archived->information['areaReports']);
+            $billReport = collect($archived->information['billReport']);
+            $price = $archived->information['price'];
+        } else {
+            $areaReports = OwnerAreaReport::query()
+                ->with('ownerStoragePriceModel:id,using_type,price')
+                ->where('owner_id', $owner_id)
+                ->where('counting_month', $counting_month)
+                ->get();
+            $billReport = OwnerBillReport::query()
+                ->selectRaw('storage_fee')
+                ->where('owner_id', $owner_id)
+                ->where('counting_month', $counting_month)
+                ->firstOr(function () {
+                    return new OwnerBillReport();
+                });
+            $totalArea = $areaReports->reduce(function ($carry, $areaReport) {
+                return $carry + $areaReport->accounting_area;
+            }, 0);
+            try {
+                $price = $billReport->storage_fee ?? 0 / $totalArea;
+            } catch (\Exception $e) {
+                $price = 0;
+            }
+        }
+        return array($areaReports, $billReport, $price);
+    }
+
+    /**
+     * @param $counting_month
+     * @param $owner_id
+     * @return \Illuminate\Database\Eloquent\Builder
+     */
+    private function ownerBillReportArchiveQuery($counting_month, $owner_id): \Illuminate\Database\Eloquent\Builder
+    {
+        return OwnerBillReportArchive::query()->where('counting_mouth', $counting_month)
+            ->where('owner_id', $owner_id)->where('type', '仓储费');
     }
 }

+ 3 - 9
app/Jobs/LogisticYDSync.php

@@ -18,18 +18,12 @@ class LogisticYDSync implements ShouldQueue
     public $timeout = 10;
 
     use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
-    /**
-     *
-     * @var $orderPackageReceivedSyncService OrderPackageReceivedSyncService
-     * @var $orderPackageReceivedSyncService OrderPackageReceivedSyncService
-     * @var $logistic_number string
-     */
+    /** @var $logistic_number string */
 
     protected $logistic_number;
-    /**
-     * @var $logisticYDService LogisticYDService
-     */
+    /** @var $logisticYDService LogisticYDService */
     protected $logisticYDService;
+    /** @var $orderPackageReceivedSyncService OrderPackageReceivedSyncService */
     protected $orderPackageReceivedSyncService;
 
     /**

+ 70 - 0
app/OwnerBillReportArchive.php

@@ -0,0 +1,70 @@
+<?php
+
+namespace App;
+
+use Illuminate\Database\Eloquent\Model;
+
+use App\Traits\ModelLogChanging;
+use Illuminate\Database\Eloquent\Relations\BelongsTo;
+
+class OwnerBillReportArchive extends Model
+{
+    use ModelLogChanging;
+
+    public $fillable = ['owner_bill_report_id', 'owner_id', 'counting_mouth', 'type', 'archiver_id', 'archived_at', 'information'];
+
+    public $dates = [
+        'archived_at',
+        'counting_mouth'
+    ];
+
+    public $casts = [
+        'information' => 'array',
+    ];
+
+    public $timestamps = false;
+    static public $enums = [
+        'types' => [
+            '' => 0,
+            '仓储费' => 1,
+            '快递费' => 2,
+            '入库费' => 3,
+            '出库费' => 4,
+            '物流费' => 5,
+            '包材费' => 6,
+            '加工费' => 7,
+            '杂项' => 8,
+            '卸货费' => 9,
+        ],
+    ];
+
+    function __construct(array $attributes = [])
+    {
+        foreach (self::$enums as &$enum) {
+            $enum = $enum + array_flip($enum);
+        }
+        parent::__construct($attributes);
+    }
+
+    public function getTypesAttribute($value)
+    {
+        if (!$value) return '';
+        return self::$enums['types'][$value];
+    }
+
+    public function setTypesAttribute($value): int
+    {
+        if (!$value) return 0;
+        $this->attributes['types'] = self::$enums['types'][$value];
+    }
+
+    public function ownerBillReport(): BelongsTo
+    {
+        return $this->belongsTo(OwnerBillReport::class);
+    }
+
+    public function owner(): BelongsTo
+    {
+        return $this->belongsTo(Owner::class);
+    }
+}

+ 12 - 10
app/Providers/AppServiceProvider.php

@@ -142,6 +142,7 @@ use App\Services\CommodityMaterialBoxModelService;
 use App\Services\OwnerLogisticFeeDetailService;
 use App\Services\OwnerLogisticFeeReportService;
 use App\Services\LogisticSyncRecordService;
+use App\Services\OwnerBillReportArchiveService;
 
 class AppServiceProvider extends ServiceProvider
 {
@@ -233,23 +234,28 @@ class AppServiceProvider extends ServiceProvider
         app()->singleton('FeatureService',FeatureService::class);
         app()->singleton('ForeignHaiRoboticsService',ForeignHaiRoboticsService::class);
         app()->singleton('ForeignZhenCangService',ForeignZhenCangService::class);
+        app()->singleton('GoodScanWeightService',GoodScanWeightService::class);
+        app()->singleton('HaoChuangWeightService',HaoChuangWeightService::class);
+        app()->singleton('HengLiWeightService',HengLiWeightService::class);
         app()->singleton('InventoryAccountMissionService', InventoryAccountMissionService::class);
-        app()->singleton('LogisticZopService', LogisticZopService::class);
+        app()->singleton('InventoryAccountMissionService',InventoryAccountMissionService::class);
         app()->singleton('InventoryCompareService', InventoryCompareService::class);
         app()->singleton('InventoryDailyLogService', InventoryDailyLogService::class);
         app()->singleton('LaborCompanyService',LaborCompanyService::class);
-        app()->singleton('NewOrderCountingRecordService',NewOrderCountingRecordService::class);
         app()->singleton('LaborReportsCountingRecordService', LaborReportsCountingRecordService::class);
         app()->singleton('LogService', LogService::class);
         app()->singleton('LogisticAliJiSuApiService',LogisticAliJiSuApiService::class);
         app()->singleton('LogisticSFService', LogisticSFService::class);
-        app()->singleton('LogisticSyncRecordService', LogisticSyncRecordService::class);
         app()->singleton('LogisticService', LogisticService::class);
+        app()->singleton('LogisticSyncRecordService', LogisticSyncRecordService::class);
+        app()->singleton('LogisticSyncRecordService', LogisticSyncRecordService::class);
         app()->singleton('LogisticYDService', LogisticYDService::class);
         app()->singleton('LogisticYTOService', LogisticYTOService::class);
         app()->singleton('LogisticZopService', LogisticZopService::class);
-        app()->singleton('LogisticSyncRecordService', LogisticSyncRecordService::class);
+        app()->singleton('LogisticZopService', LogisticZopService::class);
         app()->singleton('MaterialBoxService', MaterialBoxService::class);
+        app()->singleton('MenuService',MenuService::class);
+        app()->singleton('NewOrderCountingRecordService',NewOrderCountingRecordService::class);
         app()->singleton('OracleActAllocationDetailService', OracleActAllocationDetailService::class);
         app()->singleton('OracleBasCustomerService', OracleBasCustomerService::class);
         app()->singleton('OracleBasSkuService', OracleBasSkuService::class);
@@ -273,6 +279,7 @@ class AppServiceProvider extends ServiceProvider
         app()->singleton('OrderService', OrderService::class);
         app()->singleton('OrderTrackingService', OrderTrackingService::class);
         app()->singleton('OwnerAreaReportService', OwnerAreaReportService::class);
+        app()->singleton('OwnerBillReportArchiveService',OwnerBillReportArchiveService::class);
         app()->singleton('OwnerBillReportService', OwnerBillReportService::class);
         app()->singleton('OwnerFeeDetailService', OwnerFeeDetailService::class);
         app()->singleton('OwnerLogisticFeeDetailService',OwnerLogisticFeeDetailService::class);
@@ -304,6 +311,7 @@ class AppServiceProvider extends ServiceProvider
         app()->singleton('RejectedBillItemService', RejectedBillItemService::class);
         app()->singleton('RejectedBillService', RejectedBillService::class);
         app()->singleton('RejectedService', RejectedService::class);
+        app()->singleton('RoleService',RoleService::class);
         app()->singleton('ShopService', ShopService::class);
         app()->singleton('StationCacheShelfGridService', StationCacheShelfGridService::class);
         app()->singleton('StationRuleBatchService', StationRuleBatchService::class);
@@ -330,12 +338,6 @@ class AppServiceProvider extends ServiceProvider
         app()->singleton('WarehouseService', WarehouseService::class);
         app()->singleton('WaybillFinancialService', WaybillFinancialService::class);
         app()->singleton('WeighExceptedService', WeighExceptedService::class);
-        app()->singleton('GoodScanWeightService',GoodScanWeightService::class);
-        app()->singleton('HaoChuangWeightService',HaoChuangWeightService::class);
-        app()->singleton('HengLiWeightService',HengLiWeightService::class);
-        app()->singleton('InventoryAccountMissionService',InventoryAccountMissionService::class);
-        app()->singleton('MenuService',MenuService::class);
-        app()->singleton('RoleService',RoleService::class);
     }
 
     private function registerObserver()

+ 2 - 2
app/Services/OrderPackageReceivedSyncService.php

@@ -44,8 +44,8 @@ class OrderPackageReceivedSyncService
             $query = $query->where('sent_at', '>=', now()->subDays(config('api_logistic.querying_days'))->startOfDay())
                 ->whereNull('received_at');
         }
-        $query->chunk(1000, function ($orderPackages) {
-            LogService::log(OrderPackageReceivedSyncService::class, "同步快递信息定时方法-SF", json_encode(data_get($orderPackages,'*.logistic_number')));
+        $query->chunkById(1000, function ($orderPackages) {
+            LogService::log(OrderPackageReceivedSyncService::class, "同步快递信息定时方法", json_encode(data_get($orderPackages,'*.logistic_number')));
             $logisticNumbers = $this->buildData($orderPackages);
             //sf
             if (array_key_exists('SF', $logisticNumbers)) {

+ 13 - 0
app/Services/OwnerBillReportArchiveService.php

@@ -0,0 +1,13 @@
+<?php 
+
+namespace App\Services;
+
+use App\Traits\ServiceAppAop;
+use App\OwnerBillReportArchive;
+
+class OwnerBillReportArchiveService
+{
+    use ServiceAppAop;
+    protected $modelClass=OwnerBillReportArchive::class;
+
+}

+ 12 - 0
database/factories/OwnerBillReportArchiveFactory.php

@@ -0,0 +1,12 @@
+<?php
+
+/** @var \Illuminate\Database\Eloquent\Factory $factory */
+
+use App\OwnerBillReportArchive;
+use Faker\Generator as Faker;
+
+$factory->define(OwnerBillReportArchive::class, function (Faker $faker) {
+    return [
+        //
+    ];
+});

+ 16 - 0
database/seeds/OwnerBillReportArchiveSeeder.php

@@ -0,0 +1,16 @@
+<?php
+
+use Illuminate\Database\Seeder;
+
+class OwnerBillReportArchiveSeeder extends Seeder
+{
+    /**
+     * Run the database seeds.
+     *
+     * @return void
+     */
+    public function run()
+    {
+        //
+    }
+}

+ 55 - 43
resources/views/finance/settlementBills/areaFee/index.blade.php

@@ -13,7 +13,7 @@
                                 data-toggle="dropdown" title="导出所有页将会以搜索条件得到的筛选结果,将其全部记录(每一页)导出">导出Excel
                         </button>
                         <div class="dropdown-menu">
-                            <a class="dropdown-item" @click="ownerFeeExport(false)" href="javascript:">导出勾选内容</a>
+{{--                            <a class="dropdown-item" @click="ownerFeeExport(false)" href="javascript:">导出勾选内容</a>--}}
                             <a class="dropdown-item" @click="ownerFeeExport(true)" href="javascript:">导出所有页</a>
                         </div>
                     </span>
@@ -24,29 +24,61 @@
                                 <h5 class="font-weight-bold">{{ $owner->name }}</h5>
                                 <p class="text-muted">货主</p>
                             </span>
+                <span v-if="(isArchived===1)" class="fa fa-check-circle  fa-4x offset-md-3" aria-hidden="true"
+                      style="color: #4c2584;opacity: 0.3"></span>
+                <span v-if="(isArchived===1)" class="ml-4 mt-2">
+                                <h5 class="font-weight-bold">已确认</h5>
+                            </span>
             </div>
             <table class="table table-striped table-sm text-nowrap table-hover table-bordered" id="table">
-                <tr v-for="(ownerFee,i) in ownerFees"
-                    @click="selectTr===i+1?selectTr=0:selectTr=i+1"
-                    :class="selectTr===i+1?'focusing' : ''">
-                    <td><input class="checkItem" type="checkbox" :value="ownerFee.id"></td>
-                    <td>@{{ i+1 }}</td>
-                    <td v-if="i==0 || ownerFee.logistic_name!== ownerFees[i-1].logistic_name"
-                        :rowspan="calRowspan(ownerFee.logistic_name)" class="text-center pt-4 bg-light">@{{
-                        ownerFee.logistic_name }}
+                <tr>
+                    <th>仓库类型</th>
+                    <th>使用区域</th>
+                    <th>数量</th>
+                    <th>合计面积</th>
+                    <th>单价</th>
+                    <th>金额</th>
+                </tr>
+                <tr v-for="(areaReport,i) in areaReports">
+                    <td rowspan="3" class="text-center pt-4 bg-light">@{{
+                        areaReport.owner_storage_price_model.using_type }}
+                    </td>
+                    <td>平面区</td>
+                    <td>@{{ areaReport.area_on_flat?areaReport.area_on_flat:0 }}</td>
+                    <td rowspan="3" class="text-center pt-4 bg-light">@{{ areaReport.accounting_area }}</td>
+                    <td :rowspan="areaReports.length*3" class="text-center pt-4 bg-light">@{{ price }}</td>
+                    <td :rowspan="areaReports.length*3" class="text-center pt-4 bg-light">@{{ billReport.storage_fee
+                        }}
                     </td>
-                    <td>@{{ ownerFee.province }}</td>
-                    <td>@{{ ownerFee.logistic_bill }}</td>
-                    <td>@{{ ownerFee.weight }}</td>
-                    <td>@{{ ownerFee.initial_weight_price }}</td>
-                    <td>@{{ ownerFee.additional_price }}</td>
-                    <td>@{{ ownerFee.logistic_fee }}</td>
+                </tr>
+                <tr v-for="(areaReport,i) in areaReports">
+                    <td>整托存储</td>
+                    <td>@{{ areaReport.area_on_tray?areaReport.area_on_tray:0 }}</td>
+                </tr>
+                <tr v-for="(areaReport,i) in areaReports">
+                    <td>半托存储</td>
+                    <td>@{{ areaReport.area_on_half_tray?areaReport.area_on_half_tray:0 }}</td>
                 </tr>
             </table>
-            <div class="text-info h5 btn btn">{{$ownerFees->count()}}/{{$ownerFees->total()}}</div>
-            {{$ownerFees->appends($paginateParams)->links()}}
         </div>
-        <textarea id="clipboardDiv" style="opacity:0"></textarea>
+        <div class="container" v-if="!(isArchived===1)">
+            <div class="row">
+                <div class="col-10"></div>
+                <div class="col-2">
+                    <form action="{{ 'areaFee/confirmBill' }}" method="post" style="display: inline-block;"
+                          onsubmit="return confirm('您确定要确认金额吗?');">
+                        {{ csrf_field() }}
+                        <input type="hidden" name="owner_id" value="{{ $request->owner_id }}">
+                        <input type="hidden" name="year" value="{{ $request->year }}">
+                        <input type="hidden" name="month" value="{{ $request->month }}">
+                        <button type="submit" class="btn btn-outline-success btn-sm">
+                            <i class="far fa-trash-alt"></i> 确认金额
+                        </button>
+                    </form>
+                </div>
+            </div>
+        </div>
+        {{--        <textarea id="clipboardDiv" style="opacity:0"></textarea>--}}
     </div>
 @endsection
 @section('lastScript')
@@ -57,12 +89,12 @@
         let vue = new Vue({
             el: "#list",
             data: {
-                ownerFees: [
-                    @foreach($ownerFees as $ownerFee)
-                        {!! $ownerFee !!}
-                    @endforeach
-                ],
+                areaReports: {!! $areaReports !!},
+                billReport: {!! $billReport !!},
                 owners: [@foreach($owners as $owner){name: '{{ $owner->id }}', value: '{{ $owner->name}}'},@endforeach],
+                owner: {!! $owner !!},
+                price: {!! $price !!},
+                isArchived: {!! $isArchived !!},
                 selectTr: 0,
             },
             created() {
@@ -133,28 +165,8 @@
                     appendDom: "btn",
                 });
                 _this.form.init();
-                let column = [
-                    {name: 'index', value: '序号', neglect: true},
-                    {name: 'logistic_name', value: '仓库类型'},
-                    {name: 'province', value: '使用区域'},
-                    {name: 'logistic_bill', value: '数量'},
-                    {name: 'weight', value: '合计面积'},
-                    {name: 'initial_weight_price', value: '单价'},
-                    {name: 'additional_price', value: '金额'},
-                ];
-                new Header({
-                    el: "table",
-                    name: "ownerFee",
-                    column: column,
-                    data: this.ownerFees,
-                    restorationColumn: 'addtime',
-                    fixedTop: ($('#form_div').height()) + ($('#btn').height()) + 1,
-                }).init();
             },
             methods: {
-                calRowspan(logistic_name) {
-                    return this.ownerFees.filter(item => item.logistic_name === logistic_name).length;
-                },
                 ownerFeeExport(sign) {
                     let url = '{{url('finance/settlementBills/logisticFee/ownerFee/export')}}';
                     let token = '{{ csrf_token() }}';

+ 4 - 0
routes/web.php

@@ -787,6 +787,8 @@ Route::group(['prefix'=>'finance'],function(){
             Route::resource('detail', 'OwnerLogisticFeeDetailController', ['only' => ['index']]);
             Route::resource('report', 'OwnerLogisticFeeReportController', ['only' => ['index']]);
         });
+        Route::get('areaFee','SettlementBillOwnerAreaFeeController@index');
+        Route::post('areaFee/confirmBill','SettlementBillOwnerAreaFeeController@confirmBill');
     });
 });
 
@@ -907,6 +909,8 @@ Route::group(['prefix'=>'procurement'],function () {
         Route::any('checkBillExport','ProcurementController@checkBillExport');
         Route::post('costPrice','ProcurementController@costPrice');
         Route::post('getCheckBillMonth','ProcurementController@getCheckBillMonth');
+
+
     });
     Route::get('relating',function (){return view('procurement.menuProcurement');});
 });

+ 1 - 1
tests/Services/LogisticYDService/LogisticYDSyncTest.php

@@ -36,7 +36,7 @@ class LogisticYDSyncTest extends TestCase
      */
     public function sync_test()
     {
-        LogisticYDSync::dispatch('4314960813161');
+        LogisticYDSync::dispatch('4280189118692');
         $this->assertTrue(OrderPackage::query()->where('logistic_number','4314543143889')->first()->transfer_status);
     }
 }