2.6 KiB
2.6 KiB
A4 약제비 영수증/납입확인서 SQL 필드 메모
확인된 테이블/필드
주요 금액 집계는 PM_BASE..CD_SELL_MASTE 계열에서 확인했습니다.
-- 샘플 형태. 실제 조건/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 패턴
디컴파일 문자열에서는 다음 계열의 흐름이 보입니다.
-- 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 단위 미세 조정.