case 4200

This commit is contained in:
2022-09-29 21:36:13 +00:00
parent 1f5fabf5ea
commit 6a5053eeda
15 changed files with 118 additions and 100 deletions

View File

@@ -194,7 +194,7 @@ TWO types makes the most sense after considering options:
- One time fee, user can use indefinitely
- self installed, hosted and maintained by customer
- least profitable for us long term if they don't buy a maint. subscription
- Without maintenance subscription, eligable for Minor updates only to fix bugs no new features so in other words they buy 8.0.13 they can upgrade to any 8.0.X version release, but not 8.1 as it will be new features added that don't break backward compatibility
- Without maintenance subscription, eligable for Minor updates only to fix bugs no new features so in other words they buy 8.0.14 they can upgrade to any 8.0.X version release, but not 8.1 as it will be new features added that don't break backward compatibility
- one-time payment, along with the option of a yearly maintenance fee.
- This is basically our current model but we allow upgrades for subscribers
- **HAS CODE IMPLICATIONS** upgrades need to check if allowed based on version number if no maintenance subscription _not_ on date of build.

View File

@@ -1,7 +1,7 @@
; LAN install for internal network use only
#define MyAppName "AyaNova server"
#define MyAppVersion "8.0.13"
#define MyAppVersion "8.0.14"
#define MyAppPublisher "Ground Zero Tech-Works, Inc."
#define MyAppURL "https://ayanova.com/"
#define MyAppLauncherExeName "ayanova-launcher.exe"

View File

@@ -3,7 +3,7 @@
; external to lan requires different config
#define MyAppName "AyaNova"
#define MyAppVersion "8.0.13"
#define MyAppVersion "8.0.14"
#define MyAppPublisher "Ground Zero Tech-Works, Inc."
#define MyAppURL "https://ayanova.com/"
#define MyAppLauncherExeName "ayanova-launcher.exe"

View File

