package com.kamco.cd.kamcoback.postgres.repository;

import com.kamco.cd.kamcoback.postgres.entity.MapSheetLearnDataEntity;
import java.util.List;
import java.util.Optional;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface MapSheetLearnDataRepository extends JpaRepository<MapSheetLearnDataEntity, Long> {

  /** 데이터 이름으로 조회 */
  Optional<MapSheetLearnDataEntity> findByDataName(String dataName);

  /** 데이터 경로로 조회 */
  Optional<MapSheetLearnDataEntity> findByDataPath(String dataPath);

  /** 처리 상태별 조회 */
  List<MapSheetLearnDataEntity> findByDataState(String dataState);

  /** 데이터 타입별 조회 */
  List<MapSheetLearnDataEntity> findByDataType(String dataType);

  /** 분석 상태별 조회 */
  List<MapSheetLearnDataEntity> findByAnalState(String analState);

  /** 분석 상태별 개수 조회 */
  long countByAnalState(String analState);

  /** 처리되지 않은 데이터 조회 (data_state가 'PENDING' 또는 null인 것들) */
  List<MapSheetLearnDataEntity> findByDataStateIsNullOrDataState(String dataState);
}
