# ================================
# ERPAuto 配置模板
# ================================
# 部署说明：
# 1. 复制此文件为 config.yaml
# 2. 根据实际环境修改配置值
# 3. 设置 database.activeType 为 mysql、sqlserver 或 postgresql
# ================================
# 注意：ERP 认证信息存储在数据库 (dbo_BIPUsers) 中，按用户管理
# ================================

database:
  activeType: mysql

  mysql:
    host: <MYSQL_HOST>
    port: 3306
    database: <DATABASE_NAME>
    username: <USERNAME>
    password: <PASSWORD>
    charset: utf8mb4

  sqlserver:
    server: <SQL_SERVER_HOST>
    port: 1433
    database: <DATABASE_NAME>
    username: <USERNAME>
    password: <PASSWORD>
    driver: 'ODBC Driver 18 for SQL Server'
    trustServerCertificate: true

  postgresql:
    host: <PG_HOST>
    port: 5432
    database: <DATABASE_NAME>
    username: <USERNAME>
    password: <PASSWORD>
    maxPoolSize: 10

paths:
  dataDir: './data/'
  defaultOutput: 'output.xlsx'
  validationOutput: 'validation-result.xlsx'

extraction:
  batchSize: 100
  verbose: true
  autoConvert: true
  mergeBatches: true
  enableDbPersistence: true
  headless: true # 浏览器无头模式，true=后台运行，false=显示浏览器窗口（调试用）

validation:
  dataSource: database_full
  batchSize: 2000
  matchMode: substring
  enableCrud: false
  defaultManager: ''

orderResolution:
  tableName: ''
  productionIdField: ''
  orderNumberField: ''

cleaner:
  queryBatchSize: 100
  processConcurrency: 1
  sessionRefreshOrderThreshold: 160 # 会在 batch 边界检查；达到或超过阈值后，在当前 batch 完成后重建浏览器会话
  enableRowProtection: true # 行号保护：禁止删除行号 2000-7999 范围内的物料，关闭后不再检查行号范围

logging:
  level: info
  auditRetention: 30
  appRetention: 14

# Seq 日志聚合服务配置（可选，用于集中管理日志）
seq:
  enabled: false # 设置为 true 启用 Seq 日志发送
  serverUrl: 'http://localhost:5341' # Seq 服务器地址
  apiKey: '' # 可选：API key 用于认证
  batchPostingLimit: 50 # 每批次最大日志条目数
  period: 2000 # 发送间隔 (毫秒)
  queueLimit: 10000 # 本地队列最大容量
  maxRetries: 3 # 失败重试次数

# RustFS 对象存储配置（用于持久化报告）
rustfs:
  enabled: false # 设置为 true 启用 RustFS 上传
  endpoint: 'http://192.168.110.114:9000' # RustFS 服务器地址
  accessKey: '<YOUR_ACCESS_KEY>' # 访问密钥
  secretKey: '<YOUR_SECRET_KEY>' # 密钥
  bucket: 'erpauto' # 存储桶名称
  region: 'us-east-1' # 区域（S3 兼容，默认即可）

# 便携版自动更新配置
update:
  enabled: false
  allowDevMode: false
  endpoint: 'http://192.168.110.114:9000'
  accessKey: '<YOUR_ACCESS_KEY>'
  secretKey: '<YOUR_SECRET_KEY>'
  bucket: 'erpauto'
  region: 'us-east-1'
  basePrefix: 'updates/win-portable'
  checkIntervalMinutes: 30
  maxAdminHistoryPerChannel: 10
