Przeglądaj źródła

asn同步-退货推送

eric2h 4 lat temu
rodzic
commit
cfd7b82fe5

+ 15 - 0
app/Services/OracleDocAsnHerderService.php

@@ -2,8 +2,10 @@
 
 namespace App\Services;
 
+use App\Jobs\RejectedPushJob;
 use App\OracleDOCASNHeader;
 use App\Traits\ServiceAppAop;
+use Couchbase\DocIdSearchQuery;
 
 
 class OracleDocAsnHerderService
@@ -59,4 +61,17 @@ class OracleDocAsnHerderService
             ->where('CustomerId', $customId)->count();
     }
 
+    public function rejectPush($asnHerders)
+    {
+        if (count($asnHerders)>0){
+            $collect=collect();
+            foreach ($asnHerders as $asnHerder){
+                if ($asnHerders->asntype=='THRK'&&$asnHerder->asnreference3){
+                    $collect->push(array($asnHerder->asnno,$asnHerder->asnreference3));
+                }
+            }
+            RejectedPushJob::dispatch($collect);
+        }
+    }
+
 }

+ 10 - 0
app/Services/StoreService.php

@@ -66,6 +66,11 @@ class StoreService
         $oracleDocAsnHerderService = app(OracleDocAsnHerderService::class);
         $last_time = $this->getAsnLastSyncAt($created_at, 'create');
         $asnHerders = $oracleDocAsnHerderService->getWmsAsnOnStartDateCreate($last_time);
+        try {
+            $oracleDocAsnHerderService->rejectPush($asnHerders);
+        } catch (\Exception $e) {
+            Log::error("退货推送asn集合失败",[$e->getMessage()]);
+        }
         if (count($asnHerders)<1) return;
         $last_time = $asnHerders->first()['addtime'];
         $last_records = $asnHerders->where('addtime', $last_time);
@@ -89,6 +94,11 @@ class StoreService
         app('LogService')
             ->log(__METHOD__, __FUNCTION__, '11 获取上次更新时间:' . $last_time );
         $asnHerders = $oracleDocAsnHerderService->getWmsAsnOnStartDateEdit($last_time);
+        try {
+            $oracleDocAsnHerderService->rejectPush($asnHerders);
+        } catch (\Exception $e) {
+            Log::error("退货推送asn集合失败",[$e->getMessage()]);
+        }
         if (count($asnHerders)<1) return;
         $last_time = $asnHerders->first()['edittime'];
         $last_records = $asnHerders->where('edittime', $last_time);