규칙 관리
규칙 관리는 데이터를 일괄 수정하는 자동화 도구입니다. 코드매핑, 배치 규칙, 단가학습의 세 가지 기능을 통해 반복적인 수작업을 줄이고 데이터 품질을 높일 수 있습니다.
규칙 적용 순서
데이터가 로드되면 시스템이 자동으로 다음 순서대로 규칙을 적용합니다.
| 순서 | 단계 | 설명 | 실행 위치 |
|---|---|---|---|
| 1 | 코드매핑 자동적용 | 과거 이력에서 표준코드 자동 채움 | DB (Supabase RPC) |
| 2 | 마스터 자동매칭 | 마스터 DB 필터 체인으로 표준코드 매칭 | DB (Supabase RPC) |
| 3 | 단가오류 자동수정 | DC/DE/DH 오류의 학습된 단가 비율 적용 | DB (Supabase RPC) |
| 4 | 규격보정 | 표준코드 확정 후 포장수량 기준 규격/수량/단가 재계산 | DB (Supabase RPC) |
| 5 | 규칙엔진 | 사용자 정의 배치 규칙 적용 | 메모리 |
자동 적용이 완료되면 토스트 메시지로 각 단계별 적용 건수가 표시됩니다.
코드매핑
상단 헤더의 코드매핑 버튼을 클릭하면 코드매핑 패널이 열립니다.
코드매핑이란
코드매핑은 제품명과 표준코드(13자리)의 매칭 이력을 관리하는 기능입니다. 사용자가 수동으로 표준코드를 입력하면 해당 제품명-표준코드 쌍이 자동으로 저장됩니다. 이후 동일 제품명의 데이터가 로드되면 저장된 표준코드가 자동으로 채워집니다.
매핑 자동 저장
다음 상황에서 코드매핑이 자동 저장됩니다.
- DataGrid에서 표준코드 셀에 직접 13자리 코드를 입력한 경우
- 코드검색 다이얼로그에서 검색 결과를 선택하여 입력한 경우
- 마스터 자동매칭에서 유일한 표준코드를 찾은 경우
매핑 관리
코드매핑 패널에서 저장된 매핑 목록을 관리할 수 있습니다.
| 기능 | 설명 |
|---|---|
| 목록 조회 | 등록된 모든 제품명-표준코드 매핑 확인 |
| 검색 | 제품명 또는 표준코드로 필터링 |
| 사용 횟수 | 해당 매핑이 자동 적용된 횟수 표시 |
| 최종 사용일 | 마지막으로 자동 적용된 날짜 표시 |
| 삭제 | 불필요하거나 잘못된 매핑 삭제 |
주의: 매핑을 삭제하면 이후 업로드에서 해당 제품명의 표준코드가 자동 채워지지 않습니다. 잘못된 매핑만 삭제하고, 정상적인 매핑은 유지하세요.
배치 규칙
상단 헤더의 규칙관리 버튼(번개 아이콘)을 클릭하면 규칙 관리 다이얼로그가 열립니다.
배치 규칙이란
배치 규칙은 여러 행의 데이터를 조건에 따라 일괄 수정하는 자동화 규칙입니다. 각 규칙은 조건(AND 결합)과 액션으로 구성됩니다.
규칙 생성
- 새 규칙 만들기 버튼을 클릭합니다.
- 규칙명을 입력합니다 (예: “A거래처 표준코드 일괄 변경”).
- 우선순위를 설정합니다 (숫자가 작을수록 먼저 실행, 기본값 100).
- 조건을 추가합니다.
- 액션을 추가합니다.
- 활성화 토글을 설정하고 저장합니다.
조건 설정
조건은 규칙이 적용될 행을 결정합니다. 여러 조건을 추가하면 AND(모두 만족)로 결합됩니다.
| 설정 항목 | 설명 |
|---|---|
| 필드 | 비교할 대상 필드 (제품명, 표준코드, 공급수량, 거래처명 등) |
| 연산자 | 비교 방식 선택 |
| 비교 값 | 조건에 사용할 값 입력 |
사용 가능한 연산자는 다음과 같습니다.
| 연산자 | 의미 | 예시 |
|---|---|---|
| 같음 | 값이 정확히 일치 | 제품명 같음 “타이레놀정500mg” |
| 다름 | 값이 일치하지 않음 | 공급구분 다름 “3” |
| 포함 | 값이 포함됨 | 제품명 포함 “타이레놀” |
| 포함안함 | 값이 포함되지 않음 | 제품명 포함안함 “수출용” |
| 시작 | 값으로 시작 | 표준코드 시작 “880649” |
| 끝 | 값으로 끝남 | 표준코드 끝 “345” |
| 초과 | 숫자가 초과 | 공급수량 초과 “100” |
| 미만 | 숫자가 미만 | 공급단가 미만 “500” |
| 이상 | 숫자가 이상 | 공급수량 이상 “10” |
| 이하 | 숫자가 이하 | 공급단가 이하 “10000” |
| 비어있음 | 값이 없음 | 표준코드 비어있음 |
| 비어있지않음 | 값이 있음 | 접수번호 비어있지않음 |
액션 설정
액션은 조건에 해당하는 행에 적용할 변경 내용입니다.
| 액션 타입 | 설명 | 예시 |
|---|---|---|
| 값설정 | 필드에 지정한 값을 입력 | 표준코드 값설정 “8806497012345” |
| 곱하기 | 필드 값에 숫자를 곱함 | 공급수량 곱하기 “2” |
| 나누기 | 필드 값을 숫자로 나눔 | 공급수량 나누기 “10” |
| 더하기 | 필드 값에 숫자를 더함 | 공급단가 더하기 “100” |
| 빼기 | 필드 값에서 숫자를 뺌 | 공급단가 빼기 “50” |
| 표준코드자동채우기 | 코드매핑/마스터에서 자동 검색 | (값 입력 불필요) |
| 필드복사 | 다른 필드의 값을 복사 | 대상: 표준코드, 원본: 제조번호 |
| 값지우기 | 필드 값을 비움 | 반송사유 값지우기 |
규칙 관리
규칙 목록에서 각 규칙을 관리할 수 있습니다.
| 버튼 | 동작 | 설명 |
|---|---|---|
| 전원 토글 | 활성화/비활성화 | 초록색 = 활성, 회색 = 비활성 |
| 연필 아이콘 | 규칙 편집 | 조건, 액션, 우선순위 수정 |
| 복사 아이콘 | 규칙 복제 | 비활성 상태로 복제본 생성 |
| 휴지통 아이콘 | 규칙 삭제 | 규칙 영구 삭제 |
| 화살표 아이콘 | 상세 보기 | 조건/액션 펼쳐보기 |
적용 시점
배치 규칙은 다음 시점에 적용됩니다.
- 데이터 로드 시: 활성화된 규칙이 우선순위 순서대로 자동 적용됩니다.
- 내보내기 시: 최종 1회 적용됩니다 (내보내기 직전 마지막 가공).
- 현재 선택된 공급구분 탭에 해당하는 규칙만 적용됩니다.
단가학습
상단 헤더의 단가학습 버튼을 클릭하면 단가학습 패널이 열립니다.
단가학습이란
단가학습은 반송코드(DC, DE, DH 오류)가 발생했을 때, 과거에 동일한 표준코드에서 어떤 단가 비율로 수정했는지를 학습하여 자동으로 적용하는 기능입니다.
동작 원리
- 사용자가 반송 건의 단가를 수정하여 문제를 해결합니다.
- 시스템이 원래 단가와 수정된 단가의 비율을 자동 계산합니다.
- 해당 표준코드에 비율이 학습 데이터로 저장됩니다.
- 이후 같은 표준코드에서 동일한 오류가 발생하면 학습된 비율이 자동 적용됩니다.
학습 데이터 관리
단가학습 패널에서 학습된 비율 데이터를 확인하고 관리할 수 있습니다.
| 항목 | 설명 |
|---|---|
| 표준코드 | 학습된 의약품 표준코드 |
| 오류 유형 | DC, DE, DH 중 해당 유형 |
| 학습된 비율 | 원래 단가 대비 수정 비율 |
| 적용 횟수 | 자동 적용된 횟수 |
주의: 잘못된 비율이 학습되면 이후 데이터에도 잘못된 단가가 적용됩니다. 단가학습 패널에서 정기적으로 학습 데이터를 확인하고, 잘못된 항목은 삭제하세요.