- 5130 레거시 시스템 분석 (00_OVERVIEW ~ 08_SAM_COMPARISON) - MES 프로젝트 문서 - API/프론트엔드 스펙 문서 - 가이드 및 레퍼런스 문서
111 lines
3.7 KiB
Markdown
111 lines
3.7 KiB
Markdown
# 5130 프로젝트 분석 개요
|
|
|
|
## 문서 정보
|
|
- **분석일**: 2025-12-04
|
|
- **분석자**: Claude Code
|
|
- **목적**: SAM 시스템으로 마이그레이션을 위한 5130 레거시 시스템 분석
|
|
|
|
## 프로젝트 개요
|
|
|
|
### 시스템 정보
|
|
- **프로젝트명**: 5130 (주일/경동 통합정보시스템)
|
|
- **기술 스택**: PHP (레거시), MySQL, Bootstrap 3.x
|
|
- **URL**: https://5130.co.kr
|
|
- **DB명**: `chandj` (기본값, 세션으로 동적 변경 가능)
|
|
|
|
### 멀티테넌시 구조
|
|
```php
|
|
// session.php
|
|
$DB = isset($_SESSION["DB"]) ? $_SESSION["DB"] : 'chandj';
|
|
$mycompany = $_SESSION["mycompany"] ?? ''; // 회사: 주일, 경동
|
|
$mypart = $_SESSION["mypart"] ?? ''; // 부서
|
|
$authority = $_SESSION["authority"] ?? ''; // 권한: ACCOUNT 등
|
|
```
|
|
|
|
## 도메인 구조
|
|
|
|
### 1. 자재/재고 (Material/Instock)
|
|
- **디렉토리**: `/instock/`
|
|
- **주요 테이블**: `i_*` (자재 유형별 테이블)
|
|
- **기능**: LOT 관리, 입고 검사, 자재 추적
|
|
|
|
### 2. 품목/모델 (Product/Model)
|
|
- **디렉토리**: `/models/`
|
|
- **주요 테이블**: `models`, `parts`, `parts_sub`
|
|
- **기능**: 제품 모델 정의, BOM 관리, 단가 관리
|
|
|
|
### 3. 견적 (Estimate)
|
|
- **디렉토리**: `/estimate/`
|
|
- **주요 테이블**: `estimate` (동적 테이블명)
|
|
- **기능**: 견적서 작성, 단가 계산, 견적 이력
|
|
|
|
### 4. 생산/공사 (Production/Work)
|
|
- **디렉토리**: `/make/`, `/work/`
|
|
- **주요 테이블**: `work`, `make_*`
|
|
- **기능**: 공사 관리, 생산 지시, 작업 진행 추적
|
|
|
|
### 5. 출하 (Shipping/Output)
|
|
- **디렉토리**: `/output/`
|
|
- **주요 테이블**: `output`, `output_extra`
|
|
- **기능**: 출하 관리, 배송 추적, 인정검사(ACI)
|
|
|
|
### 6. 품질/AS (Quality/After Service)
|
|
- **디렉토리**: `/as/`
|
|
- **주요 테이블**: `work` (AS 관련 컬럼)
|
|
- **기능**: AS 접수, 처리 현황, 보증 관리
|
|
|
|
### 7. 회계 (Accounting)
|
|
- **디렉토리**: `/account/`, `/account_plan/`
|
|
- **주요 테이블**: `account`
|
|
- **기능**: 입출금 관리, 미수금, 전자세금계산서
|
|
|
|
## 공통 패턴
|
|
|
|
### 파일 구조
|
|
```
|
|
/도메인/
|
|
├── _request.php # 요청 파라미터 정의
|
|
├── _row.php # 행 데이터 렌더링
|
|
├── insert.php # 데이터 INSERT/UPDATE/DELETE
|
|
├── list.php # 목록 조회
|
|
├── write_form.php # 등록/수정 폼
|
|
├── view.php # 상세 조회
|
|
└── common/ # 도메인별 공통 모듈
|
|
```
|
|
|
|
### DB 공통 컬럼
|
|
- `num`: PK (AUTO_INCREMENT)
|
|
- `is_deleted`: 소프트 삭제 플래그 (0/1)
|
|
- `update_log`: 수정 이력 (날짜 + 사용자명)
|
|
- `searchtag`: 검색용 통합 텍스트
|
|
|
|
### JSON 데이터 저장 패턴
|
|
- 복잡한 리스트 데이터는 JSON 문자열로 저장
|
|
- 예: `estimateList`, `screenlist`, `slatlist`, `accountList`
|
|
|
|
## SAM 마이그레이션 고려사항
|
|
|
|
### 멀티테넌시
|
|
- 5130: DB명 분리 방식 (`chandj.테이블`)
|
|
- SAM: `tenant_id` 컬럼 기반 분리
|
|
|
|
### 데이터 구조 개선
|
|
1. JSON 필드 → 정규화된 관계 테이블
|
|
2. 동적 테이블명 → 고정 테이블 + 타입 컬럼
|
|
3. 검색태그 → Full-Text Search 또는 Elasticsearch
|
|
|
|
### 코드 현대화
|
|
1. 레거시 PHP → Laravel 12
|
|
2. 직접 SQL → Eloquent ORM
|
|
3. jQuery → React/Next.js
|
|
|
|
## 관련 문서
|
|
- [01_MATERIAL.md](./01_MATERIAL.md) - 자재/재고 분석
|
|
- [02_PRODUCT.md](./02_PRODUCT.md) - 품목/모델 분석
|
|
- [03_ESTIMATE.md](./03_ESTIMATE.md) - 견적 분석
|
|
- [04_PRODUCTION.md](./04_PRODUCTION.md) - 생산 분석
|
|
- [05_SHIPPING.md](./05_SHIPPING.md) - 출하 분석
|
|
- [06_QUALITY.md](./06_QUALITY.md) - 품질/AS 분석
|
|
- [07_ACCOUNTING.md](./07_ACCOUNTING.md) - 회계 분석
|
|
- [08_SAM_COMPARISON.md](./08_SAM_COMPARISON.md) - SAM 비교 검증
|