@@ -6,6 +6,12 @@ The most recent changes are written in the AyaNova manual [hosted on our website
## 2022
### AyaNova 8.0.14 (2022-09-29)
#### Changed
- UI, Server, Documentation: Dashboard list widgets limited to maximum 100 items to prevent overwhelming and potentially freezing the browser with large quantities of data better viewed through filtered data tables
### AyaNova 8.0.13 (2022-09-28)
#### Changed

View File

@@ -16,7 +16,7 @@ Dashboard widgets are available to specific roles so the widgets available vary
## How to access the Dashboard
- From the `Home` [navigation drawer](ay-start-form-overview.md#navigation-drawer) `Dashboard` item
- From the `Home` [navigation drawer](ay-start-form-overview.md#navigation-drawer) `Dashboard` item
## How the Dashboard works
@@ -28,6 +28,14 @@ Most widgets depend upon data retrieved from the server. Widgets will refresh th
When the view is changed to another form, the widgets are destroyed and no longer refresh. When the view moves back to the dashboard the widgets are re-instantiated and refreshed immediately and then on a cycle afterwards.
### List widgets count
All List type widgets will display a count of items in the list at the top. If a list item has reached it's maximum amount of items allowed in the list it will display a `+` symbol next to the count indicating there are more records that were not fetched as the maximum limit has been reached.
Widgets are intended to be used for quick access to targeted information; if you need to view more than the maximum number of items a dashboard widget permits, the equivalent data table list can be used instead as there are no limits to data tables.
For example if you have thousands of overdue work orders because they were not set to a completed status, the overdue work orders widget will only show a maximum of 100 of the oldest work orders. To view them all, open the main Service Work orders data table and filter by any status not set to Completed.
### Adding widgets
When a User first opens the Dashboard it will be an empty form with an _Add_ button. Click on the Add button (or the Add menu item option) and a list of Dashboard widgets available to _that_ user will be presented. Clicking on a widget in the list will add it to the display.
@@ -132,16 +140,16 @@ Columns displayed are priority, requested date, customer name and a second line
Available to the following roles:
- Business administration
- Business administration - restricted
- Service manager
- Service manager - restricted
- Service technician
- Service technician - restricted
- Business administration
- Business administration - restricted
- Service manager
- Service manager - restricted
- Service technician
- Service technician - restricted
Available filter criteria:
- Customer tags
- Customer tags
#### Not Scheduled
@@ -155,19 +163,19 @@ Work orders are listed from oldest at top to most recent at bottom.
Available to the following roles:
- Accounting
- Business administration
- Business administration - restricted
- Service manager
- Service manager - restricted
- Service technician
- Service technician - restricted
- Accounting
- Business administration
- Business administration - restricted
- Service manager
- Service manager - restricted
- Service technician
- Service technician - restricted
Available filter criteria:
- Work order tags
- Work order item tags
- Work order Status
- Work order tags
- Work order item tags
- Work order Status
#### Overdue - personal
@@ -181,13 +189,13 @@ Work orders are listed from oldest at top to most recent at bottom.
Available to the following roles:
- Service technician
- Service technician - restricted
- Service technician
- Service technician - restricted
Available filter criteria:
- Work order tags
- Work order item tags
- Work order tags
- Work order item tags
#### Overdue - All
@@ -201,16 +209,16 @@ Work orders are listed from oldest at top to most recent at bottom.
Available to the following roles:
- Accounting
- Business administration
- Business administration - restricted
- Service manager
- Service manager - restricted
- Accounting
- Business administration
- Business administration - restricted
- Service manager
- Service manager - restricted
Available filter criteria:
- Work order tags
- Work order item tags
- Work order tags
- Work order item tags
#### Reminders
@@ -244,10 +252,10 @@ They will automatically update every 15 minutes approximately.
Available filter criteria:
- Time span
- Interval
- Work order tags
- Work order item tags
- Time span
- Interval
- Work order tags
- Work order item tags
#### Service quantity - All
@@ -267,20 +275,20 @@ They will automatically update every 15 minutes approximately.
Available to the following roles:
- Accounting
- Business administration
- Business administration - restricted
- Service manager
- Service manager - restricted
- Accounting
- Business administration
- Business administration - restricted
- Service manager
- Service manager - restricted
Available filter criteria:
- Time span
- Interval
- User tags
- User (specific single user only)
- Work order tags
- Work order item tags
- Time span
- Interval
- User tags
- User (specific single user only)
- Work order tags
- Work order item tags
#### Count of work orders created
@@ -296,18 +304,18 @@ They will automatically update every 15 minutes approximately.
Available to the following roles:
- Accounting
- Business administration
- Business administration - restricted
- Service manager
- Service manager - restricted
- Accounting
- Business administration
- Business administration - restricted
- Service manager
- Service manager - restricted
Available filter criteria:
- Time span
- Interval
- Work order tags
- Work order item tags
- Time span
- Interval
- Work order tags
- Work order item tags
#### Percentage of Work orders completed on time
@@ -323,17 +331,17 @@ This widget will automatically update every 15 minutes approximately.
Available to the following roles:
- Accounting
- Business administration
- Business administration - restricted
- Service manager
- Service manager - restricted
- Accounting
- Business administration
- Business administration - restricted
- Service manager
- Service manager - restricted
Available filter criteria:
- Time span
- Interval
- Work order tags
- Time span
- Interval
- Work order tags
#### Count of Work orders by status
@@ -347,17 +355,17 @@ This widget will automatically update every 15 minutes approximately.
Available to the following roles:
- Accounting
- Business administration
- Business administration - restricted
- Service manager
- Service manager - restricted
- Accounting
- Business administration
- Business administration - restricted
- Service manager
- Service manager - restricted
Available filter criteria:
- Time span
- Interval
- Work order tags
- Time span
- Interval
- Work order tags
#### Percentage of Work orders by status
@@ -371,17 +379,17 @@ This widget will automatically update every 15 minutes approximately.
Available to the following roles:
- Accounting
- Business administration
- Business administration - restricted
- Service manager
- Service manager - restricted
- Accounting
- Business administration
- Business administration - restricted
- Service manager
- Service manager - restricted
Available filter criteria:
- Time span
- Interval
- Work order tags
- Time span
- Interval
- Work order tags
#### Work orders by status list
@@ -395,15 +403,15 @@ Work orders are listed from most recent at top to oldest at bottom.
Available to the following roles:
- Accounting
- Business administration
- Business administration - restricted
- Service manager
- Service manager - restricted
- Service technician
- Service technician - restricted
- Accounting
- Business administration
- Business administration - restricted
- Service manager
- Service manager - restricted
- Service technician
- Service technician - restricted
Available filter criteria:
- Work order tags
- Work order item tags
- Work order tags
- Work order item tags

View File

@@ -7,7 +7,7 @@ theme:
site_name: AyaNova manual
site_dir: '../../../server/AyaNova/wwwroot/docs'
strict: true
copyright: Copyright © 2022 Ground Zero Tech-Works Inc. REV-2022-09-28
copyright: Copyright © 2022 Ground Zero Tech-Works Inc. REV-2022-09-29
extra:
generator: false
# Extensions

View File

@@ -4,8 +4,8 @@
</PropertyGroup>
<PropertyGroup>
<GenerateFullPaths>true</GenerateFullPaths>
<Version>8.0.13</Version>
<FileVersion>8.0.13.0</FileVersion>
<Version>8.0.14</Version>
<FileVersion>8.0.14.0</FileVersion>
<ApplicationIcon>ayanova.ico</ApplicationIcon>
<DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
<noWarn>1591</noWarn>

View File

@@ -41,7 +41,7 @@ AuthorizationRoles.TechRestricted;
LEFT JOIN ACUSTOMER ON (ACUSTOMERSERVICEREQUEST.CUSTOMERID = ACUSTOMER.ID)
WHERE (ACUSTOMERSERVICEREQUEST.STATUS = 0) {custTagsWhere}
ORDER BY ACUSTOMERSERVICEREQUEST.DATEREQUESTED ASC
) t";
) t LIMIT {KPIFetcher.KPI_LIST_MAX_ITEMS_TO_RETURN}";
_metaQuery = string.Empty;
// @"SELECT row_to_json(t) as res from (
// select name from auser where id = 10

View File

@@ -20,6 +20,10 @@ namespace AyaNova.KPI
#endif
#endif
//case 4200
//### WARNING: IF CHANGE HERE **must** update CLIENT dash-base.js same named constant as it relies on it's own copy of this CONSTANT value to indicate if there are possibly more
internal const int KPI_LIST_MAX_ITEMS_TO_RETURN = 100;//Maximum number of items to return from a KPI dashboard query so as not to overwhelm the client with too much data
////////////////////////////////////////////////
// Get the kpi data requested
//

View File

@@ -78,7 +78,7 @@ namespace AyaNova.KPI
LEFT JOIN ACUSTOMER ON (AWORKORDER.CUSTOMERID = ACUSTOMER.ID)
WHERE {dateWhere} {statusWhere} {woTagsWhere} {woItemTagsWhere}
ORDER BY AWORKORDER.ID DESC
) t";
) t LIMIT {KPIFetcher.KPI_LIST_MAX_ITEMS_TO_RETURN}";
_metaQuery = string.Empty;
// @"SELECT row_to_json(t) as res from (
// select name from auser where id = 10

