Files
sam-docs/projects/legacy-5130/01_MATERIAL.md
hskwon 08a8259313 docs: 5130 레거시 분석 문서 및 기존 문서 초기 커밋
- 5130 레거시 시스템 분석 (00_OVERVIEW ~ 08_SAM_COMPARISON)
- MES 프로젝트 문서
- API/프론트엔드 스펙 문서
- 가이드 및 레퍼런스 문서
2025-12-04 18:47:19 +09:00

6.0 KiB

자재/재고 (Material/Instock) 분석

개요

  • 디렉토리: /instock/
  • DB 테이블: 자재 유형별 개별 테이블 (i_* 패턴)
  • 주요 기능: LOT 관리, 입고 검사, 자재 추적, 재고 관리

디렉토리 구조

/instock/
├── _request.php           # 요청 파라미터 정의
├── _row.php               # 행 렌더링
├── insert.php             # 데이터 저장
├── list.php               # 자재 목록
├── list_sheet.php         # 시트 형태 목록
├── statistics.php         # 통계
├── i_*.php                # 자재 유형별 입력 폼 (23개)
│   ├── i_EGI155.php       # EGI155 자재
│   ├── i_GIplate.php      # GI 판재
│   ├── i_SUSplate.php     # SUS 판재
│   ├── i_SUScoil.php      # SUS 코일
│   ├── i_angle.php        # 앵글
│   ├── i_anglebottom.php  # 앵글 바텀
│   ├── i_antifireglass.php # 방화 유리
│   ├── i_bendingcoil.php  # 벤딩 코일
│   ├── i_bracket.php      # 브라켓
│   ├── i_cerakwool.php    # 세락울
│   ├── i_controller.php   # 컨트롤러
│   ├── i_fiber.php        # 파이버
│   ├── i_fireproofWire.php # 방화 와이어
│   ├── i_motor.php        # 모터
│   ├── i_platesteel.php   # 판강
│   ├── i_pole.php         # 폴
│   ├── i_recpipe.php      # 각관
│   ├── i_shaft.php        # 샤프트
│   ├── i_sillica.php      # 실리카
│   ├── i_slatcoil.php     # 슬랫 코일
│   ├── i_wire.php         # 와이어
│   ├── i_wireDaehan.php   # 대한 와이어
│   └── i_Fireproof_sealings.php # 방화 씰링
├── fetch_*.php            # AJAX 데이터 조회
└── common/                # 공통 모듈

DB 스키마

자재 공통 테이블 구조

CREATE TABLE i_[자재유형] (
    num INT AUTO_INCREMENT PRIMARY KEY,

    -- LOT 정보
    lot_no VARCHAR(50),              -- LOT 번호
    inspection_date DATE,            -- 검사일
    lotDone DATE,                    -- LOT 완료일

    -- 공급업체 정보
    supplier VARCHAR(100),           -- 공급업체
    manufacturer VARCHAR(100),       -- 제조사

    -- 자재 정보
    item_name VARCHAR(200),          -- 품명
    specification VARCHAR(200),      -- 규격
    unit VARCHAR(20),                -- 단위
    prodcode VARCHAR(50),            -- 제품코드

    -- 수량/가격 정보
    received_qty DECIMAL(15,2),      -- 입고수량
    weight_kg DECIMAL(15,2),         -- 중량(kg)
    purchase_price_excl_vat DECIMAL(15,0), -- 구매단가(부가세 제외)

    -- 참조/이력
    material_no VARCHAR(50),         -- 자재번호
    remarks TEXT,                    -- 비고

    -- 시스템 필드
    searchtag TEXT,                  -- 검색태그 (자동생성)
    update_log TEXT,                 -- 수정이력
    is_deleted TINYINT DEFAULT 0,    -- 삭제플래그

    INDEX idx_lot_no (lot_no),
    INDEX idx_supplier (supplier),
    INDEX idx_item_name (item_name)
);

검색태그 생성 로직

// insert.php에서 searchtag 자동 생성
$searchtag = $lot_no . ' ' .
             $inspection_date . ' ' .
             $supplier . ' ' .
             $item_name . ' ' .
             $specification . ' ' .
             $unit . ' ' .
             $received_qty . ' ' .
             $material_no . ' ' .
             $manufacturer . ' ' .
             $purchase_price_excl_vat . ' ' .
             $weight_kg . ' ' .
             $lotDone . ' ' .
             $prodcode . ' ' .
             $remarks;

자재 유형별 특성

1. 코일 자재

  • 테이블: i_SUScoil, i_bendingcoil, i_slatcoil
  • 특징: 중량(kg) 기반 재고 관리
  • 추가 컬럼: 두께, 폭, 소재

2. 판재 자재

  • 테이블: i_GIplate, i_SUSplate, i_platesteel
  • 특징: 면적(m²) 또는 장 단위 관리
  • 추가 컬럼: 가로, 세로, 두께

3. 부품 자재

  • 테이블: i_motor, i_controller, i_bracket
  • 특징: 개수 단위 관리, 모델별 구분
  • 추가 컬럼: 모델명, 제조번호

4. 구조재

  • 테이블: i_angle, i_pole, i_shaft, i_recpipe
  • 특징: 길이(m) 단위 관리
  • 추가 컬럼: 길이, 단면규격

비즈니스 로직

LOT 관리

  1. LOT 번호 생성: lotnum_generator.php
  2. LOT 완료 처리: lotDone 날짜 설정
  3. LOT 추적: 출하 시 LOT 번호 연결

입고 검사

  1. 자재 입고 시 검사일(inspection_date) 기록
  2. 합격 시 재고에 반영
  3. 불합격 시 반품 처리

가격 관리

  • 구매단가는 부가세 제외 금액 저장
  • 환율/원자재 가격 변동 반영 필요

SAM 마이그레이션 포인트

1. 테이블 통합

-- 5130: 자재 유형별 개별 테이블
i_SUSplate, i_GIplate, i_motor, ...

-- SAM: 단일 테이블 + 카테고리
materials (
    id,
    tenant_id,
    category_id,  -- categories 테이블 참조
    lot_no,
    ...
)

2. 카테고리 계층화

-- SAM: 4단계 카테고리 구조
material_categories (
    id,
    parent_id,
    name,
    level,  -- 1: 대분류, 2: 중분류, 3: 소분류, 4: 세분류
    attributes JSON  -- 카테고리별 추가 속성 정의
)

3. 속성 동적 관리

-- SAM: 카테고리별 동적 속성
material_attributes (
    material_id,
    attribute_key,
    attribute_value,
    attribute_type  -- string, number, date, etc.
)

4. LOT 추적 강화

-- SAM: LOT 이력 테이블
lot_histories (
    id,
    lot_id,
    action,  -- created, inspected, used, returned
    quantity,
    reference_type,  -- output, production
    reference_id,
    created_at
)

관련 파일 참조

  • /instock/insert.php - INSERT/UPDATE 로직
  • /instock/_request.php - 요청 파라미터 정의
  • /instock/list.php - 목록 조회 쿼리
  • /instock/fetch_inspection.php - 검사 데이터 조회