SyncOrderTest.php 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <?php
  2. namespace Tests\Services\OrderService\SyncOrderTest;
  3. use App\Logistic;
  4. use App\Owner;
  5. use App\Services\common\DataHandlerService;
  6. use App\Services\LogisticService;
  7. use App\OracleDOCOrderHeader;
  8. use App\Services\OracleDOCOrderHeaderService;
  9. use App\Services\OrderService;
  10. use App\Services\OwnerService;
  11. use App\Services\ShopService;
  12. use App\Services\WarehouseService;
  13. use App\Shop;
  14. use App\Warehouse;
  15. use Carbon\Carbon;
  16. use Illuminate\Foundation\Testing\RefreshDatabase;
  17. use Illuminate\Foundation\Testing\WithFaker;
  18. use Tests\TestCase;
  19. class SyncOrderTest extends TestCase
  20. {
  21. /**
  22. * @var OrderService $service
  23. * @var OracleDOCOrderHeaderService $orderHeaderService
  24. * @var DataHandlerService $dataHandlerService
  25. * @var OwnerService $ownerService
  26. * @var LogisticService $logisticService
  27. * @var ShopService $shopService
  28. * @var WarehouseService $warehouseService
  29. */
  30. public $service;
  31. public $orderHeaderService;
  32. public $dataHandlerService;
  33. public $ownerService;
  34. public $logisticService;
  35. public $shopService;
  36. public $warehouseService;
  37. public function setUp(): void
  38. {
  39. parent::setUp();
  40. $this->service=app(OrderService::class);
  41. $this->orderHeaderService=app(OracleDOCOrderHeaderService::class);
  42. }
  43. public function testCreateOrUpdateOrderInfo()
  44. {
  45. $carbon =Carbon::now()->subHours(1);
  46. $date = '2020-05-18 18:13:50';
  47. var_dump(((string)Carbon::now()));
  48. // SO201112029795
  49. // $orderHeader = $this->orderHeaderService->getWMSOrderOnStartDate($carbon);
  50. $orderHeader = OracleDOCOrderHeader::query()->selectRaw(implode(',',OracleDOCOrderHeaderService::$columns))
  51. ->with(['oracleBASCustomer'=>function($query){
  52. $query->selectRaw('BAS_CUSTOMER.CustomerID,BAS_CUSTOMER.Customer_Type,BAS_CUSTOMER.Descr_C,BAS_CUSTOMER.Active_Flag');
  53. },'oracleDOCOrderDetails'=>function($query){
  54. $query->selectRaw('doc_order_details.orderNo,doc_order_details.customerid,doc_order_details.sku,doc_order_details.QtyOrdered');
  55. }, 'actAllocationDetails'=>function($query){
  56. $query->selectRaw('ACT_Allocation_Details.AllocationDetailsID,ACT_Allocation_Details.OrderNo,ACT_Allocation_Details.Qty_Each,ACT_Allocation_Details.PickToTraceID,ACT_Allocation_Details.CustomerID,ACT_Allocation_Details.Sku');
  57. },'oracleBASCode'=>function($query){
  58. $query->selectRaw('BAS_Codes.CodeID,BAS_Codes.CodeName_C,BAS_Codes.Code');
  59. }])
  60. // ->where('DOC_Order_Header.addTime','>=',$startDate)
  61. // ->where('orderno','SO201112029795')
  62. ->where('DOC_Order_Header.addTime','>=',$carbon)
  63. ->get();
  64. var_dump($orderHeader->count());
  65. var_dump((string)Carbon::now());
  66. $this->service->syncOrder($orderHeader);
  67. var_dump((string)Carbon::now());
  68. $order = $this->service->getByWmsOrders($orderHeader);
  69. $this->assertNotNull($order);
  70. $this->assertNotNull($orderHeader);
  71. }
  72. }