@machinemetrics/mm-erp-sdk 0.9.0-beta.0 → 0.9.1

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.
Files changed (78) hide show
  1. package/README.md +39 -0
  2. package/dist/index.d.ts +2 -2
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +1 -1
  5. package/dist/index.js.map +1 -1
  6. package/dist/knexfile.js +1 -1
  7. package/dist/knexfile.js.map +1 -1
  8. package/dist/services/data-sync-service/jobs/from-erp.d.ts.map +1 -1
  9. package/dist/services/data-sync-service/jobs/from-erp.js.map +1 -1
  10. package/dist/services/data-sync-service/jobs/to-erp.d.ts.map +1 -1
  11. package/dist/services/data-sync-service/jobs/to-erp.js +13 -16
  12. package/dist/services/data-sync-service/jobs/to-erp.js.map +1 -1
  13. package/dist/services/data-sync-service/nats-labor-ticket-listener.d.ts +0 -5
  14. package/dist/services/data-sync-service/nats-labor-ticket-listener.d.ts.map +1 -1
  15. package/dist/services/data-sync-service/nats-labor-ticket-listener.js +160 -112
  16. package/dist/services/data-sync-service/nats-labor-ticket-listener.js.map +1 -1
  17. package/dist/services/mm-api-service/index.d.ts +3 -3
  18. package/dist/services/mm-api-service/index.d.ts.map +1 -1
  19. package/dist/services/mm-api-service/index.js +2 -2
  20. package/dist/services/mm-api-service/index.js.map +1 -1
  21. package/dist/services/mm-api-service/mm-api-service.d.ts +9 -2
  22. package/dist/services/mm-api-service/mm-api-service.d.ts.map +1 -1
  23. package/dist/services/mm-api-service/mm-api-service.js +35 -2
  24. package/dist/services/mm-api-service/mm-api-service.js.map +1 -1
  25. package/dist/services/mm-api-service/types/mm-response-interfaces.d.ts +21 -0
  26. package/dist/services/mm-api-service/types/mm-response-interfaces.d.ts.map +1 -1
  27. package/dist/services/mm-api-service/types/mm-response-interfaces.js.map +1 -1
  28. package/dist/services/mm-api-service/types/receive-types.d.ts +7 -1
  29. package/dist/services/mm-api-service/types/receive-types.d.ts.map +1 -1
  30. package/dist/services/mm-api-service/types/receive-types.js +2 -0
  31. package/dist/services/mm-api-service/types/receive-types.js.map +1 -1
  32. package/dist/services/mm-api-service/types/send-types.d.ts +33 -1
  33. package/dist/services/mm-api-service/types/send-types.d.ts.map +1 -1
  34. package/dist/services/mm-api-service/types/send-types.js +67 -3
  35. package/dist/services/mm-api-service/types/send-types.js.map +1 -1
  36. package/dist/services/reporting-service/logger.js.map +1 -1
  37. package/dist/utils/labor-ticket-work-order-operation-send.d.ts +10 -0
  38. package/dist/utils/labor-ticket-work-order-operation-send.d.ts.map +1 -0
  39. package/dist/utils/labor-ticket-work-order-operation-send.js +59 -0
  40. package/dist/utils/labor-ticket-work-order-operation-send.js.map +1 -0
  41. package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.d.ts +4 -1
  42. package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.d.ts.map +1 -1
  43. package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.js +21 -50
  44. package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.js.map +1 -1
  45. package/dist/utils/standard-process-drivers/labor-ticket-normalization.d.ts +27 -0
  46. package/dist/utils/standard-process-drivers/labor-ticket-normalization.d.ts.map +1 -0
  47. package/dist/utils/standard-process-drivers/labor-ticket-normalization.js +64 -0
  48. package/dist/utils/standard-process-drivers/labor-ticket-normalization.js.map +1 -0
  49. package/dist/utils/standard-process-drivers/mm-entity-processor.d.ts +4 -1
  50. package/dist/utils/standard-process-drivers/mm-entity-processor.d.ts.map +1 -1
  51. package/dist/utils/standard-process-drivers/mm-entity-processor.js +58 -3
  52. package/dist/utils/standard-process-drivers/mm-entity-processor.js.map +1 -1
  53. package/dist/utils/standard-process-drivers/standard-process-drivers.d.ts +3 -1
  54. package/dist/utils/standard-process-drivers/standard-process-drivers.d.ts.map +1 -1
  55. package/dist/utils/standard-process-drivers/standard-process-drivers.js +2 -2
  56. package/dist/utils/standard-process-drivers/standard-process-drivers.js.map +1 -1
  57. package/dist/utils/time-utils.d.ts +2 -1
  58. package/dist/utils/time-utils.d.ts.map +1 -1
  59. package/dist/utils/time-utils.js +2 -1
  60. package/dist/utils/time-utils.js.map +1 -1
  61. package/package.json +3 -5
  62. package/src/index.ts +6 -1
  63. package/src/knexfile.ts +1 -1
  64. package/src/services/data-sync-service/jobs/from-erp.ts +0 -1
  65. package/src/services/data-sync-service/jobs/to-erp.ts +1 -4
  66. package/src/services/data-sync-service/nats-labor-ticket-listener.ts +176 -122
  67. package/src/services/mm-api-service/index.ts +8 -1
  68. package/src/services/mm-api-service/mm-api-service.ts +48 -6
  69. package/src/services/mm-api-service/types/mm-response-interfaces.ts +22 -0
  70. package/src/services/mm-api-service/types/receive-types.ts +7 -1
  71. package/src/services/mm-api-service/types/send-types.ts +84 -3
  72. package/src/services/reporting-service/logger.ts +1 -1
  73. package/src/utils/labor-ticket-work-order-operation-send.ts +77 -0
  74. package/src/utils/standard-process-drivers/labor-ticket-erp-synchronizer.ts +37 -62
  75. package/src/utils/standard-process-drivers/labor-ticket-normalization.ts +68 -0
  76. package/src/utils/standard-process-drivers/mm-entity-processor.ts +74 -5
  77. package/src/utils/standard-process-drivers/standard-process-drivers.ts +4 -2
  78. package/src/utils/time-utils.ts +2 -1
