ForeignZhenCangService.php 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <?php
  2. namespace App\Services;
  3. use App\Traits\ServiceAppAop;
  4. use Carbon\Carbon;
  5. use Illuminate\Support\Facades\Http;
  6. class ForeignZhenCangService
  7. {
  8. use ServiceAppAop;
  9. // protected $modelClass=ForeignZhenCang::class;
  10. public function broadcastBatch($batches)
  11. {
  12. // $body=[];
  13. // $body['id']=$batches->code;
  14. // $body['orders'] = [];
  15. // foreach ($batches->orders as $order){
  16. // $orderArr = [];
  17. // $orderArr['id']=$order->code??'';
  18. // $orderArr['createdAt']=Carbon::parse($order->created_at)->toDateTimeString()??'';
  19. // $orderArr['barcodes'] = [];
  20. // foreach ($order->orderCommodities as $orderCommodity){
  21. // $barcode=[];
  22. // $barcode['id']=$orderCommodity->id;
  23. // $barcode['barcode']=$orderCommodity->commodity ? ($orderCommodity->commodity->barcodes?$orderCommodity->commodity->barcodes->first()['code']:'') : '';
  24. // $barcode['name']=$orderCommodity->commodity->name??'';
  25. // $barcode['sku']=$orderCommodity->commodity->sku??'';
  26. // $barcode['amount']=$orderCommodity->amount??'';
  27. // $barcode['location']=$orderCommodity->location??'';
  28. // $orderArr['barcodes'][]=$barcode;
  29. // }
  30. // $body['orders'][] = $orderArr;
  31. // }
  32. //12.13
  33. $body=[];
  34. $body['id']=$batches->code;
  35. $body['slots'] = [];
  36. foreach ($batches->orders as $order){
  37. $orderArr = [];
  38. foreach ($order->orderCommodities as $orderCommodity){
  39. $orderArr['id']=$orderCommodity->location??'';
  40. $orderArr['sku']=$orderCommodity->commodity->sku??'';
  41. $orderArr['barcode']=$orderCommodity->commodity ? ($orderCommodity->commodity->barcodes?$orderCommodity->commodity->barcodes->first()['code']:'') : '';
  42. $orderArr['name']=$orderCommodity->commodity->name??'';
  43. $orderArr['amount']=$orderCommodity->amount??'';
  44. }
  45. $body['slots'][] = $orderArr;
  46. }
  47. $result=array();
  48. foreach($body['slots'] as $val){
  49. $key = $val['id'].'_'.$val['barcode'];
  50. if(!isset($result[$key])){
  51. $result[$key] = $val;
  52. }else{
  53. $result[$key]['amount'] += $val['amount'];
  54. }
  55. }
  56. $body['slots']=array_values($result);
  57. dd($body);
  58. $response = Http::withHeaders([
  59. 'Host' => 'zc-it.com',
  60. ])->post('http://1.116.164.201:8080/api/createBatch',$body);
  61. }
  62. }