From 01ddeb4dfd83027bc6b36d4c64e611f20cfb0ee4 Mon Sep 17 00:00:00 2001 From: Bernd Bestel Date: Sat, 2 Oct 2021 17:39:36 +0200 Subject: [PATCH] Added data_generation_scripts --- .../9999_big_stock.php | 27 ++++++++++++++++++ .../9999_lots_recipes.php | 16 +++++++++++ .../big_meal_plan.xlsx | Bin 0 -> 41369 bytes 3 files changed, 43 insertions(+) create mode 100644 .devtools/data_generation_scripts/9999_big_stock.php create mode 100644 .devtools/data_generation_scripts/9999_lots_recipes.php create mode 100644 .devtools/data_generation_scripts/big_meal_plan.xlsx diff --git a/.devtools/data_generation_scripts/9999_big_stock.php b/.devtools/data_generation_scripts/9999_big_stock.php new file mode 100644 index 00000000..dd410b86 --- /dev/null +++ b/.devtools/data_generation_scripts/9999_big_stock.php @@ -0,0 +1,27 @@ +getStockService()->AddProduct($productId, 1, date('Y-m-d', strtotime('+180 days')), StockService::TRANSACTION_TYPE_PURCHASE, date('Y-m-d', strtotime("$days days")), XRandomPrice()); + $transactionId2 = $this->getStockService()->ConsumeProduct($productId, 1, false, StockService::TRANSACTION_TYPE_CONSUME); + + $this->getDatabaseService()->ExecuteDbStatement("UPDATE stock_log SET row_created_timestamp = DATETIME(row_created_timestamp, '$days days') WHERE transaction_id = '$transactionId1'"); + $this->getDatabaseService()->ExecuteDbStatement("UPDATE stock_log SET row_created_timestamp = DATETIME(row_created_timestamp, '$days days') WHERE transaction_id = '$transactionId2'"); + + $days--; + $i++; +} + +function XRandomPrice() +{ + return mt_rand(2 * 100, 25 * 100) / 100 / 4; +} diff --git a/.devtools/data_generation_scripts/9999_lots_recipes.php b/.devtools/data_generation_scripts/9999_lots_recipes.php new file mode 100644 index 00000000..5669679a --- /dev/null +++ b/.devtools/data_generation_scripts/9999_lots_recipes.php @@ -0,0 +1,16 @@ +CopyRecipe(1); + $recipesService->CopyRecipe(2); + $recipesService->CopyRecipe(3); + $recipesService->CopyRecipe(4); + $recipesService->CopyRecipe(5); +} diff --git a/.devtools/data_generation_scripts/big_meal_plan.xlsx b/.devtools/data_generation_scripts/big_meal_plan.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..b4d0ed9608eca9493676d7d95fd144d9676298e4 GIT binary patch literal 41369 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 GtN#LcE~Hif literal 0 HcmV?d00001