View File

@@ -48,7 +48,7 @@ namespace AyaNova.KPI
WHERE (LASTSTATUSID IS NULL OR AWORKORDERSTATUS.COMPLETED = FALSE) and aworkorder.completebydate < now()
{woTagsWhere} {woItemTagsWhere}
ORDER BY AWORKORDER.ID ASC
) t";
) t LIMIT {KPIFetcher.KPI_LIST_MAX_ITEMS_TO_RETURN}";
_metaQuery = string.Empty;
// @"SELECT row_to_json(t) as res from (
// select name from auser where id = 10

View File

@@ -43,7 +43,7 @@ namespace AyaNova.KPI
WHERE (LASTSTATUSID IS NULL OR AWORKORDERSTATUS.COMPLETED = FALSE) and aworkorder.completebydate < now()
AND AWORKORDERITEMSCHEDULEDUSER.userID = {userId} {woTagsWhere} {woItemTagsWhere}
ORDER BY AWORKORDER.ID ASC
) t";
) t LIMIT {KPIFetcher.KPI_LIST_MAX_ITEMS_TO_RETURN}";
_metaQuery = string.Empty;
// @"SELECT row_to_json(t) as res from (
// select name from auser where id = 10

View File

@@ -66,7 +66,7 @@ AuthorizationRoles.TechRestricted;
{woTagsWhere} {woItemTagsWhere}
{statusWhere}
ORDER BY AWORKORDER.ID ASC
) t";
) t LIMIT {KPIFetcher.KPI_LIST_MAX_ITEMS_TO_RETURN}";
_metaQuery = string.Empty;
// @"SELECT row_to_json(t) as res from (
// select name from auser where id = 10

View File

@@ -1573,7 +1573,7 @@ $BODY$ LANGUAGE PLPGSQL STABLE");
//////////////////////////////////////////////////
//
// 8.0.13 additions for job feedback
// 8.0.14 additions for job feedback
//
if (currentSchema < 8)
{

View File

@@ -5,7 +5,7 @@ namespace AyaNova.Util
/// </summary>
internal static class AyaNovaVersion
{
public const string VersionString = "8.0.13";
public const string VersionString = "8.0.14";
public const string FullNameAndVersion = "AyaNova server " + VersionString;
public const string CurrentApiVersion="v8";
}//eoc