Files
sam-api/.serena/memories/labor-api-implementation.md
kent f59dd1b9fb feat(labor): 노임관리 API 구현
- 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>
2026-01-11 23:29:32 +09:00

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 호출 변환 완료