-
Type: Story
-
Status: Closed (View Workflow)
-
Resolution: Completed
-
Affects Version/s: None
-
Fix Version/s: CFA 2020R1
-
Component/s: EOM
-
Labels:None
-
Sprint:CFAMX 2020R1 Sprint 5, CFAMX 2020R1 Sprint 6
-
SCRUM Team:Brotherhood of Mutants
-
Story Points:2
-
Work Type Classification:Sustaining
Indexes we might want to add:
tbEndOfMonthTemplate.EOMTemplateName - Only 2 rows for now, not sure if\when we would add any others
tbExternalApi.Description - Only 12 rows, and again, not likely to add many more
tbEndOfMonthSection.EOMSectionKey - Only 13 rows and also not likely to add many more
All 3 of these are string columns and the tables are really small. Our queries are currently doing full table scans which is not ideal.
EndOfMonthTemplateRepository.GetEntityTemplate
Is duplicating some effort but initial attempts were unable to get anything that was any faster.
The best alternative we were able to come up with was:
DECLARE @TemplateId bigint
SELECT TOP 1 @TemplateId = template.eomtemplateid
FROM tbendofmonthtemplate template WITH(NOLOCK)
LEFT JOIN tbentityzone entityZone WITH(NOLOCK)
ON entityZone.entityid = @p0
AND entityZone.zoneid = template.zoneid
WHERE entityZone.zoneid IS NOT NULL OR template.eomtemplatename = 'Default'
ORDER BY entityZone.zoneid DESC – Be sure if there is a Zone-specific template, it is at the top
SELECT
map.eomtemplateid as EndOfMonthTemplateId,
section.EndOfMonthSectionId as Id,
section.EOMSectionKey,
section.EOMNameTranslationToken,
section.EOMNotPassedTranslationToken,
section.EOMPassedTranslationToken,
section.EOMExternalDataWebService,
section.EOMMMSPageURL,
section.EOMMobilePageLinkURL
FROM tbendofmonthtemplatesectionmap map WITH(NOLOCK)
JOIN tbendofmonthsection section WITH(NOLOCK)
ON section.endofmonthsectionid = map.eomsectionid
WHERE map.eomtemplateid = @TemplateId
ORDER BY map.EOMSectionOrder ASC
ZoneType name constants
It would be good if we set up some sort of set of constant zone type names for easy lookup in the code, that way we can just say GetByZoneType(COUNTRY_ZONETYPE) or GetByZoneType(ORDERING_ZONETYPE), not being tied directly to zone type names.
BankingCloseQueryService.GetUnFinalizedDaysByDateRange
We are making two db calls and then filtering the results. This could be simplified to just one DB call, since the only thing that is being done client side is some datetime comparisons.
*EndOfMonthStatusCheckRepository UpdateCommentsStatusCheck and
UpdateRefillsStatusCheck*
We could use a nullable boolean as a complete parameter and set the value of the complete column = ISNULL(:complete, complete), that would eliminate having two copies of the same update code for the complete/not complete logic.
IX_StockCountLocationIDItemID
If we included StockCount in IX_StockCountLocationIDItemID, we would improve the performance of qryMMSInventory_GetItemCountSummary tremendously, since half of the estimated cost of this query is in the lookup of StockCount from the tbTransactionStockCountLocationDetail table. This should also improve the query in qryMMSInventory_GetItemCountByGroup, but to a lesser extent, for the same reason.
EndOfMonthStatusCheckCommandService
There are a couple of places where we are writing to the Audit (UpdateExpense and DeleteExpense) that have the same several lines of logic, we should pull those out into a separate method for easier readability and maintainability.
- implements
-
CFAMX-7196 2020 R1 Refactor
- Closed
- relates to
-
CFAMX-7353 EOM settings - Allow Access to EOM Administration does not turn 'ON' after being turned 'OFF'
- Done
-
CFAMX-7368 EOM Daily Sales - Daily Sales alerts on incorrect business period
- Done
-
CFAMX-7374 EOM - Auto Notifications have stopped working
- Done
-
CFAMX-7375 EOM - expense alert to acrue or no payment is not displayed
- Done
-
CFAMX-7376 Supplier Invoices section - CA stores - Not displaying correctly in JAT
- Done
-
CFAMX-7354 Allow Access to EOM - only hides link - user can still access with EOM Url
- Done
-
CFAMX-7377 EOM - All sections where user can enter $ value with decimal - Not able to enter decimal iOS
- Done
1.
|
Review Test Scripts | Done | Charles Wheeler |
|
|||||||||
2.
|
Deploy | Done | Soma Dixon (Inactive) |
|
|||||||||
3.
|
Functional Review with QA | Done | David Nayyar (Inactive) |
|
|||||||||
4.
|
DIT | Done | David Nayyar (Inactive) |
|
|||||||||
5.
|
Refactor EOM as suggested in Notes | Done | David Nayyar (Inactive) |
|
|||||||||
6.
|
Execute regression tests | Done | Charles Wheeler |
|
|||||||||
7.
|
Update test cases | Done | Charles Wheeler |
|
|||||||||
8.
|
Enhance CFA Confluence documentation | Done | David Nayyar (Inactive) |
|