소스 검색

Merge branch 'Haozi'

# Conflicts:
#	app/Http/Controllers/TestController.php
zhouzhendong 4 년 전
부모
커밋
67a230e3f2
2개의 변경된 파일43개의 추가작업 그리고 16개의 파일을 삭제
  1. 40 13
      app/Services/ForeignZhenCangService.php
  2. 3 3
      app/Services/StoreItemService.php

+ 40 - 13
app/Services/ForeignZhenCangService.php

@@ -13,26 +13,53 @@ class ForeignZhenCangService
 
     public function broadcastBatch($batches)
     {
+//        $body=[];
+//        $body['id']=$batches->code;
+//        $body['orders'] = [];
+//        foreach ($batches->orders as $order){
+//            $orderArr = [];
+//            $orderArr['id']=$order->code??'';
+//            $orderArr['createdAt']=Carbon::parse($order->created_at)->toDateTimeString()??'';
+//            $orderArr['barcodes'] = [];
+//            foreach ($order->orderCommodities as $orderCommodity){
+//                $barcode=[];
+//                $barcode['id']=$orderCommodity->id;
+//                $barcode['barcode']=$orderCommodity->commodity ? ($orderCommodity->commodity->barcodes?$orderCommodity->commodity->barcodes->first()['code']:'') : '';
+//                $barcode['name']=$orderCommodity->commodity->name??'';
+//                $barcode['sku']=$orderCommodity->commodity->sku??'';
+//                $barcode['amount']=$orderCommodity->amount??'';
+//                $barcode['location']=$orderCommodity->location??'';
+//                $orderArr['barcodes'][]=$barcode;
+//            }
+//            $body['orders'][] = $orderArr;
+//        }
+
+        //12.13
         $body=[];
         $body['id']=$batches->code;
-        $body['orders'] = [];
+        $body['slots'] = [];
         foreach ($batches->orders as $order){
             $orderArr = [];
-            $orderArr['id']=$order->code??'';
-            $orderArr['createdAt']=Carbon::parse($order->created_at)->toDateTimeString()??'';
-            $orderArr['barcodes'] = [];
             foreach ($order->orderCommodities as $orderCommodity){
-                $barcode=[];
-                $barcode['id']=$orderCommodity->id;
-                $barcode['barcode']=$orderCommodity->commodity ? ($orderCommodity->commodity->barcodes?$orderCommodity->commodity->barcodes->first()['code']:'') : '';
-                $barcode['name']=$orderCommodity->commodity->name??'';
-                $barcode['sku']=$orderCommodity->commodity->sku??'';
-                $barcode['amount']=$orderCommodity->amount??'';
-                $barcode['location']=$orderCommodity->location??'';
-                $orderArr['barcodes'][]=$barcode;
+                $orderArr['id']=$orderCommodity->location??'';
+                $orderArr['sku']=$orderCommodity->commodity->sku??'';
+                $orderArr['barcode']=$orderCommodity->commodity ? ($orderCommodity->commodity->barcodes?$orderCommodity->commodity->barcodes->first()['code']:'') : '';
+                $orderArr['name']=$orderCommodity->commodity->name??'';
+                $orderArr['amount']=$orderCommodity->amount??'';
+            }
+            $body['slots'][] = $orderArr;
+
+        }
+        $result=array();
+        foreach($body['slots'] as $val){
+            $key = $val['id'].'_'.$val['barcode'];
+            if(!isset($result[$key])){
+                $result[$key] = $val;
+            }else{
+                $result[$key]['amount'] += $val['amount'];
             }
-            $body['orders'][] = $orderArr;
         }
+        $body['slots']=array_values($result);
         dd($body);
         $response = Http::withHeaders([
             'Host' => 'zc-it.com',

+ 3 - 3
app/Services/StoreItemService.php

@@ -36,16 +36,16 @@ class StoreItemService
     public function getAsnDetailsByAsnHerder($asnHerders)
     {
         $asnnos=array_unique(data_get($asnHerders, '*.asnno'));
-        $collect=collect();
+        $result=[];
         foreach (array_chunk($asnnos,1000) as $item){
             $res= OracleDOCASNDetail::query()
                 ->with(['lineStatus', 'qualityStatus'])
                 ->whereIn('asnno',$item)
                 ->select('asnno','asnlineno','customerid','sku','skudescrc','linestatus','lotatt08','lotatt05','receivedqty','expectedqty','addtime','edittime')
                 ->get();
-            $collect->merge($res);
+            array_push($result,...$res);
         }
-        return $collect;
+        return collect($result);
 
     }