# A4 약제비 영수증/납입확인서 SQL 필드 메모 ## 확인된 테이블/필드 주요 금액 집계는 `PM_BASE..CD_SELL_MASTE` 계열에서 확인했습니다. ```sql -- 샘플 형태. 실제 조건/union은 PIT 내부 로직에 따라 P_GUBUN, PRINTCHK, 기간 조건이 붙습니다. SELECT CUSCODE, PRESERIAL, PREPASS, INDATE, PANAME, PANUM, TOT_C, CHUNG_C, BON_C, CARD_C, CHASH_C, PAPER_C, BI_PRICE, BI_CNT FROM PM_BASE..CD_SELL_MASTE WHERE CUSCODE = :cuscode AND PRESERIAL = :preserial; ``` ## 납입확인서 계열에서 관찰된 union 패턴 디컴파일 문자열에서는 다음 계열의 흐름이 보입니다. ```sql -- P_GUBUN='4' 계열: SALE_MAIN 조인 SELECT T1.INDATE, T1.P_GUBUN, T1.TOT_C, T1.CARD_C, T1.CHASH_C, T1.PAPER_C, '0' AS CHUNG_C, '0' AS BON_C, T1.BON_C AS BI_PRICE, T1.BI_MONEY_2 AS BI_BON, T1.BON_C AS BI_CNT FROM PM_BASE..CD_SELL_MASTE T1 LEFT JOIN SALE_MAIN T2 ON T1.CUSCODE = T2.SL_CD_CUSTOM AND T1.PRESERIAL = T2.SL_NO_ORDER WHERE T1.CUSCODE = :cuscode AND T1.INDATE BETWEEN :from_yyyymmdd AND :to_yyyymmdd AND T1.P_GUBUN = '4' AND T1.PRINTCHK = '1' UNION ALL -- P_GUBUN='5' 계열: PS_MAIN 조인 SELECT T1.INDATE, T1.P_GUBUN, T1.TOT_C, T1.CARD_C, T1.CHASH_C, T1.PAPER_C, T1.CHUNG_C AS CHUNG_C, T1.BON_C AS BON_C, BI_MONEY AS BI_PRICE, BI_MONEY_2 AS BI_BON, T1.BON_C + T1.BI_MONEY + T1.BI_MONEY_2 AS BI_CNT FROM PM_BASE..CD_SELL_MASTE T1 LEFT JOIN PM_PRES..PS_MAIN AS T2 ON T1.PRESERIAL = T2.PRESERIAL WHERE T1.INDATE BETWEEN :from_yyyymmdd AND :to_yyyymmdd AND T1.P_GUBUN = '5' AND T1.PRINTCHK = '1' ORDER BY P_GUBUN, INDATE; ``` ## QuickReport 객체 매핑 | 객체명 | 필드 | 비고 | |---|---|---| | `Q_PreSerial` | `PRESERIAL` | 영수증번호 | | `Q_paname` | `PANAME` | 환자성명 | | `Q_InDate` | `INDATE` | 조제일자 | | `Q_Price_A` | `TOT_C` | 약제비총액 | | `Q_Price_p` | `BON_C` | 본인부담금 | | `Q_Price_c` | `CHUNG_C` | 보험자부담금 | | `Q_s_FastMon` | `BI_PRICE` | 비급여/전액본인부담 | | `Q_Price_n` | 계산값 | 수납금액 | | `Q_CardPrice` | `CARD_C` | 카드금액 | | `Q_CashPrint` | `PAPER_C` | 현금영수증/지류 계열 | | `Q_Chah` | `CHASH_C` | 현금 계열 | | `Q_PersonNum` | `PANUM` | 마스킹 필수 | ## 남은 확인 포인트 - 실제 약국 master 정보: 요양기관기호, 상호, 사업자번호, 주소, 대표자/약사명, 전화번호. - `P_GUBUN`별 금액 의미 차이. - `PRINTCHK`와 납입확인서 포함 여부. - 원본 PIT 출력물과 pixel/point 단위 미세 조정.