package go.kr.project.api.mapper;

import go.kr.project.api.model.CarLedgerFrmbkDtlVO;
import go.kr.project.api.model.CarLedgerFrmbkVO;
import org.apache.ibatis.annotations.Mapper;

/**
 * 자동차 등록 원부(갑) Mapper
 */
@Mapper
public interface VmisCarLedgerFrmbkMapper {

    // ID 시퀀스
    String selectNextCarLedgerFrmbkId();
    String selectNextCarLedgerFrmbkDtlId();

    // 마스터 INSERT/UPDATE/SELECT
    int insertCarLedgerFrmbk(CarLedgerFrmbkVO vo);
    int updateCarLedgerFrmbk(CarLedgerFrmbkVO vo);
    CarLedgerFrmbkVO selectCarLedgerFrmbkById(String carLedgerFrmbkId);

    // 상세 INSERT (단건)
    int insertCarLedgerFrmbkDtl(CarLedgerFrmbkDtlVO vo);

    // 편의: 상세 일괄 (MyBatis foreach를 XML에서 사용할 수도 있으나, 여기서는 단건 호출을 반복)

    /**
     * txId로 CAR_FFNLG_TRGT_ID를 업데이트합니다. (지연/미필 공통)
     *
     * @param txId 트랜잭션 ID
     * @param carFfnlgTrgtId 과태료 대상 ID (지연 또는 미필)
     * @return 업데이트된 행 수
     */
    int updateCarFfnlgTrgtIdByTxId(String txId, String carFfnlgTrgtId);
}
