From fe87614e2869d218ac9a54000f5b5e5c463f2dac Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Fri, 1 Oct 2021 19:51:23 +0000 Subject: [PATCH] --- .vscode/launch.json | 2 +- server/AyaNova/util/Seeder.cs | 87 ++++++++++++++++++++++++++--------- 2 files changed, 67 insertions(+), 22 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index f92c39ec..976f60e9 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -52,7 +52,7 @@ "AYANOVA_FOLDER_USER_FILES": "c:\\temp\\RavenTestData\\userfiles", "AYANOVA_FOLDER_BACKUP_FILES": "c:\\temp\\RavenTestData\\backupfiles", "AYANOVA_FOLDER_TEMPORARY_SERVER_FILES": "c:\\temp\\RavenTestData\\tempfiles", - "AYANOVA_SERVER_TEST_MODE": "false", + "AYANOVA_SERVER_TEST_MODE": "true", "AYANOVA_SERVER_TEST_MODE_SEEDLEVEL": "small", "AYANOVA_SERVER_TEST_MODE_TZ_OFFSET": "-7", "AYANOVA_BACKUP_PG_DUMP_PATH": "C:\\data\\code\\postgres_13\\bin\\" diff --git a/server/AyaNova/util/Seeder.cs b/server/AyaNova/util/Seeder.cs index 3ae1254b..919f552e 100644 --- a/server/AyaNova/util/Seeder.cs +++ b/server/AyaNova/util/Seeder.cs @@ -246,7 +246,7 @@ namespace AyaNova.Util await SeedPurchaseOrderAsync(log, 10); await SeedQuoteAsync(log, 5); await SeedPMAsync(log, 3); - await SeedWorkOrderAsync(log, 10); + await SeedWorkOrderAsync(log, 100); //PERF watch.Stop(); @@ -304,7 +304,7 @@ namespace AyaNova.Util await SeedPurchaseOrderAsync(log, 30); await SeedQuoteAsync(log, 5); await SeedPMAsync(log, 3); - await SeedWorkOrderAsync(log, 75); + await SeedWorkOrderAsync(log, 200); //PERF watch.Stop(); @@ -372,7 +372,7 @@ namespace AyaNova.Util await SeedPurchaseOrderAsync(log, 50); await SeedQuoteAsync(log, 5); await SeedPMAsync(log, 3); - await SeedWorkOrderAsync(log, 150); + await SeedWorkOrderAsync(log, 300); //PERF watch.Stop(); @@ -441,7 +441,7 @@ namespace AyaNova.Util await SeedPurchaseOrderAsync(log, 250); await SeedQuoteAsync(log, 5); await SeedPMAsync(log, 3); - await SeedWorkOrderAsync(log, 300); + await SeedWorkOrderAsync(log, 1000); //PERF watch.Stop(); @@ -2731,7 +2731,7 @@ namespace AyaNova.Util // public async Task SeedWorkOrderAsync(ILogger log, int count) { - DateTime seedStartWindow = DateTime.UtcNow.AddMonths(-9); + DateTime seedStartWindow = DateTime.UtcNow.AddMonths(-3); DateTime seedEndWindow = DateTime.UtcNow.AddMonths(3); for (int x = 0; x < count; x++) { @@ -2814,28 +2814,72 @@ namespace AyaNova.Util woItem.Units.Add(woItemUnit); //SCHEDULED USERS - var woItemScheduledUser = new WorkOrderItemScheduledUser() + //not realistic, just to fill schedule forms with a nice even distribution + //four random techs plus a few others of known type { - UserId = RandomServiceTechUserId(), - EstimatedQuantity = 1, - StartDate = woDate, - StopDate = woDate.AddHours(1) - }; - woItem.ScheduledUsers.Add(woItemScheduledUser); + var randomStart = Fake.Random.Int(0, 5); + var randomHours = Fake.Random.Int(1, 4); + var randomDays = Fake.Random.Int(0, 3); + var randomStop = randomStart + randomHours; + var woItemScheduledUser = new WorkOrderItemScheduledUser() + { + UserId = RandomServiceTechUserId(), + EstimatedQuantity = randomHours, + StartDate = woDate.AddHours(randomStart).AddDays(randomDays), + StopDate = woDate.AddHours(randomStop).AddDays(randomDays) + }; + woItem.ScheduledUsers.Add(woItemScheduledUser); + } - woItemScheduledUser = new WorkOrderItemScheduledUser() { - UserId = RandomServiceTechUserId(), - EstimatedQuantity = 2, - StartDate = woDate, - StopDate = woDate.AddHours(1) - }; - woItem.ScheduledUsers.Add(woItemScheduledUser); + var randomStart = Fake.Random.Int(0, 5); + var randomHours = Fake.Random.Int(1, 4); + var randomDays = Fake.Random.Int(0, 3); + var randomStop = randomStart + randomHours; + var woItemScheduledUser = new WorkOrderItemScheduledUser() + { + UserId = RandomServiceTechUserId(), + EstimatedQuantity = randomHours, + StartDate = woDate.AddHours(randomStart).AddDays(randomDays), + StopDate = woDate.AddHours(randomStop).AddDays(randomDays) + }; + woItem.ScheduledUsers.Add(woItemScheduledUser); + } + + { + var randomStart = Fake.Random.Int(0, 5); + var randomHours = Fake.Random.Int(1, 4); + var randomDays = Fake.Random.Int(0, 3); + var randomStop = randomStart + randomHours; + var woItemScheduledUser = new WorkOrderItemScheduledUser() + { + UserId = RandomServiceTechUserId(), + EstimatedQuantity = randomHours, + StartDate = woDate.AddHours(randomStart).AddDays(randomDays), + StopDate = woDate.AddHours(randomStop).AddDays(randomDays) + }; + woItem.ScheduledUsers.Add(woItemScheduledUser); + } + + { + var randomStart = Fake.Random.Int(0, 5); + var randomHours = Fake.Random.Int(1, 4); + var randomDays = Fake.Random.Int(0, 3); + var randomStop = randomStart + randomHours; + var woItemScheduledUser = new WorkOrderItemScheduledUser() + { + UserId = RandomServiceTechUserId(), + EstimatedQuantity = randomHours, + StartDate = woDate.AddHours(randomStart).AddDays(randomDays), + StopDate = woDate.AddHours(randomStop).AddDays(randomDays) + }; + woItem.ScheduledUsers.Add(woItemScheduledUser); + } if (y == 1) { //known tech and subcontractor on every item - woItemScheduledUser = new WorkOrderItemScheduledUser() + var woItemScheduledUser = new WorkOrderItemScheduledUser() { UserId = KnownUserTechId, EstimatedQuantity = 2, @@ -2857,7 +2901,7 @@ namespace AyaNova.Util if (y == 3) { //known restricted tech and subcontractor on some items - woItemScheduledUser = new WorkOrderItemScheduledUser() + var woItemScheduledUser = new WorkOrderItemScheduledUser() { UserId = KnownUserTechRestrictedId, EstimatedQuantity = 2, @@ -2875,6 +2919,7 @@ namespace AyaNova.Util }; woItem.ScheduledUsers.Add(woItemScheduledUser); } + ///////////////////////////////////////// //PARTS var woItemPart = new WorkOrderItemPart()