package/README.md CHANGED
@@ -99,6 +99,45 @@ RETRY_LABOR_TICKETS_INTERVAL="10m"
99
99
  CACHE_EXPIRATION_CHECK_INTERVAL="1h"
100
100
  ```
101
101
 
102
+ ## Bidirectional Labor Ticket Sync
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.
109
+
110
+ ```typescript
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
+ ```
116
+
117
+ ### How It Works
118
+
119
+ 1. **Import from ERP**: Your connector writes labor tickets to MM
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)
125
+
126
+ ### User Edits
127
+
128
+ If a user edits a labor ticket in the MachineMetrics dashboard after import, the business signature changes automatically. The `to-erp` job will detect this and sync the changes back to your ERP.
129
+
130
+ ### Persistent Storage
131
+
132
+ For production deployments, use a persistent volume for the SQLite database to ensure the dedup cache survives container restarts:
133
+
134
+ ```bash
135
+ # Set environment variable
136
+ SQLITE_DB_PATH=/app/data/local.sqlite3
137
+ ```
138
+
139
+ See the connector's `docker-compose.yml` or `k8s/persistent-volume.yaml` for volume configuration examples.
140
+
102
141
  ## Environment Configuration
103
142
 
104
143
  Set these environment variables for your connector:
package/dist/index.d.ts CHANGED
@@ -14,8 +14,8 @@ export { MMApiClient } from "./services/mm-api-service/index.js";
14
14
  export { MMReceiveLaborTicket } from "./services/mm-api-service/index.js";
15
15
  export { MMReceiveWorkOrder } from "./services/mm-api-service/index.js";
16
16
  export type { MMReceiveLaborTicketReason, MMReceiveLaborTicketWorkOrderOperation, IToRESTApiObject, IToFullApiObject, } from "./services/mm-api-service/index.js";
17
- export { MMSendPerson, MMSendResource, MMSendPart, MMSendPartOperation, MMSendWorkOrder, MMSendWorkOrderOperation, MMSendReason, MMSendLaborTicket, } from "./services/mm-api-service/index.js";
18
- export type { MMSendWorkOrderBatch } from "./services/mm-api-service/index.js";
17
+ export { MMSendPerson, MMSendResource, MMSendPart, MMSendPartOperation, MMSendWorkOrder, MMSendWorkOrderOperation, MMSendWorkOrderOperationLaborTicketSync, MMSendReason, MMSendLaborTicket, } from "./services/mm-api-service/index.js";
18
+ export type { MMSendWorkOrderBatch, MMSendWorkOrderOperationLaborTicketSyncPatch, MMSendWorkOrderOperationPayload, } from "./services/mm-api-service/index.js";
19
19
  export { getUniqueRows, removeExtraneousFields, getPayloadWithoutIDField, trimObjectValues, cleanupNumbers, addNewFieldFromExternalSource, addNewFieldFromLookupField, formatDateWithTZOffset, toISOWithOffset, applyTimezoneOffsetsToFields, calculateTimeDifferenceInHours, getSecondsOfDay, convertToLocalTime, convertUtcDateTimeToErpLocal, convertErpLocalDateTimeToUtc, getERPTimezone, getErrorType, formatError, formatErrorForLogging, } from "./utils/index.js";
20
20
  export type { FormattedError } from "./utils/index.js";
21
21
  export { getInitialLoadComplete, setInitialLoadComplete } from "./utils/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,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,YAAY,EACV,0BAA0B,EAC1B,sCAAsC,EACtC,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EACL,YAAY,EACZ,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,wBAAwB,EACxB,YAAY,EACZ,iBAAiB,GAClB,MAAM,oCAAoC,CAAC;AAE5C,YAAY,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAG/E,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;AAG1D,YAAY,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACnF,YAAY,EACV,WAAW,EACX,oBAAoB,GACrB,MAAM,sDAAsD,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC1E,YAAY,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,wDAAwD,CAAC;AACxF,YAAY,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAGvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mDAAmD,CAAC;AAGtF,OAAO,EACL,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,uDAAuD,CAAC;AAG/D,OAAO,EACL,gBAAgB,EAChB,eAAe,GAChB,MAAM,4CAA4C,CAAC;AACpD,YAAY,EAAE,QAAQ,EAAE,MAAM,4CAA4C,CAAC;AAG3E,OAAO,EACL,WAAW,EACX,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,kBAAkB,GACnB,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAG9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AAC9F,YAAY,EAAE,oBAAoB,EAAE,MAAM,uDAAuD,CAAC;AAGlG,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAG9D,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,QAAQ,EACR,KAAK,cAAc,EACnB,KAAK,WAAW,GACjB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -11,7 +11,7 @@ export { buildLogicalCondition } from "./services/erp-api-services/rest/get-quer
11
11
  export { MMApiClient } from "./services/mm-api-service/index.js";
12
12
  export { MMReceiveLaborTicket } from "./services/mm-api-service/index.js";
13
13
  export { MMReceiveWorkOrder } from "./services/mm-api-service/index.js";
14
- export { MMSendPerson, MMSendResource, MMSendPart, MMSendPartOperation, MMSendWorkOrder, MMSendWorkOrderOperation, MMSendReason, MMSendLaborTicket, } from "./services/mm-api-service/index.js";
14
+ export { MMSendPerson, MMSendResource, MMSendPart, MMSendPartOperation, MMSendWorkOrder, MMSendWorkOrderOperation, MMSendWorkOrderOperationLaborTicketSync, MMSendReason, MMSendLaborTicket, } from "./services/mm-api-service/index.js";
15
15
  // Utility functions that are safe for client use
16
16
  export { getUniqueRows, removeExtraneousFields, getPayloadWithoutIDField, trimObjectValues, cleanupNumbers, addNewFieldFromExternalSource, addNewFieldFromLookupField, formatDateWithTZOffset, toISOWithOffset, applyTimezoneOffsetsToFields, calculateTimeDifferenceInHours, getSecondsOfDay, convertToLocalTime, convertUtcDateTimeToErpLocal, convertErpLocalDateTimeToUtc, getERPTimezone, getErrorType, formatError, formatErrorForLogging, } from "./utils/index.js";
17
17
  // Local data store
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,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;AAQxE,OAAO,EACL,YAAY,EACZ,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,wBAAwB,EACxB,YAAY,EACZ,iBAAiB,GAClB,MAAM,oCAAoC,CAAC;AAI5C,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;AAI1D,OAAO,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAKnF,OAAO,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAE1E,OAAO,EAAE,cAAc,EAAE,MAAM,wDAAwD,CAAC;AAGxF,mBAAmB;AACnB,OAAO,EAAE,iBAAiB,EAAE,MAAM,mDAAmD,CAAC;AAEtF,yBAAyB;AACzB,OAAO,EACL,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,uDAAuD,CAAC;AAE/D,sBAAsB;AACtB,OAAO,EACL,gBAAgB,EAChB,eAAe,GAChB,MAAM,4CAA4C,CAAC;AAGpD,4BAA4B;AAC5B,OAAO,EACL,WAAW,EACX,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,kBAAkB,GACnB,MAAM,sCAAsC,CAAC;AAG9C,2BAA2B;AAC3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AAG9F,gBAAgB;AAChB,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE9D,uBAAuB;AACvB,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,QAAQ,GAGT,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,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;AAQxE,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;AAI1D,OAAO,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAKnF,OAAO,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAE1E,OAAO,EAAE,cAAc,EAAE,MAAM,wDAAwD,CAAC;AAGxF,mBAAmB;AACnB,OAAO,EAAE,iBAAiB,EAAE,MAAM,mDAAmD,CAAC;AAEtF,yBAAyB;AACzB,OAAO,EACL,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,uDAAuD,CAAC;AAE/D,sBAAsB;AACtB,OAAO,EACL,gBAAgB,EAChB,eAAe,GAChB,MAAM,4CAA4C,CAAC;AAGpD,4BAA4B;AAC5B,OAAO,EACL,WAAW,EACX,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,kBAAkB,GACnB,MAAM,sCAAsC,CAAC;AAG9C,2BAA2B;AAC3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AAG9F,gBAAgB;AAChB,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE9D,uBAAuB;AACvB,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,QAAQ,GAGT,MAAM,kBAAkB,CAAC"}
package/dist/knexfile.js CHANGED
@@ -5,7 +5,7 @@ const config = {
5
5
  local: {
6
6
  client: "better-sqlite3",
7
7
  connection: {
8
- filename: "./local.sqlite3",
8
+ filename: process.env.SQLITE_DB_PATH || "./local.sqlite3",
9
9
  },
10
10
  useNullAsDefault: true,
11
11
  migrations: {
@@ -1 +1 @@
1
- {"version":3,"file":"knexfile.js","sourceRoot":"","sources":["../src/knexfile.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/D,MAAM,MAAM,GAAmC;IAC7C,KAAK,EAAE;QACL,MAAM,EAAE,gBAAgB;QACxB,UAAU,EAAE;YACV,QAAQ,EAAE,iBAAiB;SAC5B;QACD,gBAAgB,EAAE,IAAI;QACtB,UAAU,EAAE;YACV,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC;YAC7C,SAAS,EAAE,IAAI;YACf,cAAc,EAAE,CAAC,KAAK,CAAC;SACxB;KACF;CACF,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"knexfile.js","sourceRoot":"","sources":["../src/knexfile.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/D,MAAM,MAAM,GAAmC;IAC7C,KAAK,EAAE;QACL,MAAM,EAAE,gBAAgB;QACxB,UAAU,EAAE;YACV,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,iBAAiB;SAC1D;QACD,gBAAgB,EAAE,IAAI;QACtB,UAAU,EAAE;YACV,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC;YAC7C,SAAS,EAAE,IAAI;YACf,cAAc,EAAE,CAAC,KAAK,CAAC;SACxB;KACF;CACF,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"from-erp.d.ts","sourceRoot":"","sources":["../../../../src/services/data-sync-service/jobs/from-erp.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC;AAUvB,QAAA,MAAM,IAAI,qBA6BT,CAAC;AAoBF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"from-erp.d.ts","sourceRoot":"","sources":["../../../../src/services/data-sync-service/jobs/from-erp.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC;AASvB,QAAA,MAAM,IAAI,qBA6BT,CAAC;AAoBF,eAAe,IAAI,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"from-erp.js","sourceRoot":"","sources":["../../../../src/services/data-sync-service/jobs/from-erp.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,IAAI,MAAM,EAAE,MAAM,+CAA+C,CAAC;AAEpF,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,kDAAkD;AAClD,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AAEjD,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;IACtB,IAAI,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QAE/D,uDAAuD;QACvD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QAEjD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QAED,+CAA+C;QAC/C,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,aAAa,CAAC,CAAC;QAE/D,oEAAoE;QACpE,oEAAoE;QACpE,oEAAoE;QACpE,MAAM,SAAS,CAAC,WAAW,EAAE,CAAC;QAE9B,MAAM,SAAS,CAAC,oBAAoB,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;IAClE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,kEAAkE;QAClE,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE;YACrD,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC;SAC7B,CAAC,CAAC;QAEH,MAAM,KAAK,CAAC,CAAC,yCAAyC;IACxD,CAAC;AACH,CAAC,CAAC;AAEF,6DAA6D;AAC7D,kFAAkF;AAClF,qEAAqE;AACrE,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC5D,MAAM,OAAO,GAAG,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,UAAU,eAAe,EAAE,CAAC,CAAC,CAAE,uCAAuC;IACtE,WAAW,eAAe,EAAE,CAAC,CAAE,gDAAgD;AACjF,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,OAAO,CAAC;AAEjD,IAAI,YAAY,EAAE,CAAC;IACjB,sDAAsD;IACtD,IAAI,CAAC;QACH,MAAM,IAAI,EAAE,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,6CAA6C;IACrE,CAAC;AACH,CAAC;AAED,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"from-erp.js","sourceRoot":"","sources":["../../../../src/services/data-sync-service/jobs/from-erp.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,IAAI,MAAM,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,kDAAkD;AAClD,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AAEjD,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;IACtB,IAAI,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QAE/D,uDAAuD;QACvD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QAEjD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QAED,+CAA+C;QAC/C,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,aAAa,CAAC,CAAC;QAE/D,oEAAoE;QACpE,oEAAoE;QACpE,oEAAoE;QACpE,MAAM,SAAS,CAAC,WAAW,EAAE,CAAC;QAE9B,MAAM,SAAS,CAAC,oBAAoB,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;IAClE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,kEAAkE;QAClE,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE;YACrD,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC;SAC7B,CAAC,CAAC;QAEH,MAAM,KAAK,CAAC,CAAC,yCAAyC;IACxD,CAAC;AACH,CAAC,CAAC;AAEF,6DAA6D;AAC7D,kFAAkF;AAClF,qEAAqE;AACrE,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC5D,MAAM,OAAO,GAAG,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,UAAU,eAAe,EAAE,CAAC,CAAC,CAAE,uCAAuC;IACtE,WAAW,eAAe,EAAE,CAAC,CAAE,gDAAgD;AACjF,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,OAAO,CAAC;AAEjD,IAAI,YAAY,EAAE,CAAC;IACjB,sDAAsD;IACtD,IAAI,CAAC;QACH,MAAM,IAAI,EAAE,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,6CAA6C;IACrE,CAAC;AACH,CAAC;AAED,eAAe,IAAI,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"to-erp.d.ts","sourceRoot":"","sources":["../../../../src/services/data-sync-service/jobs/to-erp.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC;AAsBvB,QAAA,MAAM,IAAI,qBAwCT,CAAC;AAoBF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"to-erp.d.ts","sourceRoot":"","sources":["../../../../src/services/data-sync-service/jobs/to-erp.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC;AAsBvB,QAAA,MAAM,IAAI,qBAqCT,CAAC;AAoBF,eAAe,IAAI,CAAC"}
@@ -25,23 +25,20 @@ const main = async () => {
25
25
  if (!connectorPath) {
26
26
  throw new Error("Connector path not provided in environment variables");
27
27
  }
28
- await SQLiteCoordinator.executeWithLock("to-erp", async () => {
29
- // Ensure local sqlite schema exists (needed for checkpoints/ledger/cache tables).
30
- await ensureLocalDbMigrated();
31
- // Create a new connector instance for this job
32
- const connector = await createConnectorFromPath(connectorPath);
33
- // Only use lock if NATS is enabled (to prevent concurrent processing)
34
- // Otherwise, no lock needed - just run directly
35
- if (process.env.NATS_ENABLED === "true") {
36
- await SQLiteCoordinator.executeWithLock("to-erp", async () => {
37
- await connector.syncToERP();
38
- });
39
- }
40
- else {
28
+ await ensureLocalDbMigrated();
29
+ // Create a new connector instance for this job
30
+ const connector = await createConnectorFromPath(connectorPath);
31
+ // Only use lock if NATS is enabled (to prevent concurrent processing)
32
+ // Otherwise, no lock needed - just run directly
33
+ if (process.env.NATS_ENABLED === "true") {
34
+ await SQLiteCoordinator.executeWithLock("to-erp", async () => {
41
35
  await connector.syncToERP();
42
- }
43
- await connector.syncToERPCompleted();
44
- });
36
+ });
37
+ }
38
+ else {
39
+ await connector.syncToERP();
40
+ }
41
+ await connector.syncToERPCompleted();
45
42
  logger.info("==========Completed to-erp job cycle==========");
46
43
  }
47
44
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"to-erp.js","sourceRoot":"","sources":["../../../../src/services/data-sync-service/jobs/to-erp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"to-erp.js","sourceRoot":"","sources":["../../../../src/services/data-sync-service/jobs/to-erp.ts"],"names":[],"mappings":"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"}
@@ -21,10 +21,5 @@ export declare class NatsLaborTicketListener {
21
21
  * Process labor ticket in ERP and then create MM entities with ERP ID attached
22
22
  */
23
23
  private processLaborTicket;
24
- /**
25
- * Update checkpoint to prevent to-erp polling job from reprocessing this ticket
26
- * Only updates if the new timestamp is later than the current checkpoint (prevents moving backwards)
27
- */
28
- private updateCheckpoint;
29
24
  }
30
25
  //# sourceMappingURL=nats-labor-ticket-listener.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nats-labor-ticket-listener.d.ts","sourceRoot":"","sources":["../../../src/services/data-sync-service/nats-labor-ticket-listener.ts"],"names":[],"mappings":"AAUA;;GAEG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,WAAW,CAAC,CAAc;gBAEtB,SAAS,EAAE,GAAG;IAI1B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAyC5B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAoBlC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA+HlC;;OAEG;YACW,kBAAkB;IA6FhC;;;OAGG;YACW,gBAAgB;CA0C/B"}
1
+ {"version":3,"file":"nats-labor-ticket-listener.d.ts","sourceRoot":"","sources":["../../../src/services/data-sync-service/nats-labor-ticket-listener.ts"],"names":[],"mappings":"AAYA;;GAEG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,WAAW,CAAC,CAAc;gBAEtB,SAAS,EAAE,GAAG;IAI1B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAyC5B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAoBlC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA+MlC;;OAEG;YACW,kBAAkB;CA+GjC"}
@@ -2,7 +2,9 @@ import logger from "../reporting-service/logger.js";
2
2
  import { formatError } from "../../utils/error-formatter.js";
3
3
  import { NatsService } from "../nats-service/nats-service.js";
4
4
  import { MMApiClient, MMReceiveLaborTicket, getCachedCompanyInfo, } from "../mm-api-service/index.js";
5
- import { SQLiteCoordinator } from "../sqlite-service/index.js";
5
+ import { LaborTicketSyncLedgerManager } from "../caching-service/labor-ticket-sync-ledger-manager.js";
6
+ import { LaborTicketERPSynchronizer } from "../../utils/standard-process-drivers/labor-ticket-erp-synchronizer.js";
7
+ import { buildMMSendWorkOrderOperationFromLaborTicket } from "../../utils/labor-ticket-work-order-operation-send.js";
6
8
  /**
7
9
  * Manages NATS-based real-time labor ticket processing
8
10
  */
@@ -93,52 +95,121 @@ export class NatsLaborTicketListener {
93
95
  laborTicketRef,
94
96
  endBehavior: actionPayload.endBehavior,
95
97
  });
96
- // Use the same lock as to-erp job to prevent concurrent processing
97
- return await SQLiteCoordinator.executeWithLock("to-erp", async () => {
98
- try {
99
- let laborTicketData;
100
- // Extract endBehavior from actionPayload for inclusion in customFields
101
- const endBehavior = actionPayload.endBehavior;
102
- if (laborTicketRef) {
103
- // Fetch the full labor ticket data using the laborTicketRef
104
- const mmApiClient = new MMApiClient();
105
- const laborTicket = await mmApiClient.fetchLaborTicketByRef(laborTicketRef);
106
- logger.info("Fetched labor ticket data from MM API", {
107
- laborTicketRef,
108
- laborTicketId: laborTicket.laborTicketId,
109
- });
110
- // Merge changed fields from actionPayload to ensure we process the actual changes
111
- // Merge customFields, including endBehavior if present and ticket is being closed
112
- laborTicketData = {
113
- ...laborTicket,
114
- ...actionPayload,
98
+ // Process without lock - dedup cache prevents duplicates and allows parallel processing
99
+ // Multiple NATS messages can process concurrently (e.g., 100 operators clocking out)
100
+ try {
101
+ let laborTicketData;
102
+ // Extract endBehavior from actionPayload for inclusion in customFields
103
+ const endBehavior = actionPayload.endBehavior;
104
+ const parseIfString = (v) => (typeof v === "string" ? JSON.parse(v) : v) || {};
105
+ if (laborTicketRef) {
106
+ // Fetch the full labor ticket data using the laborTicketRef
107
+ const mmApiClient = new MMApiClient();
108
+ const laborTicket = await mmApiClient.fetchLaborTicketByRef(laborTicketRef);
109
+ logger.info("Fetched labor ticket data from MM API", {
110
+ laborTicketRef,
111
+ laborTicketId: laborTicket.laborTicketId,
112
+ });
113
+ // Merge changed fields from actionPayload to ensure we process the actual changes
114
+ // Deep-merge customFields, workOrderOperation, and reasons so actionPayload doesn't clobber nested data
115
+ const ltWoOp = laborTicket.workOrderOperation;
116
+ const apWoOp = actionPayload.workOrderOperation;
117
+ let reasons = laborTicket.reasons ?? actionPayload.reasons;
118
+ // When the ticket has no reasons array but has reasonRef, look up the reason via GraphQL
119
+ const reasonRef = laborTicket.reasonRef ?? actionPayload.reasonRef;
120
+ if ((!reasons || reasons.length === 0) && reasonRef != null) {
121
+ const reasonRow = await mmApiClient.fetchReasonByRef(reasonRef);
122
+ if (reasonRow) {
123
+ reasons = [{ reason: reasonRow }];
124
+ }
125
+ }
126
+ laborTicketData = {
127
+ ...laborTicket,
128
+ ...actionPayload,
129
+ reasons,
130
+ customFields: {
131
+ ...parseIfString(laborTicket.customFields),
132
+ ...parseIfString(actionPayload.customFields),
133
+ ...(endBehavior && actionPayload.clockOut && { endBehavior }),
134
+ },
135
+ workOrderOperation: {
136
+ ...ltWoOp,
137
+ ...apWoOp,
115
138
  customFields: {
116
- ...laborTicket.customFields,
117
- ...actionPayload.customFields,
118
- ...(endBehavior && actionPayload.clockOut && { endBehavior }),
139
+ ...parseIfString(ltWoOp?.customFields),
140
+ ...parseIfString(apWoOp?.customFields),
119
141
  },
120
- };
121
- }
122
- else {
123
- // No laborTicketRef provided, use the actionPayload directly
124
- logger.info("No laborTicketRef provided, using actionPayload directly", {
142
+ },
143
+ };
144
+ }
145
+ else {
146
+ // No laborTicketRef provided, use the actionPayload directly
147
+ logger.info("No laborTicketRef provided, using actionPayload directly", {
148
+ requestId: data.requestId,
149
+ });
150
+ // Merge endBehavior into customFields if present and ticket is being closed
151
+ laborTicketData = {
152
+ ...actionPayload,
153
+ customFields: {
154
+ ...parseIfString(actionPayload.customFields),
155
+ ...(endBehavior && actionPayload.clockOut && { endBehavior }),
156
+ },
157
+ };
158
+ }
159
+ const mergedLaborTicket = new MMReceiveLaborTicket(laborTicketData);
160
+ const ledger = new LaborTicketSyncLedgerManager();
161
+ try {
162
+ const businessSignature = LaborTicketERPSynchronizer.laborTicketBusinessSignature(mergedLaborTicket);
163
+ const signatureHash = LaborTicketSyncLedgerManager.hashSignature(businessSignature);
164
+ const laborTicketRefStr = String(mergedLaborTicket.laborTicketRef);
165
+ // Check ledger — skip if to-erp (or a prior NATS run) already processed this exact state
166
+ const existing = await ledger.getLatestByRef({
167
+ system: erpType,
168
+ laborTicketRef: laborTicketRefStr,
169
+ });
170
+ if (existing && existing.signatureHash === signatureHash && existing.lastOutcome === "success") {
171
+ logger.info("Labor ticket already processed with same business state (ledger hit), skipping", {
172
+ laborTicketRef: laborTicketRefStr,
173
+ laborTicketId: mergedLaborTicket.laborTicketId,
125
174
  requestId: data.requestId,
126
175
  });
127
- // Merge endBehavior into customFields if present and ticket is being closed
128
- laborTicketData = {
129
- ...actionPayload,
130
- customFields: {
131
- ...actionPayload.customFields,
132
- ...(endBehavior && actionPayload.clockOut && { endBehavior }),
133
- },
176
+ return {
177
+ status: "success",
178
+ requestId: data.requestId,
179
+ action,
180
+ timestamp: new Date().toISOString(),
181
+ processingTimeMs: Date.now() - startTime,
182
+ laborTicketRef: mergedLaborTicket.laborTicketRef,
183
+ laborTicket: mergedLaborTicket,
184
+ skipped: true,
185
+ reason: "Already processed with same business state",
134
186
  };
135
187
  }
136
- const mergedLaborTicket = new MMReceiveLaborTicket(laborTicketData);
137
- // Process labor ticket: ERP operation first, then create MM entities with ERP ID
188
+ logger.info("Processing labor ticket from NATS", {
189
+ laborTicketRef: laborTicketRefStr,
190
+ laborTicketId: mergedLaborTicket.laborTicketId,
191
+ action,
192
+ });
138
193
  const result = await this.processLaborTicket(mergedLaborTicket, action || "unknown");
139
- // Update checkpoint to prevent to-erp polling job from reprocessing this ticket
140
- await this.updateCheckpoint(erpType, result);
141
- // Return response with full labor ticket data for immediate frontend state update
194
+ // Record success in ledger so to-erp polling skips this ticket
195
+ try {
196
+ await ledger.upsertAttempt({
197
+ system: erpType,
198
+ laborTicketRef: laborTicketRefStr,
199
+ signature: businessSignature,
200
+ outcome: "success",
201
+ mmUpdatedAt: mergedLaborTicket.updatedAt ?? null,
202
+ mmComparableTs: mergedLaborTicket.updatedAt ?? mergedLaborTicket.createdAt ?? null,
203
+ errorSummary: null,
204
+ attemptedAtIso: new Date().toISOString(),
205
+ });
206
+ }
207
+ catch (ledgerError) {
208
+ logger.warn("NATS: Unable to update sync ledger after success", {
209
+ laborTicketRef: laborTicketRefStr,
210
+ error: ledgerError,
211
+ });
212
+ }
142
213
  return {
143
214
  status: "success",
144
215
  requestId: data.requestId,
@@ -146,42 +217,48 @@ export class NatsLaborTicketListener {
146
217
  timestamp: new Date().toISOString(),
147
218
  processingTimeMs: Date.now() - startTime,
148
219
  laborTicketRef: result.laborTicketRef,
149
- laborTicket: result.laborTicket,
220
+ laborTicket: {
221
+ ...result.laborTicket,
222
+ laborTicketRef: result.laborTicketRef,
223
+ },
150
224
  };
151
225
  }
152
- catch (error) {
153
- // Check if error was already formatted in inner catch block
154
- const formattedError = error?._formatted || formatError(error);
155
- // Debug logging
156
- logger.debug("Error details", {
157
- hasFormatted: !!error?._formatted,
158
- isAxiosError: error?.isAxiosError,
159
- errorMessage: error?.message,
160
- responseStatus: error?.response?.status,
161
- responseData: error?.response?.data,
162
- });
163
- logger.error("Error handling labor ticket from NATS", {
164
- error: formattedError.message,
226
+ finally {
227
+ await ledger.destroy();
228
+ }
229
+ }
230
+ catch (error) {
231
+ // Check if error was already formatted in inner catch block
232
+ const formattedError = error?._formatted || formatError(error);
233
+ // Debug logging
234
+ logger.debug("Error details", {
235
+ hasFormatted: !!error?._formatted,
236
+ isAxiosError: error?.isAxiosError,
237
+ errorMessage: error?.message,
238
+ responseStatus: error?.response?.status,
239
+ responseData: error?.response?.data,
240
+ });
241
+ logger.error("Error handling labor ticket from NATS", {
242
+ error: formattedError.message,
243
+ code: formattedError.code,
244
+ requestId: data.requestId,
245
+ laborTicketRef,
246
+ });
247
+ return {
248
+ status: "error",
249
+ requestId: data.requestId,
250
+ action,
251
+ timestamp: new Date().toISOString(),
252
+ processingTimeMs: Date.now() - startTime,
253
+ error: {
254
+ message: formattedError.message,
165
255
  code: formattedError.code,
166
- requestId: data.requestId,
256
+ httpStatus: formattedError.httpStatus,
257
+ metadata: formattedError.metadata,
167
258
  laborTicketRef,
168
- });
169
- return {
170
- status: "error",
171
- requestId: data.requestId,
172
- action,
173
- timestamp: new Date().toISOString(),
174
- processingTimeMs: Date.now() - startTime,
175
- error: {
176
- message: formattedError.message,
177
- code: formattedError.code,
178
- httpStatus: formattedError.httpStatus,
179
- metadata: formattedError.metadata,
180
- laborTicketRef,
181
- },
182
- };
183
- }
184
- });
259
+ },
260
+ };
261
+ }
185
262
  },
186
263
  },
187
264
  });
@@ -241,6 +318,17 @@ export class NatsLaborTicketListener {
241
318
  laborTicketId: laborTicketForMM.laborTicketId,
242
319
  entitiesCreated: mmResult.upsertedEntities,
243
320
  });
321
+ // Nested workOrderOperation (close-out, WOO custom fields) is not on MMSendLaborTicket; sync WOO separately.
322
+ // If this write fails after the labor-ticket write above, MM may have the ticket updated without matching WOO state.
323
+ const wooSend = buildMMSendWorkOrderOperationFromLaborTicket(laborTicketForMM);
324
+ if (wooSend) {
325
+ const wooResult = await MMEntityProcessor.writeEntities(ERPObjType.WORK_ORDER_OPERATIONS, [wooSend], null);
326
+ logger.info("Synced work order operation from labor ticket NATS payload", {
327
+ laborTicketRef: laborTicketForMM.laborTicketRef,
328
+ workOrderId: laborTicketForMM.workOrderId,
329
+ entitiesUpserted: wooResult.upsertedEntities,
330
+ });
331
+ }
244
332
  return {
245
333
  laborTicketRef: laborTicketForMM.laborTicketRef,
246
334
  laborTicket: laborTicketForMM,
@@ -261,45 +349,5 @@ export class NatsLaborTicketListener {
261
349
  throw enhancedError;
262
350
  }
263
351
  }
264
- /**
265
- * Update checkpoint to prevent to-erp polling job from reprocessing this ticket
266
- * Only updates if the new timestamp is later than the current checkpoint (prevents moving backwards)
267
- */
268
- async updateCheckpoint(erpType, result) {
269
- const mmApiClient = new MMApiClient();
270
- const newTimestamp = new Date().toISOString();
271
- const currentCheckpoint = await mmApiClient.getCheckpoint({
272
- system: erpType,
273
- table: "labor_tickets",
274
- checkpointType: "export",
275
- checkpointValue: {
276
- timestamp: "",
277
- },
278
- });
279
- const currentTimestamp = currentCheckpoint?.timestamp;
280
- // Only update checkpoint if new timestamp is later than current (prevents moving backwards)
281
- if (!currentTimestamp || new Date(newTimestamp) > new Date(currentTimestamp)) {
282
- await mmApiClient.saveCheckpoint({
283
- system: erpType,
284
- table: "labor_tickets",
285
- checkpointType: "export",
286
- checkpointValue: {
287
- timestamp: newTimestamp,
288
- },
289
- });
290
- logger.debug("Updated export checkpoint after NATS processing", {
291
- laborTicketRef: result.laborTicketRef,
292
- previousCheckpoint: currentTimestamp,
293
- newCheckpoint: newTimestamp,
294
- });
295
- }
296
- else {
297
- logger.debug("Skipped checkpoint update (timestamp not newer)", {
298
- laborTicketRef: result.laborTicketRef,
299
- currentCheckpoint: currentTimestamp,
300
- ticketTimestamp: newTimestamp,
301
- });
302
- }
303
- }
304
352
  }
305
353
  //# sourceMappingURL=nats-labor-ticket-listener.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nats-labor-ticket-listener.js","sourceRoot":"","sources":["../../../src/services/data-sync-service/nats-labor-ticket-listener.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nats-labor-ticket-listener.js","sourceRoot":"","sources":["../../../src/services/data-sync-service/nats-labor-ticket-listener.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { MMApiClient } from "./mm-api-service.js";
2
2
  import type { MMReceiveLaborTicketReason, MMReceiveLaborTicketWorkOrderOperation } from "./types/receive-types.js";
3
- import { MMSendPerson, MMSendResource, MMSendPart, MMSendPartOperation, MMSendWorkOrder, MMSendWorkOrderOperation, MMSendReason, MMSendLaborTicket, MMSendWorkOrderBatch } from "./types/send-types.js";
3
+ import { MMSendPerson, MMSendResource, MMSendPart, MMSendPartOperation, MMSendWorkOrder, MMSendWorkOrderOperation, MMSendWorkOrderOperationLaborTicketSync, MMSendReason, MMSendLaborTicket, MMSendWorkOrderBatch } from "./types/send-types.js";
4
4
  import type { MMApiBaseResponse, MM200NonLaborTicketResponse, MM200LaborTicketResponse, MM207NonLaborTicketResponse, MM207LaborTicketResponse, MM500NonLaborTicketException, MM500LaborTicketException, MMGraphQLResourceResponse, MMGraphQLWorkOrderResponse, MMMachineGroupsResponse } 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";
@@ -21,11 +21,11 @@ export type { MMReceiveLaborTicketReason, MMReceiveLaborTicketWorkOrderOperation
21
21
  /**
22
22
  * Interface for entities sent to the MM API
23
23
  */
24
- export type { IToRESTApiObject, IToFullApiObject } from "./types/send-types.js";
24
+ export type { IToRESTApiObject, IToFullApiObject, MMSendWorkOrderOperationLaborTicketSyncPatch, MMSendWorkOrderOperationPayload, } from "./types/send-types.js";
25
25
  /**
26
26
  * Classes for entities sent to the MM API
27
27
  */
28
- export { MMSendPerson, MMSendResource, MMSendPart, MMSendPartOperation, MMSendWorkOrder, MMSendWorkOrderOperation, MMSendReason, MMSendLaborTicket, };
28
+ export { MMSendPerson, MMSendResource, MMSendPart, MMSendPartOperation, MMSendWorkOrder, MMSendWorkOrderOperation, MMSendWorkOrderOperationLaborTicketSync, MMSendReason, MMSendLaborTicket, };
29
29
  /**
30
30
  * Batch interfaces for sending multiple related entities
31
31
  */
@@ -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,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,iBAAiB,EACjB,2BAA2B,EAC3B,wBAAwB,EACxB,2BAA2B,EAC3B,wBAAwB,EACxB,4BAA4B,EAC5B,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAC1B,uBAAuB,EACxB,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,iBAAiB,EACjB,2BAA2B,EAC3B,wBAAwB,EACxB,2BAA2B,EAC3B,wBAAwB,EACxB,4BAA4B,EAC5B,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAC1B,uBAAuB,GACxB,CAAC;AAEF;;GAEG;AACH,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACpF,YAAY,EACV,0BAA0B,EAC1B,sCAAsC,GACvC,CAAC;AAEF;;GAEG;AACH,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEhF;;GAEG;AACH,OAAO,EACL,YAAY,EACZ,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,wBAAwB,EACxB,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
+ {"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,iBAAiB,EACjB,2BAA2B,EAC3B,wBAAwB,EACxB,2BAA2B,EAC3B,wBAAwB,EACxB,4BAA4B,EAC5B,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAC1B,uBAAuB,EACxB,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,iBAAiB,EACjB,2BAA2B,EAC3B,wBAAwB,EACxB,2BAA2B,EAC3B,wBAAwB,EACxB,4BAA4B,EAC5B,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAC1B,uBAAuB,GACxB,CAAC;AAEF;;GAEG;AACH,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACpF,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"}