- Labor 모델 (BelongsToTenant, SoftDeletes)
- LaborController 7개 엔드포인트
- LaborService 비즈니스 로직
- FormRequest 4개 (Index/Store/Update/BulkDelete)
- 마이그레이션 및 라우트 등록
API: GET/POST /labor, GET/PUT/DELETE /labor/{id}, DELETE /labor/bulk, GET /labor/stats
Co-Authored-By: Claude <noreply@anthropic.com>
1.7 KiB
1.7 KiB
Labor (노임관리) API Implementation
Overview
시공관리 > 노임관리 API 구현 완료 (2026-01-11)
Database Schema
CREATE TABLE labors (
id BIGINT PRIMARY KEY,
tenant_id BIGINT NOT NULL,
labor_number VARCHAR(50) NOT NULL, -- 노임번호
category ENUM('가로', '세로할증'), -- 구분
min_m DECIMAL(10,2) DEFAULT 0, -- 최소(m)
max_m DECIMAL(10,2) DEFAULT 0, -- 최대(m)
labor_price INT NULL, -- 노임단가
status ENUM('사용', '중지') DEFAULT '사용', -- 상태
is_active BOOLEAN DEFAULT TRUE,
created_by, updated_by, deleted_by,
timestamps, soft_deletes
);
Files Structure
app/
├── Models/Labor.php # 모델 + Scopes
├── Http/
│ ├── Controllers/Api/V1/LaborController.php
│ └── Requests/Labor/
│ ├── LaborIndexRequest.php # 목록 파라미터
│ ├── LaborStoreRequest.php # 등록 검증
│ ├── LaborUpdateRequest.php # 수정 검증
│ └── LaborBulkDeleteRequest.php # 일괄삭제 검증
└── Services/LaborService.php # 비즈니스 로직
API Endpoints
- GET /api/v1/labor - 목록 (search, category, status, pagination)
- GET /api/v1/labor/stats - 통계 (total, active)
- POST /api/v1/labor - 등록
- GET /api/v1/labor/{id} - 상세
- PUT /api/v1/labor/{id} - 수정
- DELETE /api/v1/labor/{id} - 삭제
- DELETE /api/v1/labor/bulk - 일괄삭제
Frontend Integration
- react/src/components/business/construction/labor-management/actions.ts
- Mock → API 호출 변환 완료