package kr.xit.core.biz.batch.service;

import java.util.List;
import java.util.Optional;
import kr.xit.core.biz.batch.model.BatchCmmDTO.BatchCmmRequest;
import kr.xit.core.biz.batch.model.BatchCmmDTO.BatchLock;

/**
 * <pre>
 * description :
 *
 * packageName : kr.xit.core.biz.service
 * fileName    : IBatchCmmService
 * author      : limju
 * date        : 2023-05-18
 * ======================================================================
 * 변경일         변경자        변경 내용
 * ----------------------------------------------------------------------
 * 2023-05-18    limju       최초 생성
 *
 * </pre>
 */
public interface IBatchCmmService {
    Optional<BatchLock> findById(final String instanceId);
    void addBatchLock(final BatchLock dto);
    void modifyBatchLock(final BatchLock dto);

    void addBatchLog(final BatchLock dto);
    void modifyBatchLog(final BatchLock dto);

    //--------------------------------------------------------------
    // 배치 관리
    //--------------------------------------------------------------
    List<BatchLock> findBatchLocks();
    String execBatch(final BatchCmmRequest reqDTO);
}
