# 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

# 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