> ## Documentation Index
> Fetch the complete documentation index at: https://a3erpapi.appcloud.es/llms.txt
> Use this file to discover all available pages before exploring further.

# Máquinas en fases de órdenes de producción A3ERP

> Consulta las máquinas asignadas a una fase de producción y añade nuevas máquinas con perfil, tiempo y modo previsto en las órdenes de A3ERP.

Las máquinas representan los recursos de maquinaria que intervienen en cada fase del proceso productivo. Estos endpoints te permiten consultar las máquinas ya asignadas a una fase concreta de una orden de producción y añadir nuevas máquinas especificando su perfil, el tiempo asignado y si dicho tiempo es o no estimado.

***

## Consultar las máquinas de una fase

Devuelve todas las máquinas asignadas a una fase específica de un producto dentro de una orden de producción.

```http theme={null}
GET /api/ordenproduccion/maquina/idprod/{idprod}/producto/{idlinea}/fase/{fase}
```

**Ejemplo:** `/api/ordenproduccion/maquina/idprod/10100/producto/12111/fase/BA`

<ParamField path="idprod" type="string" required>
  Identificador de la orden de producción.
</ParamField>

<ParamField path="idlinea" type="string" required>
  Identificador de la línea de producción del producto (`idlinp`).
</ParamField>

<ParamField path="fase" type="string" required>
  Código identificador de la fase (p. ej. `BA`, `PP`). No confundir con `idfase`, que es el identificador numérico.
</ParamField>

<ParamField header="Authorization" type="string" required>
  Bearer + JWT\_token
</ParamField>

<Note>
  El parámetro `fase` es el código alfanumérico de la fase, **no** el identificador numérico `idfase`.
</Note>

**Campos de respuesta:**

<ResponseField name="idprod" type="integer">Identificador de la orden de producción.</ResponseField>
<ResponseField name="idlinp" type="integer">Identificador de la línea de la máquina.</ResponseField>
<ResponseField name="idpadre" type="integer">Identificador de la línea padre.</ResponseField>
<ResponseField name="codalmcon" type="string">Código del almacén de consumo (ajustado a 8 caracteres).</ResponseField>
<ResponseField name="codalmfab" type="string">Código del almacén de fabricación (ajustado a 8 caracteres).</ResponseField>
<ResponseField name="codartc" type="string">Código del artículo componente.</ResponseField>
<ResponseField name="codartp" type="string">Código del artículo padre (ajustado a 16 caracteres).</ResponseField>
<ResponseField name="codemp" type="string">Código del empleado asignado.</ResponseField>
<ResponseField name="nombre" type="string">Nombre del empleado asignado.</ResponseField>
<ResponseField name="codmaq" type="string">Código de la máquina.</ResponseField>
<ResponseField name="descmaq" type="string">Descripción de la máquina.</ResponseField>
<ResponseField name="descartc" type="string">Descripción del artículo componente.</ResponseField>
<ResponseField name="descartp" type="string">Descripción del artículo padre.</ResponseField>
<ResponseField name="fase" type="string">Código de la fase.</ResponseField>
<ResponseField name="idfase" type="integer">Identificador numérico de la fase.</ResponseField>
<ResponseField name="nomfase" type="string">Nombre de la fase.</ResponseField>
<ResponseField name="perfilmaq" type="string">Perfil de la máquina.</ResponseField>
<ResponseField name="descperfilm" type="string">Descripción del perfil de máquina.</ResponseField>
<ResponseField name="perfilper" type="string">Perfil del operario asignado.</ResponseField>
<ResponseField name="descperfilp" type="string">Descripción del perfil del operario.</ResponseField>
<ResponseField name="prcmedio" type="integer">Precio medio.</ResponseField>
<ResponseField name="unidadesp" type="integer">Unidades previstas.</ResponseField>
<ResponseField name="situacion" type="string">Situación de la línea.</ResponseField>
<ResponseField name="terminado" type="string">Indica si la línea está terminada.</ResponseField>
<ResponseField name="terminadoc" type="string">Fecha de terminación del consumo.</ResponseField>
<ResponseField name="terminadof" type="string">Fecha de terminación de la fabricación.</ResponseField>
<ResponseField name="texto" type="string">Texto libre asociado.</ResponseField>
<ResponseField name="unidadesa" type="integer">Unidades anuladas.</ResponseField>
<ResponseField name="unidadesf" type="integer">Unidades fabricadas.</ResponseField>
<ResponseField name="unidadesc" type="integer">Unidades consumidas.</ResponseField>
<ResponseField name="uniheredadas" type="integer">Unidades heredadas.</ResponseField>

**Ejemplo de respuesta:**

```json theme={null}
{
  "idprod": 1,
  "idlinp": 1,
  "idpadre": 1,
  "codalmcon": "text",
  "codalmfab": "text",
  "codartc": "text",
  "codartp": "text",
  "codemp": "text",
  "nombre": "text",
  "codmaq": "text",
  "descmaq": "text",
  "descartc": "text",
  "descartp": "text",
  "fase": "text",
  "idfase": 1,
  "nomfase": "text",
  "perfilmaq": "text",
  "descperfilm": "text",
  "perfilper": "text",
  "descperfilp": "text",
  "prcmedio": 1,
  "unidadesp": 1,
  "situacion": "text",
  "terminado": "text",
  "terminadoc": "text",
  "terminadof": "text",
  "texto": "text",
  "unidadesa": 1,
  "unidadesf": 1,
  "unidadesc": 1,
  "uniheredadas": 1
}
```

***

## Añadir una máquina a una fase

Crea una nueva asignación de máquina en una fase de la orden de producción indicada.

```http theme={null}
POST /api/ordenproduccion/maquina/idprod/{idprod}/codartp/{codartp}/fase/{fase}/perfil/{perfilmaquina}/maquina/{maquina}/tiempo/{tiempo}/{previsto}
```

**Ejemplo:** `/api/ordenproduccion/maquina/idprod/10109/codartp/38/fase/PP/perfil/3/maquina/3/tiempo/00:30:00/F`

<ParamField path="idprod" type="string" required>
  Identificador de la orden de producción.
</ParamField>

<ParamField path="codartp" type="string" required>
  Código del artículo del producto acabado dentro del cual se encuentra la fase.
</ParamField>

<ParamField path="fase" type="string" required>
  Código identificador de la fase (p. ej. `PP`). No confundir con `idfase`.
</ParamField>

<ParamField path="perfilmaquina" type="string" required>
  Identificador del perfil de máquina a asignar.
</ParamField>

<ParamField path="maquina" type="string" required>
  Identificador de la máquina a asignar a la fase.
</ParamField>

<ParamField path="tiempo" type="string" required>
  Tiempo asignado a la máquina en formato `HH:MM:SS` (p. ej. `00:30:00`).
</ParamField>

<ParamField path="previsto" type="string" required>
  Indica si el tiempo es estimado o no. Valores posibles: `T` (tiempo previsto) o `F` (tiempo no previsto).
</ParamField>

<ParamField header="Authorization" type="string" required>
  Bearer + JWT\_token
</ParamField>

**Respuesta exitosa:**

```json theme={null}
{
  "idLin": "text"
}
```
