조직과 자산
조직과 자산 계층
에너지 데이터는 "어디서 썼는가"가 붙어야 의미가 생깁니다. 공장 전체 사용량만 있으면 현장은 무엇을 고쳐야 할지 모릅니다. 그래서 에너지 플랫폼은 계측보다 먼저 조직과 자산 계층을 등록합니다.
이 계층은 집계의 grp_type이 되고, 기준선의 적용 대상이 되고, 알람의 대상이 되고, 보고서의 목차가 됩니다. 한 번 잘못 잡으면 위에 쌓는 모든 기능이 같이 흔들립니다.
1. 전체 계층
회사 (company)
├─ 부서 (department) ← 사용자 소속
└─ 사업장 (plant)
└─ 구역 (plant_area) ← 계층(parent_id), 동/라인/변전실
└─ 자산 (asset)
├─ 공정 (process)
└─ 유틸리티 (utility)
└─ 설비 (equipment)
└─ 계기 (meter) ← equipment_meter 로 N:N
| 계층 | 의미 | 에너지 관점 |
|---|---|---|
| company | 법인, 고객사 | 탄소 보고, 권한 경계 |
| plant | 사업장, 공장 | 요금 계약(수전점), 요금제 매핑 |
| plant_area | 구역 | 동, 라인 단위 사용량 |
| asset | 공정 / 유틸리티 | 에너지가 모이는 단위 |
| equipment | 설비 | 컴프레서 1호기, 냉동기 2호기 |
| meter | 계기 | 값이 실제로 생기는 지점 |
2. 회사 유형과 회사 관계
에너지 플랫폼은 한 회사만 쓰지 않습니다. 에너지를 쓰는 회사, 설비를 공급하는 회사, 플랫폼을 운영하는 회사가 같이 들어옵니다.
| 유형 | 예시 | 프로필 |
|---|---|---|
| 수요처 (Demand) | 공장, 건물 소유 고객사 | demand_company_profile |
| 공급사 (Supplier) | 설비 공급, 시공사 | supplier_company_profile |
| 운영사 (Operator) | 플랫폼 운영, 관제 | operator_company_profile |
company.company_type_id로 유형을 구분하고, 유형별 상세는 프로필 테이블로 분리합니다company_relation에 수요처-공급사 관계, 계약 코드, 계약 기간, 서비스 범위를 둡니다- 공급사 사용자는 계약된 수요처 데이터만 봐야 하므로, 관계 테이블이 권한 필터의 기준이 됩니다
3. 회사별 기간 정책
"한 주는 언제 시작하는가", "회계연도는 몇 월부터인가"는 회사마다 다릅니다.
| 컬럼 | 설명 |
|---|---|
| period_type | WEEK / MONTH / YEAR |
| start_weekday | 주 시작 요일 |
| start_month, start_day | 연/월 시작 기준 |
| timezone | 기준 타임존 |
| effective_from, effective_to | 적용 기간 |
company_period_policy를 두면 집계 배치와 보고서가 같은 기준으로 기간을 자릅니다. 하드코딩으로 "월요일 시작"을 박아두면 일요일 시작 고객이 들어올 때 집계를 다시 만들어야 합니다.
4. 구역 (plant_area)
parent_id로 무한 계층을 표현합니다 (A동 → 1층 → 조립라인)area_type_id로 동, 층, 라인, 변전실 등을 구분합니다- 구역 단위 집계는 하위 계기를 모아 계산하므로, 계층 변경 시 재집계가 필요합니다
5. 자산: 공정과 유틸리티
자산(asset)은 공통 테이블이고, 공정과 유틸리티는 1:1 확장 테이블입니다.
| 구분 | 테이블 | 예시 | 핵심 지표 |
|---|---|---|---|
| 공정 | process | 도장, 프레스, 사출 | 생산량 대비 원단위 |
| 유틸리티 | utility | 압축공기, 냉동, 보일러, 공조 | 비전력, 효율 |
- 공정 에너지는 생산 계획에 따라 움직이고, 유틸리티 에너지는 공정을 받쳐줍니다
- 절감 프로젝트는 대부분 유틸리티(컴프레서 교체, 인버터 적용)에서 시작합니다
6. 설비 (equipment)
| 컬럼 | 설명 |
|---|---|
| equipment_code | 설비 코드 |
| plant_id, area_id, asset_id | 소속 |
| equipment_type_id | 컴프레서, 펌프, 냉동기 등 |
| eq_group_id | 설비 그룹 |
| status_id | 가동, 정지, 폐기 (공통코드 EQUIPMENT_STATUS) |
설비 유형별 고유 속성은 확장 테이블로 둡니다. 예를 들어 컴프레서(equipment_compressor)는 설정 압력, 명판 압력, 명판 유량을 가집니다. 명판 유량은 비전력 기준선과 효율 계산의 근거가 됩니다.
7. 설비-계기 매핑
equipment_meter
- equipment_id
- meter_id
- ratio (기본 1.0)
- 한 계기가 설비 여러 대를 물면 ratio로 나눕니다 (예: 0.5 / 0.5)
- 한 설비에 전력 계기와 유량 계기가 같이 붙을 수 있습니다
- 계기가 교체되어도 설비는 그대로입니다. 매핑을 바꾸는 것이지 설비를 새로 만들지 않습니다
8. 상위 합계 규칙
상위 계층 사용량을 구하는 방법은 두 가지입니다.
| 방식 | 설명 | 주의 |
|---|---|---|
| 하위 합산 | 하위 계기를 모두 더함 | 미계측 부하가 빠짐 |
| 대표 계기 | 상위 메인 계기 하나 | 하위와 같이 더하면 이중 가산 |
어느 방식인지 계층마다 명시하고, 화면에서 "메인 - 하위 합계 = 미계측"을 보여주면 현장 신뢰가 올라갑니다.
9. 등록 순서
- 회사, 회사 유형, 회사 관계
- 기간 정책
- 사업장, 요금제 매핑
- 구역 계층
- 자산 (공정 / 유틸리티)
- 설비, 설비 확장 속성
- 계기, 설비-계기 매핑
- 필자 생각: 마스터 등록을 화면 하나하나로 받으면 오픈 직전에 수백 건을 입력하느라 일정이 밀립니다. 엑셀 일괄 업로드를 초기 범위에 꼭 넣으세요.