TBDeliveryService.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. namespace App\Services;
  3. use App\Logistic;
  4. use App\OracleDocOrderDeliveryInfo;
  5. use App\OracleDOCOrderHeader;
  6. use App\Owner;
  7. use App\OwnerLogisticPrintTemplate;
  8. use App\Services\Interfaces\DeliveryInterface;
  9. class TBDeliveryService implements DeliveryInterface
  10. {
  11. function getDeliveryInfo($OracleDocOrderDeliveryInfos): array
  12. {
  13. $items = $OracleDocOrderDeliveryInfos->filter(function($item){
  14. return $item->docOrderHeader->consigneeid == 'TB';
  15. });
  16. return $items->map(function($item) {
  17. return [
  18. 'type' => 'TB',
  19. 'data' => $item['userdefine1'],
  20. 'component_type' => 'TB',
  21. 'owner_code' => $item->docOrderHeader->customerid ?? '',
  22. 'logistic_code' => $item->docOrderHeader->userdefine1 ?? '',
  23. 'logistic_number' => $item['trackingno'],
  24. 'delivery' => $this->getDelivery($item),
  25. 'base64' => null,
  26. ];
  27. })->toArray();
  28. }
  29. public function getBase64($item)
  30. {
  31. }
  32. function getDelivery($item)
  33. {
  34. return null;
  35. }
  36. function processing(&$params)
  37. {
  38. $owner_query = Owner::query()->selectRaw('id')->where('code', $params['owner_code']);
  39. $logistic_query = Logistic::query()->selectRaw('id')->where('code', $params['owner_code']);
  40. $item = OwnerLogisticPrintTemplate::query()->with('printTemplate')->where('owner_id', $owner_query)->where('logistic_id', $logistic_query)->first();
  41. $item->printTemplate;
  42. }
  43. }