ソースを参照

退件记录异常情况

zhouzhendong 4 年 前
コミット
1b0574ca9a
2 ファイル変更29 行追加19 行削除
  1. 12 16
      app/Http/Controllers/TestController.php
  2. 17 3
      app/Services/LogisticService.php

+ 12 - 16
app/Http/Controllers/TestController.php

@@ -65,6 +65,7 @@ use App\OwnerPriceOperation;
 use App\OrderPackageCountingRecord;
 use App\OwnerReport;
 use App\ProcurementCheckSheet;
+use App\ReceiveRecord;
 use App\RejectedBill;
 use App\SeeLog;
 use App\Services\AuthorityService;
@@ -215,24 +216,19 @@ class TestController extends Controller
         }while (true);
         socket_close($sock);
     }
-    private static $delayedHour = 48;
     public function test(Request $request)
     {
-        /**
-         * Execute the console command.
-         *
-         */
-        $delayedDateTime = Carbon::now()->subHours(self::$delayedHour)->toDateTimeString();
-        dd($delayedDateTime);
-        dd(\App\ReceiveRecord::query()
-            ->where("record_at",">",$delayedDateTime)
-            ->where("delayed",0)
-            ->whereIn("logistic_number",RejectedBill::query()->select("logistic_number_return")
-                ->where("created_at",">",$delayedDateTime)->whereIn("logistic_number_return",
-                    \App\ReceiveRecord::query()->select("logistic_number")
-                        ->where("record_at",">",$delayedDateTime)
-                        ->where("delayed",0)))->get());
-        dd(1);
+        $service = new LogisticService();
+        foreach (ReceiveRecord::query()->where("logistic_id",0)->get() as $receive){
+            $name = $service->assertExpressCompany($receive->logistic_number);
+            if ($name){
+                $logistic = Logistic::query()->select("id","name")
+                    ->where("name","like","%{$name}%")->first();
+                $logisticId = $logistic ? $logistic->id : 0;
+            } else $logisticId = 0;
+            if ($logisticId!=0)$receive->update(["logistic_id"=>$logisticId]);
+        }
+        dd(ReceiveRecord::query()->where("logistic_id",0)->count());
         $path = '';
         $id = 115;
 

+ 17 - 3
app/Services/LogisticService.php

@@ -180,7 +180,7 @@ class LogisticService implements UserFilter
                 [
                     "length" => 13,
                     "type"   => "numeric",
-                    "multiHeader"  => ["46","43","42","35"],
+                    "multiHeader"  => ["46","43","42","35","120",'318','530','570'],
                 ],
                 [
                     "length" => 15,
@@ -197,6 +197,10 @@ class LogisticService implements UserFilter
                     "type"   => "numeric",
                     "multiHeader"  => ["11","98"],
                 ],
+                [
+                    "length" => 13,
+                    "header" => "KH",
+                ],
             ], "极兔" => [
                 [
                     "header" => "JT",
@@ -217,6 +221,11 @@ class LogisticService implements UserFilter
                     "type"   => "numeric",
                     "length" => 15,
                 ],
+                [
+                    "multiHeader"  => ["660"],
+                    "type"   => "numeric",
+                    "length" => 13,
+                ],
             ], "百世" => [
                 [
                     "multiHeader"  => ["55"],
@@ -225,11 +234,16 @@ class LogisticService implements UserFilter
                 ]
             ], "EMS" => [
                 [
-                    "multiHeader"  => ["97"],
+                    "multiHeader"  => ["97","10","95","96","99"],
                     "type"   => "numeric",
                     "length" => 13,
                 ],
-            ],
+            ], "德邦" => [
+                [
+                    "header" => "DPK",
+                    "length" => 15,
+                ],
+            ]
         ];
         $result = $multi ? [] : "";
         foreach ($mapping as $name=>$rules){