OracleDOCOrderHeaderService.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. namespace App\Services;
  3. use App\OracleDOCOrderDetail;
  4. use App\OracleDOCOrderHeader;
  5. use App\Owner;
  6. Class OracleDOCOrderHeaderService
  7. {
  8. function first(array $params){
  9. $order = OracleDOCOrderHeader::query();
  10. foreach ($params as $column => $value){
  11. $order->where($column, $value);
  12. }
  13. return $order->first();
  14. }
  15. public function getWmsOrderOnStartDateCreate($startDate){
  16. /** @var Owner $owners */
  17. $owners = app(OrderTrackingOwnerService::class)->getTrackingOrderOwner();
  18. return OracleDOCOrderHeader::query()
  19. ->with(['oracleDOCOrderDetails', 'actAllocationDetails','oracleBASCode'])
  20. ->where('addTime','>=',$startDate)
  21. ->whereIn('customerID',data_get($owners,'*.code'))
  22. ->get();
  23. }
  24. public function getWmsOrderOnStartDateEdit($startDate){
  25. /** @var Owner $owners */
  26. $owners = app(OrderTrackingOwnerService::class)->getTrackingOrderOwner();
  27. return OracleDOCOrderHeader::query()
  28. ->with(['oracleDOCOrderDetails', 'actAllocationDetails','oracleBASCode'])
  29. ->where('EditTime','>=',$startDate)
  30. ->whereColumn('EditTime','<>','addTime')
  31. ->whereIn('customerID',data_get($owners,'*.code'))
  32. ->get();
  33. }
  34. /**
  35. * @param OracleDOCOrderHeader $orderHeader
  36. * @return array|mixed
  37. */
  38. public function getLogisticNumbers($orderHeader)
  39. {
  40. if(!$orderHeader ?? false){return [];}
  41. $actAllocationDetails = $orderHeader->actAllocationDetails ?? [];
  42. return array_diff(data_get($actAllocationDetails,'*.picktotraceid'),['','*',null]) ;
  43. }
  44. }