diff --git a/__pycache__/config.cpython-312.pyc b/__pycache__/config.cpython-312.pyc index 596e410..344f6e5 100644 Binary files a/__pycache__/config.cpython-312.pyc and b/__pycache__/config.cpython-312.pyc differ diff --git a/queries/__pycache__/__init__.cpython-312.pyc b/queries/__pycache__/__init__.cpython-312.pyc index 2d5920d..18235de 100644 Binary files a/queries/__pycache__/__init__.cpython-312.pyc and b/queries/__pycache__/__init__.cpython-312.pyc differ diff --git a/queries/__pycache__/v1_pharmit3000.cpython-312.pyc b/queries/__pycache__/v1_pharmit3000.cpython-312.pyc index 80dee4c..9d18bf1 100644 Binary files a/queries/__pycache__/v1_pharmit3000.cpython-312.pyc and b/queries/__pycache__/v1_pharmit3000.cpython-312.pyc differ diff --git a/queries/__pycache__/v2_pmplus20.cpython-312.pyc b/queries/__pycache__/v2_pmplus20.cpython-312.pyc index 9e3e6ff..08f241c 100644 Binary files a/queries/__pycache__/v2_pmplus20.cpython-312.pyc and b/queries/__pycache__/v2_pmplus20.cpython-312.pyc differ diff --git a/queries/v1_pharmit3000.py b/queries/v1_pharmit3000.py index dc19f22..1aa3010 100644 --- a/queries/v1_pharmit3000.py +++ b/queries/v1_pharmit3000.py @@ -69,6 +69,9 @@ def get_sales_stats(date_from: str, date_to: str) -> dict: m.PRICE_P, -- 진짜 수납액: PRICE_N + 선별급여/상한제초과 (PS_Main_Sub) (m.PRICE_N + ISNULL(s.SE_PRICE_P, 0)) AS PRICE_N, + -- 선별급여 (QT-POS 동기화) + ISNULL(s.SE_PRICE_P, 0) AS SE_PRICE_P, + ISNULL(s.SE_PRICE_C, 0) AS SE_PRICE_C, ISNULL(n.Appr_Gubun, '') AS Appr_Gubun, ISNULL(n.nAPPROVAL_NUM, '') AS nAPPROVAL_NUM FROM PM_PRES..PS_MAIN m @@ -103,6 +106,8 @@ def get_sales_stats(date_from: str, date_to: str) -> dict: price_c = int(r.get('PRICE_C') or 0) price_p = int(r.get('PRICE_P') or 0) price_n = int(r.get('PRICE_N') or 0) + se_price_p = int(r.get('SE_PRICE_P') or 0) + se_price_c = int(r.get('SE_PRICE_C') or 0) appr_gubun = str(r.get('Appr_Gubun') or '') order_name = str(r.get('OrderName') or '기타') panum = str(r.get('PaNum') or '') @@ -116,10 +121,13 @@ def get_sales_stats(date_from: str, date_to: str) -> dict: nonins_drug = drug_t4 else: ins_prep, ins_drug = s_prep, price_t - s_prep - nonins_prep = max(0, price_n - drug_t4 - price_p) if drug_t4 > 0 else 0 + nonins_prep = max(0, price_n - drug_t4 - se_price_p - price_p) if drug_t4 > 0 else 0 nonins_drug = drug_t4 - args = (sales_amt, ins_prep, ins_drug, nonins_prep, nonins_drug, 0, price_c, price_p, price_n) + # 청구액 = PRICE_C + SE_PRICE_C (선별급여 보험부담분) + claim_amt = price_c + se_price_c + + args = (sales_amt, ins_prep, ins_drug, nonins_prep, nonins_drug, 0, claim_amt, price_p, price_n, se_price_p) # 전체 _add(result['total'], *args) @@ -167,11 +175,11 @@ def get_sales_stats(date_from: str, date_to: str) -> dict: def _empty_row(): return dict(cnt=0, sales_amt=0, ins_prep=0, ins_drug=0, nonins_prep=0, nonins_drug=0, nonins_margin=0, - claim_amt=0, copay=0, receipt=0) + claim_amt=0, copay=0, receipt=0, se_price_p=0) def _add(d, sales_amt, ins_prep, ins_drug, nonins_prep, nonins_drug, - nonins_margin, claim_amt, copay, receipt): + nonins_margin, claim_amt, copay, receipt, se_price_p=0): d['cnt'] += 1 d['sales_amt'] += sales_amt d['ins_prep'] += ins_prep @@ -182,6 +190,7 @@ def _add(d, sales_amt, ins_prep, ins_drug, nonins_prep, nonins_drug, d['claim_amt'] += claim_amt d['copay'] += copay d['receipt'] += receipt + d['se_price_p'] += se_price_p def _calc_age(panum: str, ref_date: date) -> int | None: