/*
 * rc_dbio.h - rc (대사) 모듈 DB 접근 계층 (librcdbio.a).
 * ECPG (EXEC SQL) 함수들을 정적 라이브러리로 묶어 rc_svr / rc 배치에 링크한다.
 * 호출자의 XA 브랜치/커넥션에서 수행되며 EXEC SQL CONNECT 는 없다.
 * 반환 규약: 0 = ok, -1 = SQL error (호출자가 sqlca 도 확인 가능).
 */
#ifndef RC_DBIO_H
#define RC_DBIO_H

/* 대사 로그 */
long rcdb_next_match_id(void);
long rcdb_insert_match(long pid, const char *mtype, long amount,
                       const char *status, const char *bizdate);
int  rcdb_update_match_status(long pid, const char *from_status, const char *to_status);
long rcdb_count_match(const char *bizdate, const char *status);

/* 미대사 / 예외 */
long rcdb_count_unmatched(const char *bizdate);
long rcdb_insert_exception(long pid, const char *reason, const char *bizdate);
int  rcdb_resolve_exception(long pid);

/* 원장 연계 + 요약 upsert */
long rcdb_insert_ledger(long pid, const char *type, long amount, const char *bizdate);
int  rcdb_upsert_summary(const char *bizdate, long matched, long unmatched, long gross);

#endif /* RC_DBIO_H */
