본문으로 건너뛰기

배치공정

이 기능은 무엇인가요?​

배치공정은 ISA-88(S88) 표준에 기반한 배치 생산 실행을 관리하는 기능입니다. 프로시저→유닛프로시저→오퍼레이션→페이즈의 계층적 구조로 배치를 실행하고, 원료 투입(배합)·배치 계보·캠페인 관리·예외 처리까지 포괄합니다.

비즈니스 가치:

  • ISA-88 표준 준수로 배치 공정 체계화
  • 배합 투입 검증(바코드/저울)으로 투입 오류 방지
  • 배치 계보 추적으로 전방향/역방향 이력 추적
  • 캠페인 관리로 연속 배치 생산 최적화

업무 프로세스 개요​

포함된 화면​

화면용도주 사용자
배치 실행기록데이터 관리담당자
ISA-88 Phase 관리데이터 관리담당자
배합 투입기록데이터 관리담당자
ISA-88 Procedure 관리데이터 관리담당자
Unit Procedure 관리데이터 관리담당자
ISA-88 Operation 관리데이터 관리담당자
배치 계보추적데이터 관리담당자
배치캠페인관리데이터 관리담당자
Phase예외처리데이터 관리담당자

업무 자동화​

안내

화면에서 데이터를 저장하면 시스템이 관련된 다른 화면의 데이터를 자동으로 갱신합니다. 예를 들어 배치 실행을 시작하면 첫 번째 단계(Phase)가 자동으로 시작되고, 모든 단계가 완료되면 배치가 자동 완료됩니다.

➡️ 자동 처리​

배치 실행 시작 → 첫 번째 단계 자동 시작​

[배치 실행기록] 화면에서 배치를 '진행중'으로 변경하면 첫 번째 단계(Phase)가 자동으로 시작됩니다.

  • 별도로 첫 단계를 수동 시작할 필요가 없습니다

배치 단계 전체 완료 → 배치기록 자동 완료​

배치에 포함된 모든 단계(Phase)가 완료되면 배치기록이 자동으로 '완료' 상태가 됩니다.

배치기록 완료 → 작업지시 양품수량 가산​

배치가 완료되면 연결된 작업지시의 양품수량이 배치 생산수량만큼 자동으로 증가합니다.

  • 배치 실적이 작업지시에 자동 반영되므로 별도 수작업 입력이 필요 없습니다

🚫 제약 조건​

배치 단계 실패 → 배치 전체 자동 실패​

배치 단계 중 하나라도 실패하면 배치 전체가 자동으로 '실패' 상태로 전환됩니다.

  • 왜: 배치공정은 연속 공정이므로 중간 단계의 실패는 전체 배치 품질에 영향을 미칩니다
  • 조치 방법: [Phase예외처리] 화면에서 예외 원인을 확인하고, 필요 시 새 배치를 생성하여 재실행합니다

시작하기​

위 화면 목록에서 필요한 기능을 선택하여 시작하세요.


📋 기술 참고 정보 (개발자/관리자용)

데이터 관계도​

관련 워크플로우​

  • 배치실행 시작 (startEvent): -
  • 레시피 로드 (autoTask): 배치프로시저 조회, process_recipes 매핑
  • 전제조건 점검 (autoTask): 자재/설비상태/세정완료 점검
  • 원료투입 확인 (humanTask): 배치작업자가 바코드를 스캔하여 원료 투입을 확인합니다
  • 페이즈 순차실행 (autoTask): 배치 페이즈를 순차적으로 실행하고 PID 파라미터를 모니터링합니다
  • 공정파라미터 모니터링 (autoTask): 페이즈 실행 중 공정파라미터가 제한 범위 내인지 모니터링합니다
  • 공정 중 검사 (IPC) (humanTask): 품질검사원이 공정 중 검사를 수행합니다
  • 예외 조치 (humanTask): 배치관리자가 예외 상황에 대한 조치를 수행합니다
  • 최종 품질검사 (humanTask): 품질검사원이 배치 최종 품질검사를 수행합니다
  • 배치 완료 (autoTask): 배치를 완료 처리하고 계보 추적 레코드를 생성합니다

테이블 요약​

배치기록 (batch_records)​

컬럼명한글명타입설명
batch_number배치번호VARCHAR *필수 *고유-
recipe_id레시피IDUUID (FK)recipe_parameters 참조
product_id품목IDUUID (FK)ERP items 크로스 참조
batch_size배치크기DECIMAL *필수-
batch_size_unit배치단위VARCHAR-
status상태ENUM(planned, in_progress, hold, completed, failed, cancelled) *필수-
planned_start계획시작TIMESTAMP-
planned_end계획종료TIMESTAMP-
actual_start실제시작TIMESTAMP-
actual_end실제종료TIMESTAMP-
work_order_id작업지시IDUUID (FK)work_orders 참조
line_id생산라인IDUUID (FK)production_lines 참조
operator_id담당작업자IDUUID (시스템참조)-
yield_actual실제수율DECIMAL-
yield_expected기대수율DECIMAL-
production_order_id생산오더IDUUID (FK)ERP production_orders 크로스참조 — 배치공정 실적보고 경로
batch_notes배치비고TEXT-

배치단계 (batch_phases)​

