SyncOrderTest.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  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. $orderHeader = OracleDOCOrderHeader::query()->selectRaw(implode(',',OracleDOCOrderHeaderService::$columns))
  48. ->with(['oracleBASCustomer'=>function($query){
  49. $query->selectRaw('BAS_CUSTOMER.CustomerID,BAS_CUSTOMER.Customer_Type,BAS_CUSTOMER.Descr_C,BAS_CUSTOMER.Active_Flag');
  50. },'oracleDOCOrderDetails'=>function($query){
  51. $query->selectRaw('doc_order_details.orderNo,doc_order_details.customerid,doc_order_details.sku,doc_order_details.QtyOrdered');
  52. }, 'actAllocationDetails'=>function($query){
  53. $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');
  54. },'oracleBASCode'=>function($query){
  55. $query->selectRaw('BAS_Codes.CodeID,BAS_Codes.CodeName_C,BAS_Codes.Code');
  56. }])
  57. // ->where('DOC_Order_Header.addTime','>=',$startDate)
  58. // ->where('orderno','SO201112029795')
  59. ->where('DOC_Order_Header.addTime','>=',$carbon)
  60. ->get();
  61. $this->service->syncOrder($orderHeader);
  62. $order = $this->service->getByWmsOrders($orderHeader);
  63. $this->assertNotNull($order);
  64. $this->assertNotNull($orderHeader);
  65. }
  66. }