초기 정리: PIT3000 분석 자료 업로드

- 좌표/SQL/API 분석 문서화
- 재현 스크립트와 예시 응답 추가
- 개인정보/원본 실행파일 제외
This commit is contained in:
2026-06-29 00:27:06 +00:00
commit bde81cdc7e
18 changed files with 3393 additions and 0 deletions

View File

@@ -0,0 +1,102 @@
# 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 단위 미세 조정.