컬럼명한글명타입설명
batch_id배치IDUUID (FK) *필수batch_records 참조
phase_seq단계순서INT *필수-
phase_name단계명VARCHAR *필수-
phase_type단계유형ENUM(charging, mixing, heating, cooling, holding, reaction, transfer, cleaning, sampling, discharge) *필수-
status상태ENUM(pending, in_progress, completed, skipped, failed) *필수-
planned_duration_min계획소요시간(분)DECIMAL-
actual_duration_min실제소요시간(분)DECIMAL-
target_params목표파라미터JSONB온도, 압력, 속도 등 목표값 (JSON)
actual_params실측파라미터JSONB실제 측정값 (JSON)
equipment_id설비IDUUID (FK)equipment 참조
operator_id작업자IDUUID (시스템참조)-
started_at시작시각TIMESTAMP-
completed_at완료시각TIMESTAMP-
deviation_notes일탈비고TEXT규격 이탈 시 비고

배합투입 (batch_material_charges)​

컬럼명한글명타입설명
batch_id배치IDUUID (FK) *필수batch_records 참조
phase_id단계IDUUID (FK)batch_phases 참조
material_id자재IDUUID (FK)ERP items 크로스 참조
material_lot_id자재LOT_IDUUID (FK)lot_tracking 크로스 참조
planned_qty계획투입량DECIMAL *필수-
actual_qty실제투입량DECIMAL-
unit단위VARCHAR-
charge_order투입순서INT *필수-
tolerance_min허용하한DECIMAL-
tolerance_max허용상한DECIMAL-
is_within_tolerance허용범위내BOOLEAN-
charged_by_id투입자IDUUID (시스템참조)-
charged_at투입시각TIMESTAMP-
verification_method검증방법ENUM(barcode, manual, scale, flow_meter) *필수-

배치프로시저 (batch_procedures)​

컬럼명한글명타입설명
procedure_code프로시저코드VARCHAR *필수 *고유-
procedure_name프로시저명VARCHAR *필수-
product_id제품IDUUID (FK)제품 참조
version버전INT-
description설명TEXT-
total_unit_procedures유닛프로시저수INT-
estimated_duration_min예상소요시간(분)INT-
status상태ENUM(draft, active, superseded, obsolete) *필수-
approved_by_id승인자IDUUID (시스템참조)-
approved_date승인일DATE-

배치유닛프로시저 (batch_unit_procedures)​

컬럼명한글명타입설명
procedure_id프로시저IDUUID (FK) *필수-
unit_id설비(유닛)IDUUID (FK)-
seq_no순서INT *필수-
unit_procedure_name유닛프로시저명VARCHAR *필수-
description설명TEXT-
estimated_duration_min예상소요시간(분)INT-
status상태ENUM(pending, running, completed, aborted) *필수-

S88오퍼레이션 (batch_operations_s88)​

컬럼명한글명타입설명
unit_procedure_id유닛프로시저IDUUID (FK) *필수-
seq_no순서INT *필수-
operation_name오퍼레이션명VARCHAR *필수-
operation_type오퍼레이션유형ENUM(charge, heat, react, cool, transfer, clean, test, mix, dry, filter) *필수-
target_params목표파라미터JSONB목표 파라미터 JSON
duration_min소요시간(분)INT-
status상태ENUM(pending, running, completed, aborted) *필수-
equipment_id설비IDUUID (FK)-

배치계보추적 (batch_genealogy_traces)​

컬럼명한글명타입설명
batch_id배치IDUUID (FK) *필수batch_records 참조
trace_direction추적방향ENUM(forward, backward) *필수-
parent_batch_id상위배치IDUUID (FK)batch_records 참조 (부모)
child_batch_id하위배치IDUUID (FK)batch_records 참조 (자식)
material_lot자재LOTVARCHAR투입 자재 LOT 번호
quantity_transferred이전수량DECIMAL-
unit단위VARCHAR-
transformation_type변환유형ENUM(split, merge, consume, produce) *필수-
trace_level추적레벨INT계보 트리 깊이
traced_at추적일시TIMESTAMP-

배치캠페인관리 (batch_campaign_management)​

컬럼명한글명타입설명
campaign_code캠페인코드VARCHAR *필수 *고유-
campaign_name캠페인명VARCHAR *필수-
product_id품목IDUUID (FK)ERP items 크로스 참조
planned_batches계획배치수INT *필수-
completed_batches완료배치수INT-
campaign_status캠페인상태ENUM(planned, active, completed, suspended) *필수-
cleaning_between_batches배치간세정BOOLEAN-
max_consecutive_batches최대연속배치수INT-
yield_trend수율추세JSONB배치별 수율 추세 데이터 (JSON)
planned_start_date계획시작일DATE-
planned_end_date계획종료일DATE-
actual_start_date실제시작일DATE-
actual_end_date실제종료일DATE-
manager_id담당자IDUUID (시스템참조)-

Phase예외처리 (phase_exception_handlers)​

컬럼명한글명타입설명
phase_id단계IDUUID (FK) *필수batch_phases 참조
exception_type예외유형ENUM(timeout, limit_violation, equipment_fault, material_shortage, operator_abort) *필수-
handler_action처리동작ENUM(pause, retry, skip, abort, escalate) *필수-
max_retries최대재시도INT-
retry_delay_sec재시도대기(초)INT-
escalation_target_id에스컬레이션대상IDUUID (시스템참조)-
auto_recover_conditions자동복구조건JSONB자동 복구 조건 (JSON)
severity심각도ENUM(low, medium, high, critical) *필수-
is_active사용여부BOOLEAN-
last_triggered_at최종발생일시TIMESTAMP-
trigger_count발생횟수INT-