|
- server:
- servlet:
- contextPath: /api
- encoding:
- charset: UTF-8
- enabled: true
- force: true
- port: 8090
- error:
- include-message: always
-
- # PostCompletedDn GRN: runs daily at 00:01, processes all POs with receipt date = yesterday.
- # Set enabled: false to disable. Optional receiptDate: "yyyy-MM-dd" overrides for testing only.
- # m18Grn.createEnabled: M18 GRN PUT/create — false outside production so UAT/dev never posts GRNs.
- scheduler:
- m18Grn:
- createEnabled: false
- postCompletedDnGrn:
- enabled: false
- # receiptDate: # leave unset for production (uses yesterday)
- grnCodeSync:
- enabled: false # set true in prod; backfills grn_code from M18 GET /root/api/read/an
- # Lookback: created from start of (today − N days) through now, missing grn_code. E.g. 4 = last 4 days + today.
- syncOffsetDays: 0
- inventoryLotExpiry:
- enabled: true
-
- # Nav: PO stock_in_line pending/receiving within last N days (see ProductProcessService for 工單 QC/上架:今日+昨日).
- fpsms:
- purchase-stock-in-alert:
- lookback-days: 7
-
- spring:
- servlet:
- multipart:
- max-file-size: 500MB
- max-request-size: 600MB
- jpa:
- hibernate:
- naming:
- physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
- database-platform: org.hibernate.dialect.MySQL8Dialect
- properties:
- hibernate:
- dialect:
- storage_engine: innodb
-
- # JWT: access token expiry and refresh token expiry. Frontend should call /refresh-token before access token expires.
- # Signing key must be STABLE across server restarts (do not use a random key per boot). Override with env JWT_SECRET in production.
- jwt:
- expiration-minutes: 14400 # access token: 10 days (default); override in application-prod for shorter session
- refresh-expiration-days: 30 # refresh token validity (days)
- secret: ${JWT_SECRET:fpsms-dev-jwt-signing-secret-change-for-production-use-long-random-JWT_SECRET}
-
- logging:
- config: 'classpath:log4j2.yml'
-
- # Optional NGPCL gateway: receives the same bytes as /plastic/download-onpack-qr-text (Content-Type: application/zip).
- # Leave empty to disable; set NGPCL_PUSH_URL in production if you expose an HTTP receiver for the lemon OnPack ZIP.
- ngpcl:
- push-url: ${NGPCL_PUSH_URL:}
-
- # Laser Bag2 (/laserPrint) auto-send: same as listing + TCP send using DB LASER_PRINT.host / port / itemCodes.
- # Scheduler is off by default. limit-per-run: max job orders per tick (1 = first matching only); 0 = all matches (heavy).
- # sends-per-job: TCP payloads per job order per tick (1 = single send; each send may retry once on failure inside sendLaserBag2Job).
- laser:
- bag2:
- auto-send:
- enabled: false
- interval-ms: 60000
- limit-per-run: 1
- sends-per-job: 1
- delay-between-sends-ms: 3000
-
- bom:
- import:
- temp-dir: ${java.io.tmpdir}/fpsms-bom-import
-
- m18:
- config:
- grant-type: password
- client-id: M2Y1OGYxMmQtZDRiOS00OTA4LTgyNTktZDRkNzEzNWVkMzRm
- client-secret: M2Y2YjQzYzQtZTc2Mi00OTFhLTkwYmItYmJhMzFjZjEyYmY5
- username: testingMTMS
- password: db25f2fc14cd2d2b1e7af307241f548fb03c312a
- base-url: https://toa.m18saas.com/jsf/rfws
- base-url-uat: https://toauat.m18saas.com/jsf/rfws
- base-password: qwer1234
- 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
|