docs(WEB): 수주 Swagger 문서 추가 - bulkDestroy, revertProductionOrder

- OrderBulkDeleteRequest 스키마 추가 (ids, force)
- OrderRevertProductionRequest 스키마 추가 (force, reason)
- DELETE /api/v1/orders/bulk 엔드포인트 문서 추가
- POST /api/v1/orders/{id}/revert-production 엔드포인트 문서 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-21 08:56:50 +09:00
parent 37424b9cef
commit c637dd38eb
2 changed files with 323 additions and 0 deletions

View File

@@ -35625,6 +35625,191 @@
]
}
},
"/api/v1/orders/bulk": {
"delete": {
"tags": [
"Order"
],
"summary": "수주 일괄 삭제",
"description": "여러 수주를 일괄 삭제합니다 (Soft Delete). 진행중/완료 수주는 건너뜁니다.",
"operationId": "84fb75f391c22af2356913507ddb98d1",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OrderBulkDeleteRequest"
}
}
}
},
"responses": {
"200": {
"description": "성공",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": true
},
"message": {
"type": "string"
},
"data": {
"properties": {
"deleted_count": {
"type": "integer",
"example": 3
},
"skipped_count": {
"type": "integer",
"example": 1
},
"skipped_ids": {
"type": "array",
"items": {
"type": "integer"
},
"example": [
5
]
}
},
"type": "object"
}
},
"type": "object"
}
}
}
},
"422": {
"description": "유효성 검증 실패"
}
},
"security": [
{
"ApiKeyAuth": []
},
{
"BearerAuth": []
}
]
}
},
"/api/v1/orders/{id}/revert-production": {
"post": {
"tags": [
"Order"
],
"summary": "생산지시 되돌리기",
"description": "생산지시를 되돌립니다. 기본 모드(force=false)에서는 작업지시를 취소 처리하며, 강제 모드(force=true)에서는 물리 삭제합니다.",
"operationId": "73634a58fa6ef750ab26e38747d03f65",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
}
],
"requestBody": {
"required": false,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OrderRevertProductionRequest"
}
}
}
},
"responses": {
"200": {
"description": "성공",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": true
},
"message": {
"type": "string"
},
"data": {
"properties": {
"order": {
"$ref": "#/components/schemas/Order"
},
"deleted_counts": {
"properties": {
"work_results": {
"type": "integer",
"example": 0
},
"work_order_items": {
"type": "integer",
"example": 5
},
"work_orders": {
"type": "integer",
"example": 2
}
},
"type": "object"
},
"cancelled_counts": {
"properties": {
"work_orders": {
"type": "integer",
"example": 2
},
"work_order_items": {
"type": "integer",
"example": 5
}
},
"type": "object",
"nullable": true
},
"previous_status": {
"type": "string",
"example": "IN_PROGRESS"
}
},
"type": "object"
}
},
"type": "object"
}
}
}
},
"400": {
"description": "되돌리기 불가 상태 (수주확정/수주등록 상태)"
},
"404": {
"description": "수주를 찾을 수 없음"
},
"422": {
"description": "운영 모드에서 사유 미입력"
}
},
"security": [
{
"ApiKeyAuth": []
},
{
"BearerAuth": []
}
]
}
},
"/api/v1/payments": {
"get": {
"tags": [
@@ -79288,6 +79473,45 @@
},
"type": "object"
},
"OrderBulkDeleteRequest": {
"required": [
"ids"
],
"properties": {
"ids": {
"type": "array",
"items": {
"type": "integer"
},
"example": [
1,
2,
3
]
},
"force": {
"description": "강제 삭제 여부 (진행중 수주 포함)",
"type": "boolean",
"example": false
}
},
"type": "object"
},
"OrderRevertProductionRequest": {
"properties": {
"force": {
"description": "강제 되돌리기 (물리 삭제, 기본값 false)",
"type": "boolean",
"example": false
},
"reason": {
"description": "되돌리기 사유 (운영 모드 시 필수)",
"type": "string",
"example": "고객 요청에 의한 생산지시 취소"
}
},
"type": "object"
},
"Payment": {
"description": "결제 정보",
"properties": {