# 生产线API接口模块

本模块提供生产线相关的API接口，用于前端交互与数据展示。

## 功能概述

生产线API模块提供了生产线列表查询和图谱绘制的接口，支持数据模型、数据资源和数据指标的展示和关系查询。

## API接口

### 1. 生产线列表查询 (/production/line/list)

- **URL**: `/production/line/list`
- **方法**: POST
- **描述**: 获取生产线列表，支持分页和名称过滤
- **请求参数**:
  ```json
  {
    "current": 1,     // 当前页码，默认为1
    "size": 10,       // 每页大小，默认为10
    "name": "关键词"  // 可选，按名称过滤
  }
  ```
- **返回数据**:
  ```json
  {
    "code": 200,
    "success": true,
    "message": "success",
    "data": {
      "records": [
        {
          "id": 123,
          "name": "样例生产线",
          "type": "DataModel"
        }
        // 更多记录...
      ],
      "total": 100,
      "size": 10,
      "current": 1
    }
  }
  ```

### 2. 生产线图谱绘制 (/production/line/graph)

- **URL**: `/production/line/graph`
- **方法**: POST
- **描述**: 根据生产线ID绘制关系图谱
- **请求参数**:
  ```json
  {
    "id": 123  // 节点ID
  }
  ```
- **返回数据**:
  ```json
  {
    "code": 200,
    "success": true,
    "message": "success",
    "data": {
      "nodes": [
        {"id": "节点ID", "text": "节点名称", "type": "节点类型"},
        // 更多节点...
      ],
      "lines": [
        {"from": "起始节点ID", "to": "目标节点ID", "text": "关系描述"},
        // 更多连线...
      ],
      "rootId": "根节点ID"
    }
  }
  ```

## 技术实现

本模块通过Flask框架实现API接口，使用Neo4j图数据库进行数据查询，主要涉及以下技术点：

- Flask路由定义与请求处理
- Neo4j图数据库Cypher查询
- 数据分页与过滤处理
- JSON数据序列化与返回

## 依赖关系

本模块依赖于core/production_line模块中的核心功能实现：

```python
from app.core.production_line import production_draw_graph
```

- 数据资源(DataResource)：处理数据资源与元数据节点及数据标准之间的关系

graph_data = production_draw_graph(resource_id, "DataResource") 