From 1e879c6dbc64af05fd53ffc3e6da44674bc08a14 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Mon, 11 May 2020 18:32:22 +0000 Subject: [PATCH] --- server/AyaNova/biz/AyaType.cs | 16 +- server/AyaNova/biz/WorkOrderBiz.cs | 199 ++++++++++++++----------- server/AyaNova/models/WorkOrderItem.cs | 14 ++ 3 files changed, 134 insertions(+), 95 deletions(-) diff --git a/server/AyaNova/biz/AyaType.cs b/server/AyaNova/biz/AyaType.cs index d5579e56..dbfa36b9 100644 --- a/server/AyaNova/biz/AyaType.cs +++ b/server/AyaNova/biz/AyaType.cs @@ -75,28 +75,30 @@ namespace AyaNova.Biz UnitModel = 32, [CoreBizObject] Vendor = 33, + //--- WorkOrder [CoreBizObject] WorkOrder = 34, [CoreBizObject] WorkOrderItem = 35, [CoreBizObject] - WorkOrderItemLabor = 36, + WorkOrderItemExpense = 36, [CoreBizObject] - WorkOrderItemPart = 37, + WorkOrderItemLabor = 37, [CoreBizObject] - WorkOrderItemPartRequest = 38, + WorkOrderItemLoan = 38, [CoreBizObject] - WorkOrderItemScheduledUser = 39, + WorkOrderItemPart = 39, [CoreBizObject] - WorkOrderItemExpense = 40, + WorkOrderItemPartRequest = 40, [CoreBizObject] - WorkOrderItemTravel = 41, + WorkOrderItemScheduledUser = 41, [CoreBizObject] WorkOrderItemTask = 42, [CoreBizObject] - WorkOrderItemLoan = 43, + WorkOrderItemTravel = 43, [CoreBizObject] WorkOrderItemUnit = 44, + //--- [CoreBizObject] WorkOrderTemplate = 45, [CoreBizObject] diff --git a/server/AyaNova/biz/WorkOrderBiz.cs b/server/AyaNova/biz/WorkOrderBiz.cs index e9e1d428..35e2127a 100644 --- a/server/AyaNova/biz/WorkOrderBiz.cs +++ b/server/AyaNova/biz/WorkOrderBiz.cs @@ -32,14 +32,14 @@ namespace AyaNova.Biz return new WorkOrderBiz(ct, 1, ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID, AuthorizationRoles.BizAdminFull); } -/* - ██╗ ██╗ ██████╗ ██████╗ ██╗ ██╗ ██████╗ ██████╗ ██████╗ ███████╗██████╗ - ██║ ██║██╔═══██╗██╔══██╗██║ ██╔╝ ██╔═══██╗██╔══██╗██╔══██╗██╔════╝██╔══██╗ - ██║ █╗ ██║██║ ██║██████╔╝█████╔╝█████╗██║ ██║██████╔╝██║ ██║█████╗ ██████╔╝ - ██║███╗██║██║ ██║██╔══██╗██╔═██╗╚════╝██║ ██║██╔══██╗██║ ██║██╔══╝ ██╔══██╗ - ╚███╔███╔╝╚██████╔╝██║ ██║██║ ██╗ ╚██████╔╝██║ ██║██████╔╝███████╗██║ ██║ - ╚══╝╚══╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═════╝ ╚══════╝╚═╝ ╚═╝ -*/ + /* + ██╗ ██╗ ██████╗ ██████╗ ██╗ ██╗ ██████╗ ██████╗ ██████╗ ███████╗██████╗ + ██║ ██║██╔═══██╗██╔══██╗██║ ██╔╝ ██╔═══██╗██╔══██╗██╔══██╗██╔════╝██╔══██╗ + ██║ █╗ ██║██║ ██║██████╔╝█████╔╝█████╗██║ ██║██████╔╝██║ ██║█████╗ ██████╔╝ + ██║███╗██║██║ ██║██╔══██╗██╔═██╗╚════╝██║ ██║██╔══██╗██║ ██║██╔══╝ ██╔══██╗ + ╚███╔███╔╝╚██████╔╝██║ ██║██║ ██╗ ╚██████╔╝██║ ██║██████╔╝███████╗██║ ██║ + ╚══╝╚══╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═════╝ ╚══════╝╚═╝ ╚═╝ + */ #region WorkOrder level @@ -113,11 +113,27 @@ namespace AyaNova.Biz //docs say this will not query twice but will recognize the duplicate woitem bit which is required for multiple grandchild collections var ret = await ct.WorkOrder + .Include(w => w.Items) + .ThenInclude(wi => wi.Expenses) .Include(w => w.Items) .ThenInclude(wi => wi.Labors) .Include(w => w.Items) + .ThenInclude(wi => wi.Loans) + .Include(w => w.Items) .ThenInclude(wi => wi.Parts) + .Include(w => w.Items) + .ThenInclude(wi => wi.PartRequests) + .Include(w => w.Items) + .ThenInclude(wi => wi.ScheduledUsers) + .Include(w => w.Items) + .ThenInclude(wi => wi.Tasks) + .Include(w => w.Items) + .ThenInclude(wi => wi.Travels) + .Include(w => w.Items) + .ThenInclude(wi => wi.Units) .SingleOrDefaultAsync(m => m.Id == id); + + if (logTheGetEvent && ret != null) await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, id, BizType, AyaEvent.Retrieved), ct); return ret; @@ -239,7 +255,7 @@ namespace AyaNova.Biz await Search.ProcessUpdatedObjectKeywordsAsync(SearchParams); } -//TODO: This is going to have to handle descendents or there needs to be a change to include a subitem or something in case of workorder + //TODO: This is going to have to handle descendents or there needs to be a change to include a subitem or something in case of workorder public async Task GetSearchResultSummary(long id) { var obj = await ct.WorkOrder.SingleOrDefaultAsync(m => m.Id == id); @@ -306,14 +322,14 @@ namespace AyaNova.Biz #endregion workorder level -/* - ██╗████████╗███████╗███╗ ███╗███████╗ - ██║╚══██╔══╝██╔════╝████╗ ████║██╔════╝ - ██║ ██║ █████╗ ██╔████╔██║███████╗ - ██║ ██║ ██╔══╝ ██║╚██╔╝██║╚════██║ - ██║ ██║ ███████╗██║ ╚═╝ ██║███████║ - ╚═╝ ╚═╝ ╚══════╝╚═╝ ╚═╝╚══════╝ -*/ + /* + ██╗████████╗███████╗███╗ ███╗███████╗ + ██║╚══██╔══╝██╔════╝████╗ ████║██╔════╝ + ██║ ██║ █████╗ ██╔████╔██║███████╗ + ██║ ██║ ██╔══╝ ██║╚██╔╝██║╚════██║ + ██║ ██║ ███████╗██║ ╚═╝ ██║███████║ + ╚═╝ ╚═╝ ╚══════╝╚═╝ ╚═╝╚══════╝ + */ #region WorkOrderItem level //////////////////////////////////////////////////////////////////////////////////////////////// @@ -359,8 +375,15 @@ namespace AyaNova.Biz //docs say this will not query twice but will recognize the duplicate woitem bit which is required for multiple grandchild collections var ret = await ct.WorkOrderItem + .Include(wi => wi.Expenses) .Include(wi => wi.Labors) + .Include(wi => wi.Loans) .Include(wi => wi.Parts) + .Include(wi => wi.PartRequests) + .Include(wi => wi.ScheduledUsers) + .Include(wi => wi.Tasks) + .Include(wi => wi.Travels) + .Include(wi => wi.Units) .SingleOrDefaultAsync(m => m.Id == id); if (logTheGetEvent && ret != null) await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, id, AyaType.WorkOrderItem, AyaEvent.Retrieved), ct); @@ -542,14 +565,14 @@ namespace AyaNova.Biz #endregion work order item level -/* - ███████╗██╗ ██╗██████╗ ███████╗███╗ ██╗███████╗███████╗███████╗ - ██╔════╝╚██╗██╔╝██╔══██╗██╔════╝████╗ ██║██╔════╝██╔════╝██╔════╝ - █████╗ ╚███╔╝ ██████╔╝█████╗ ██╔██╗ ██║███████╗█████╗ ███████╗ - ██╔══╝ ██╔██╗ ██╔═══╝ ██╔══╝ ██║╚██╗██║╚════██║██╔══╝ ╚════██║ - ███████╗██╔╝ ██╗██║ ███████╗██║ ╚████║███████║███████╗███████║ - ╚══════╝╚═╝ ╚═╝╚═╝ ╚══════╝╚═╝ ╚═══╝╚══════╝╚══════╝╚══════╝ -*/ + /* + ███████╗██╗ ██╗██████╗ ███████╗███╗ ██╗███████╗███████╗███████╗ + ██╔════╝╚██╗██╔╝██╔══██╗██╔════╝████╗ ██║██╔════╝██╔════╝██╔════╝ + █████╗ ╚███╔╝ ██████╔╝█████╗ ██╔██╗ ██║███████╗█████╗ ███████╗ + ██╔══╝ ██╔██╗ ██╔═══╝ ██╔══╝ ██║╚██╗██║╚════██║██╔══╝ ╚════██║ + ███████╗██╔╝ ██╗██║ ███████╗██║ ╚████║███████║███████╗███████║ + ╚══════╝╚═╝ ╚═╝╚═╝ ╚══════╝╚═╝ ╚═══╝╚══════╝╚══════╝╚══════╝ + */ #region WorkOrderItemExpense level //////////////////////////////////////////////////////////////////////////////////////////////// @@ -731,14 +754,14 @@ namespace AyaNova.Biz #endregion work order item LABOR level -/* - ██╗ █████╗ ██████╗ ██████╗ ██████╗ - ██║ ██╔══██╗██╔══██╗██╔═══██╗██╔══██╗ - ██║ ███████║██████╔╝██║ ██║██████╔╝ - ██║ ██╔══██║██╔══██╗██║ ██║██╔══██╗ - ███████╗██║ ██║██████╔╝╚██████╔╝██║ ██║ - ╚══════╝╚═╝ ╚═╝╚═════╝ ╚═════╝ ╚═╝ ╚═╝ -*/ + /* + ██╗ █████╗ ██████╗ ██████╗ ██████╗ + ██║ ██╔══██╗██╔══██╗██╔═══██╗██╔══██╗ + ██║ ███████║██████╔╝██║ ██║██████╔╝ + ██║ ██╔══██║██╔══██╗██║ ██║██╔══██╗ + ███████╗██║ ██║██████╔╝╚██████╔╝██║ ██║ + ╚══════╝╚═╝ ╚═╝╚═════╝ ╚═════╝ ╚═╝ ╚═╝ + */ #region WorkOrderItemLabor level //////////////////////////////////////////////////////////////////////////////////////////////// @@ -920,13 +943,13 @@ namespace AyaNova.Biz #endregion work order item LABOR level -/* - ██╗ ██████╗ █████╗ ███╗ ██╗ - ██║ ██╔═══██╗██╔══██╗████╗ ██║ - ██║ ██║ ██║███████║██╔██╗ ██║ - ██║ ██║ ██║██╔══██║██║╚██╗██║ - ███████╗╚██████╔╝██║ ██║██║ ╚████║ -*/ + /* + ██╗ ██████╗ █████╗ ███╗ ██╗ + ██║ ██╔═══██╗██╔══██╗████╗ ██║ + ██║ ██║ ██║███████║██╔██╗ ██║ + ██║ ██║ ██║██╔══██║██║╚██╗██║ + ███████╗╚██████╔╝██║ ██║██║ ╚████║ + */ #region WorkOrderItemLoan level //////////////////////////////////////////////////////////////////////////////////////////////// @@ -1108,14 +1131,14 @@ namespace AyaNova.Biz #endregion work order item LABOR level -/* - ██████╗ █████╗ ██████╗ ████████╗███████╗ - ██╔══██╗██╔══██╗██╔══██╗╚══██╔══╝██╔════╝ - ██████╔╝███████║██████╔╝ ██║ ███████╗ - ██╔═══╝ ██╔══██║██╔══██╗ ██║ ╚════██║ - ██║ ██║ ██║██║ ██║ ██║ ███████║ - ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚══════╝ -*/ + /* + ██████╗ █████╗ ██████╗ ████████╗███████╗ + ██╔══██╗██╔══██╗██╔══██╗╚══██╔══╝██╔════╝ + ██████╔╝███████║██████╔╝ ██║ ███████╗ + ██╔═══╝ ██╔══██║██╔══██╗ ██║ ╚════██║ + ██║ ██║ ██║██║ ██║ ██║ ███████║ + ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚══════╝ + */ #region WorkOrderItemPart level //////////////////////////////////////////////////////////////////////////////////////////////// @@ -1294,14 +1317,14 @@ namespace AyaNova.Biz #endregion work order item LABOR level -/* - ██████╗ █████╗ ██████╗ ████████╗ ██████╗ ███████╗ ██████╗ ██╗ ██╗███████╗███████╗████████╗███████╗ - ██╔══██╗██╔══██╗██╔══██╗╚══██╔══╝ ██╔══██╗██╔════╝██╔═══██╗██║ ██║██╔════╝██╔════╝╚══██╔══╝██╔════╝ - ██████╔╝███████║██████╔╝ ██║█████╗██████╔╝█████╗ ██║ ██║██║ ██║█████╗ ███████╗ ██║ ███████╗ - ██╔═══╝ ██╔══██║██╔══██╗ ██║╚════╝██╔══██╗██╔══╝ ██║▄▄ ██║██║ ██║██╔══╝ ╚════██║ ██║ ╚════██║ - ██║ ██║ ██║██║ ██║ ██║ ██║ ██║███████╗╚██████╔╝╚██████╔╝███████╗███████║ ██║ ███████║ - ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚══════╝ ╚══▀▀═╝ ╚═════╝ ╚══════╝╚══════╝ ╚═╝ ╚══════╝ -*/ + /* + ██████╗ █████╗ ██████╗ ████████╗ ██████╗ ███████╗ ██████╗ ██╗ ██╗███████╗███████╗████████╗███████╗ + ██╔══██╗██╔══██╗██╔══██╗╚══██╔══╝ ██╔══██╗██╔════╝██╔═══██╗██║ ██║██╔════╝██╔════╝╚══██╔══╝██╔════╝ + ██████╔╝███████║██████╔╝ ██║█████╗██████╔╝█████╗ ██║ ██║██║ ██║█████╗ ███████╗ ██║ ███████╗ + ██╔═══╝ ██╔══██║██╔══██╗ ██║╚════╝██╔══██╗██╔══╝ ██║▄▄ ██║██║ ██║██╔══╝ ╚════██║ ██║ ╚════██║ + ██║ ██║ ██║██║ ██║ ██║ ██║ ██║███████╗╚██████╔╝╚██████╔╝███████╗███████║ ██║ ███████║ + ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚══════╝ ╚══▀▀═╝ ╚═════╝ ╚══════╝╚══════╝ ╚═╝ ╚══════╝ + */ #region WorkOrderItemPartRequest level //////////////////////////////////////////////////////////////////////////////////////////////// @@ -1483,14 +1506,14 @@ namespace AyaNova.Biz #endregion work order item LABOR level -/* - ███████╗ ██████╗██╗ ██╗███████╗██████╗ ██╗ ██╗██╗ ███████╗██████╗ ██╗ ██╗███████╗███████╗██████╗ ███████╗ - ██╔════╝██╔════╝██║ ██║██╔════╝██╔══██╗██║ ██║██║ ██╔════╝██╔══██╗ ██║ ██║██╔════╝██╔════╝██╔══██╗██╔════╝ - ███████╗██║ ███████║█████╗ ██║ ██║██║ ██║██║ █████╗ ██║ ██║█████╗██║ ██║███████╗█████╗ ██████╔╝███████╗ - ╚════██║██║ ██╔══██║██╔══╝ ██║ ██║██║ ██║██║ ██╔══╝ ██║ ██║╚════╝██║ ██║╚════██║██╔══╝ ██╔══██╗╚════██║ - ███████║╚██████╗██║ ██║███████╗██████╔╝╚██████╔╝███████╗███████╗██████╔╝ ╚██████╔╝███████║███████╗██║ ██║███████║ - ╚══════╝ ╚═════╝╚═╝ ╚═╝╚══════╝╚═════╝ ╚═════╝ ╚══════╝╚══════╝╚═════╝ ╚═════╝ ╚══════╝╚══════╝╚═╝ ╚═╝╚══════╝ -*/ + /* + ███████╗ ██████╗██╗ ██╗███████╗██████╗ ██╗ ██╗██╗ ███████╗██████╗ ██╗ ██╗███████╗███████╗██████╗ ███████╗ + ██╔════╝██╔════╝██║ ██║██╔════╝██╔══██╗██║ ██║██║ ██╔════╝██╔══██╗ ██║ ██║██╔════╝██╔════╝██╔══██╗██╔════╝ + ███████╗██║ ███████║█████╗ ██║ ██║██║ ██║██║ █████╗ ██║ ██║█████╗██║ ██║███████╗█████╗ ██████╔╝███████╗ + ╚════██║██║ ██╔══██║██╔══╝ ██║ ██║██║ ██║██║ ██╔══╝ ██║ ██║╚════╝██║ ██║╚════██║██╔══╝ ██╔══██╗╚════██║ + ███████║╚██████╗██║ ██║███████╗██████╔╝╚██████╔╝███████╗███████╗██████╔╝ ╚██████╔╝███████║███████╗██║ ██║███████║ + ╚══════╝ ╚═════╝╚═╝ ╚═╝╚══════╝╚═════╝ ╚═════╝ ╚══════╝╚══════╝╚═════╝ ╚═════╝ ╚══════╝╚══════╝╚═╝ ╚═╝╚══════╝ + */ #region WorkOrderItemScheduledUser level //////////////////////////////////////////////////////////////////////////////////////////////// @@ -1672,14 +1695,14 @@ namespace AyaNova.Biz #endregion work order item LABOR level -/* - ████████╗ █████╗ ███████╗██╗ ██╗ - ╚══██╔══╝██╔══██╗██╔════╝██║ ██╔╝ - ██║ ███████║███████╗█████╔╝ - ██║ ██╔══██║╚════██║██╔═██╗ - ██║ ██║ ██║███████║██║ ██╗ - ╚═╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ -*/ + /* + ████████╗ █████╗ ███████╗██╗ ██╗ + ╚══██╔══╝██╔══██╗██╔════╝██║ ██╔╝ + ██║ ███████║███████╗█████╔╝ + ██║ ██╔══██║╚════██║██╔═██╗ + ██║ ██║ ██║███████║██║ ██╗ + ╚═╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ + */ #region WorkOrderItemTask level //////////////////////////////////////////////////////////////////////////////////////////////// @@ -1861,14 +1884,14 @@ namespace AyaNova.Biz #endregion work order item LABOR level -/* - ████████╗██████╗ █████╗ ██╗ ██╗███████╗██╗ - ╚══██╔══╝██╔══██╗██╔══██╗██║ ██║██╔════╝██║ - ██║ ██████╔╝███████║██║ ██║█████╗ ██║ - ██║ ██╔══██╗██╔══██║╚██╗ ██╔╝██╔══╝ ██║ - ██║ ██║ ██║██║ ██║ ╚████╔╝ ███████╗███████╗ - ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═══╝ ╚══════╝╚══════╝ -*/ + /* + ████████╗██████╗ █████╗ ██╗ ██╗███████╗██╗ + ╚══██╔══╝██╔══██╗██╔══██╗██║ ██║██╔════╝██║ + ██║ ██████╔╝███████║██║ ██║█████╗ ██║ + ██║ ██╔══██╗██╔══██║╚██╗ ██╔╝██╔══╝ ██║ + ██║ ██║ ██║██║ ██║ ╚████╔╝ ███████╗███████╗ + ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═══╝ ╚══════╝╚══════╝ + */ #region WorkOrderItemTravel level //////////////////////////////////////////////////////////////////////////////////////////////// @@ -2050,14 +2073,14 @@ namespace AyaNova.Biz #endregion work order item LABOR level -/* - ██╗ ██╗███╗ ██╗██╗████████╗ - ██║ ██║████╗ ██║██║╚══██╔══╝ - ██║ ██║██╔██╗ ██║██║ ██║ - ██║ ██║██║╚██╗██║██║ ██║ - ╚██████╔╝██║ ╚████║██║ ██║ - ╚═════╝ ╚═╝ ╚═══╝╚═╝ ╚═╝ -*/ + /* + ██╗ ██╗███╗ ██╗██╗████████╗ + ██║ ██║████╗ ██║██║╚══██╔══╝ + ██║ ██║██╔██╗ ██║██║ ██║ + ██║ ██║██║╚██╗██║██║ ██║ + ╚██████╔╝██║ ╚████║██║ ██║ + ╚═════╝ ╚═╝ ╚═══╝╚═╝ ╚═╝ + */ #region WorkOrderItemUnit level //////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/server/AyaNova/models/WorkOrderItem.cs b/server/AyaNova/models/WorkOrderItem.cs index fe482b44..fcfddc11 100644 --- a/server/AyaNova/models/WorkOrderItem.cs +++ b/server/AyaNova/models/WorkOrderItem.cs @@ -29,8 +29,15 @@ namespace AyaNova.Models { Tags = new List(); //dependents + Expenses = new List(); Labors = new List(); + Loans = new List(); Parts = new List(); + PartRequests = new List(); + ScheduledUsers = new List(); + Tasks = new List(); + Travels = new List(); + Units = new List(); } public long Id { get; set; } public uint ConcurrencyToken { get; set; } @@ -46,8 +53,15 @@ namespace AyaNova.Models public WorkOrder WorkOrder { get; set; } //dependents + public List Expenses { get; set; } public List Labors { get; set; } + public List Loans { get; set; } public List Parts { get; set; } + public List PartRequests { get; set; } + public List ScheduledUsers { get; set; } + public List Tasks { get; set; } + public List Travels { get; set; } + public List Units { get; set; } }//eoc }//eons