@machinemetrics/mm-erp-sdk 0.9.4-beta.1 → 0.9.5
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/README.md +54 -43
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/services/mm-api-service/index.d.ts +2 -2
- package/dist/services/mm-api-service/index.d.ts.map +1 -1
- package/dist/services/mm-api-service/index.js.map +1 -1
- package/dist/services/mm-api-service/mes-machine-settings.d.ts +46 -0
- package/dist/services/mm-api-service/mes-machine-settings.d.ts.map +1 -0
- package/dist/services/mm-api-service/mes-machine-settings.js +124 -0
- package/dist/services/mm-api-service/mes-machine-settings.js.map +1 -0
- package/dist/services/mm-api-service/mm-api-service.d.ts +21 -12
- package/dist/services/mm-api-service/mm-api-service.d.ts.map +1 -1
- package/dist/services/mm-api-service/mm-api-service.js +32 -48
- package/dist/services/mm-api-service/mm-api-service.js.map +1 -1
- package/dist/services/mm-api-service/types/mm-response-interfaces.d.ts +4 -16
- package/dist/services/mm-api-service/types/mm-response-interfaces.d.ts.map +1 -1
- package/dist/services/mm-api-service/types/mm-response-interfaces.js.map +1 -1
- package/dist/services/mm-api-service/types/receive-types.d.ts +1 -1
- package/dist/services/mm-api-service/types/receive-types.d.ts.map +1 -1
- package/dist/services/mm-api-service/types/receive-types.js +1 -1
- package/dist/services/mm-api-service/types/receive-types.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/labor-import-from-erp.d.ts +6 -7
- package/dist/utils/labor-import-from-erp.d.ts.map +1 -1
- package/dist/utils/labor-import-from-erp.js +24 -50
- package/dist/utils/labor-import-from-erp.js.map +1 -1
- package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.d.ts.map +1 -1
- package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.js +2 -10
- package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.js.map +1 -1
- package/dist/utils/standard-process-drivers/standard-process-drivers.d.ts +14 -14
- package/dist/utils/standard-process-drivers/standard-process-drivers.d.ts.map +1 -1
- package/dist/utils/standard-process-drivers/standard-process-drivers.js +73 -73
- package/dist/utils/standard-process-drivers/standard-process-drivers.js.map +1 -1
- package/dist/utils/standard-process-drivers/timesheet-erp-synchronizer.d.ts.map +1 -1
- package/dist/utils/standard-process-drivers/timesheet-erp-synchronizer.js +55 -50
- package/dist/utils/standard-process-drivers/timesheet-erp-synchronizer.js.map +1 -1
- package/package.json +4 -1
- package/src/index.ts +3 -1
- package/src/services/mm-api-service/index.ts +0 -2
- package/src/services/mm-api-service/mes-machine-settings.test.ts +174 -0
- package/src/services/mm-api-service/mes-machine-settings.ts +169 -0
- package/src/services/mm-api-service/mm-api-service.ts +41 -61
- package/src/services/mm-api-service/types/mm-response-interfaces.ts +4 -17
- package/src/services/mm-api-service/types/receive-types.ts +1 -1
- package/src/utils/index.ts +4 -0
- package/src/utils/labor-import-from-erp.ts +25 -59
- package/src/utils/standard-process-drivers/labor-ticket-erp-synchronizer.ts +2 -10
- package/src/utils/standard-process-drivers/standard-process-drivers.ts +75 -75
- package/src/utils/standard-process-drivers/timesheet-erp-synchronizer.ts +67 -63
- package/dist/utils/resource-group.d.ts +0 -11
- package/dist/utils/resource-group.d.ts.map +0 -1
- package/dist/utils/resource-group.js +0 -71
- package/dist/utils/resource-group.js.map +0 -1
- package/src/utils/resource-group.ts +0 -105
package/README.md
CHANGED
|
@@ -22,6 +22,8 @@ npm install mm-erp-sdk
|
|
|
22
22
|
### 2. Implement an ERP Connector
|
|
23
23
|
|
|
24
24
|
```typescript
|
|
25
|
+
import path from "path";
|
|
26
|
+
import { fileURLToPath } from "url";
|
|
25
27
|
import {
|
|
26
28
|
IERPConnector,
|
|
27
29
|
IERPLaborTicketHandler,
|
|
@@ -41,7 +43,13 @@ export default class MyERPConnector
|
|
|
41
43
|
async startUp(): Promise<void> {
|
|
42
44
|
try {
|
|
43
45
|
await ApplicationInitializer.initialize();
|
|
44
|
-
|
|
46
|
+
// Bree workers re-import the built connector module from disk each cycle,
|
|
47
|
+
// so runDataSyncService needs the path to this connector's compiled JS.
|
|
48
|
+
const connectorPath = path.resolve(
|
|
49
|
+
path.dirname(fileURLToPath(import.meta.url)),
|
|
50
|
+
"my-erp-connector.js"
|
|
51
|
+
);
|
|
52
|
+
await runDataSyncService(connectorPath);
|
|
45
53
|
} catch (error) {
|
|
46
54
|
console.error("Startup failed:", error);
|
|
47
55
|
process.exitCode = 1;
|
|
@@ -81,12 +89,14 @@ const connector = new MyERPConnector();
|
|
|
81
89
|
await connector.startUp();
|
|
82
90
|
```
|
|
83
91
|
|
|
92
|
+
> `runDataSyncService(connectorPath)` requires a path to the connector's **compiled JS** module (not the `.ts` source). See the template `CONNECTOR-GUIDE.md` for the build/runtime path resolution details.
|
|
93
|
+
|
|
84
94
|
## Data Sync Jobs
|
|
85
95
|
|
|
86
96
|
The SDK includes automated jobs that run on configurable intervals:
|
|
87
97
|
|
|
88
98
|
- **from-erp**: Syncs data from ERP to MachineMetrics
|
|
89
|
-
- **to-erp**: Syncs labor tickets from MachineMetrics to ERP
|
|
99
|
+
- **to-erp**: Syncs labor tickets and employee timesheets from MachineMetrics to ERP
|
|
90
100
|
- **retry-failed-labor-tickets**: Retries failed labor ticket operations
|
|
91
101
|
- **clean-up-expired-cache**: Maintains cache hygiene
|
|
92
102
|
|
|
@@ -99,44 +109,44 @@ RETRY_LABOR_TICKETS_INTERVAL="10m"
|
|
|
99
109
|
CACHE_EXPIRATION_CHECK_INTERVAL="1h"
|
|
100
110
|
```
|
|
101
111
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
The SDK automatically prevents circular writes when implementing bidirectional labor ticket synchronization:
|
|
105
|
-
|
|
106
|
-
### Automatic Deduplication
|
|
107
|
-
|
|
108
|
-
When you write labor tickets to MachineMetrics using `MMApiClient.sendLaborTicketsToMM()`, the SDK **automatically marks them in a deduplication cache**. This prevents the `to-erp` job from processing them again and creating circular writes back to the ERP.
|
|
112
|
+
### Execution model
|
|
109
113
|
|
|
110
|
-
|
|
111
|
-
// In your from-erp job - just write normally
|
|
112
|
-
const mmApiClient = new MMApiClient();
|
|
113
|
-
await mmApiClient.sendLaborTicketsToMM(laborTickets);
|
|
114
|
-
// ↑ SDK automatically marks these in dedup cache
|
|
115
|
-
```
|
|
114
|
+
Jobs are scheduled with **Bree**. Each job cycle runs as an **independent worker process** that constructs a **fresh connector instance** — so in-memory state does **not** persist across cycles, and cycles are not guaranteed to run serially (labor tickets may be processed concurrently within a cycle). Persist durable state in the SDK's SQLite stores or MM checkpoints, not in instance/module memory. See `CONNECTOR_SDK_UTILITIES.md` (`runDataSyncService`) for the full contract.
|
|
116
115
|
|
|
117
|
-
|
|
116
|
+
## Labor Ticket Synchronization
|
|
118
117
|
|
|
119
|
-
|
|
120
|
-
2. **Auto-marking**: SDK marks the business signature in dedup cache (24h TTL)
|
|
121
|
-
3. **to-erp job runs**: Fetches updated tickets from MM
|
|
122
|
-
4. **Dedup check**: Checks cache by business signature
|
|
123
|
-
- **Cache hit**: Skips (no circular write)
|
|
124
|
-
- **Cache miss**: Processes normally (user edited the ticket)
|
|
118
|
+
The SDK provides bidirectional labor ticket synchronization with built-in protection against circular writes (ERP → MM → ERP):
|
|
125
119
|
|
|
126
|
-
|
|
120
|
+
- **Labor sync ledger** (SQLite-backed): records a per-ticket business signature so the `to-erp` export skips tickets whose business-relevant content is unchanged since they were last processed. Tickets imported from the ERP before MM assigns a `laborTicketRef` are tracked under a stable `erp-import:{workOrderId}:{laborTicketId}` key.
|
|
121
|
+
- **ERP → MM import filtering**: `StandardProcessDrivers.writeLaborTicketsToMmFromErpImport()` applies MES/operator allowlists and FK rules, pre-marks accepted tickets in the ledger, writes them to MM, and advances the labor-tickets export checkpoint.
|
|
122
|
+
- **Hashed batch cache**: `BatchCacheManager` / `StandardProcessDrivers.writeEntitiesToMM()` deduplicate repeated upserts within a batch (local + API-side).
|
|
123
|
+
- **Signature semantics**: the business signature excludes identity fields (`laborTicketRef`, ERP-import keys) and SDK-mutated fields, so the same business state produces a stable hash across import and the next export. A dashboard edit changes the signature, so the change is exported.
|
|
127
124
|
|
|
128
|
-
|
|
125
|
+
See `CONNECTOR_SDK_UTILITIES.md` for the helper APIs, and the template `CONNECTOR-GUIDE.md` for the connector workflow.
|
|
129
126
|
|
|
130
127
|
### Persistent Storage
|
|
131
128
|
|
|
132
|
-
For production deployments,
|
|
129
|
+
For production deployments, mount a persistent volume for the SQLite database so the sync ledger and dedup cache survive container restarts:
|
|
133
130
|
|
|
134
131
|
```bash
|
|
135
|
-
# Set environment variable
|
|
136
132
|
SQLITE_DB_PATH=/app/data/local.sqlite3
|
|
137
133
|
```
|
|
138
134
|
|
|
139
|
-
|
|
135
|
+
## Timesheet Export
|
|
136
|
+
|
|
137
|
+
The SDK provides employee clock in/out export from MM to the ERP, separate from shop-floor labor tickets:
|
|
138
|
+
|
|
139
|
+
- `IERPTimesheetHandler` — connector-implemented hook that receives `MMReceiveTimesheet` rows.
|
|
140
|
+
- `StandardProcessDrivers.syncTimesheetsToERP()` — fetches pending rows from `/erp/v1/timesheets/updates`, processes them in `timesheetRef` order, and checkpoints progress. It assumes labor ticket export has already run for the cycle, so shop-floor labor is written/closed before clock-out.
|
|
141
|
+
|
|
142
|
+
## ERP Resource Mapping (MES Machine Settings)
|
|
143
|
+
|
|
144
|
+
Machine-to-ERP-resource mapping is sourced from **MES machine settings** (`GET /mes/settings/machine-settings`):
|
|
145
|
+
|
|
146
|
+
- `MMApiClient.fetchMappedErpResourcesForCompany()` — machines mapped to ERP labor resources (`machineRef` + `laborResourceId`).
|
|
147
|
+
- `MMApiClient.fetchMesSchedulableErpResourceIds()` / `getMesLaborImportResourceIds()` — schedulable and labor-import resource-id allowlists.
|
|
148
|
+
|
|
149
|
+
> **Deprecation:** `erpResources.machineRef` is deprecated and is no longer populated for new configuration in the MM App. Use MES machine settings instead. See `CONNECTOR_SDK_UTILITIES.md`.
|
|
140
150
|
|
|
141
151
|
## Environment Configuration
|
|
142
152
|
|
|
@@ -168,35 +178,36 @@ LOG_LEVEL="info"
|
|
|
168
178
|
|
|
169
179
|
### Core Interfaces
|
|
170
180
|
|
|
171
|
-
- `IERPConnector`: Main connector interface
|
|
172
|
-
- `IERPLaborTicketHandler`:
|
|
181
|
+
- `IERPConnector`: Main connector interface (`syncFromERP`, `syncToERP`, lifecycle hooks)
|
|
182
|
+
- `IERPLaborTicketHandler`: Create/update labor tickets in the ERP (`MMReceiveLaborTicket`)
|
|
183
|
+
- `IERPTimesheetHandler`: Process employee clock in/out rows in the ERP (`MMReceiveTimesheet`)
|
|
173
184
|
|
|
174
185
|
### Utilities
|
|
175
186
|
|
|
176
187
|
- `ApplicationInitializer`: SDK initialization
|
|
177
188
|
- `runDataSyncService`: Start automated sync jobs
|
|
178
|
-
- `StandardProcessDrivers`: Common sync operations
|
|
189
|
+
- `StandardProcessDrivers`: Common sync operations, including:
|
|
190
|
+
- `syncLaborTicketsToERP(connectorType, handler, { onlyClosed? })`
|
|
191
|
+
- `syncTimesheetsToERP(connectorType, handler)`
|
|
192
|
+
- `retryFailedLaborTickets(connectorType, handler)`
|
|
193
|
+
- `writeLaborTicketsToMmFromErpImport(tickets, filterOptions, cache?, writeOptions?)`
|
|
194
|
+
- `writeEntitiesToMM(entityType, records, cache?, options?)`
|
|
179
195
|
|
|
180
196
|
### Services
|
|
181
197
|
|
|
182
198
|
- `SqlServerService`: SQL Server integration
|
|
183
199
|
- `RestAPIService`: HTTP API client
|
|
184
|
-
- `MMApiClient`: MachineMetrics API client
|
|
200
|
+
- `MMApiClient`: MachineMetrics API client (includes `fetchMappedErpResourcesForCompany`, `fetchMesSchedulableErpResourceIds`, `fetchTimesheetUpdates`)
|
|
185
201
|
|
|
186
|
-
For
|
|
202
|
+
For SDK helper, type, and entity-key detail, see `CONNECTOR_SDK_UTILITIES.md` and `MM_ENTITY_KEYS_REFERENCE.md`. For the connector implementation workflow, see the template `CONNECTOR-GUIDE.md`.
|
|
187
203
|
|
|
188
|
-
## Labor ticket updates:
|
|
204
|
+
## Labor ticket updates: the `onlyClosed` option
|
|
189
205
|
|
|
190
|
-
|
|
206
|
+
`syncLaborTicketsToERP` accepts an optional `onlyClosed` flag:
|
|
191
207
|
|
|
192
|
-
|
|
193
|
-
|
|
208
|
+
- `onlyClosed: true` — the SDK requests only closed labor tickets, forwarding `onlyClosed=true` to `/erp/v1/labor-tickets/export/updates`.
|
|
209
|
+
- omitted (default) — all labor tickets are processed.
|
|
194
210
|
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
});
|
|
211
|
+
```typescript
|
|
212
|
+
StandardProcessDrivers.syncLaborTicketsToERP(connectorType, handler, { onlyClosed?: boolean });
|
|
198
213
|
```
|
|
199
|
-
|
|
200
|
-
This forwards `onlyClosed=true` to:
|
|
201
|
-
|
|
202
|
-
- `/erp/v1/labor-tickets/export/updates`
|
package/dist/index.d.ts
CHANGED
|
@@ -30,7 +30,7 @@ export type { IERPLaborTicketHandler } from "./types/erp-connector.js";
|
|
|
30
30
|
export { StandardProcessDrivers, getCachedCompanyInfo, getCachedCompanyId, getCachedCompanyLocationRef, getCachedTimezoneOffset, getCachedTimezoneName, } from "./utils/index.js";
|
|
31
31
|
export type { WriteEntitiesToMMResult } from "./utils/index.js";
|
|
32
32
|
export { MMBatchValidationError } from "./utils/index.js";
|
|
33
|
-
export { getMesLaborImportResourceIds, getMappedOperatorErpIdsForImport, normalizeLaborTicketWorkOrderOpKey, buildSyncedWorkOrderOperationKeySet, resolveSyncedWorkOrderOperationKeysForLaborImport, filterLaborTicketsForMmImport, } from "./utils/
|
|
33
|
+
export { getMesLaborImportResourceIds, getMappedOperatorErpIdsForImport, normalizeLaborTicketWorkOrderOpKey, buildSyncedWorkOrderOperationKeySet, resolveSyncedWorkOrderOperationKeysForLaborImport, filterLaborTicketsForMmImport, collectMesSchedulableErpResourceIds, fetchMesSchedulableErpResourceIds, } from "./utils/index.js";
|
|
34
34
|
export type { MesMachineSettingRow, SyncedWorkOrderOperationRow, FilterLaborTicketsForMmImportOptions, FilterLaborTicketsForMmImportResult, } from "./utils/labor-import-from-erp.js";
|
|
35
35
|
export type { APIResponse } from "./services/erp-api-services/types.js";
|
|
36
36
|
export { RestAPIService } from "./services/erp-api-services/rest/rest-api-service.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EACV,aAAa,EACb,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAElF,YAAY,EACV,qBAAqB,EACrB,yBAAyB,EACzB,4BAA4B,EAC5B,qCAAqC,EACrC,wBAAwB,EACxB,iCAAiC,GAClC,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,uDAAuD,CAAC;AAC/F,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAClG,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAC7F,YAAY,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAGzE,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,YAAY,EACV,0BAA0B,EAC1B,sCAAsC,EACtC,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EACL,YAAY,EACZ,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,wBAAwB,EACxB,uCAAuC,EACvC,YAAY,EACZ,iBAAiB,GAClB,MAAM,oCAAoC,CAAC;AAE5C,YAAY,EACV,oBAAoB,EACpB,4CAA4C,EAC5C,+BAA+B,GAChC,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,wBAAwB,EACxB,gBAAgB,EAChB,cAAc,EACd,6BAA6B,EAC7B,0BAA0B,EAC1B,sBAAsB,EACtB,eAAe,EACf,4BAA4B,EAC5B,8BAA8B,EAC9B,eAAe,EACf,kBAAkB,EAClB,4BAA4B,EAC5B,4BAA4B,EAC5B,cAAc,EACd,YAAY,EACZ,WAAW,EACX,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAGlF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,YAAY,EACV,YAAY,EACZ,UAAU,EACV,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAG5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAG3E,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAG/D,YAAY,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGvE,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,2BAA2B,EAC3B,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EACL,4BAA4B,EAC5B,gCAAgC,EAChC,kCAAkC,EAClC,mCAAmC,EACnC,iDAAiD,EACjD,6BAA6B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -29,7 +29,7 @@ export { logger } from "./services/reporting-service/index.js";
|
|
|
29
29
|
// Process drivers and utilities
|
|
30
30
|
export { StandardProcessDrivers, getCachedCompanyInfo, getCachedCompanyId, getCachedCompanyLocationRef, getCachedTimezoneOffset, getCachedTimezoneName, } from "./utils/index.js";
|
|
31
31
|
export { MMBatchValidationError } from "./utils/index.js";
|
|
32
|
-
export { getMesLaborImportResourceIds, getMappedOperatorErpIdsForImport, normalizeLaborTicketWorkOrderOpKey, buildSyncedWorkOrderOperationKeySet, resolveSyncedWorkOrderOperationKeysForLaborImport, filterLaborTicketsForMmImport, } from "./utils/
|
|
32
|
+
export { getMesLaborImportResourceIds, getMappedOperatorErpIdsForImport, normalizeLaborTicketWorkOrderOpKey, buildSyncedWorkOrderOperationKeySet, resolveSyncedWorkOrderOperationKeysForLaborImport, filterLaborTicketsForMmImport, collectMesSchedulableErpResourceIds, fetchMesSchedulableErpResourceIds, } from "./utils/index.js";
|
|
33
33
|
export { RestAPIService } from "./services/erp-api-services/rest/rest-api-service.js";
|
|
34
34
|
export { ErrorHandler, GraphQLError } from "./services/erp-api-services/errors.js";
|
|
35
35
|
export { OAuthClient } from "./services/erp-api-services/oauth-client.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAYlD,2BAA2B;AAC3B,OAAO,EAAE,sBAAsB,EAAE,MAAM,uDAAuD,CAAC;AAC/F,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAClG,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAG7F,0BAA0B;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAUxE,OAAO,EACL,YAAY,EACZ,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,wBAAwB,EACxB,uCAAuC,EACvC,YAAY,EACZ,iBAAiB,GAClB,MAAM,oCAAoC,CAAC;AAQ5C,iDAAiD;AACjD,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,wBAAwB,EACxB,gBAAgB,EAChB,cAAc,EACd,6BAA6B,EAC7B,0BAA0B,EAC1B,sBAAsB,EACtB,eAAe,EACf,4BAA4B,EAC5B,8BAA8B,EAC9B,eAAe,EACf,kBAAkB,EAClB,4BAA4B,EAC5B,4BAA4B,EAC5B,cAAc,EACd,YAAY,EACZ,WAAW,EACX,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAG1B,mBAAmB;AACnB,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAElF,4DAA4D;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAOnD,uCAAuC;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAE5E,oBAAoB;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAE3E,kBAAkB;AAClB,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAK/D,gCAAgC;AAChC,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,2BAA2B,EAC3B,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EACL,4BAA4B,EAC5B,gCAAgC,EAChC,kCAAkC,EAClC,mCAAmC,EACnC,iDAAiD,EACjD,6BAA6B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { MMApiClient } from "./mm-api-service.js";
|
|
2
2
|
import type { MMReceiveLaborTicketReason, MMReceiveLaborTicketWorkOrderOperation } from "./types/receive-types.js";
|
|
3
3
|
import { MMSendPerson, MMSendResource, MMSendPart, MMSendPartOperation, MMSendWorkOrder, MMSendWorkOrderOperation, MMSendWorkOrderOperationLaborTicketSync, MMSendReason, MMSendLaborTicket, MMSendWorkOrderBatch } from "./types/send-types.js";
|
|
4
|
-
import type { MMAggregatedPartCountBucket, MMApiBaseResponse, MM200NonLaborTicketResponse, MM200LaborTicketResponse, MM207NonLaborTicketResponse, MM207LaborTicketResponse, MM500NonLaborTicketException, MM500LaborTicketException,
|
|
4
|
+
import type { MMAggregatedPartCountBucket, MMApiBaseResponse, MM200NonLaborTicketResponse, MM200LaborTicketResponse, MM207NonLaborTicketResponse, MM207LaborTicketResponse, MM500NonLaborTicketException, MM500LaborTicketException, MMGraphQLWorkOrderResponse, MMMachineGroupsResponse, MMMappedErpResourceRow } from "./types/mm-response-interfaces.js";
|
|
5
5
|
import { ensureCompanyInfo, getCachedCompanyId, getCachedCompanyInfo, getCachedCompanyLocationRef, getCachedCompanyTimezoneName, getCachedCompanyTimezoneOffsetHours, getCachedTimezoneName, getCachedTimezoneOffset, getCompanyInfo } from "./company-info.js";
|
|
6
6
|
import type { CompanyInfo, EnsureCompanyInfoParams } from "./company-info.js";
|
|
7
7
|
/**
|
|
@@ -12,7 +12,7 @@ export { MMApiClient };
|
|
|
12
12
|
* Response interfaces for MM API calls
|
|
13
13
|
* These provide type safety for the various response shapes based on HTTP status codes and entity types
|
|
14
14
|
*/
|
|
15
|
-
export type { MMAggregatedPartCountBucket, MMApiBaseResponse, MM200NonLaborTicketResponse, MM200LaborTicketResponse, MM207NonLaborTicketResponse, MM207LaborTicketResponse, MM500NonLaborTicketException, MM500LaborTicketException,
|
|
15
|
+
export type { MMAggregatedPartCountBucket, MMApiBaseResponse, MM200NonLaborTicketResponse, MM200LaborTicketResponse, MM207NonLaborTicketResponse, MM207LaborTicketResponse, MM500NonLaborTicketException, MM500LaborTicketException, MMGraphQLWorkOrderResponse, MMMachineGroupsResponse, MMMappedErpResourceRow, };
|
|
16
16
|
/**
|
|
17
17
|
* Types related to entities received from the MM API
|
|
18
18
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/mm-api-service/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EACV,0BAA0B,EAC1B,sCAAsC,EACvC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,YAAY,EACZ,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,wBAAwB,EACxB,uCAAuC,EACvC,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,2BAA2B,EAC3B,iBAAiB,EACjB,2BAA2B,EAC3B,wBAAwB,EACxB,2BAA2B,EAC3B,wBAAwB,EACxB,4BAA4B,EAC5B,yBAAyB,EACzB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/mm-api-service/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EACV,0BAA0B,EAC1B,sCAAsC,EACvC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,YAAY,EACZ,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,wBAAwB,EACxB,uCAAuC,EACvC,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,2BAA2B,EAC3B,iBAAiB,EACjB,2BAA2B,EAC3B,wBAAwB,EACxB,2BAA2B,EAC3B,wBAAwB,EACxB,4BAA4B,EAC5B,yBAAyB,EACzB,0BAA0B,EAC1B,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,2BAA2B,EAC3B,4BAA4B,EAC5B,mCAAmC,EACnC,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,WAAW,EACX,uBAAuB,EACxB,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB;;;GAGG;AACH,YAAY,EACV,2BAA2B,EAC3B,iBAAiB,EACjB,2BAA2B,EAC3B,wBAAwB,EACxB,2BAA2B,EAC3B,wBAAwB,EACxB,4BAA4B,EAC5B,yBAAyB,EACzB,0BAA0B,EAC1B,uBAAuB,EACvB,sBAAsB,GACvB,CAAC;AAEF;;GAEG;AACH,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,0BAA0B,EAC1B,sCAAsC,GACvC,CAAC;AAEF;;GAEG;AACH,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,4CAA4C,EAC5C,+BAA+B,GAChC,MAAM,uBAAuB,CAAC;AAE/B;;GAEG;AACH,OAAO,EACL,YAAY,EACZ,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,wBAAwB,EACxB,uCAAuC,EACvC,YAAY,EACZ,iBAAiB,GAClB,CAAC;AAEF;;GAEG;AACH,YAAY,EAAE,oBAAoB,EAAE,CAAC;AAErC;;GAEG;AACH,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,2BAA2B,EAC3B,uBAAuB,EACvB,qBAAqB,EACrB,mCAAmC,EACnC,4BAA4B,GAC7B,CAAC;AACF,YAAY,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/mm-api-service/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAKlD,OAAO,EACL,YAAY,EACZ,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,wBAAwB,EACxB,uCAAuC,EACvC,YAAY,EACZ,iBAAiB,GAElB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/mm-api-service/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAKlD,OAAO,EACL,YAAY,EACZ,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,wBAAwB,EACxB,uCAAuC,EACvC,YAAY,EACZ,iBAAiB,GAElB,MAAM,uBAAuB,CAAC;AAc/B,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,2BAA2B,EAC3B,4BAA4B,EAC5B,mCAAmC,EACnC,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,GACf,MAAM,mBAAmB,CAAC;AAM3B;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,CAAC;AAoBvB;;GAEG;AACH,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAgBlC;;GAEG;AACH,OAAO,EACL,YAAY,EACZ,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,wBAAwB,EACxB,uCAAuC,EACvC,YAAY,EACZ,iBAAiB,GAClB,CAAC;AAOF;;GAEG;AACH,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,2BAA2B,EAC3B,uBAAuB,EACvB,qBAAqB,EACrB,mCAAmC,EACnC,4BAA4B,GAC7B,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { MMMappedErpResourceRow } from "./types/mm-response-interfaces.js";
|
|
2
|
+
/**
|
|
3
|
+
* One row from `GET /mes/settings/machine-settings`. Field names follow the MES mapping service;
|
|
4
|
+
* see {@link mapMesMachineSettingsToMappedErpResourceRows} for how each field maps to the SDK.
|
|
5
|
+
*/
|
|
6
|
+
export interface MesMachineSettingRow {
|
|
7
|
+
laborTicketEnabled?: boolean;
|
|
8
|
+
laborResourceId?: string | null;
|
|
9
|
+
/**
|
|
10
|
+
* ERP resource ids this machine can be scheduled as (in addition to {@link laborResourceId} for labor).
|
|
11
|
+
*/
|
|
12
|
+
scheduledAs?: ReadonlyArray<string | number | null | undefined> | null;
|
|
13
|
+
machineRef?: number | string | null;
|
|
14
|
+
name?: string | null;
|
|
15
|
+
type?: string | null;
|
|
16
|
+
machineGroupId?: string | number | null;
|
|
17
|
+
isResourceGroup?: boolean;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* `GET {mmApiBaseUrl}/mes/settings/machine-settings` — returns a JSON array of machine rows
|
|
21
|
+
* (auth: bearer `mmApiAuthToken`).
|
|
22
|
+
*
|
|
23
|
+
* Requires `mmApiBaseUrl` and `mmApiAuthToken` in {@link CoreConfiguration}. Throws if either is
|
|
24
|
+
* missing, if the response body is not a JSON array, or if the HTTP request fails.
|
|
25
|
+
* Used by labor import allowlists and mapped-resource helpers on `MMApiClient`.
|
|
26
|
+
*/
|
|
27
|
+
export declare function fetchMesMachineSettingsRows(): Promise<MesMachineSettingRow[]>;
|
|
28
|
+
/**
|
|
29
|
+
* Collects every non-empty {@link MesMachineSettingRow.laborResourceId} and every entry in
|
|
30
|
+
* {@link MesMachineSettingRow.scheduledAs} across **all** machine-settings rows, deduped
|
|
31
|
+
* case-insensitively (first-seen casing preserved). Does not filter on `laborTicketEnabled`.
|
|
32
|
+
* Non-array `scheduledAs` is ignored.
|
|
33
|
+
*/
|
|
34
|
+
export declare function collectMesSchedulableErpResourceIds(rows: ReadonlyArray<MesMachineSettingRow>): string[];
|
|
35
|
+
/**
|
|
36
|
+
* Loads machine-settings and returns {@link collectMesSchedulableErpResourceIds}.
|
|
37
|
+
* Same configuration and failure behavior as {@link fetchMesMachineSettingsRows}.
|
|
38
|
+
*/
|
|
39
|
+
export declare function fetchMesSchedulableErpResourceIds(): Promise<string[]>;
|
|
40
|
+
/**
|
|
41
|
+
* Maps machine-settings rows to {@link MMMappedErpResourceRow} for connectors.
|
|
42
|
+
* Emits one row per MES machine that has both a finite `machineRef` and a non-empty
|
|
43
|
+
* `laborResourceId` (ERP labor resource mapping). Optional display / group fields pass through when present.
|
|
44
|
+
*/
|
|
45
|
+
export declare function mapMesMachineSettingsToMappedErpResourceRows(rows: ReadonlyArray<MesMachineSettingRow>): MMMappedErpResourceRow[];
|
|
46
|
+
//# sourceMappingURL=mes-machine-settings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mes-machine-settings.d.ts","sourceRoot":"","sources":["../../../src/services/mm-api-service/mes-machine-settings.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAEhF;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC;;OAEG;IACH,WAAW,CAAC,EAAE,aAAa,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC;IACvE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACxC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,wBAAsB,2BAA2B,IAAI,OAAO,CAC1D,oBAAoB,EAAE,CACvB,CA+BA;AAED;;;;;GAKG;AACH,wBAAgB,mCAAmC,CACjD,IAAI,EAAE,aAAa,CAAC,oBAAoB,CAAC,GACxC,MAAM,EAAE,CAyBV;AAED;;;GAGG;AACH,wBAAsB,iCAAiC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAO3E;AAED;;;;GAIG;AACH,wBAAgB,4CAA4C,CAC1D,IAAI,EAAE,aAAa,CAAC,oBAAoB,CAAC,GACxC,sBAAsB,EAAE,CAO1B"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { CoreConfiguration } from "../data-sync-service/configuration-manager.js";
|
|
2
|
+
import { sdkLogger as logger } from "../reporting-service/logger.js";
|
|
3
|
+
import { HTTPClientFactory } from "../../utils/http-client.js";
|
|
4
|
+
/**
|
|
5
|
+
* `GET {mmApiBaseUrl}/mes/settings/machine-settings` — returns a JSON array of machine rows
|
|
6
|
+
* (auth: bearer `mmApiAuthToken`).
|
|
7
|
+
*
|
|
8
|
+
* Requires `mmApiBaseUrl` and `mmApiAuthToken` in {@link CoreConfiguration}. Throws if either is
|
|
9
|
+
* missing, if the response body is not a JSON array, or if the HTTP request fails.
|
|
10
|
+
* Used by labor import allowlists and mapped-resource helpers on `MMApiClient`.
|
|
11
|
+
*/
|
|
12
|
+
export async function fetchMesMachineSettingsRows() {
|
|
13
|
+
const config = CoreConfiguration.inst();
|
|
14
|
+
const baseUrl = config.mmApiBaseUrl;
|
|
15
|
+
const token = config.mmApiAuthToken;
|
|
16
|
+
if (!baseUrl || !token) {
|
|
17
|
+
throw new Error("fetchMesMachineSettingsRows: missing mmApiBaseUrl or mmApiAuthToken");
|
|
18
|
+
}
|
|
19
|
+
const client = HTTPClientFactory.getInstance({
|
|
20
|
+
baseUrl,
|
|
21
|
+
retryAttempts: config.mmApiRetryAttempts,
|
|
22
|
+
timeoutMs: config.mmApiTimeoutSeconds * 1000,
|
|
23
|
+
});
|
|
24
|
+
const response = await client.request({
|
|
25
|
+
url: "/mes/settings/machine-settings",
|
|
26
|
+
method: "GET",
|
|
27
|
+
headers: {
|
|
28
|
+
Accept: "application/json",
|
|
29
|
+
Authorization: `Bearer ${token}`,
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
const rows = response.data;
|
|
33
|
+
if (!Array.isArray(rows)) {
|
|
34
|
+
throw new Error("fetchMesMachineSettingsRows: response is not a JSON array");
|
|
35
|
+
}
|
|
36
|
+
return rows;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Collects every non-empty {@link MesMachineSettingRow.laborResourceId} and every entry in
|
|
40
|
+
* {@link MesMachineSettingRow.scheduledAs} across **all** machine-settings rows, deduped
|
|
41
|
+
* case-insensitively (first-seen casing preserved). Does not filter on `laborTicketEnabled`.
|
|
42
|
+
* Non-array `scheduledAs` is ignored.
|
|
43
|
+
*/
|
|
44
|
+
export function collectMesSchedulableErpResourceIds(rows) {
|
|
45
|
+
const seenLower = new Set();
|
|
46
|
+
const out = [];
|
|
47
|
+
const add = (raw) => {
|
|
48
|
+
if (raw === null || raw === undefined)
|
|
49
|
+
return;
|
|
50
|
+
const s = typeof raw === "string" ? raw.trim() : String(raw).trim();
|
|
51
|
+
if (s === "")
|
|
52
|
+
return;
|
|
53
|
+
const low = s.toLowerCase();
|
|
54
|
+
if (seenLower.has(low))
|
|
55
|
+
return;
|
|
56
|
+
seenLower.add(low);
|
|
57
|
+
out.push(s);
|
|
58
|
+
};
|
|
59
|
+
for (const row of rows) {
|
|
60
|
+
add(row.laborResourceId);
|
|
61
|
+
const sched = row.scheduledAs;
|
|
62
|
+
if (!Array.isArray(sched))
|
|
63
|
+
continue;
|
|
64
|
+
for (const id of sched) {
|
|
65
|
+
add(id);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return out;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Loads machine-settings and returns {@link collectMesSchedulableErpResourceIds}.
|
|
72
|
+
* Same configuration and failure behavior as {@link fetchMesMachineSettingsRows}.
|
|
73
|
+
*/
|
|
74
|
+
export async function fetchMesSchedulableErpResourceIds() {
|
|
75
|
+
const rows = await fetchMesMachineSettingsRows();
|
|
76
|
+
const ids = collectMesSchedulableErpResourceIds(rows);
|
|
77
|
+
logger.info(`fetchMesSchedulableErpResourceIds: ${ids.length} unique ERP resource id(s) from laborResourceId + scheduledAs`);
|
|
78
|
+
return ids;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Maps machine-settings rows to {@link MMMappedErpResourceRow} for connectors.
|
|
82
|
+
* Emits one row per MES machine that has both a finite `machineRef` and a non-empty
|
|
83
|
+
* `laborResourceId` (ERP labor resource mapping). Optional display / group fields pass through when present.
|
|
84
|
+
*/
|
|
85
|
+
export function mapMesMachineSettingsToMappedErpResourceRows(rows) {
|
|
86
|
+
const out = [];
|
|
87
|
+
for (const raw of rows) {
|
|
88
|
+
const row = mapMesMachineSettingRowToMapped(raw);
|
|
89
|
+
if (row)
|
|
90
|
+
out.push(row);
|
|
91
|
+
}
|
|
92
|
+
return out;
|
|
93
|
+
}
|
|
94
|
+
function mapMesMachineSettingRowToMapped(raw) {
|
|
95
|
+
const refRaw = raw.machineRef;
|
|
96
|
+
if (refRaw === null || refRaw === undefined || refRaw === "") {
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
99
|
+
const ref = typeof refRaw === "number" ? refRaw : Number(refRaw);
|
|
100
|
+
if (!Number.isFinite(ref)) {
|
|
101
|
+
return null;
|
|
102
|
+
}
|
|
103
|
+
const ridRaw = raw.laborResourceId;
|
|
104
|
+
if (ridRaw === null || ridRaw === undefined) {
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
const resourceId = typeof ridRaw === "string" ? ridRaw.trim() : String(ridRaw).trim();
|
|
108
|
+
if (resourceId === "") {
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
111
|
+
const mgId = raw.machineGroupId;
|
|
112
|
+
const machineGroupId = mgId === null || mgId === undefined ? null : String(mgId);
|
|
113
|
+
const name = typeof raw.name === "string" ? raw.name : null;
|
|
114
|
+
const type = raw.type === null || raw.type === undefined ? null : String(raw.type);
|
|
115
|
+
return {
|
|
116
|
+
isResourceGroup: Boolean(raw.isResourceGroup),
|
|
117
|
+
machineGroupId,
|
|
118
|
+
machineRef: Math.trunc(ref),
|
|
119
|
+
resourceId,
|
|
120
|
+
name,
|
|
121
|
+
type,
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=mes-machine-settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mes-machine-settings.js","sourceRoot":"","sources":["../../../src/services/mm-api-service/mes-machine-settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import { MMTokenManager } from "./token-mgr.js";
|
|
|
4
4
|
import * as MM_SEND_TYPES from "./types/send-types.js";
|
|
5
5
|
import { HTTPClient } from "../../utils/http-client.js";
|
|
6
6
|
import { Checkpoint } from "./types/checkpoint.js";
|
|
7
|
-
import { MMAggregatedPartCountBucket, MMApiBaseResponse, MMMappedErpResourceRow, MMGraphQLReasonResponse,
|
|
7
|
+
import { MMAggregatedPartCountBucket, MMApiBaseResponse, MMMappedErpResourceRow, MMGraphQLReasonResponse, MMGraphQLWorkOrderResponse, MMMachineGroupsResponse } from "./types/mm-response-interfaces.js";
|
|
8
8
|
/**
|
|
9
9
|
* Class to manage interactions with the MM Mapping Service
|
|
10
10
|
* Integrates an MM Token Manager to handle the API token.
|
|
@@ -239,11 +239,6 @@ export declare class MMApiClient {
|
|
|
239
239
|
* @returns Promise with the machine groups data
|
|
240
240
|
*/
|
|
241
241
|
fetchMachineGroups(): Promise<MMMachineGroupsResponse>;
|
|
242
|
-
/**
|
|
243
|
-
* Fetch resources using GraphQL
|
|
244
|
-
* @returns Promise with the resources data
|
|
245
|
-
*/
|
|
246
|
-
fetchResourcesFromGraphQL(): Promise<MMGraphQLResourceResponse>;
|
|
247
242
|
/**
|
|
248
243
|
* Fetch a single reason by reasonRef via GraphQL (e.g. when labor ticket has reasonRef but no reasons array).
|
|
249
244
|
* @param reasonRef MM reason reference (bigint)
|
|
@@ -257,15 +252,29 @@ export declare class MMApiClient {
|
|
|
257
252
|
*/
|
|
258
253
|
fetchWorkOrderFromGraphQL(workOrderId: string): Promise<MMGraphQLWorkOrderResponse>;
|
|
259
254
|
/**
|
|
260
|
-
* Returns ERP resources
|
|
261
|
-
* GraphQL
|
|
262
|
-
*
|
|
255
|
+
* Returns ERP labor resources mapped to MM machines via **MES** `/mes/settings/machine-settings`,
|
|
256
|
+
* not GraphQL `erpResources`. Rows include machines with a finite `machineRef` and non-empty
|
|
257
|
+
* `laborResourceId`. Optional `name`, `type`, `machineGroupId`, and `isResourceGroup` pass through when the API sends them.
|
|
263
258
|
*
|
|
264
|
-
*
|
|
265
|
-
*
|
|
266
|
-
*
|
|
259
|
+
* The bearer token (`mmApiAuthToken`) determines company scope; `companyId` must still be passed and
|
|
260
|
+
* non-empty (trimmed) for backwards compatibility but is **not** sent as a query parameter.
|
|
261
|
+
*
|
|
262
|
+
* @param companyId - Expected MM company identifier; trimmed; empty throws.
|
|
263
|
+
* @returns Mapped rows for machines with ERP labor mapping in MES settings.
|
|
264
|
+
* @throws {Error} When `companyId` is missing after trim, `mmApiBaseUrl` / `mmApiAuthToken` are missing,
|
|
265
|
+
* or the REST response is not a JSON array.
|
|
267
266
|
*/
|
|
268
267
|
fetchMappedErpResourcesForCompany(companyId: string): Promise<MMMappedErpResourceRow[]>;
|
|
268
|
+
/**
|
|
269
|
+
* Deduped ERP resource ids from **all** MES machine rows: each row’s `laborResourceId` (when set)
|
|
270
|
+
* plus every id in `scheduledAs`, for connectors that need “anything that might run” scheduling / WO op
|
|
271
|
+
* filtering. No `laborTicketEnabled` filter.
|
|
272
|
+
*
|
|
273
|
+
* The bearer token scopes company; `companyId` must be non-empty (trimmed) for API compatibility only.
|
|
274
|
+
*
|
|
275
|
+
* @throws {Error} When `companyId` is missing after trim or MES fetch fails.
|
|
276
|
+
*/
|
|
277
|
+
fetchMesSchedulableErpResourceIds(companyId: string): Promise<string[]>;
|
|
269
278
|
/**
|
|
270
279
|
* GraphQL `aggregatedPartCounts` for one `machineRef`: **one HTTP request**; the API may return **multiple bucket rows**
|
|
271
280
|
* (time buckets) for that machine.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mm-api-service.d.ts","sourceRoot":"","sources":["../../../src/services/mm-api-service/mm-api-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,aAAa,MAAM,uBAAuB,CAAC;AACvD,OAAO,EACL,UAAU,EAIX,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"mm-api-service.d.ts","sourceRoot":"","sources":["../../../src/services/mm-api-service/mm-api-service.ts"],"names":[],"mappings":"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"}
|