- 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>
49 lines
1.7 KiB
Markdown
49 lines
1.7 KiB
Markdown
# Labor (노임관리) API Implementation
|
|
|
|
## Overview
|
|
시공관리 > 노임관리 API 구현 완료 (2026-01-11)
|
|
|
|
## Database Schema
|
|
```sql
|
|
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 호출 변환 완료
|