# Device + printer connectivity monitoring (heartbeats, printer TCP checks). fpsms: monitoring: enabled: true # Session length in production; frontend can call /refresh-token before expiry to stay logged in. jwt: expiration-minutes: 480 # 8 hours access token (was 30 min); increase if users need longer AFK refresh-expiration-days: 7 # Required for stable JWT across restarts; set JWT_SECRET in the deployment environment (long random string). secret: ${JWT_SECRET:fpsms-dev-jwt-signing-secret-change-for-production-use-long-random-JWT_SECRET} spring: datasource: jdbc-url: jdbc:mysql://127.0.0.1:3306/fpsmsdb?useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT%2B8 username: root password: secret hikari: max-lifetime: 1740000 # 29 minutes (1740000 ms) — safe below typical 8-hour default # Or if your wait_timeout is lower (e.g. 10 min), set to e.g. 540000 (9 min) # Other helpful settings: idle-timeout: 600000 # 10 min — evict idle sooner minimum-idle: 5 # Adjust based on your traffic maximum-pool-size: 20 # Tune to your needs connection-test-query: SELECT 1 # Explicit test (good for MySQL) validation-timeout: 5000 # 5 sec scheduler: m18Sync: enabled: true m18Grn: createEnabled: true postCompletedDnGrn: enabled: true # Missing-success GRN retry window: receiptDate (default yesterday) back N days inclusive. E.g. run 27/3 with receiptDate=26/3 and N=6 => 20/3–26/3. retryMissingGrnLookbackDays: 6 grnCodeSync: enabled: true syncOffsetDays: 10 # from (today − 10) 00:00 to now, rows missing grn_code inventoryLotExpiry: enabled: true # One-time DO1 catch-ups (only registered when scheduler.m18Sync.enabled=true — production profile). # skipExistingDo defaults true for catch-up: already-synced/picked DOs are not overwritten. do1CatchUp: enabled: true skipExistingDo: true dDate: "2026-06-17" runAt: "2026-06-17T11:45:00" do1CatchUp2: enabled: true skipExistingDo: true dDate: "2026-06-18" runAt: "2026-06-16T12:05:00" # Laser Bag2 (/laserPrint) TCP auto-send; uses LASER_PRINT host/port/itemCodes from DB and sends first matching job only. laser: bag2: auto-send: enabled: true sends-per-job: 1 m18: config: grant-type: password client-id: Y2EwOTgyMDYtNGUwNS00ZmIxLTgxOWEtOTMxNDExOTA1ZGNi client-secret: N2IzMjY5ZTEtZDIyYy00M2FlLWJhZjktZWU0ODBhYzAyNDA3 username: MTMS2 password: ea5bfbd761dd1b97bc08354d66169155f11ddaf1 base-url: https://toa.m18saas.com/jsf/rfws base-url-uat: https://toauat.m18saas.com/jsf/rfws base-password: 1648414877 supplier: shop-po: P06, P07 oem-po: T62 supplier-not: material-po: P06, P07 beId: toa: 1 pf: 27 pp: 29 seriesId: pp: 26 pf: 33 fa: 2 fb: 3 fc: 4 fd: 5 ff: 6 sc: 27 se: 28 sf: 70 sr: 29