Преглед изворни кода

asn同步,解决富勒客户参考编号3存在中文情况,以及退货有审核号直接标记为已入库。asn同步不考虑富勒仓库字段

haozi пре 5 година
родитељ
комит
c43300de53

+ 1 - 17
app/Http/Controllers/TestController.php

@@ -1658,21 +1658,5 @@ where (commodities.owner_id,commodity_barcodes.code) in (select commodities.owne
         }
     }
 
-    public function testUser()
-    {
-//        $now=Carbon::now()->toDateTimeString();
-//        $procurementQuotations=ProcurementQuotation::query()
-//            ->with('procurement.ownerMaterial.material')
-//            ->where('status',0)
-//            ->whereNull('offer')
-//            ->where('created_at','>=',Carbon::parse($now)->subHours(4))
-//            ->where('created_at','<=',$now)
-//            ->get();
-//        foreach ($procurementQuotations as $procurementQuotation){
-//            $procurementQuotation->append('time',4);
-//        }
-//        dd($procurementQuotations->toJson());
-        $pinyinOwnerName=Pinyin::convert('MEE');
-        dd($pinyinOwnerName);
-    }
+
 }

+ 45 - 15
app/Services/RejectedBillService.php

@@ -9,6 +9,7 @@ use App\Order;
 use App\OrderIssue;
 use App\OrderIssueRejectedBill;
 use App\OrderPackage;
+use App\Owner;
 use App\RejectedBill;
 use App\Services\common\BatchUpdateService;
 use App\Services\common\DataHandlerService;
@@ -17,6 +18,7 @@ use Carbon\Carbon;
 use App\Traits\ServiceAppAop;
 use Illuminate\Database\Eloquent\Model;
 use Illuminate\Database\Query\Builder;
+use Overtrue\LaravelPinyin\Facades\Pinyin;
 use function Symfony\Component\String\s;
 
 
@@ -83,24 +85,25 @@ class RejectedBillService
         $rejectedBills = $this->getRejectedBills($logisticNumberReturn);
         if (!$rejectedBills) return null;
         $updateParams = [[
-            'id','logistic_number_return', 'is_loaded', 'updated_at'
+            'id', 'is_loaded', 'updated_at'
         ]];
         $updated_at = Carbon::now()->toDateTimeString();
         /** @var DataHandlerService $dataHandlerService */
         $dataHandlerService = app(DataHandlerService::class);
         $rejectedBills_map = $dataHandlerService->dataHeader(['logistic_number_return'], $rejectedBills);
         foreach ($updateCollect as $data) {
-            if (!$data->asnreference3 && !$data->notes) {
-                continue;
-            }
+            if (!$data->asnreference3 && !$data->notes) continue;
             if ($data->asnreference3) {
-                $rejectedBill = $dataHandlerService->getKeyValue(['logistic_number_return' => $data->asnreference3], $rejectedBills_map);
+                $param=[];
+                preg_match("/[a-zA-Z]{0,5}\d{6,20}/", $data->asnreference3, $param);
+                if (count($param)<1) continue;
+                $rejectedBill = $dataHandlerService->getKeyValue(['logistic_number_return' => $param[0]], $rejectedBills_map);
                 if ($rejectedBill && $rejectedBill->is_loaded != 1) $updateParams[] = [
                     'id'=>$rejectedBill->id,
-                    'logistic_number_return' => $data->asnreference3,
                     'is_loaded' => 1,
                     'updated_at' => $updated_at,
                 ];
+                unset( $param);
             } else {
                 $result = [];
                 preg_match("/[a-zA-Z]{0,5}\d{6,20}/", $data->notes, $result);
@@ -108,10 +111,22 @@ class RejectedBillService
                 $rejectedBill = $dataHandlerService->getKeyValue(['logistic_number_return' => $result[0]], $rejectedBills_map);
                 if ($rejectedBill && $rejectedBill->is_loaded != 1) $updateParams[] = [
                     'id'=>$rejectedBill->id,
-                    'logistic_number_return' => $result[0],
                     'is_loaded' => 1,
                     'updated_at' => $updated_at,
                 ];
+                if (!$rejectedBill){
+                    $checkedNumber=$this->screenCheckNumber($data->customerid,$data->notes);
+                    if (!$checkedNumber)continue;
+                    $rejects=RejectedBill::query()->where('checked_numbers',$checkedNumber)->get();
+                   foreach ($rejects as $reject){
+                       $updateParams[] = [
+                           'id'=>$reject->id,
+                           'is_loaded' => 1,
+                           'updated_at' => $updated_at,
+                       ];
+                   }
+                }
+
                unset($result);
             }
         }
