@openmrs/esm-stock-management-app 3.1.1-pre.989 → 3.1.1-pre.991
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/5125.js +1 -1
- package/dist/5125.js.map +1 -1
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/dist/openmrs-esm-stock-management-app.js.buildmanifest.json +6 -6
- package/dist/routes.json +1 -1
- package/package.json +1 -1
- package/src/stock-home/stock-home-metrics.component.tsx +5 -5
- package/src/stock-home/useStockList.tsx +17 -1
- package/src/types/index.ts +10 -0
@@ -895,9 +895,9 @@
|
|
895
895
|
"initial": false,
|
896
896
|
"entry": false,
|
897
897
|
"recorded": false,
|
898
|
-
"size":
|
898
|
+
"size": 1194726,
|
899
899
|
"sizes": {
|
900
|
-
"javascript":
|
900
|
+
"javascript": 1194726
|
901
901
|
},
|
902
902
|
"names": [],
|
903
903
|
"idHints": [],
|
@@ -910,7 +910,7 @@
|
|
910
910
|
"auxiliaryFiles": [
|
911
911
|
"5125.js.map"
|
912
912
|
],
|
913
|
-
"hash": "
|
913
|
+
"hash": "c7ede212e13afcf6",
|
914
914
|
"childrenByOrder": {}
|
915
915
|
},
|
916
916
|
{
|
@@ -1539,10 +1539,10 @@
|
|
1539
1539
|
"initial": true,
|
1540
1540
|
"entry": true,
|
1541
1541
|
"recorded": false,
|
1542
|
-
"size":
|
1542
|
+
"size": 5543370,
|
1543
1543
|
"sizes": {
|
1544
1544
|
"consume-shared": 210,
|
1545
|
-
"javascript":
|
1545
|
+
"javascript": 5521135,
|
1546
1546
|
"share-init": 336,
|
1547
1547
|
"runtime": 21689
|
1548
1548
|
},
|
@@ -1559,7 +1559,7 @@
|
|
1559
1559
|
"auxiliaryFiles": [
|
1560
1560
|
"main.js.map"
|
1561
1561
|
],
|
1562
|
-
"hash": "
|
1562
|
+
"hash": "48c2a1c503274239",
|
1563
1563
|
"childrenByOrder": {}
|
1564
1564
|
},
|
1565
1565
|
{
|
package/dist/routes.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"fhir2":">=1.2","webservices.rest":"^2.24.0"},"extensions":[{"name":"stock-nav-menu","slot":"stock-sidebar-slot","component":"stockNavMenu","online":true,"offline":true},{"name":"overview-db-link","slot":"stock-page-dashboard-slot","component":"stockOverviewLink","meta":{"name":"overview","slot":"overview-dashboard-slot","title":"overview"},"order":0,"online":true,"offline":true},{"name":"stock-overview-db","slot":"overview-dashboard-slot","component":"stockOverview"},{"name":"operations-db-link","slot":"stock-page-dashboard-slot","component":"stockOperationsLink","meta":{"name":"operations","slot":"operations-dashboard-slot","title":"operations"},"order":2,"online":true,"offline":true},{"name":"stock-operations-db","slot":"operations-dashboard-slot","component":"stockOperations"},{"name":"items-db-link","slot":"stock-page-dashboard-slot","component":"stockItemsLink","meta":{"name":"items","slot":"items-dashboard-slot","title":"items"},"order":1,"online":true,"offline":true},{"name":"stock-items-db","slot":"items-dashboard-slot","component":"stockItems"},{"name":"user-scopes-db-link","slot":"stock-page-dashboard-slot","component":"stockUserScopesLink","meta":{"name":"user-scopes","slot":"user-scopes-dashboard-slot","title":"user-scopes"},"order":3,"online":true,"offline":true},{"name":"stock-user-scopes-db","slot":"user-scopes-dashboard-slot","component":"stockUserScopes"},{"name":"sources-db-link","slot":"stock-page-dashboard-slot","component":"stockSourcesLink","meta":{"name":"sources","slot":"sources-dashboard-slot","title":"Sources"},"order":2,"online":true,"offline":true},{"name":"stock-sources-db","slot":"sources-dashboard-slot","component":"stockSources"},{"name":"reports-db-link","slot":"stock-page-dashboard-slot","component":"stockReportsLink","meta":{"name":"reports","slot":"reports-dashboard-slot","title":"Reports"},"order":5,"online":true,"offline":true},{"name":"stock-reports-db","slot":"reports-dashboard-slot","component":"stockReports"},{"name":"settings-db-link","slot":"stock-page-dashboard-slot","component":"stockSettingsLink","meta":{"name":"settings","slot":"settings-dashboard-slot","title":"Settings"},"order":6,"online":true,"offline":true},{"name":"stock-settings-db","slot":"settings-dashboard-slot","component":"stockSettings"},{"name":"stock-management-admin-card-link","slot":"system-admin-page-card-link-slot","component":"stockManagementAdminCardLink"},{"name":"stock-management-app-menu-item","component":"stockManagementAppMenuItem","slot":"app-menu-item-slot","meta":{"name":" Stock Management"}},{"name":"delete-packaging-unit-button","component":"deletePackagingUnitButton"}],"modals":[{"name":"delete-stock-modal","component":"deleteStockModal"},{"name":"delete-stock-user-scope-modal","component":"deleteUserScopeModal"},{"name":"delete-stock-rule-modal","component":"deleteStockRuleModal"},{"name":"delete-packaging-unit-modal","component":"deletePackagingUnitModal"},{"name":"expired-stock-modal","component":"expiredStockModal"},{"name":"import-bulk-stock-items","component":"importBulkStockItemsModal"},{"name":"receiving-stock-modal","component":"receivingStockModal"},{"name":"stock-operations-modal","component":"stockOperationsModal"},{"name":"transactions-print-bincard-preview-modal","component":"transactionBincardPrintPreviewModal"},{"name":"transactions-print-stockcard-preview-modal","component":"transactionStockcardPrintPreviewModal"}],"workspaces":[{"name":"stock-operation-form-workspace","component":"stockOperationFormWorkspace","title":"Stock Operation","type":"form","canMaximize":true,"width":"extra-wide"},{"name":"stock-item-rules-form-workspace","component":"stockItemRulesFormWorkspace","title":"Stock Item Rules","type":"form"},{"name":"stock-item-form-workspace","component":"stockItemFormWorkspace","title":"Stock Items","type":"form","canMaximize":true,"width":"extra-wide"},{"name":"stock-sources-form-workspace","component":"stockSourcesFormWorkspace","title":"Stock Sources","type":"form","canMaximize":true,"width":"extra-wide"},{"name":"stock-location-form-workspace","component":"stockLocationsFormWorkspace","title":"Stock Locations","type":"form","canMaximize":true,"width":"extra-wide"},{"name":"stock-user-role-scopes-form-workspace","component":"stockUserScopesFormWorkspace","title":"User Role Scopes","type":"form","canMaximize":true,"width":"extra-wide"},{"name":"stock-reports-form-workspace","component":"stockReportsFormWorkspace","title":"Reports","type":"form","canMaximize":true,"width":"extra-wide"}],"pages":[{"component":"root","route":"stock-management"}],"version":"3.1.1-pre.
|
1
|
+
{"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"fhir2":">=1.2","webservices.rest":"^2.24.0"},"extensions":[{"name":"stock-nav-menu","slot":"stock-sidebar-slot","component":"stockNavMenu","online":true,"offline":true},{"name":"overview-db-link","slot":"stock-page-dashboard-slot","component":"stockOverviewLink","meta":{"name":"overview","slot":"overview-dashboard-slot","title":"overview"},"order":0,"online":true,"offline":true},{"name":"stock-overview-db","slot":"overview-dashboard-slot","component":"stockOverview"},{"name":"operations-db-link","slot":"stock-page-dashboard-slot","component":"stockOperationsLink","meta":{"name":"operations","slot":"operations-dashboard-slot","title":"operations"},"order":2,"online":true,"offline":true},{"name":"stock-operations-db","slot":"operations-dashboard-slot","component":"stockOperations"},{"name":"items-db-link","slot":"stock-page-dashboard-slot","component":"stockItemsLink","meta":{"name":"items","slot":"items-dashboard-slot","title":"items"},"order":1,"online":true,"offline":true},{"name":"stock-items-db","slot":"items-dashboard-slot","component":"stockItems"},{"name":"user-scopes-db-link","slot":"stock-page-dashboard-slot","component":"stockUserScopesLink","meta":{"name":"user-scopes","slot":"user-scopes-dashboard-slot","title":"user-scopes"},"order":3,"online":true,"offline":true},{"name":"stock-user-scopes-db","slot":"user-scopes-dashboard-slot","component":"stockUserScopes"},{"name":"sources-db-link","slot":"stock-page-dashboard-slot","component":"stockSourcesLink","meta":{"name":"sources","slot":"sources-dashboard-slot","title":"Sources"},"order":2,"online":true,"offline":true},{"name":"stock-sources-db","slot":"sources-dashboard-slot","component":"stockSources"},{"name":"reports-db-link","slot":"stock-page-dashboard-slot","component":"stockReportsLink","meta":{"name":"reports","slot":"reports-dashboard-slot","title":"Reports"},"order":5,"online":true,"offline":true},{"name":"stock-reports-db","slot":"reports-dashboard-slot","component":"stockReports"},{"name":"settings-db-link","slot":"stock-page-dashboard-slot","component":"stockSettingsLink","meta":{"name":"settings","slot":"settings-dashboard-slot","title":"Settings"},"order":6,"online":true,"offline":true},{"name":"stock-settings-db","slot":"settings-dashboard-slot","component":"stockSettings"},{"name":"stock-management-admin-card-link","slot":"system-admin-page-card-link-slot","component":"stockManagementAdminCardLink"},{"name":"stock-management-app-menu-item","component":"stockManagementAppMenuItem","slot":"app-menu-item-slot","meta":{"name":" Stock Management"}},{"name":"delete-packaging-unit-button","component":"deletePackagingUnitButton"}],"modals":[{"name":"delete-stock-modal","component":"deleteStockModal"},{"name":"delete-stock-user-scope-modal","component":"deleteUserScopeModal"},{"name":"delete-stock-rule-modal","component":"deleteStockRuleModal"},{"name":"delete-packaging-unit-modal","component":"deletePackagingUnitModal"},{"name":"expired-stock-modal","component":"expiredStockModal"},{"name":"import-bulk-stock-items","component":"importBulkStockItemsModal"},{"name":"receiving-stock-modal","component":"receivingStockModal"},{"name":"stock-operations-modal","component":"stockOperationsModal"},{"name":"transactions-print-bincard-preview-modal","component":"transactionBincardPrintPreviewModal"},{"name":"transactions-print-stockcard-preview-modal","component":"transactionStockcardPrintPreviewModal"}],"workspaces":[{"name":"stock-operation-form-workspace","component":"stockOperationFormWorkspace","title":"Stock Operation","type":"form","canMaximize":true,"width":"extra-wide"},{"name":"stock-item-rules-form-workspace","component":"stockItemRulesFormWorkspace","title":"Stock Item Rules","type":"form"},{"name":"stock-item-form-workspace","component":"stockItemFormWorkspace","title":"Stock Items","type":"form","canMaximize":true,"width":"extra-wide"},{"name":"stock-sources-form-workspace","component":"stockSourcesFormWorkspace","title":"Stock Sources","type":"form","canMaximize":true,"width":"extra-wide"},{"name":"stock-location-form-workspace","component":"stockLocationsFormWorkspace","title":"Stock Locations","type":"form","canMaximize":true,"width":"extra-wide"},{"name":"stock-user-role-scopes-form-workspace","component":"stockUserScopesFormWorkspace","title":"User Role Scopes","type":"form","canMaximize":true,"width":"extra-wide"},{"name":"stock-reports-form-workspace","component":"stockReportsFormWorkspace","title":"Reports","type":"form","canMaximize":true,"width":"extra-wide"}],"pages":[{"component":"root","route":"stock-management"}],"version":"3.1.1-pre.991"}
|
package/package.json
CHANGED
@@ -6,15 +6,15 @@ import { useDisposalList } from './useDisposalList';
|
|
6
6
|
import { useStockInventory } from './stock-home-inventory-expiry.resource';
|
7
7
|
import { useStockInventoryItems } from './stock-home-inventory-items.resource';
|
8
8
|
import { type StockOperationFilter } from '../stock-operations/stock-operations.resource';
|
9
|
-
import useStockList from './useStockList';
|
9
|
+
import useStockList, { useOutOfStockList } from './useStockList';
|
10
10
|
import MetricsCard from '../core/components/card/metrics-card-component';
|
11
11
|
import styles from './stock-home.scss';
|
12
12
|
|
13
13
|
const StockManagementMetrics: React.FC = (filter: StockOperationFilter) => {
|
14
14
|
const { t } = useTranslation();
|
15
|
-
const { stockList: allStocks, error } = useStockList();
|
16
15
|
const { items: expiryItems } = useStockInventory();
|
17
16
|
const { items: stockItems } = useStockInventoryItems();
|
17
|
+
const { totalOutOfStock, error: outOfStockError } = useOutOfStockList();
|
18
18
|
|
19
19
|
const currentDate = new Date();
|
20
20
|
|
@@ -39,8 +39,8 @@ const StockManagementMetrics: React.FC = (filter: StockOperationFilter) => {
|
|
39
39
|
totalCount: true,
|
40
40
|
});
|
41
41
|
|
42
|
-
if (
|
43
|
-
return <ErrorState headerTitle={t('errorStockMetric', 'Error fetching stock metrics')} error={
|
42
|
+
if (outOfStockError) {
|
43
|
+
return <ErrorState headerTitle={t('errorStockMetric', 'Error fetching stock metrics')} error={outOfStockError} />;
|
44
44
|
}
|
45
45
|
|
46
46
|
const filteredItems =
|
@@ -64,7 +64,7 @@ const StockManagementMetrics: React.FC = (filter: StockOperationFilter) => {
|
|
64
64
|
itemsBelowMin: [],
|
65
65
|
itemsAboveMax: [],
|
66
66
|
}}
|
67
|
-
value={
|
67
|
+
value={totalOutOfStock}
|
68
68
|
/>
|
69
69
|
<MetricsCard
|
70
70
|
disposedCount={{
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import useSWR from 'swr';
|
2
|
-
import { openmrsFetch, restBaseUrl } from '@openmrs/esm-framework';
|
2
|
+
import { type FetchResponse, openmrsFetch, restBaseUrl } from '@openmrs/esm-framework';
|
3
|
+
import { type OutofStockListResponse } from '../types';
|
3
4
|
|
4
5
|
interface StockList {
|
5
6
|
uuid: string;
|
@@ -31,3 +32,18 @@ const useStockList = () => {
|
|
31
32
|
};
|
32
33
|
|
33
34
|
export default useStockList;
|
35
|
+
|
36
|
+
export const useOutOfStockList = () => {
|
37
|
+
const url = `${restBaseUrl}/stockmanagement/metrics/outofstockitemstotal`;
|
38
|
+
const { data, error, isLoading, mutate } = useSWR<FetchResponse<OutofStockListResponse>>(url, openmrsFetch);
|
39
|
+
|
40
|
+
const totalOutOfStock = data?.data.results?.reduce((total, item) => total + item.outOfStock, 0) ?? 0;
|
41
|
+
|
42
|
+
return {
|
43
|
+
outOfStockItemsList: data?.data.results ?? [],
|
44
|
+
totalOutOfStock,
|
45
|
+
isLoading,
|
46
|
+
error,
|
47
|
+
mutate,
|
48
|
+
};
|
49
|
+
};
|
package/src/types/index.ts
CHANGED
@@ -3,3 +3,13 @@ export interface DashboardConfig {
|
|
3
3
|
slot: string;
|
4
4
|
title: string;
|
5
5
|
}
|
6
|
+
|
7
|
+
export interface OutofStockListResponse {
|
8
|
+
results: Array<{
|
9
|
+
partyUuid: string;
|
10
|
+
locationUuid: string;
|
11
|
+
partyId: number;
|
12
|
+
partyName: string;
|
13
|
+
outOfStock: number;
|
14
|
+
}>;
|
15
|
+
}
|