{
  "solution": "GUARDiA MES",
  "doc_type": "운영자지침서",
  "out": "C:/GUARDiA/workspace/guardia-mes/doc/mes_운영자지침서_v1.pptx",
  "subtitle": "AI 기반 제조실행시스템 (MES/WMS/QMS) · 지오정보기술 / 2026",
  "design": {"primary":"1F3A5F","accent":"2E86C1","text":"222222","font_ko":"맑은 고딕"},
  "sections": [
    {"type":"table", "title":"1. 설치 / 배포 개요", "headers":["항목","값"], "rows":[
      ["서비스 포트","8013 (단일 JAR)"],
      ["데이터베이스","PostgreSQL — mes_db (전용 계정)"],
      ["AI 엔진","Ollama 온프레미스 (11434, 폴백 내장)"],
      ["배포 방식","Gitea webhook → 자동배포(deploy_server) → systemd 서비스"],
      ["구성","React 빌드 산출물을 backend static에 번들(단일 서비스)"]
    ]},
    {"title":"2. 환경 설정", "bullets":[
      "application.yml: DB 연결(mes_db), 서버 포트(8013), Ollama 엔드포인트 설정",
      "schema-locations: db 스키마 + db/92_uiws_system.sql 병기(mode=always·continue-on-error)",
      "스키마는 멱등 설계(CREATE IF NOT EXISTS / ON CONFLICT DO NOTHING)로 재적용 안전",
      "AI 모델: 서버 RAM 제약 고려해 소형 모델 우선, 실패 시 규칙 기반 폴백 동작",
      "민감 설정(자격증명·비밀번호)은 응답/로그에 노출 금지 — 환경값으로만 주입"
    ]},
    {"type":"table", "title":"3. 권한관리(RBAC) 운영", "headers":["대상","운영"], "rows":[
      ["접근 권한","/api/system/** 는 SUPERADMIN만 접근(403 가드)"],
      ["회원 승인","회원가입 승인 대기 → 운영자가 승인(approved) 처리해야 로그인 허용"],
      ["역할/메뉴","역할 생성 후 역할-메뉴 권한(읽기/쓰기) 매핑"],
      ["기준정보","부서·거래처·공통코드·메뉴 관리 화면에서 유지보수"]
    ]},
    {"title":"4. 백업 / 복구", "bullets":[
      "DB 백업: mes_db 정기 덤프(pg_dump) 및 보관 정책 수립",
      "복구 절차: DB 복원 → 서비스 재기동 → 헬스체크 확인",
      "스키마 멱등 구조로 재배포 시 데이터 손실 없이 누락 테이블 보강",
      "배포 산출물(JAR)·설정 파일은 형상관리(Gitea)로 버전 보존"
    ]},
    {"type":"table", "title":"5. 모니터링 / 헬스체크", "headers":["점검 항목","방법"], "rows":[
      ["서비스 기동","systemd active 상태 및 포트 8013 응답 확인"],
      ["DB 연결","mes_db 연결/쿼리 정상 여부"],
      ["AI 동작","Ollama 응답 또는 폴백 정상 동작 확인"],
      ["로그","에러 로그 점검(스택트레이스는 사용자 응답에 미노출)"]
    ]},
    {"type":"table", "title":"6. 장애 대응", "headers":["증상","조치"], "rows":[
      ["서비스 미기동","로그 확인 → 설정/DB 점검 → 재기동"],
      ["relation does not exist","스키마 멱등 재적용(mode=always) 후 재기동"],
      ["AI 응답 지연/실패","폴백 동작 확인, 모델/메모리 점검(소형 모델 전환 검토)"],
      ["로그인 불가 다수","2FA/메일 발송·승인 게이트 설정 점검"]
    ]},
    {"title":"7. 보안 운영", "bullets":[
      "JWT + 2FA 인증 유지, verify-token 우회 차단 가드 보존",
      "RBAC 가드(SUPERADMIN) 및 회원가입 승인 게이트 상시 점검",
      "임시 비밀번호·자격증명·내부 IP·SSH 정보는 응답/로그에 미노출",
      "외부 API 호출 0 — AI는 온프레미스 Ollama만 사용",
      "감사 관점: 권한 변경·계정 승인 이력 관리"
    ]},
    {"title":"8. 본 차수 운영 반영 사항 (UIMS 이식)", "bullets":[
      "신규 스키마 db/92_uiws_system.sql 적용 필요(권한관리 10테이블, 멱등)",
      "/api/mes/auth/* (로그인 보조 3종) 및 /api/system/* (권한관리) 엔드포인트 추가",
      "프론트 시스템관리 화면 6종은 SUPERADMIN 전용으로 노출",
      "기존 MES 도메인(작업지시·생산실적·SPC·OEE·LOT추적) 회귀 없음(추가만)",
      "@MapperScan으로 신규 system 매퍼 9종 자동 등록 — 별도 설정 불필요"
    ]}
  ]
}
