package com.zioinfo.mes.ai;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
/**
* GUARDiA MES AI 서비스 — 8개 제조 AI 기능, 전부 Ollama 온프레미스 + Java 폴백.
*
*
보안 불변 규칙: 외부 AI API 금지. Ollama 미가용 시 모든 메서드가 규칙기반/통계 폴백으로 동작한다.
*
* - 불량 원인 분석 — 공정/설비/자재 상관 → 추정 원인
* - 수요·생산량 예측 — 실적/계획 추세(이동평균 폴백)
* - 설비 예지보전 — 가동/비가동 패턴 이상 → 정비 권고
* - SPC 이상 감지 — 관리한계 이탈·연속런·추세
* - 작업지시/재고 자연어 조회 — Text→필터
* - 검사 판정 보조 — 측정값 vs 스펙 자동 판정
* - 재고 최적화·안전재고 추천
* - 생산 일정 최적화 제안
*
*/
@Slf4j
@Service
@RequiredArgsConstructor
public class AiService {
private final OllamaClient ollama;
public boolean ollamaAvailable() {
return ollama.available();
}
// 1. 불량 원인 분석 (공정/설비/자재 상관)
public Map defectRootCause(String defectCode, List