@@ -134,11 +149,12 @@ class RejectedBillService
     {
         $logisticNumberReturn = [];
         foreach ($updateCollect as $data) {
-            if (!$data->asnreference3 && !$data->notes) {
-                continue;
-            }
+            if (!$data->asnreference3 && !$data->notes) continue;
             if ($data->asnreference3) {
-                array_push($logisticNumberReturn, $data->asnreference3);
+                $param=[];
+                preg_match("/[a-zA-Z]{0,5}\d{6,20}/", $data->asnreference3, $param);
+                if (count($param) > 0) array_push($logisticNumberReturn, $param[0]);
+                unset($param);
             } else {
                 $result = [];
                 preg_match("/[a-zA-Z]{0,5}\d{6,20}/", $data->notes, $result);
@@ -167,7 +183,7 @@ class RejectedBillService
         $rejectedBills = $this->getRejectedBills($logisticNumberReturn);
         if (!$rejectedBills) return null;
         $updateParams = [[
-            'id','logistic_number_return', 'is_checked','checked_numbers','updated_at'
+            'id', 'is_checked','checked_numbers','updated_at'
         ]];
         $updated_at = Carbon::now()->toDateTimeString();
         /** @var DataHandlerService $dataHandlerService */
@@ -176,14 +192,17 @@ class RejectedBillService
         foreach ($asnHerders as $data) {
             if (!$data->asnreference3 && !$data->notes) continue;
             if ($data->asnreference3) {
-                $rejectedBill = $dataHandlerService->getKeyValue(['logistic_number_return' => $data->asnreference3], $rejectedBills_map);
+                $param=[];
+                preg_match("/[a-zA-Z]{0,5}\d{6,20}/", $data->asnreference3, $param);
+                if (count($param)<1) continue;
+                $rejectedBill = $dataHandlerService->getKeyValue(['logistic_number_return' => $param[0]], $rejectedBills_map);
                 if ($rejectedBill && $rejectedBill->is_checked != 1) $updateParams[] = [
                     'id'=>$rejectedBill->id,
-                    'logistic_number_return' => $data->asnreference3,
                     'is_checked' => 1,
                     'checked_numbers' => $rejectedBill->makeCheckedNumbers(),
                     'updated_at' => $updated_at,
                 ];
+                unset($param);
             } else {
                 $result = [];
                 preg_match("/[a-zA-Z]{0,5}\d{6,20}/", $data->notes, $result);
@@ -192,7 +211,6 @@ class RejectedBillService
                 if ($rejectedBill && $rejectedBill->is_checked != 1)
                     $updateParams[] = [
                         'id'=>$rejectedBill->id,
-                        'logistic_number_return' => $result[0],
                         'is_checked' => 1,
                         'checked_numbers' => $rejectedBill->makeCheckedNumbers(),
                         'updated_at' => $updated_at,
@@ -221,6 +239,18 @@ class RejectedBillService
         }
         return null;
     }
+    public function screenCheckNumber($ownerCode,$note){
+        $ownerName=Owner::query()->where('code',$ownerCode)->value('name');
+        $result = [];
+        $pinyinOwnerName=Pinyin::convert($ownerName);
+        $pinyinArr=array_map(function($pinyin){
+            return $pinyin[0];
+        },$pinyinOwnerName);
+        $initials=implode("", $pinyinArr);
+        preg_match("/$initials{0,5}\d{6,20}/", $note, $result);
+        if (count($result)<1) return null;
+        return $result[0];
+    }
 
     /**
      * @param string $logisticNumber

+ 4 - 9
app/Services/StoreService.php

@@ -11,6 +11,7 @@ use App\Services\common\QueryService;
 use App\Store;
 use App\StoreRejected;
 use App\ValueStore;
+use App\Warehouse;
 use Carbon\Carbon;
 use Illuminate\Support\Facades\Cache;
 
@@ -95,12 +96,8 @@ class StoreService
     public function createStore($asnHerders)
     {
         if (!$asnHerders) return null;
-        /**
-         * @var OwnerService $ownerService
-         * @var WarehouseService $wareHouseService
-         */
+        /** @var OwnerService $ownerService */
         $ownerService = app(OwnerService::class);
-        $wareHouseService = app(WarehouseService::class);
         $owner_codes = [];
         $warehouse_codes = [];
         foreach ($asnHerders as $asnHerder) {
@@ -110,7 +107,7 @@ class StoreService
                 $warehouse_codes[$asnHerder['warehouseid']] = $asnHerder['warehouseid'];
         }
         $owners = $ownerService->getOwnerByCodes($owner_codes);
-        $warehouses = $wareHouseService->getWareHouseByCodes($warehouse_codes);
+        $warehouses = Warehouse::query()->get();
         $owners_code_map=[];
         foreach ($owners as $owner) {
             $owners_code_map[$owner->code] = $owner;
@@ -181,15 +178,13 @@ class StoreService
         /**
          * @var DataHandlerService $dataHandlerService
          * @var OwnerService $ownerService
-         * @var WarehouseService $wareHouseService
          */
         $ownerService = app(OwnerService::class);
-        $wareHouseService = app(WarehouseService::class);
         $dataHandlerService = app(DataHandlerService::class);
         $stores = $this->getByWms($asnHerders);
         $store_asn_code_map = $dataHandlerService->dataHeader(['asn_code'], $stores);
         $owners = $ownerService->getOwnerByCodes(array_unique(data_get($asnHerders,'*.customerid')));
-        $warehouses = $wareHouseService->getWareHouseByCodes(array_unique(data_get($asnHerders,'*.warehouseid')));
+        $warehouses = Warehouse::query()->get();
         $owner_code_map = $dataHandlerService->dataHeader(['code'], $owners);
         $warehouses_map = $dataHandlerService->dataHeader(['code'], $warehouses);
         $updateParams = [[

+ 1 - 1
app/Services/WarehouseService.php

@@ -91,7 +91,7 @@ Class WarehouseService
         return Cache::remember("WareHouse_{$code}",config('cache.expirations.warehouse'),function()use($code){
             $wareHouse =  Warehouse::query()->where('code',$code)->first();
             if($wareHouse)return $wareHouse;
-            return Warehouse::query()->create(['name'=>$code,'code'=>$code]);
+            return null;
         });
     }
 }

+ 9 - 9
app/User.php

@@ -134,13 +134,13 @@ class User extends Authenticatable /*implements JWTSubject*/
     }
 
     //jwt
-    public function getJWTIdentifier()
-    {
-        return $this->getKey();
-    }
-
-    public function getJWTCustomClaims()
-    {
-        return [];
-    }
+//    public function getJWTIdentifier()
+//    {
+//        return $this->getKey();
+//    }
+//
+//    public function getJWTCustomClaims()
+//    {
+//        return [];
+//    }
 }